Currently we are calling mfd_add_devices to add devices without matched
mfd_remove_devices to remove them.

That would cause warning when re-binding cros_ec_dev:

[  123.536192] sysfs: cannot create duplicate filename 
'/bus/platform/devices/cros-
ec-accel.0'
[  123.536210] ------------[ cut here ]------------
[  123.536223] WARNING: CPU: 3 PID: 156 at fs/sysfs/dir.c:31 
sysfs_warn_dup+0x68/0x
84
[  123.536226] Modules linked in:
[  123.536236] CPU: 3 PID: 156 Comm: bash Not tainted 4.13.0-rc3-next-20170731 
#216
[  123.536238] Hardware name: Google Kevin (DT)
[  123.536242] task: ffffffc0f28bab80 task.stack: ffffffc0f1b30000
[  123.536247] PC is at sysfs_warn_dup+0x68/0x84
[  123.536251] LR is at sysfs_warn_dup+0x68/0x84

Signed-off-by: Jeffy Chen <jeffy.c...@rock-chips.com>
---

 drivers/platform/chrome/cros_ec_dev.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/chrome/cros_ec_dev.c 
b/drivers/platform/chrome/cros_ec_dev.c
index cf6c4f0..349ea60 100644
--- a/drivers/platform/chrome/cros_ec_dev.c
+++ b/drivers/platform/chrome/cros_ec_dev.c
@@ -376,8 +376,8 @@ static void cros_ec_sensors_register(struct cros_ec_dev *ec)
                id++;
        }
 
-       ret = mfd_add_devices(ec->dev, 0, sensor_cells, id,
-                             NULL, 0, NULL);
+       ret = devm_mfd_add_devices(ec->dev, 0, sensor_cells, id,
+                                  NULL, 0, NULL);
        if (ret)
                dev_err(ec->dev, "failed to add EC sensors\n");
 
-- 
2.1.4


Reply via email to