[PATCH 1/2] pinctrl: change result for unsupported API

Use the return value ENOSYS for unsupported API - pinctrl_generic_set_state - pinctrl_select_state
Signed-off-by: Patrick Delaunay patrick.delaunay@foss.st.com ---
include/dm/pinctrl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/dm/pinctrl.h b/include/dm/pinctrl.h index 695e78ad0d..8b869c4fbf 100644 --- a/include/dm/pinctrl.h +++ b/include/dm/pinctrl.h @@ -495,7 +495,7 @@ int pinctrl_generic_set_state(struct udevice *pctldev, struct udevice *config); static inline int pinctrl_generic_set_state(struct udevice *pctldev, struct udevice *config) { - return -EINVAL; + return -ENOSYS; } #endif
@@ -512,7 +512,7 @@ int pinctrl_select_state(struct udevice *dev, const char *statename); static inline int pinctrl_select_state(struct udevice *dev, const char *statename) { - return -EINVAL; + return -ENOSYS; } #endif

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 ---
drivers/core/device.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/drivers/core/device.c b/drivers/core/device.c index 29668f6fb3..6710c847e1 100644 --- a/drivers/core/device.c +++ b/drivers/core/device.c @@ -532,8 +532,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) && @@ -578,8 +582,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:

On Fri, 30 Jul 2021 at 04:12, Patrick Delaunay patrick.delaunay@foss.st.com wrote:
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
drivers/core/device.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org

On Fri, 30 Jul 2021 at 04:12, Patrick Delaunay patrick.delaunay@foss.st.com wrote:
Use the return value ENOSYS for unsupported API
- pinctrl_generic_set_state
- pinctrl_select_state
Signed-off-by: Patrick Delaunay patrick.delaunay@foss.st.com
include/dm/pinctrl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org
participants (2)
-
Patrick Delaunay
-
Simon Glass