* [PATCH v2] pinctrl: mcp23s08: Propagate reset GPIO errors
@ 2026-10-12 1:54 phucduc.bui
0 siblings, 0 replies; only message in thread
From: phucduc.bui @ 2026-10-12 1:54 UTC (permalink / raw)
To: Linus Walleij
Cc: Darian Biastoch, Andreas Kaessens, linux-gpio, linux-kernel,
bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
devm_gpiod_get_optional() may return -EPROBE_DEFER or other errors,
but mcp23s08_probe_one() currently ignores them.
Check the return value and propagate errors from the reset GPIO lookup.
Fixes: 4e73bfa3ee37 ("pinctrl: mcp23s08: Add optional reset GPIO")
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
Changes in v2:
-return ERR_PTR(-EPROBE_DEFER) instead of uninitialized ret variable
drivers/pinctrl/pinctrl-mcp23s08.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/pinctrl/pinctrl-mcp23s08.c b/drivers/pinctrl/pinctrl-mcp23s08.c
index cc668f84bf8b..259ac02134c6 100644
--- a/drivers/pinctrl/pinctrl-mcp23s08.c
+++ b/drivers/pinctrl/pinctrl-mcp23s08.c
@@ -613,6 +613,9 @@ int mcp23s08_probe_one(struct mcp23s08 *mcp, struct device *dev,
mcp->chip.owner = THIS_MODULE;
mcp->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW);
+ if (IS_ERR(mcp->reset_gpio))
+ return dev_err_probe(dev, PTR_ERR(mcp->reset_gpio),
+ "failed to get reset GPIO\n");
/* verify MCP_IOCON.SEQOP = 0, so sequential reads work,
* and MCP_IOCON.HAEN = 1, so we work with all chips.
--
2.43.0
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-10-12 1:54 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-12 1:54 [PATCH v2] pinctrl: mcp23s08: Propagate reset GPIO errors phucduc.bui
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®