[PATCH] clkdev: Update clkdev id usage to allow for longer names

Andy Shevchenko andriy.shevchenko at linux.intel.com
Fri Feb 23 08:19:44 PST 2024


On Fri, Feb 23, 2024 at 04:09:03PM +0000, Ruhl, Michael J wrote:
> >From: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
> >Sent: Friday, February 23, 2024 10:48 AM
> >On Fri, Feb 23, 2024 at 09:18:14AM -0500, Michael J. Ruhl wrote:
> >> clkdev ID information is limited to arrays of 20 and 16 bytes
> >> (MAX_DEV_ID/MAX_CON_ID).  It is possible that the IDs could be
> >> longer that.  If so, the lookup will fail because the "real ID"
> >> will not match the copied value.
> >
> >Perhaps you need to add a real example.
> 
> How about:
> 
> 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:

clkdev_create()

> i2c_designware.3942
> 
> The stored name is one off and will not match correctly during probe.
> 
> >> Increase the size of the IDs to allow for longer names.

...

> >> -#define MAX_DEV_ID	20
> >> -#define MAX_CON_ID	16
> >> +#define MAX_DEV_ID	32

So with the above example increasing by 4 is enough, right?
Maybe we can be modest for now as it will solve your issue?

#define MAX_DEV_ID	24

> >> +#define MAX_CON_ID	32
> >
> >Do we need to alter both?
> 
> It wasn't clear to why there was a difference in sizes.  At the moment the CON_ID isn't
> causing me an issue.  Shall I drop that part of the change?

I think so.

-- 
With Best Regards,
Andy Shevchenko





More information about the linux-arm-kernel mailing list