summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYulin Lu <luyulin@eswincomputing.com>2026-07-28 15:29:06 +0800
committerLinus Walleij <linusw@kernel.org>2026-08-03 09:42:39 +0200
commitf9af1329b98a478f4bba605ec6db429ef0e38d54 (patch)
tree8f78cd6e5a885744a0c5d39e6aff9785d74b4944
parent04b3818c3bbc3f68b6e856f87dca752af2cc34ee (diff)
downloadlinux-f9af1329b98a478f4bba605ec6db429ef0e38d54.tar.gz
linux-f9af1329b98a478f4bba605ec6db429ef0e38d54.zip
pinctrl: eswin: Fix Handling of PIN_CONFIG_PERSIST_STATE
The EIC7700 pinctrl driver does not handle PIN_CONFIG_PERSIST_STATE specifically, and returns -EOPNOTSUPP from the default case. Since all pins on the EIC7700 SoC are persistent over suspend, the correct behaviour is to accept this parameter and return success. Add an explicit case for PIN_CONFIG_PERSIST_STATE that returns 0 to prevent errors when this parameter is set. Signed-off-by: Yulin Lu <luyulin@eswincomputing.com> Fixes: 5b797bcc00ef ("pinctrl: eswin: Add EIC7700 pinctrl driver") Signed-off-by: Linus Walleij <linusw@kernel.org>
-rw-r--r--drivers/pinctrl/pinctrl-eic7700.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/pinctrl/pinctrl-eic7700.c b/drivers/pinctrl/pinctrl-eic7700.c
index ffcd0ec5c2dc..1e72931feca5 100644
--- a/drivers/pinctrl/pinctrl-eic7700.c
+++ b/drivers/pinctrl/pinctrl-eic7700.c
@@ -423,6 +423,9 @@ static int eic7700_pin_config_set(struct pinctrl_dev *pctldev, unsigned int pin,
else
value &= ~EIC7700_ST;
break;
+ /* All pins are persistent over suspend */
+ case PIN_CONFIG_PERSIST_STATE:
+ return 0;
default:
return -EOPNOTSUPP;
}