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

From: Andy Shevchenko
Date: Fri Feb 23 2024 - 11:21:28 EST


On Fri, Feb 23, 2024 at 04:09:03PM +0000, Ruhl, Michael J wrote:
> >From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> >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