summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Hunter <jonathanh@nvidia.com>2020-09-24 15:18:16 +0200
committerBartosz Golaszewski <bgolaszewski@baylibre.com>2020-09-24 15:18:46 +0200
commitf434f9b7afca80e8abfe5d52b20fe34c39dd2c14 (patch)
tree6ff0cdc86e8857de31174e08a8079f3257ea836f
parent774b9f43716d5a79272e052bcae2f3939b02a2c6 (diff)
downloadlinux-stable-f434f9b7afca80e8abfe5d52b20fe34c39dd2c14.tar.gz
linux-stable-f434f9b7afca80e8abfe5d52b20fe34c39dd2c14.tar.bz2
linux-stable-f434f9b7afca80e8abfe5d52b20fe34c39dd2c14.zip
eeprom: at24: Initialise AT24 NVMEM ID field
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> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
-rw-r--r--drivers/misc/eeprom/at24.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c
index 00c8ac0677b4..2fde53dcfc97 100644
--- a/drivers/misc/eeprom/at24.c
+++ b/drivers/misc/eeprom/at24.c
@@ -716,6 +716,7 @@ static int at24_probe(struct i2c_client *client)
nvmem_config.type = NVMEM_TYPE_EEPROM;
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;