[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFz_MUXQjWjbQzb7f=+cQLtxQsba1azmbEVZOgy5Y7wfdQ@mail.gmail.com>
Date: Wed, 17 Aug 2016 10:16:08 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Jakub Kicinski <jakub.kicinski@...ronome.com>
Cc: Kalle Valo <kvalo@...eaurora.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
David Miller <davem@...emloft.net>,
Linux Wireless List <linux-wireless@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
dinan.gunawardena@...ronome.com
Subject: Re: [PATCHv6 1/2] add basic register-field manipulation macros
On Wed, Aug 17, 2016 at 10:11 AM, Jakub Kicinski
<jakub.kicinski@...ronome.com> wrote:
> On Wed, 17 Aug 2016 09:33:26 -0700, Linus Torvalds wrote:
>>
>> I'm not a huge fan, since the interface fundamentally seems to be
>> oddly designed (why pass in the mask rather than "start bit +
>> length"?).
>
> Would that not require start and length to have separate defines?
Yeah.
> I assume doing:
>
> #define REG_BLA_FIELD_FOO 3, 4
> val = FIELD_GET(REG_BLA_FIELD_FOO, reg);
>
> is not acceptable. Attempts to define a single value brought us to the
> shifted mask.
Agreed. Maybe the mask with the complexity to then undo it (at compile
time) is the better approach.
Linus
Powered by blists - more mailing lists