clk: vc5: Fix .driver_data content in i2c_device_id
authorMarek Vasut <marek.vasut+renesas@mailbox.org>
Sun, 7 May 2023 13:39:04 +0000 (15:39 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Jul 2023 14:21:17 +0000 (16:21 +0200)
[ Upstream commit be3471c5bd9b921c9adfab7948e8021611639164 ]

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@mailbox.org>
Link: https://lore.kernel.org/r/20230507133906.15061-1-marek.vasut+renesas@mailbox.org
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/clk/clk-versaclock5.c

index abfe59a..5f2c909 100644 (file)
@@ -1255,13 +1255,13 @@ 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 },
-       { "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 },
+       { "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 },
        { }
 };
 MODULE_DEVICE_TABLE(i2c, vc5_id);