summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2024-02-21 15:27:58 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2024-02-23 08:28:39 +0100
commit73b7973cee7d832b7d2205c0dbeda9fa4c0676f9 (patch)
treee41e6a374950ef359876dc634a8054f86c30a395
parentcb046503d2c206a324493b292da00228ef945bf8 (diff)
downloadbarebox-73b7973cee7d832b7d2205c0dbeda9fa4c0676f9.tar.gz
barebox-73b7973cee7d832b7d2205c0dbeda9fa4c0676f9.tar.xz
gpio: pca953x: depend on i2c slice
The GPIOs provided by the pca953x cannot be used inside a poller while the I2C controller is in use. Add a dependency to from the GPIO controller to the I2C controller for this purpose. Link: https://lore.barebox.org/20240221142800.1958810-3-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--drivers/gpio/gpio-pca953x.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c
index cee60f7a65..e303f6b21f 100644
--- a/drivers/gpio/gpio-pca953x.c
+++ b/drivers/gpio/gpio-pca953x.c
@@ -475,6 +475,8 @@ static int pca953x_probe(struct device *dev)
if (ret)
return ret;
+ slice_depends_on(gpiochip_slice(&chip->gpio_chip), i2c_client_slice(client));
+
if (pdata && pdata->setup) {
ret = pdata->setup(client, chip->gpio_chip.base,
chip->gpio_chip.ngpio, pdata->context);