Message ID | 20240223202556.2194021-1-michael.j.ruhl@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] clkdev: Update clkdev id usage to allow for longer names | expand |
On Fri, Feb 23, 2024 at 03:25:56PM -0500, Michael J. Ruhl wrote: > 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: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Quoting Michael J. Ruhl (2024-02-23 12:25:56) > 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> > --- Applied to clk-next
diff --git a/drivers/clk/clkdev.c b/drivers/clk/clkdev.c index ee37d0be6877..9cd80522ca2d 100644 --- a/drivers/clk/clkdev.c +++ b/drivers/clk/clkdev.c @@ -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 {