Re: [PATCH 1/3] clk: vc5: Fix .driver_data content in i2c_device_id

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Marek,

On Sun,  7 May 2023 15:39:04 +0200
Marek Vasut <marek.vasut+renesas@xxxxxxxxxxx> wrote:

> The .driver_data content in i2c_device_id table must match the
> .data content in of_device_id table, else device_get_match_data()
> would return bogus value on i2c_device_id match. Align the two
> tables.
> 
> The i2c_device_id table is now converted from of_device_id using
> 's@.compatible = "idt,\([^"]\+"\), .data = \(.*\)@"\1, .driver_data = (kernel_ulong_t)\2@'
> 
> Fixes: 9adddb01ce5f ("clk: vc5: Add structure to describe particular chip features")
> Signed-off-by: Marek Vasut <marek.vasut+renesas@xxxxxxxxxxx>
> ---
> Cc: Alex Helms <alexander.helms.jy@xxxxxxxxxxx>
> Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
> Cc: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx>
> Cc: Magnus Damm <magnus.damm@xxxxxxxxx>
> Cc: Michael Turquette <mturquette@xxxxxxxxxxxx>
> Cc: Nathan Chancellor <nathan@xxxxxxxxxx>
> Cc: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
> Cc: Stephen Boyd <sboyd@xxxxxxxxxx>
> Cc: Tom Rix <trix@xxxxxxxxxx>
> Cc: linux-clk@xxxxxxxxxxxxxxx
> Cc: linux-renesas-soc@xxxxxxxxxxxxxxx
> ---
>  drivers/clk/clk-versaclock5.c | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/clk/clk-versaclock5.c b/drivers/clk/clk-versaclock5.c
> index fa71a57875ce..5452471b7ba5 100644
> --- a/drivers/clk/clk-versaclock5.c
> +++ b/drivers/clk/clk-versaclock5.c
> @@ -1271,14 +1271,14 @@ static const struct vc5_chip_info idt_5p49v6975_info = {
>  };
>  
>  static const struct i2c_device_id vc5_id[] = {
> -	{ "5p49v5923", .driver_data = IDT_VC5_5P49V5923 },
> -	{ "5p49v5925", .driver_data = IDT_VC5_5P49V5925 },
> -	{ "5p49v5933", .driver_data = IDT_VC5_5P49V5933 },
> -	{ "5p49v5935", .driver_data = IDT_VC5_5P49V5935 },
> -	{ "5p49v60", .driver_data = IDT_VC6_5P49V60 },
> -	{ "5p49v6901", .driver_data = IDT_VC6_5P49V6901 },
> -	{ "5p49v6965", .driver_data = IDT_VC6_5P49V6965 },
> -	{ "5p49v6975", .driver_data = IDT_VC6_5P49V6975 },
> +	{ "5p49v5923", .driver_data = (kernel_ulong_t)&idt_5p49v5923_info },
> +	{ "5p49v5925", .driver_data = (kernel_ulong_t)&idt_5p49v5925_info },
> +	{ "5p49v5933", .driver_data = (kernel_ulong_t)&idt_5p49v5933_info },
> +	{ "5p49v5935", .driver_data = (kernel_ulong_t)&idt_5p49v5935_info },
> +	{ "5p49v60", .driver_data = (kernel_ulong_t)&idt_5p49v60_info },
> +	{ "5p49v6901", .driver_data = (kernel_ulong_t)&idt_5p49v6901_info },
> +	{ "5p49v6965", .driver_data = (kernel_ulong_t)&idt_5p49v6965_info },
> +	{ "5p49v6975", .driver_data = (kernel_ulong_t)&idt_5p49v6975_info },

Apparently nobody even used i2c device ids, otherwise this would have
gone loudly bad!

Reviewed-by: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx>

-- 
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux