diff mbox series

sh: clkfwk: don't pass void pointers to ioread*

Message ID 20190628062524.5436-1-hch@lst.de (mailing list archive)
State New, archived
Headers show
Series sh: clkfwk: don't pass void pointers to ioread* | expand

Commit Message

Christoph Hellwig June 28, 2019, 6:25 a.m. UTC
Passing pointers with a const attrіbute to the ioread* functions
causes a lot of compiler warnings, so remove the extra attributes.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/sh/clk/cpg.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Geert Uytterhoeven June 28, 2019, 7:01 a.m. UTC | #1
Hi Christoph,

On Fri, Jun 28, 2019 at 8:25 AM Christoph Hellwig <hch@lst.de> wrote:
> Passing pointers with a const attrіbute to the ioread* functions
> causes a lot of compiler warnings, so remove the extra attributes.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>

Thanks for your patch!

> ---
>  drivers/sh/clk/cpg.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/sh/clk/cpg.c b/drivers/sh/clk/cpg.c
> index eeb028b9cdb3..4f3d99d37809 100644
> --- a/drivers/sh/clk/cpg.c
> +++ b/drivers/sh/clk/cpg.c
> @@ -36,17 +36,17 @@ static void sh_clk_write(int value, struct clk *clk)
>                 iowrite32(value, clk->mapped_reg);
>  }
>
> -static unsigned int r8(const void __iomem *addr)
> +static unsigned int r8(void __iomem *addr)

This is due to include/asm-generic/io.h and include/asm-generic/iomap.h
using different prototypes, right?

include/asm-generic/io.h:static inline u8 ioread8(const volatile void
__iomem *addr)
include/asm-generic/io.h:static inline u16 ioread16(const volatile
void __iomem *addr)
include/asm-generic/io.h:static inline u32 ioread32(const volatile
void __iomem *addr)
include/asm-generic/io.h:static inline u64 ioread64(const volatile
void __iomem *addr)

include/asm-generic/iomap.h:extern unsigned int ioread8(void __iomem *);
include/asm-generic/iomap.h:extern unsigned int ioread16(void __iomem *);
include/asm-generic/iomap.h:extern unsigned int ioread32(void __iomem *);
include/asm-generic/iomap.h:extern u64 ioread64(void __iomem *);

Wouldn't it be better to fix include/asm-generic/iomap.h and lib/iomap.c
instead?

Gr{oetje,eeting}s,

                        Geert
Christoph Hellwig June 28, 2019, 7:12 a.m. UTC | #2
On Fri, Jun 28, 2019 at 09:01:40AM +0200, Geert Uytterhoeven wrote:
> This is due to include/asm-generic/io.h and include/asm-generic/iomap.h
> using different prototypes, right?
> 
> include/asm-generic/io.h:static inline u8 ioread8(const volatile void
> __iomem *addr)
> include/asm-generic/io.h:static inline u16 ioread16(const volatile
> void __iomem *addr)
> include/asm-generic/io.h:static inline u32 ioread32(const volatile
> void __iomem *addr)
> include/asm-generic/io.h:static inline u64 ioread64(const volatile
> void __iomem *addr)
> 
> include/asm-generic/iomap.h:extern unsigned int ioread8(void __iomem *);
> include/asm-generic/iomap.h:extern unsigned int ioread16(void __iomem *);
> include/asm-generic/iomap.h:extern unsigned int ioread32(void __iomem *);
> include/asm-generic/iomap.h:extern u64 ioread64(void __iomem *);
> 
> Wouldn't it be better to fix include/asm-generic/iomap.h and lib/iomap.c
> instead?

Oh, I didn't even notice we had this declared by different files..
diff mbox series

Patch

diff --git a/drivers/sh/clk/cpg.c b/drivers/sh/clk/cpg.c
index eeb028b9cdb3..4f3d99d37809 100644
--- a/drivers/sh/clk/cpg.c
+++ b/drivers/sh/clk/cpg.c
@@ -36,17 +36,17 @@  static void sh_clk_write(int value, struct clk *clk)
 		iowrite32(value, clk->mapped_reg);
 }
 
-static unsigned int r8(const void __iomem *addr)
+static unsigned int r8(void __iomem *addr)
 {
 	return ioread8(addr);
 }
 
-static unsigned int r16(const void __iomem *addr)
+static unsigned int r16(void __iomem *addr)
 {
 	return ioread16(addr);
 }
 
-static unsigned int r32(const void __iomem *addr)
+static unsigned int r32(void __iomem *addr)
 {
 	return ioread32(addr);
 }
@@ -55,7 +55,7 @@  static int sh_clk_mstp_enable(struct clk *clk)
 {
 	sh_clk_write(sh_clk_read(clk) & ~(1 << clk->enable_bit), clk);
 	if (clk->status_reg) {
-		unsigned int (*read)(const void __iomem *addr);
+		unsigned int (*read)(void __iomem *addr);
 		int i;
 		void __iomem *mapped_status = (phys_addr_t)clk->status_reg -
 			(phys_addr_t)clk->enable_reg + clk->mapped_reg;