[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0c97c659-bd28-45e0-8537-d9be2637cb22@lunn.ch>
Date: Thu, 17 Apr 2025 19:22:29 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Marc Zyngier <maz@...nel.org>
Cc: Luo Jie <quic_luoj@...cinc.com>, Yury Norov <yury.norov@...il.com>,
Rasmus Villemoes <linux@...musvillemoes.dk>,
Julia Lawall <Julia.Lawall@...ia.fr>,
Nicolas Palix <nicolas.palix@...g.fr>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>,
Oliver Upton <oliver.upton@...ux.dev>,
Joey Gouly <joey.gouly@....com>,
Suzuki K Poulose <suzuki.poulose@....com>,
Zenghui Yu <yuzenghui@...wei.com>, linux-kernel@...r.kernel.org,
cocci@...ia.fr, linux-arm-kernel@...ts.infradead.org,
kvmarm@...ts.linux.dev, quic_kkumarcs@...cinc.com,
quic_linchen@...cinc.com, quic_leiwei@...cinc.com,
quic_suruchia@...cinc.com, quic_pavir@...cinc.com
Subject: Re: [PATCH v3 0/6] Add FIELD_MODIFY() helper
On Thu, Apr 17, 2025 at 12:10:54PM +0100, Marc Zyngier wrote:
> On Thu, 17 Apr 2025 11:47:07 +0100,
> Luo Jie <quic_luoj@...cinc.com> wrote:
> >
> > Add the helper FIELD_MODIFY() to the FIELD_XXX family of bitfield
> > macros. It is functionally similar as xxx_replace_bits(), but adds
> > the compile time checking to catch incorrect parameter type errors.
> >
> > This series also converts the four instances of opencoded FIELD_MODIFY()
> > that are found in the core kernel files, to instead use the new
> > FIELD_MODIFY() macro. This is achieved with Coccinelle, by adding
> > the script field_modify.cocci.
> >
> > The changes are validated on IPQ9574 SoC which uses ARM64 architecture.
>
> We already have the *_replace_bits() functions (see
> include/linux/bitfield.h).
>
> Why do we need extra helpers?
If you look at bitfield.h, the *_replace_bits() seem to be
undocumented internal macro magic, not something you are expected to
use. What you are expected to use in that file is however well
documented. The macro magic also means that cross referencing tools
don't find them.
I think this is a useful additional to bitfield.h.
Andrew
Powered by blists - more mailing lists