Skip to content

Commit

Permalink
clkdev: Update clkdev id usage to allow for longer names
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Michael J. Ruhl authored and Stephen Boyd committed Feb 28, 2024
1 parent 6613476 commit 99f4570
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/clk/clkdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down

0 comments on commit 99f4570

Please sign in to comment.