[PATCH 01/17] bitfield: Add non-constant field_{prep,get}() helpers
Johannes Berg
johannes at sipsolutions.net
Tue Nov 23 17:24:15 CET 2021
On Tue, 2021-11-23 at 09:36 +0100, Geert Uytterhoeven wrote:
Ah, here's your comment wrt. which one is nicer :)
> > > We have the upper-case (constant) versions, and already
> > > {u32,...}_get_bits()/etc.
>
> TBH, I don't like the *_get_bits() API: in general, u32_get_bits() does
> the same as FIELD_GET(), but the order of the parameters is different?
I don't really see how "the order of parameters is different" is a
downside? Yeah it means if you're used to FIELD_GET() then you'll
retrain, but ...?
> (*_replace_bits() seems to be useful, though)
Indeed.
Also as I said in my other mail, the le32/be32/... variants are
tremendously useful, and they fundamentally cannot be expressed with the
FIELD_GET() or field_get() macros. IMHO this is a clear advantage to the
typed versions, and if you ask me we should get rid of the FIELD_GETand
FIELD_PREP entirely - difficult now, but at least let's not propagate
that?
johannes
More information about the Alsa-devel
mailing list