[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <86mscek7h3.wl-maz@kernel.org>
Date: Thu, 17 Apr 2025 18:45:12 +0100
From: Marc Zyngier <maz@...nel.org>
To: Andrew Lunn <andrew@...n.ch>
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, 17 Apr 2025 18:22:29 +0100,
Andrew Lunn <andrew@...n.ch> wrote:
>
> 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.
$ git grep _replace_bits| wc -l
1514
I think a bunch of people have found them, tooling notwithstanding.
As for the documentation, the commit message in 00b0c9b82663ac would
be advantageously promoted to full-fledged kernel-doc.
Thanks,
M.
--
Without deviation from the norm, progress is not possible.
Powered by blists - more mailing lists