[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <42afd2b3-ea3d-4413-b32b-b3f1ef651fba@app.fastmail.com>
Date: Fri, 26 Sep 2025 13:03:21 +0200
From: "Arnd Bergmann" <arnd@...db.de>
To: "Manikanta Guntupalli" <manikanta.guntupalli@....com>, git@....com,
"Michal Simek" <michal.simek@....com>,
"Alexandre Belloni" <alexandre.belloni@...tlin.com>,
"Frank Li" <Frank.Li@....com>, "Rob Herring" <robh@...nel.org>,
krzk+dt@...nel.org, "Conor Dooley" <conor+dt@...nel.org>,
Przemysław Gaj <pgaj@...ence.com>,
"Wolfram Sang" <wsa+renesas@...g-engineering.com>,
tommaso.merciai.xr@...renesas.com, quic_msavaliy@...cinc.com,
Shyam-sundar.S-k@....com, "Sakari Ailus" <sakari.ailus@...ux.intel.com>,
"'billy_tsai@...eedtech.com'" <billy_tsai@...eedtech.com>,
"Kees Cook" <kees@...nel.org>, "Gustavo A. R. Silva" <gustavoars@...nel.org>,
"Jarkko Nikula" <jarkko.nikula@...ux.intel.com>,
"Jorge Marques" <jorge.marques@...log.com>,
"linux-i3c@...ts.infradead.org" <linux-i3c@...ts.infradead.org>,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
Linux-Arch <linux-arch@...r.kernel.org>, linux-hardening@...r.kernel.org
Cc: radhey.shyam.pandey@....com, srinivas.goud@....com,
shubhrajyoti.datta@....com, manion05gk@...il.com
Subject: Re: [PATCH V8 2/5] asm-generic/io.h: Add big-endian MMIO accessors
On Fri, Sep 26, 2025, at 12:53, Manikanta Guntupalli wrote:
> Add MMIO accessors to support big-endian memory operations. These helpers
> include {read, write}{w, l, q}_be() and {read, write}s{w, l, q}_be(),
> which allows to access big-endian memory regions while returning
> the results in the CPU’s native endianness.
>
> This provides a consistent interface to interact with hardware using
> big-endian register layouts.
>
> Signed-off-by: Manikanta Guntupalli <manikanta.guntupalli@....com>
> Reviewed-by: Frank Li <Frank.Li@....com>
My general feeling to this patch has not changed: I don't think
these should be added in asm-generic/io.h at all, for multiple
reasons
- the {read,write}{w,l,q}be() helpers are redundant
as they do the same as io{read,write}{16,32,64}be() for
all practical purposes
- Adding them caused build failures on some of the
architectures that already have the same interfaces
- You are not actually using any of them in your patch
- The two functions that you do use, {read,write}sl()
do not do what they claim to do and are impossible
to use in portable code because they only work on
byte-swapped FIFO registers when using a little-endian
kernel.
Please just fold whatever code you end up needing into
your own driver as you had it in earlier versions.
Arnd
Powered by blists - more mailing lists