]> git.baikalelectronics.ru Git - uboot.git/commitdiff
dm: add debug message when failed to select the default pinctrl
authorPatrick Delaunay <patrick.delaunay@foss.st.com>
Fri, 19 Nov 2021 09:02:27 +0000 (10:02 +0100)
committerTom Rini <trini@konsulko.com>
Wed, 1 Dec 2021 18:33:45 +0000 (13:33 -0500)
Add a message on probe in driver model core when the default
pinctrl selection failed.

This message is displayed only when the pinctrl API is
implemented, i.e. when result is not ENOSYS.

Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
drivers/core/device.c

index aed093c2af139032c3e52136d4eaea980d10a138..74374ff881cb40aa308e979faceca1fefdb7584f 100644 (file)
@@ -533,8 +533,12 @@ int device_probe(struct udevice *dev)
         * is set just above. However, the PCI bus' probe() method and
         * associated uclass methods have not yet been called.
         */
-       if (dev->parent && device_get_uclass_id(dev) != UCLASS_PINCTRL)
-               pinctrl_select_state(dev, "default");
+       if (dev->parent && device_get_uclass_id(dev) != UCLASS_PINCTRL) {
+               ret = pinctrl_select_state(dev, "default");
+               if (ret && ret != -ENOSYS)
+                       log_debug("Device '%s' failed to configure default pinctrl: %d (%s)\n",
+                                 dev->name, ret, errno_str(ret));
+       }
 
        if (CONFIG_IS_ENABLED(POWER_DOMAIN) && dev->parent &&
            (device_get_uclass_id(dev) != UCLASS_POWER_DOMAIN) &&
@@ -586,8 +590,12 @@ int device_probe(struct udevice *dev)
        if (ret)
                goto fail_uclass;
 
-       if (dev->parent && device_get_uclass_id(dev) == UCLASS_PINCTRL)
-               pinctrl_select_state(dev, "default");
+       if (dev->parent && device_get_uclass_id(dev) == UCLASS_PINCTRL) {
+               ret = pinctrl_select_state(dev, "default");
+               if (ret && ret != -ENOSYS)
+                       log_debug("Device '%s' failed to configure default pinctrl: %d (%s)\n",
+                                 dev->name, ret, errno_str(ret));
+       }
 
        return 0;
 fail_uclass: