2023-07-21 01:33:03

by Ran Sun

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

./drivers/clk/keystone/sci-clk.c:390:8-14: ERROR: application of sizeof
to pointer

Signed-off-by: Ran Sun <[email protected]>
---
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);


2023-08-23 09:55:19

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH] clk: keystone: sci-clk: fix application of sizeof to pointer

Quoting [email protected] (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 <[email protected]>
> ---
> 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);