]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pinctrl: cy8c95x0: Eliminate fragile use of I²C ID table
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 23 Feb 2026 18:06:57 +0000 (19:06 +0100)
committerLinus Walleij <linusw@kernel.org>
Thu, 26 Feb 2026 22:42:40 +0000 (23:42 +0100)
The I²C ID table is a subject to new entries that may potentially
break the order of the existing ones. Avoid this by using string
literals for the chip naming. Note, linker will deduplicate same
string literals and use only a single copy, hence it won't be the
change in size in data section.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linusw@kernel.org>
drivers/pinctrl/pinctrl-cy8c95x0.c

index 7b35b86c6d4625775af24ca880cb93471fc52619..9130e50d32204045ad43b2c44e0321030eb3cfad 100644 (file)
@@ -1369,13 +1369,13 @@ static int cy8c95x0_detect(struct i2c_client *client,
                return ret;
        switch (ret & GENMASK(7, 4)) {
        case 0x20:
-               name = cy8c95x0_id[0].name;
+               name = "cy8c9520";
                break;
        case 0x40:
-               name = cy8c95x0_id[1].name;
+               name = "cy8c9540";
                break;
        case 0x60:
-               name = cy8c95x0_id[2].name;
+               name = "cy8c9560";
                break;
        default:
                return -ENODEV;