The parent device name is not necessarily always useful, e.g.
with i2c devices it may simply be e.g.: "0-0022" and it also depends
on the i2c-bus number which depends on probe ordering.

This commit allows drivers to set their own, more useful name,
avoiding the problems with some i2c-device names.

Signed-off-by: Hans de Goede <[email protected]>
---
 drivers/extcon/extcon.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/extcon/extcon.c b/drivers/extcon/extcon.c
index f422a78..f8d3c1b 100644
--- a/drivers/extcon/extcon.c
+++ b/drivers/extcon/extcon.c
@@ -1117,7 +1117,8 @@ int extcon_dev_register(struct extcon_dev *edev)
        edev->dev.class = extcon_class;
        edev->dev.release = extcon_dev_release;
 
-       edev->name = dev_name(edev->dev.parent);
+       if (!edev->name)
+               edev->name = dev_name(edev->dev.parent);
        if (IS_ERR_OR_NULL(edev->name)) {
                dev_err(&edev->dev,
                        "extcon device name is null\n");
-- 
2.9.3

Reply via email to