aboutsummaryrefslogtreecommitdiff
path: root/drivers/core/device.c
diff options
context:
space:
mode:
authorPatrick Delaunay <patrick.delaunay@foss.st.com>2021-11-19 10:02:27 +0100
committerTom Rini <trini@konsulko.com>2021-12-01 13:33:45 -0500
commitaf13df7014d7dc78b5461b65de78ca5096e5701c (patch)
treed4e3ade19a8c2f0b90867c451d1abb8f747ca555 /drivers/core/device.c
parent1c01712ac409b06feb36dcac13285e621a700c4e (diff)
downloadu-boot-af13df7014d7dc78b5461b65de78ca5096e5701c.zip
u-boot-af13df7014d7dc78b5461b65de78ca5096e5701c.tar.gz
u-boot-af13df7014d7dc78b5461b65de78ca5096e5701c.tar.bz2
dm: add debug message when failed to select the default pinctrl
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>
Diffstat (limited to 'drivers/core/device.c')
-rw-r--r--drivers/core/device.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/core/device.c b/drivers/core/device.c
index aed093c..74374ff 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -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: