[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <yw1xh9i8ow0r.fsf@unicorn.mansr.com>
Date: Wed, 20 Jan 2016 20:07:00 +0000
From: Måns Rullgård <mans@...sr.com>
To: Andy Shevchenko <andy.shevchenko@...il.com>
Cc: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
Julian Margetson <runaway@...dw.ms>, Tejun Heo <tj@...nel.org>,
linux-ide@...r.kernel.org,
"linux-kernel\@vger.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/3] ata: sata_dwc_460ex: use "dmas" DT property to find dma channel
Andy Shevchenko <andy.shevchenko@...il.com> writes:
> On Wed, Jan 20, 2016 at 9:46 PM, Måns Rullgård <mans@...sr.com> wrote:
>
>>>>> One comment still regarding to lli types. We can avoid warnings by
>>>>> using (__force u32) in macros.
>>>>
>>>> But that won't give the benefits of having the types checked.
>>>
>>> You mean if we access the lli->field directly? I didn't quite get what
>>> use case you are keeping in mind.
>>
>> Yes, accessing any of those fields directly with my patch gives a sparse
>> warning. It's situations like these those checks are intended for.
>> Defeating them seems foolish to me.
>
> Otherwise it makes that struct looks ugly.
> Why not union, though it still ugly, but less.
What's so ugly about it? IMO data should be declared as the type it
actually is, and here we have fields that might have a different byte
order from the host CPU. The __be32 and __le32 types were invented to
make such situations clear and allow automatic (sparse) checking. I'd
say the price of one small typedef is well worth it. The actual code is
not impacted since it must use the accessor macros anyhow.
--
Måns Rullgård
Powered by blists - more mailing lists