diff mbox series

sh: clk: Fix assignment from incompatible pointer type for ioreadX()

Message ID 20200723082017.24053-1-krzk@kernel.org
State New
Headers show
Series sh: clk: Fix assignment from incompatible pointer type for ioreadX() | expand

Commit Message

Krzysztof Kozlowski July 23, 2020, 8:20 a.m. UTC
The ioreadX() helpers accept now pointer to const memory so declaration
of read function needs updating.

This fixes build errors like:

    drivers/sh/clk/cpg.c: In function ‘sh_clk_mstp_enable’:
    drivers/sh/clk/cpg.c:49:9: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
        read = ioread8;

Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>

---

Dear Andrew,

This was part of my v3 patchset commit 9ab7fb303cc1 ("iomap: Constify
ioreadX() iomem argument (as in generic implementation)") but I think it
was skipped when applying to your tree.

Maybe because it depends on commit 58c4d8659186 ("sh: clkfwk: remove
r8/r16/r32") which landed later?  Anyway it should go through your tree,
I think.
---
 drivers/sh/clk/cpg.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

John Paul Adrian Glaubitz July 23, 2020, 12:49 p.m. UTC | #1
Hi Krzysztof!

On 7/23/20 10:20 AM, Krzysztof Kozlowski wrote:
> Maybe because it depends on commit 58c4d8659186 ("sh: clkfwk: remove
> r8/r16/r32") which landed later?  Anyway it should go through your tree,
> I think.
> ---
>  drivers/sh/clk/cpg.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/sh/clk/cpg.c b/drivers/sh/clk/cpg.c
> index a5cacfe24a42..fd72d9088bdc 100644
> --- a/drivers/sh/clk/cpg.c
> +++ b/drivers/sh/clk/cpg.c
> @@ -40,7 +40,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)(void __iomem *addr);
> +		unsigned int (*read)(const void __iomem *addr);
>  		int i;
>  		void __iomem *mapped_status = (phys_addr_t)clk->status_reg -
>  			(phys_addr_t)clk->enable_reg + clk->mapped_reg;

Is that a reverted patch, by any chance? The patch does not apply for me and looking at
the sources, the qualifier is already "const" [1].

Adrian

> [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/sh/clk/cpg.c#n58
Krzysztof Kozlowski July 23, 2020, 12:57 p.m. UTC | #2
On Thu, Jul 23, 2020 at 02:49:46PM +0200, John Paul Adrian Glaubitz wrote:
> Hi Krzysztof!
> 
> On 7/23/20 10:20 AM, Krzysztof Kozlowski wrote:
> > Maybe because it depends on commit 58c4d8659186 ("sh: clkfwk: remove
> > r8/r16/r32") which landed later?  Anyway it should go through your tree,
> > I think.
> > ---
> >  drivers/sh/clk/cpg.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/sh/clk/cpg.c b/drivers/sh/clk/cpg.c
> > index a5cacfe24a42..fd72d9088bdc 100644
> > --- a/drivers/sh/clk/cpg.c
> > +++ b/drivers/sh/clk/cpg.c
> > @@ -40,7 +40,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)(void __iomem *addr);
> > +		unsigned int (*read)(const void __iomem *addr);
> >  		int i;
> >  		void __iomem *mapped_status = (phys_addr_t)clk->status_reg -
> >  			(phys_addr_t)clk->enable_reg + clk->mapped_reg;
> 
> Is that a reverted patch, by any chance? The patch does not apply for me and looking at
> the sources, the qualifier is already "const" [1].

The patch is for Andrew Morton's tree which contain two commits:
1. sh: clkfwk: remove r8/r16/r32
2. iomap: constify ioreadX() iomem argument (as in generic implementation)

This patch here was actually part of #2 because of being based on
linux-next. However it disappeared when applying to Andrew's tree
because patch #1 came later.

Best regards,
Krzysztof
John Paul Adrian Glaubitz July 23, 2020, 1:14 p.m. UTC | #3
Hi!

On 7/23/20 2:57 PM, Krzysztof Kozlowski wrote:
> The patch is for Andrew Morton's tree which contain two commits:
> 1. sh: clkfwk: remove r8/r16/r32
> 2. iomap: constify ioreadX() iomem argument (as in generic implementation)
> 
> This patch here was actually part of #2 because of being based on
> linux-next. However it disappeared when applying to Andrew's tree
> because patch #1 came later.

Okay. I'll try to look at the other two patches later.

Adrian
diff mbox series

Patch

diff --git a/drivers/sh/clk/cpg.c b/drivers/sh/clk/cpg.c
index a5cacfe24a42..fd72d9088bdc 100644
--- a/drivers/sh/clk/cpg.c
+++ b/drivers/sh/clk/cpg.c
@@ -40,7 +40,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)(void __iomem *addr);
+		unsigned int (*read)(const void __iomem *addr);
 		int i;
 		void __iomem *mapped_status = (phys_addr_t)clk->status_reg -
 			(phys_addr_t)clk->enable_reg + clk->mapped_reg;