[PATCH] clk: keystone: sci-clk: fix application of sizeof to pointer

sunran001@208suo.com posted 1 patch 2 years, 1 month ago
drivers/clk/keystone/sci-clk.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] clk: keystone: sci-clk: fix application of sizeof to pointer
Posted by sunran001@208suo.com 2 years, 1 month ago
./drivers/clk/keystone/sci-clk.c:390:8-14: ERROR: application of sizeof
to pointer

Signed-off-by: Ran Sun <sunran001@208suo.com>
---
  drivers/clk/keystone/sci-clk.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/keystone/sci-clk.c 
b/drivers/clk/keystone/sci-clk.c
index 6c1df4f11536..2c68c1e09d1f 100644
--- a/drivers/clk/keystone/sci-clk.c
+++ b/drivers/clk/keystone/sci-clk.c
@@ -389,7 +389,7 @@ static struct clk_hw *sci_clk_get(struct 
of_phandle_args *clkspec, void *data)
  	key.clk_id = clkspec->args[1];

  	clk = bsearch(&key, provider->clocks, provider->num_clocks,
-		      sizeof(clk), _cmp_sci_clk);
+		      sizeof(**clk), _cmp_sci_clk);

  	if (!clk)
  		return ERR_PTR(-ENODEV);
Re: [PATCH] clk: keystone: sci-clk: fix application of sizeof to pointer
Posted by Stephen Boyd 2 years ago
Quoting sunran001@208suo.com (2023-07-20 18:14:19)
> ./drivers/clk/keystone/sci-clk.c:390:8-14: ERROR: application of sizeof
> to pointer
> 
> Signed-off-by: Ran Sun <sunran001@208suo.com>
> ---
>   drivers/clk/keystone/sci-clk.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/clk/keystone/sci-clk.c 
> b/drivers/clk/keystone/sci-clk.c
> index 6c1df4f11536..2c68c1e09d1f 100644
> --- a/drivers/clk/keystone/sci-clk.c
> +++ b/drivers/clk/keystone/sci-clk.c
> @@ -389,7 +389,7 @@ static struct clk_hw *sci_clk_get(struct 
> of_phandle_args *clkspec, void *data)
>         key.clk_id = clkspec->args[1];
> 
>         clk = bsearch(&key, provider->clocks, provider->num_clocks,

Huh? I see 'provider->clocks' is struct sci_clk_provider::clocks which
is of type 'struct sci_clk **'. It looks like each element in the array
is a 'struct sci_clk *', so if we want to silence the coccinelle warning
perhaps this should change to sizeof(*clk). Certainly we don't want to
change it to be the sizeof(struct sci_clk) though. Does changing the
sizeof() to deref the pointer work to silence the error?

> -                     sizeof(clk), _cmp_sci_clk);
> +                     sizeof(**clk), _cmp_sci_clk);