Message ID | 20200916094952.458003-2-jonathanh@nvidia.com |
---|---|
State | Accepted |
Headers | show |
Series | Add support for custom names for AT24 EEPROMs | expand |
On Wed, Sep 16, 2020 at 11:50 AM Jon Hunter <jonathanh@nvidia.com> wrote: > > The AT24 EEPROM driver does not initialise the 'id' field of the > nvmem_config structure and because the entire structure is not > initialised, it ends up with a random value. This causes the NVMEM > driver to append the device 'devid' value to name of the NVMEM > device. Ideally for I2C devices such as the AT24 that already have a > unique name, we would not bother to append the 'devid'. However, given > that this has always been done for AT24 devices, we cannot remove the > 'devid' as this will change the name of the userspace sysfs node for > the NVMEM device. Nonetheless we should ensure that the 'id' field of > the nvmem_config structure is initialised so that there is no chance of > a random value causes problems in the future. Therefore, set the NVMEM > config.id to NVMEM_DEVID_AUTO for AT24 EEPROMs so that the 'devid' is > always appended. > > Signed-off-by: Jon Hunter <jonathanh@nvidia.com> > --- > drivers/misc/eeprom/at24.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c > index e9df1ca251df..f76624b5c033 100644 > --- a/drivers/misc/eeprom/at24.c > +++ b/drivers/misc/eeprom/at24.c > @@ -715,6 +715,7 @@ static int at24_probe(struct i2c_client *client) > > nvmem_config.name = dev_name(dev); > nvmem_config.dev = dev; > + nvmem_config.id = NVMEM_DEVID_AUTO; > nvmem_config.read_only = !writable; > nvmem_config.root_only = !(flags & AT24_FLAG_IRUGO); > nvmem_config.owner = THIS_MODULE; > -- > 2.25.1 > Ha! I only now noticed I already have a patch for this in my tree from Vadym Kochan for this cycle. I'll drop this one. Bartosz
On Thu, Sep 24, 2020 at 3:14 PM Bartosz Golaszewski <bgolaszewski@baylibre.com> wrote: > > On Wed, Sep 16, 2020 at 11:50 AM Jon Hunter <jonathanh@nvidia.com> wrote: > > > > The AT24 EEPROM driver does not initialise the 'id' field of the > > nvmem_config structure and because the entire structure is not > > initialised, it ends up with a random value. This causes the NVMEM > > driver to append the device 'devid' value to name of the NVMEM > > device. Ideally for I2C devices such as the AT24 that already have a > > unique name, we would not bother to append the 'devid'. However, given > > that this has always been done for AT24 devices, we cannot remove the > > 'devid' as this will change the name of the userspace sysfs node for > > the NVMEM device. Nonetheless we should ensure that the 'id' field of > > the nvmem_config structure is initialised so that there is no chance of > > a random value causes problems in the future. Therefore, set the NVMEM > > config.id to NVMEM_DEVID_AUTO for AT24 EEPROMs so that the 'devid' is > > always appended. > > > > Signed-off-by: Jon Hunter <jonathanh@nvidia.com> > > --- > > drivers/misc/eeprom/at24.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c > > index e9df1ca251df..f76624b5c033 100644 > > --- a/drivers/misc/eeprom/at24.c > > +++ b/drivers/misc/eeprom/at24.c > > @@ -715,6 +715,7 @@ static int at24_probe(struct i2c_client *client) > > > > nvmem_config.name = dev_name(dev); > > nvmem_config.dev = dev; > > + nvmem_config.id = NVMEM_DEVID_AUTO; > > nvmem_config.read_only = !writable; > > nvmem_config.root_only = !(flags & AT24_FLAG_IRUGO); > > nvmem_config.owner = THIS_MODULE; > > -- > > 2.25.1 > > > > Ha! I only now noticed I already have a patch for this in my tree from > Vadym Kochan for this cycle. I'll drop this one. > > Bartosz -ETOOEARLY, nevermind my comment, it's for a different issue. I queued this for v5.10. Thanks! Bartosz
diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c index e9df1ca251df..f76624b5c033 100644 --- a/drivers/misc/eeprom/at24.c +++ b/drivers/misc/eeprom/at24.c @@ -715,6 +715,7 @@ static int at24_probe(struct i2c_client *client) nvmem_config.name = dev_name(dev); nvmem_config.dev = dev; + nvmem_config.id = NVMEM_DEVID_AUTO; nvmem_config.read_only = !writable; nvmem_config.root_only = !(flags & AT24_FLAG_IRUGO); nvmem_config.owner = THIS_MODULE;
The AT24 EEPROM driver does not initialise the 'id' field of the nvmem_config structure and because the entire structure is not initialised, it ends up with a random value. This causes the NVMEM driver to append the device 'devid' value to name of the NVMEM device. Ideally for I2C devices such as the AT24 that already have a unique name, we would not bother to append the 'devid'. However, given that this has always been done for AT24 devices, we cannot remove the 'devid' as this will change the name of the userspace sysfs node for the NVMEM device. Nonetheless we should ensure that the 'id' field of the nvmem_config structure is initialised so that there is no chance of a random value causes problems in the future. Therefore, set the NVMEM config.id to NVMEM_DEVID_AUTO for AT24 EEPROMs so that the 'devid' is always appended. Signed-off-by: Jon Hunter <jonathanh@nvidia.com> --- drivers/misc/eeprom/at24.c | 1 + 1 file changed, 1 insertion(+)