w1: w1_therm: Rename conflicting sysfs attribute 'eeprom' to 'eeprom_cmd'
authorIvan Zaentsev <ivan.zaentsev@wirenboard.ru>
Thu, 12 Nov 2020 06:49:31 +0000 (09:49 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Nov 2020 07:50:13 +0000 (08:50 +0100)
Duplicate attribute 'eeprom' is defined in:
1) Documentation/ABI/testing/sysfs-driver-w1_therm
2) Documentation/ABI/stable/sysfs-driver-w1_ds28e04

Both drivers define an attribute: /sys/bus/w1/devices/.../eeprom
with conflicting behavior.

Fix by renaming the newer one in w1_therm.c to 'eeprom_cmd'.

Reported-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/lkml/20201029152845.6bbb39ce@coco.lan/
Signed-off-by: Ivan Zaentsev <ivan.zaentsev@wirenboard.ru>
Link: https://lore.kernel.org/r/20201112064931.8471-1-ivan.zaentsev@wirenboard.ru
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/ABI/testing/sysfs-driver-w1_therm
Documentation/w1/slaves/w1_therm.rst
drivers/w1/slaves/w1_therm.c

index 6a37dc33ffdb567af4224e6ef2e9453383ca44d3..74642c73d29c79ee6b613bea5e73526b9f2b5e17 100644 (file)
@@ -14,7 +14,7 @@ Users:                any user space application which wants to communicate with
                w1_term device
 
 
-What:          /sys/bus/w1/devices/.../eeprom
+What:          /sys/bus/w1/devices/.../eeprom_cmd
 Date:          May 2020
 Contact:       Akira Shimahara <akira215corp@gmail.com>
 Description:
index e39202e2b0004c29efb7637fed9b5870c0af4321..c3c9ed7a356c926427cdecd9d4944d52c9ee6519 100644 (file)
@@ -82,7 +82,7 @@ resolution is read back from the chip and verified.
 
 Note: Changing the resolution reverts the conversion time to default.
 
-The write-only sysfs entry ``eeprom`` is an alternative for EEPROM operations.
+The write-only sysfs entry ``eeprom_cmd`` is an alternative for EEPROM operations.
 Write ``save`` to save device RAM to EEPROM. Write ``restore`` to restore EEPROM
 data in device RAM.
 
index cddf60b7309cafc8ddbd767712ad4a201d470a9a..3712b1e6dc71e41700c6177e3c6e27c8b7d135c7 100644 (file)
@@ -315,7 +315,7 @@ static ssize_t resolution_show(struct device *device,
 static ssize_t resolution_store(struct device *device,
        struct device_attribute *attr, const char *buf, size_t size);
 
-static ssize_t eeprom_store(struct device *device,
+static ssize_t eeprom_cmd_store(struct device *device,
        struct device_attribute *attr, const char *buf, size_t size);
 
 static ssize_t alarms_store(struct device *device,
@@ -350,7 +350,7 @@ static DEVICE_ATTR_RO(w1_seq);
 static DEVICE_ATTR_RO(temperature);
 static DEVICE_ATTR_RO(ext_power);
 static DEVICE_ATTR_RW(resolution);
-static DEVICE_ATTR_WO(eeprom);
+static DEVICE_ATTR_WO(eeprom_cmd);
 static DEVICE_ATTR_RW(alarms);
 static DEVICE_ATTR_RW(conv_time);
 static DEVICE_ATTR_RW(features);
@@ -386,7 +386,7 @@ static struct attribute *w1_therm_attrs[] = {
        &dev_attr_temperature.attr,
        &dev_attr_ext_power.attr,
        &dev_attr_resolution.attr,
-       &dev_attr_eeprom.attr,
+       &dev_attr_eeprom_cmd.attr,
        &dev_attr_alarms.attr,
        &dev_attr_conv_time.attr,
        &dev_attr_features.attr,
@@ -397,7 +397,7 @@ static struct attribute *w1_ds18s20_attrs[] = {
        &dev_attr_w1_slave.attr,
        &dev_attr_temperature.attr,
        &dev_attr_ext_power.attr,
-       &dev_attr_eeprom.attr,
+       &dev_attr_eeprom_cmd.attr,
        &dev_attr_alarms.attr,
        &dev_attr_conv_time.attr,
        &dev_attr_features.attr,
@@ -410,7 +410,7 @@ static struct attribute *w1_ds28ea00_attrs[] = {
        &dev_attr_temperature.attr,
        &dev_attr_ext_power.attr,
        &dev_attr_resolution.attr,
-       &dev_attr_eeprom.attr,
+       &dev_attr_eeprom_cmd.attr,
        &dev_attr_alarms.attr,
        &dev_attr_conv_time.attr,
        &dev_attr_features.attr,
@@ -1740,7 +1740,7 @@ static ssize_t resolution_store(struct device *device,
        return size;
 }
 
-static ssize_t eeprom_store(struct device *device,
+static ssize_t eeprom_cmd_store(struct device *device,
        struct device_attribute *attr, const char *buf, size_t size)
 {
        struct w1_slave *sl = dev_to_w1_slave(device);