]> www.infradead.org Git - users/hch/block.git/commitdiff
clkdev: Update clkdev id usage to allow for longer names
authorMichael J. Ruhl <michael.j.ruhl@intel.com>
Fri, 23 Feb 2024 20:25:56 +0000 (15:25 -0500)
committerStephen Boyd <sboyd@kernel.org>
Wed, 28 Feb 2024 22:14:44 +0000 (14:14 -0800)
clkdev DEV ID information is limited to an array of 20 bytes
(MAX_DEV_ID).  It is possible that the ID could be longer than
that.  If so, the lookup will fail because the "real ID" will
not match the copied value.

For instance, generating a device name for the I2C Designware
module using the PCI ID can result in a name of:

i2c_designware.39424

clkdev_create() will store:

i2c_designware.3942

The stored name is one off and will not match correctly during probe.

Increase the size of the ID to allow for a longer name.

Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Link: https://lore.kernel.org/r/20240223202556.2194021-1-michael.j.ruhl@intel.com
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/clkdev.c

index ee37d0be6877db7070f51ad264bdc1a9da02d36a..9cd80522ca2d772c9b9cd7324405c72102318af9 100644 (file)
@@ -144,7 +144,7 @@ void clkdev_add_table(struct clk_lookup *cl, size_t num)
        mutex_unlock(&clocks_mutex);
 }
 
-#define MAX_DEV_ID     20
+#define MAX_DEV_ID     24
 #define MAX_CON_ID     16
 
 struct clk_lookup_alloc {