2024-03-22 13:21:43

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] dmaengine: owl: fix register access functions

From: Arnd Bergmann <[email protected]>

When building with 'make W=1', clang notices that the computed register
values are never actually written back but instead the wrong variable
is set:

drivers/dma/owl-dma.c:244:6: error: variable 'regval' set but not used [-Werror,-Wunused-but-set-variable]
244 | u32 regval;
| ^
drivers/dma/owl-dma.c:268:6: error: variable 'regval' set but not used [-Werror,-Wunused-but-set-variable]
268 | u32 regval;
| ^

Change these to what was most likely intended.

Fixes: 47e20577c24d ("dmaengine: Add Actions Semi Owl family S900 DMA driver")
Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/dma/owl-dma.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/dma/owl-dma.c b/drivers/dma/owl-dma.c
index 4e76c4ec2d39..e001f4f7aa64 100644
--- a/drivers/dma/owl-dma.c
+++ b/drivers/dma/owl-dma.c
@@ -250,7 +250,7 @@ static void pchan_update(struct owl_dma_pchan *pchan, u32 reg,
else
regval &= ~val;

- writel(val, pchan->base + reg);
+ writel(regval, pchan->base + reg);
}

static void pchan_writel(struct owl_dma_pchan *pchan, u32 reg, u32 data)
@@ -274,7 +274,7 @@ static void dma_update(struct owl_dma *od, u32 reg, u32 val, bool state)
else
regval &= ~val;

- writel(val, od->base + reg);
+ writel(regval, od->base + reg);
}

static void dma_writel(struct owl_dma *od, u32 reg, u32 data)
--
2.39.2



2024-03-22 13:47:21

by Peter Korsgaard

[permalink] [raw]
Subject: Re: [PATCH] dmaengine: owl: fix register access functions

>>>>> "Arnd" == Arnd Bergmann <[email protected]> writes:

> From: Arnd Bergmann <[email protected]>
> When building with 'make W=1', clang notices that the computed register
> values are never actually written back but instead the wrong variable
> is set:

> drivers/dma/owl-dma.c:244:6: error: variable 'regval' set but not used [-Werror,-Wunused-but-set-variable]
> 244 | u32 regval;
> | ^
> drivers/dma/owl-dma.c:268:6: error: variable 'regval' set but not used [-Werror,-Wunused-but-set-variable]
> 268 | u32 regval;
> | ^

> Change these to what was most likely intended.

> Fixes: 47e20577c24d ("dmaengine: Add Actions Semi Owl family S900 DMA driver")
> Signed-off-by: Arnd Bergmann <[email protected]>

Good catch!

Reviewed-by: Peter Korsgaard <[email protected]>

--
Bye, Peter Korsgaard

2024-03-22 14:32:41

by Manivannan Sadhasivam

[permalink] [raw]
Subject: Re: [PATCH] dmaengine: owl: fix register access functions

On Fri, Mar 22, 2024 at 02:21:07PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <[email protected]>
>
> When building with 'make W=1', clang notices that the computed register
> values are never actually written back but instead the wrong variable
> is set:
>
> drivers/dma/owl-dma.c:244:6: error: variable 'regval' set but not used [-Werror,-Wunused-but-set-variable]
> 244 | u32 regval;
> | ^
> drivers/dma/owl-dma.c:268:6: error: variable 'regval' set but not used [-Werror,-Wunused-but-set-variable]
> 268 | u32 regval;
> | ^
>
> Change these to what was most likely intended.
>

Wow... Thanks for spotting. Well thanks to Clang also ;)

> Fixes: 47e20577c24d ("dmaengine: Add Actions Semi Owl family S900 DMA driver")
> Signed-off-by: Arnd Bergmann <[email protected]>

Cc: [email protected] # 4.19

Reviewed-by: Manivannan Sadhasivam <[email protected]>

- Mani

> ---
> drivers/dma/owl-dma.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/dma/owl-dma.c b/drivers/dma/owl-dma.c
> index 4e76c4ec2d39..e001f4f7aa64 100644
> --- a/drivers/dma/owl-dma.c
> +++ b/drivers/dma/owl-dma.c
> @@ -250,7 +250,7 @@ static void pchan_update(struct owl_dma_pchan *pchan, u32 reg,
> else
> regval &= ~val;
>
> - writel(val, pchan->base + reg);
> + writel(regval, pchan->base + reg);
> }
>
> static void pchan_writel(struct owl_dma_pchan *pchan, u32 reg, u32 data)
> @@ -274,7 +274,7 @@ static void dma_update(struct owl_dma *od, u32 reg, u32 val, bool state)
> else
> regval &= ~val;
>
> - writel(val, od->base + reg);
> + writel(regval, od->base + reg);
> }
>
> static void dma_writel(struct owl_dma *od, u32 reg, u32 data)
> --
> 2.39.2
>

--
மணிவண்ணன் சதாசிவம்

2024-03-28 07:39:49

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH] dmaengine: owl: fix register access functions


On Fri, 22 Mar 2024 14:21:07 +0100, Arnd Bergmann wrote:
> When building with 'make W=1', clang notices that the computed register
> values are never actually written back but instead the wrong variable
> is set:
>
> drivers/dma/owl-dma.c:244:6: error: variable 'regval' set but not used [-Werror,-Wunused-but-set-variable]
> 244 | u32 regval;
> | ^
> drivers/dma/owl-dma.c:268:6: error: variable 'regval' set but not used [-Werror,-Wunused-but-set-variable]
> 268 | u32 regval;
> | ^
>
> [...]

Applied, thanks!

[1/1] dmaengine: owl: fix register access functions
commit: 43c633ef93a5d293c96ebcedb40130df13128428

Best regards,
--
~Vinod