Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1240025 > unrolled thread
| Started by | Felipe Balbi <balbi@ti.com> |
|---|---|
| First post | 2015-10-06 01:30 +0200 |
| Last post | 2015-10-06 03:40 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH] usb: gadget: f_uac1: Convert use of __constant_cpu_to_le16 to cpu_to_le16 Felipe Balbi <balbi@ti.com> - 2015-10-06 01:30 +0200
Re: [PATCH] usb: gadget: f_uac1: Convert use of __constant_cpu_to_le16 to cpu_to_le16 Vaishali Thakkar <vthakkar1994@gmail.com> - 2015-10-06 03:40 +0200
| From | Felipe Balbi <balbi@ti.com> |
|---|---|
| Date | 2015-10-06 01:30 +0200 |
| Subject | Re: [PATCH] usb: gadget: f_uac1: Convert use of __constant_cpu_to_le16 to cpu_to_le16 |
| Message-ID | <qgnmF-5iM-3@gated-at.bofh.it> |
[Multipart message — attachments visible in raw view] — view raw
Vaishali Thakkar <vthakkar1994@gmail.com> writes: > On Mon, Aug 24, 2015 at 2:29 PM, David Laight <David.Laight@aculab.com> wrote: >> From: Vaishali Thakkar [mailto:vthakkar1994@gmail.com] >>> Sent: 22 August 2015 02:57 >> ... >>> >> - .bcdADC = __constant_cpu_to_le16(0x0100), >>> >> - .wTotalLength = __constant_cpu_to_le16(UAC_DT_TOTAL_LENGTH), >>> >> + .bcdADC = cpu_to_le16(0x0100), >>> >> + .wTotalLength = cpu_to_le16(UAC_DT_TOTAL_LENGTH), >>> > >>> > Have you test compiled this on a big-endian system? >>> > My gut feeling is that is fails. >>> >>> No. I have tested it on little-endian system only. But I'll >>> be really surprised if this will fail. Can you please tell me >>> if I am missing something in this particular case or same >>> applies for other cases because most of the cases like >>> __constant_<foo> are already converted to <foo>? >>> >>> As far as I know, if the argument is a constant the >>> conversion happens at compile time. And unfolding both >>> definitions returns to same expression. Still I am trying if >>> someone can test it for me on big endian system. >> >> Flip one to cpu_to_be16() and see if it still compiles. > > Yes. It still compiles. it's unclear to me if this is really safe to apply. Until then I'm dropping this from queue. Seems like, at a minimum, we need a better commit log -- balbi
[toc] | [next] | [standalone]
| From | Vaishali Thakkar <vthakkar1994@gmail.com> |
|---|---|
| Date | 2015-10-06 03:40 +0200 |
| Subject | Re: [PATCH] usb: gadget: f_uac1: Convert use of __constant_cpu_to_le16 to cpu_to_le16 |
| Message-ID | <qgpou-8an-7@gated-at.bofh.it> |
| In reply to | #1240025 |
On Tue, Oct 6, 2015 at 4:59 AM, Felipe Balbi <balbi@ti.com> wrote: > Vaishali Thakkar <vthakkar1994@gmail.com> writes: > >> On Mon, Aug 24, 2015 at 2:29 PM, David Laight <David.Laight@aculab.com> wrote: >>> From: Vaishali Thakkar [mailto:vthakkar1994@gmail.com] >>>> Sent: 22 August 2015 02:57 >>> ... >>>> >> - .bcdADC = __constant_cpu_to_le16(0x0100), >>>> >> - .wTotalLength = __constant_cpu_to_le16(UAC_DT_TOTAL_LENGTH), >>>> >> + .bcdADC = cpu_to_le16(0x0100), >>>> >> + .wTotalLength = cpu_to_le16(UAC_DT_TOTAL_LENGTH), >>>> > >>>> > Have you test compiled this on a big-endian system? >>>> > My gut feeling is that is fails. >>>> >>>> No. I have tested it on little-endian system only. But I'll >>>> be really surprised if this will fail. Can you please tell me >>>> if I am missing something in this particular case or same >>>> applies for other cases because most of the cases like >>>> __constant_<foo> are already converted to <foo>? >>>> >>>> As far as I know, if the argument is a constant the >>>> conversion happens at compile time. And unfolding both >>>> definitions returns to same expression. Still I am trying if >>>> someone can test it for me on big endian system. >>> >>> Flip one to cpu_to_be16() and see if it still compiles. >> >> Yes. It still compiles. > > it's unclear to me if this is really safe to apply. Until then I'm > dropping this from queue. Seems like, at a minimum, we need a better > commit log I compared both .s files [before the change and after the change] and I don't see any difference between instructions in them. I am not sure but it looks like if expression contains 'a ? t : f' then either 't' OR 'f' should be constant not both. Also, the code still complies on little endian machines after changing cpu_to_be16(). And on top of that fact is there are many patches applied in the kernel from years for the same and very less are remaining. In case, this fails then I think we need to change those cases as well. But I have never seen people reporting a bug for the same and changing <foo> to __constant_<foo> again. Still I think probably it would be good if someone can test this patch on big endian machine [just to be sure about the change]. > -- > balbi -- Vaishali -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web