diff options
author | Michael J. Ruhl <michael.j.ruhl@intel.com> | 2024-02-23 21:25:56 +0100 |
---|---|---|
committer | Stephen Boyd <sboyd@kernel.org> | 2024-02-28 23:14:44 +0100 |
commit | 99f4570cfba1e60daafde737cb7e395006d719e6 (patch) | |
tree | c78f1ad81ca2fb3c6f4437608dbaada2908aa665 /drivers/clk/clkdev.c | |
parent | Linux 6.8-rc1 (diff) | |
download | linux-99f4570cfba1e60daafde737cb7e395006d719e6.tar.xz linux-99f4570cfba1e60daafde737cb7e395006d719e6.zip |
clkdev: Update clkdev id usage to allow for longer names
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>
Diffstat (limited to 'drivers/clk/clkdev.c')
-rw-r--r-- | drivers/clk/clkdev.c | 2 |
1 files changed, 1 insertions, 1 deletions
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 { |