[PATCH] i3c: remove 'const' from FIFO helpers

Wolfram Sang posted 1 patch 1 month, 4 weeks ago
drivers/i3c/internals.h | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
[PATCH] i3c: remove 'const' from FIFO helpers
Posted by Wolfram Sang 1 month, 4 weeks ago
As buildbot reports, some architectures do not want const pointers.

Fixes: 733b439375b4 ("i3c: master: Add inline i3c_readl_fifo() and i3c_writel_fifo()")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202508070438.TZZA3f2S-lkp@intel.com/
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---

I still wonder why SPARC discards the const but since nobody seems to be
commenting on that, I guess the fastest way to get the build error out
of Linus' tree is to adapt the usage in I3C.

 drivers/i3c/internals.h | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/i3c/internals.h b/drivers/i3c/internals.h
index 0d857cc68cc5..2b0b9c3a9131 100644
--- a/drivers/i3c/internals.h
+++ b/drivers/i3c/internals.h
@@ -30,8 +30,7 @@ void i3c_dev_free_ibi_locked(struct i3c_dev_desc *dev);
  * @buf: Pointer to the data bytes to write
  * @nbytes: Number of bytes to write
  */
-static inline void i3c_writel_fifo(void __iomem *addr, const void *buf,
-				   int nbytes)
+static inline void i3c_writel_fifo(void __iomem *addr, void *buf, int nbytes)
 {
 	writesl(addr, buf, nbytes / 4);
 	if (nbytes & 3) {
@@ -48,8 +47,7 @@ static inline void i3c_writel_fifo(void __iomem *addr, const void *buf,
  * @buf: Pointer to the buffer to store read bytes
  * @nbytes: Number of bytes to read
  */
-static inline void i3c_readl_fifo(const void __iomem *addr, void *buf,
-				  int nbytes)
+static inline void i3c_readl_fifo(void __iomem *addr, void *buf, int nbytes)
 {
 	readsl(addr, buf, nbytes / 4);
 	if (nbytes & 3) {
-- 
2.47.2
Re: [PATCH] i3c: remove 'const' from FIFO helpers
Posted by Alexandre Belloni 1 month, 4 weeks ago
On 07/08/2025 06:31:24+0200, Wolfram Sang wrote:
> As buildbot reports, some architectures do not want const pointers.
> 
> Fixes: 733b439375b4 ("i3c: master: Add inline i3c_readl_fifo() and i3c_writel_fifo()")
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202508070438.TZZA3f2S-lkp@intel.com/
> Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> ---
> 
> I still wonder why SPARC discards the const but since nobody seems to be
> commenting on that, I guess the fastest way to get the build error out
> of Linus' tree is to adapt the usage in I3C.
> 

My plan was to let sparc people handle their mess, there is no reason
const should be discarded.

>  drivers/i3c/internals.h | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/i3c/internals.h b/drivers/i3c/internals.h
> index 0d857cc68cc5..2b0b9c3a9131 100644
> --- a/drivers/i3c/internals.h
> +++ b/drivers/i3c/internals.h
> @@ -30,8 +30,7 @@ void i3c_dev_free_ibi_locked(struct i3c_dev_desc *dev);
>   * @buf: Pointer to the data bytes to write
>   * @nbytes: Number of bytes to write
>   */
> -static inline void i3c_writel_fifo(void __iomem *addr, const void *buf,
> -				   int nbytes)
> +static inline void i3c_writel_fifo(void __iomem *addr, void *buf, int nbytes)
>  {
>  	writesl(addr, buf, nbytes / 4);
>  	if (nbytes & 3) {
> @@ -48,8 +47,7 @@ static inline void i3c_writel_fifo(void __iomem *addr, const void *buf,
>   * @buf: Pointer to the buffer to store read bytes
>   * @nbytes: Number of bytes to read
>   */
> -static inline void i3c_readl_fifo(const void __iomem *addr, void *buf,
> -				  int nbytes)
> +static inline void i3c_readl_fifo(void __iomem *addr, void *buf, int nbytes)
>  {
>  	readsl(addr, buf, nbytes / 4);
>  	if (nbytes & 3) {
> -- 
> 2.47.2
> 

-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Re: [PATCH] i3c: remove 'const' from FIFO helpers
Posted by Geert Uytterhoeven 1 month, 3 weeks ago
CC sparclinux, arnd

On Fri, 8 Aug 2025 at 01:09, Alexandre Belloni
<alexandre.belloni@bootlin.com> wrote:
> On 07/08/2025 06:31:24+0200, Wolfram Sang wrote:
> > As buildbot reports, some architectures do not want const pointers.
> >
> > Fixes: 733b439375b4 ("i3c: master: Add inline i3c_readl_fifo() and i3c_writel_fifo()")
> > Reported-by: kernel test robot <lkp@intel.com>
> > Closes: https://lore.kernel.org/oe-kbuild-all/202508070438.TZZA3f2S-lkp@intel.com/
> > Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> > ---
> >
> > I still wonder why SPARC discards the const but since nobody seems to be
> > commenting on that, I guess the fastest way to get the build error out
> > of Linus' tree is to adapt the usage in I3C.
>
> My plan was to let sparc people handle their mess, there is no reason
> const should be discarded.

Fully agreed.

Note that it is not just the const keyword that is missing from the
SPARC implementation, but also the volatile keyword.

> > --- a/drivers/i3c/internals.h
> > +++ b/drivers/i3c/internals.h
> > @@ -30,8 +30,7 @@ void i3c_dev_free_ibi_locked(struct i3c_dev_desc *dev);
> >   * @buf: Pointer to the data bytes to write
> >   * @nbytes: Number of bytes to write
> >   */
> > -static inline void i3c_writel_fifo(void __iomem *addr, const void *buf,
> > -                                int nbytes)
> > +static inline void i3c_writel_fifo(void __iomem *addr, void *buf, int nbytes)
> >  {
> >       writesl(addr, buf, nbytes / 4);
> >       if (nbytes & 3) {
> > @@ -48,8 +47,7 @@ static inline void i3c_writel_fifo(void __iomem *addr, const void *buf,
> >   * @buf: Pointer to the buffer to store read bytes
> >   * @nbytes: Number of bytes to read
> >   */
> > -static inline void i3c_readl_fifo(const void __iomem *addr, void *buf,
> > -                               int nbytes)
> > +static inline void i3c_readl_fifo(void __iomem *addr, void *buf, int nbytes)
> >  {
> >       readsl(addr, buf, nbytes / 4);
> >       if (nbytes & 3) {
> > --
> > 2.47.2

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds