* [PATCH v2 0/7] media: use new GPIO line value setter callbacks
@ 2025-06-16 7:18 Bartosz Golaszewski
2025-06-16 7:18 ` [PATCH v2 1/7] media: dvb-frontends/cxd2820r: " Bartosz Golaszewski
` (7 more replies)
0 siblings, 8 replies; 10+ messages in thread
From: Bartosz Golaszewski @ 2025-06-16 7:18 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Linus Walleij, Bartosz Golaszewski,
Bluecherry Maintainers, Andrey Utkin, Ismael Luceno,
Tomi Valkeinen, Julien Massot, Jacopo Mondi, Kieran Bingham,
Laurent Pinchart, Niklas Söderlund
Cc: linux-media, linux-kernel, linux-gpio, Bartosz Golaszewski
Commit 98ce1eb1fd87e ("gpiolib: introduce gpio_chip setters that return
values") added new line setter callbacks to struct gpio_chip. They allow
to indicate failures to callers. We're in the process of converting all
GPIO controllers to using them before removing the old ones. This series
converts all GPIO chips implemented under drivers/media/.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
Changes in v2:
- Media CI complained about an unaligned line break in patch 3 in a line
this series didn't modify. I changed this in v2 to push this series
forward.
- Link to v1: https://lore.kernel.org/r/20250610-gpiochip-set-rv-media-v1-0-c088006a152c@linaro.org
---
Bartosz Golaszewski (7):
media: dvb-frontends/cxd2820r: use new GPIO line value setter callbacks
media: solo6x10: remove unneeded GPIO direction setters
media: solo6x10: use new GPIO line value setter callbacks
media: i2c: ds90ub953: use new GPIO line value setter callbacks
media: i2c: ds90ub913: use new GPIO line value setter callbacks
media: i2c: max96717: use new GPIO line value setter callbacks
media: i2c: max9286: use new GPIO line value setter callbacks
drivers/media/dvb-frontends/cxd2820r_core.c | 6 +++---
drivers/media/i2c/ds90ub913.c | 6 +++---
drivers/media/i2c/ds90ub953.c | 11 +++++------
drivers/media/i2c/max9286.c | 8 ++++----
drivers/media/i2c/max96717.c | 10 +++++-----
drivers/media/pci/solo6x10/solo6x10-gpio.c | 22 +++++-----------------
6 files changed, 25 insertions(+), 38 deletions(-)
---
base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494
change-id: 20250522-gpiochip-set-rv-media-e310a591836f
Best regards,
--
Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v2 1/7] media: dvb-frontends/cxd2820r: use new GPIO line value setter callbacks
2025-06-16 7:18 [PATCH v2 0/7] media: use new GPIO line value setter callbacks Bartosz Golaszewski
@ 2025-06-16 7:18 ` Bartosz Golaszewski
2025-06-16 7:18 ` [PATCH v2 2/7] media: solo6x10: remove unneeded GPIO direction setters Bartosz Golaszewski
` (6 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Bartosz Golaszewski @ 2025-06-16 7:18 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Linus Walleij, Bartosz Golaszewski,
Bluecherry Maintainers, Andrey Utkin, Ismael Luceno,
Tomi Valkeinen, Julien Massot, Jacopo Mondi, Kieran Bingham,
Laurent Pinchart, Niklas Söderlund
Cc: linux-media, linux-kernel, linux-gpio, Bartosz Golaszewski
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
drivers/media/dvb-frontends/cxd2820r_core.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/media/dvb-frontends/cxd2820r_core.c b/drivers/media/dvb-frontends/cxd2820r_core.c
index c3d8ced6c3baa6608e17cc4797dbeddc5a5ed510..a31a8a6a494652e6aae874c399fc70df3f9ee172 100644
--- a/drivers/media/dvb-frontends/cxd2820r_core.c
+++ b/drivers/media/dvb-frontends/cxd2820r_core.c
@@ -433,7 +433,7 @@ static int cxd2820r_gpio_direction_output(struct gpio_chip *chip, unsigned nr,
return cxd2820r_gpio(&priv->fe, gpio);
}
-static void cxd2820r_gpio_set(struct gpio_chip *chip, unsigned nr, int val)
+static int cxd2820r_gpio_set(struct gpio_chip *chip, unsigned int nr, int val)
{
struct cxd2820r_priv *priv = gpiochip_get_data(chip);
struct i2c_client *client = priv->client[0];
@@ -446,7 +446,7 @@ static void cxd2820r_gpio_set(struct gpio_chip *chip, unsigned nr, int val)
(void) cxd2820r_gpio(&priv->fe, gpio);
- return;
+ return 0;
}
static int cxd2820r_gpio_get(struct gpio_chip *chip, unsigned nr)
@@ -651,7 +651,7 @@ static int cxd2820r_probe(struct i2c_client *client)
priv->gpio_chip.parent = &client->dev;
priv->gpio_chip.owner = THIS_MODULE;
priv->gpio_chip.direction_output = cxd2820r_gpio_direction_output;
- priv->gpio_chip.set = cxd2820r_gpio_set;
+ priv->gpio_chip.set_rv = cxd2820r_gpio_set;
priv->gpio_chip.get = cxd2820r_gpio_get;
priv->gpio_chip.base = -1; /* Dynamic allocation */
priv->gpio_chip.ngpio = GPIO_COUNT;
--
2.48.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 2/7] media: solo6x10: remove unneeded GPIO direction setters
2025-06-16 7:18 [PATCH v2 0/7] media: use new GPIO line value setter callbacks Bartosz Golaszewski
2025-06-16 7:18 ` [PATCH v2 1/7] media: dvb-frontends/cxd2820r: " Bartosz Golaszewski
@ 2025-06-16 7:18 ` Bartosz Golaszewski
2025-06-16 7:18 ` [PATCH v2 3/7] media: solo6x10: use new GPIO line value setter callbacks Bartosz Golaszewski
` (5 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Bartosz Golaszewski @ 2025-06-16 7:18 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Linus Walleij, Bartosz Golaszewski,
Bluecherry Maintainers, Andrey Utkin, Ismael Luceno,
Tomi Valkeinen, Julien Massot, Jacopo Mondi, Kieran Bingham,
Laurent Pinchart, Niklas Söderlund
Cc: linux-media, linux-kernel, linux-gpio, Bartosz Golaszewski
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
GPIO core already handles missing direction_input/output() callbacks.
The ones in this driver also effectively return magic numbers which is
not optimal either (the number accidentally corresponds with -EPERM which
is different from the number GPIOLIB returns and so inconsistent). Just
remove them.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
drivers/media/pci/solo6x10/solo6x10-gpio.c | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/drivers/media/pci/solo6x10/solo6x10-gpio.c b/drivers/media/pci/solo6x10/solo6x10-gpio.c
index 084c30760e459e37cd1800132a93dfb0fc70398e..f51f865c69bd7b04fac7a1f951c734965d8fc993 100644
--- a/drivers/media/pci/solo6x10/solo6x10-gpio.c
+++ b/drivers/media/pci/solo6x10/solo6x10-gpio.c
@@ -116,18 +116,6 @@ static int solo_gpiochip_get_direction(struct gpio_chip *chip,
return -1;
}
-static int solo_gpiochip_direction_input(struct gpio_chip *chip,
- unsigned int offset)
-{
- return -1;
-}
-
-static int solo_gpiochip_direction_output(struct gpio_chip *chip,
- unsigned int offset, int value)
-{
- return -1;
-}
-
static int solo_gpiochip_get(struct gpio_chip *chip,
unsigned int offset)
{
@@ -167,8 +155,6 @@ int solo_gpio_init(struct solo_dev *solo_dev)
solo_dev->gpio_dev.can_sleep = 0;
solo_dev->gpio_dev.get_direction = solo_gpiochip_get_direction;
- solo_dev->gpio_dev.direction_input = solo_gpiochip_direction_input;
- solo_dev->gpio_dev.direction_output = solo_gpiochip_direction_output;
solo_dev->gpio_dev.get = solo_gpiochip_get;
solo_dev->gpio_dev.set = solo_gpiochip_set;
--
2.48.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 3/7] media: solo6x10: use new GPIO line value setter callbacks
2025-06-16 7:18 [PATCH v2 0/7] media: use new GPIO line value setter callbacks Bartosz Golaszewski
2025-06-16 7:18 ` [PATCH v2 1/7] media: dvb-frontends/cxd2820r: " Bartosz Golaszewski
2025-06-16 7:18 ` [PATCH v2 2/7] media: solo6x10: remove unneeded GPIO direction setters Bartosz Golaszewski
@ 2025-06-16 7:18 ` Bartosz Golaszewski
2025-06-16 7:18 ` [PATCH v2 4/7] media: i2c: ds90ub953: " Bartosz Golaszewski
` (4 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Bartosz Golaszewski @ 2025-06-16 7:18 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Linus Walleij, Bartosz Golaszewski,
Bluecherry Maintainers, Andrey Utkin, Ismael Luceno,
Tomi Valkeinen, Julien Massot, Jacopo Mondi, Kieran Bingham,
Laurent Pinchart, Niklas Söderlund
Cc: linux-media, linux-kernel, linux-gpio, Bartosz Golaszewski
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
drivers/media/pci/solo6x10/solo6x10-gpio.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/media/pci/solo6x10/solo6x10-gpio.c b/drivers/media/pci/solo6x10/solo6x10-gpio.c
index f51f865c69bd7b04fac7a1f951c734965d8fc993..b16a8453a62afd5a420b03bfb1967d18e1cb1167 100644
--- a/drivers/media/pci/solo6x10/solo6x10-gpio.c
+++ b/drivers/media/pci/solo6x10/solo6x10-gpio.c
@@ -127,8 +127,8 @@ static int solo_gpiochip_get(struct gpio_chip *chip,
return 1 & (ret >> (offset + 8));
}
-static void solo_gpiochip_set(struct gpio_chip *chip,
- unsigned int offset, int value)
+static int solo_gpiochip_set(struct gpio_chip *chip,
+ unsigned int offset, int value)
{
struct solo_dev *solo_dev = gpiochip_get_data(chip);
@@ -136,6 +136,8 @@ static void solo_gpiochip_set(struct gpio_chip *chip,
solo_gpio_set(solo_dev, 1 << (offset + 8));
else
solo_gpio_clear(solo_dev, 1 << (offset + 8));
+
+ return 0;
}
#endif
@@ -156,7 +158,7 @@ int solo_gpio_init(struct solo_dev *solo_dev)
solo_dev->gpio_dev.get_direction = solo_gpiochip_get_direction;
solo_dev->gpio_dev.get = solo_gpiochip_get;
- solo_dev->gpio_dev.set = solo_gpiochip_set;
+ solo_dev->gpio_dev.set_rv = solo_gpiochip_set;
ret = gpiochip_add_data(&solo_dev->gpio_dev, solo_dev);
--
2.48.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 4/7] media: i2c: ds90ub953: use new GPIO line value setter callbacks
2025-06-16 7:18 [PATCH v2 0/7] media: use new GPIO line value setter callbacks Bartosz Golaszewski
` (2 preceding siblings ...)
2025-06-16 7:18 ` [PATCH v2 3/7] media: solo6x10: use new GPIO line value setter callbacks Bartosz Golaszewski
@ 2025-06-16 7:18 ` Bartosz Golaszewski
2025-06-16 7:18 ` [PATCH v2 5/7] media: i2c: ds90ub913: " Bartosz Golaszewski
` (3 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Bartosz Golaszewski @ 2025-06-16 7:18 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Linus Walleij, Bartosz Golaszewski,
Bluecherry Maintainers, Andrey Utkin, Ismael Luceno,
Tomi Valkeinen, Julien Massot, Jacopo Mondi, Kieran Bingham,
Laurent Pinchart, Niklas Söderlund
Cc: linux-media, linux-kernel, linux-gpio, Bartosz Golaszewski
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
drivers/media/i2c/ds90ub953.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/media/i2c/ds90ub953.c b/drivers/media/i2c/ds90ub953.c
index 59bd92388845eedf64587289c7f7424ee570524a..242dbf6d48f3905c8908bbb06ede84e068e2f267 100644
--- a/drivers/media/i2c/ds90ub953.c
+++ b/drivers/media/i2c/ds90ub953.c
@@ -317,14 +317,13 @@ static int ub953_gpio_get(struct gpio_chip *gc, unsigned int offset)
return !!(v & UB953_REG_GPIO_PIN_STS_GPIO_STS(offset));
}
-static void ub953_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
+static int ub953_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
{
struct ub953_data *priv = gpiochip_get_data(gc);
- regmap_update_bits(priv->regmap, UB953_REG_LOCAL_GPIO_DATA,
- UB953_REG_LOCAL_GPIO_DATA_GPIO_OUT_SRC(offset),
- value ? UB953_REG_LOCAL_GPIO_DATA_GPIO_OUT_SRC(offset) :
- 0);
+ return regmap_update_bits(priv->regmap, UB953_REG_LOCAL_GPIO_DATA,
+ UB953_REG_LOCAL_GPIO_DATA_GPIO_OUT_SRC(offset),
+ value ? UB953_REG_LOCAL_GPIO_DATA_GPIO_OUT_SRC(offset) : 0);
}
static int ub953_gpio_of_xlate(struct gpio_chip *gc,
@@ -362,7 +361,7 @@ static int ub953_gpiochip_probe(struct ub953_data *priv)
gc->direction_input = ub953_gpio_direction_in;
gc->direction_output = ub953_gpio_direction_out;
gc->get = ub953_gpio_get;
- gc->set = ub953_gpio_set;
+ gc->set_rv = ub953_gpio_set;
gc->of_xlate = ub953_gpio_of_xlate;
gc->of_gpio_n_cells = 2;
--
2.48.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 5/7] media: i2c: ds90ub913: use new GPIO line value setter callbacks
2025-06-16 7:18 [PATCH v2 0/7] media: use new GPIO line value setter callbacks Bartosz Golaszewski
` (3 preceding siblings ...)
2025-06-16 7:18 ` [PATCH v2 4/7] media: i2c: ds90ub953: " Bartosz Golaszewski
@ 2025-06-16 7:18 ` Bartosz Golaszewski
2025-06-16 7:18 ` [PATCH v2 6/7] media: i2c: max96717: " Bartosz Golaszewski
` (2 subsequent siblings)
7 siblings, 0 replies; 10+ messages in thread
From: Bartosz Golaszewski @ 2025-06-16 7:18 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Linus Walleij, Bartosz Golaszewski,
Bluecherry Maintainers, Andrey Utkin, Ismael Luceno,
Tomi Valkeinen, Julien Massot, Jacopo Mondi, Kieran Bingham,
Laurent Pinchart, Niklas Söderlund
Cc: linux-media, linux-kernel, linux-gpio, Bartosz Golaszewski
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
drivers/media/i2c/ds90ub913.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/media/i2c/ds90ub913.c b/drivers/media/i2c/ds90ub913.c
index 6d3f8617ef136c6f47871f5886193fe934c6f3b7..c34ffeae5f5080875463b6b6d45acbd9e107d461 100644
--- a/drivers/media/i2c/ds90ub913.c
+++ b/drivers/media/i2c/ds90ub913.c
@@ -203,9 +203,9 @@ static int ub913_gpio_direction_out(struct gpio_chip *gc, unsigned int offset,
0));
}
-static void ub913_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
+static int ub913_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
{
- ub913_gpio_direction_out(gc, offset, value);
+ return ub913_gpio_direction_out(gc, offset, value);
}
static int ub913_gpio_of_xlate(struct gpio_chip *gc,
@@ -235,7 +235,7 @@ static int ub913_gpiochip_probe(struct ub913_data *priv)
gc->ngpio = UB913_NUM_GPIOS;
gc->get_direction = ub913_gpio_get_direction;
gc->direction_output = ub913_gpio_direction_out;
- gc->set = ub913_gpio_set;
+ gc->set_rv = ub913_gpio_set;
gc->of_xlate = ub913_gpio_of_xlate;
gc->of_gpio_n_cells = 2;
--
2.48.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 6/7] media: i2c: max96717: use new GPIO line value setter callbacks
2025-06-16 7:18 [PATCH v2 0/7] media: use new GPIO line value setter callbacks Bartosz Golaszewski
` (4 preceding siblings ...)
2025-06-16 7:18 ` [PATCH v2 5/7] media: i2c: ds90ub913: " Bartosz Golaszewski
@ 2025-06-16 7:18 ` Bartosz Golaszewski
2025-06-16 7:18 ` [PATCH v2 7/7] media: i2c: max9286: " Bartosz Golaszewski
2025-06-18 12:26 ` [PATCH v2 0/7] media: " Linus Walleij
7 siblings, 0 replies; 10+ messages in thread
From: Bartosz Golaszewski @ 2025-06-16 7:18 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Linus Walleij, Bartosz Golaszewski,
Bluecherry Maintainers, Andrey Utkin, Ismael Luceno,
Tomi Valkeinen, Julien Massot, Jacopo Mondi, Kieran Bingham,
Laurent Pinchart, Niklas Söderlund
Cc: linux-media, linux-kernel, linux-gpio, Bartosz Golaszewski
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
drivers/media/i2c/max96717.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/media/i2c/max96717.c b/drivers/media/i2c/max96717.c
index 3746729366aca3af8aef3a807e2f91a8f142ce59..a503a55fe8afa9bdda8fc9b1c2b0e7ebd02afe1c 100644
--- a/drivers/media/i2c/max96717.c
+++ b/drivers/media/i2c/max96717.c
@@ -297,13 +297,13 @@ static int max96717_gpiochip_get(struct gpio_chip *gpiochip,
return !!(val & MAX96717_GPIO_OUT);
}
-static void max96717_gpiochip_set(struct gpio_chip *gpiochip,
- unsigned int offset, int value)
+static int max96717_gpiochip_set(struct gpio_chip *gpiochip,
+ unsigned int offset, int value)
{
struct max96717_priv *priv = gpiochip_get_data(gpiochip);
- cci_update_bits(priv->regmap, MAX96717_GPIO_REG_A(offset),
- MAX96717_GPIO_OUT, MAX96717_GPIO_OUT, NULL);
+ return cci_update_bits(priv->regmap, MAX96717_GPIO_REG_A(offset),
+ MAX96717_GPIO_OUT, MAX96717_GPIO_OUT, NULL);
}
static int max96717_gpio_get_direction(struct gpio_chip *gpiochip,
@@ -355,7 +355,7 @@ static int max96717_gpiochip_probe(struct max96717_priv *priv)
gc->get_direction = max96717_gpio_get_direction;
gc->direction_input = max96717_gpio_direction_in;
gc->direction_output = max96717_gpio_direction_out;
- gc->set = max96717_gpiochip_set;
+ gc->set_rv = max96717_gpiochip_set;
gc->get = max96717_gpiochip_get;
gc->of_gpio_n_cells = 2;
--
2.48.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v2 7/7] media: i2c: max9286: use new GPIO line value setter callbacks
2025-06-16 7:18 [PATCH v2 0/7] media: use new GPIO line value setter callbacks Bartosz Golaszewski
` (5 preceding siblings ...)
2025-06-16 7:18 ` [PATCH v2 6/7] media: i2c: max96717: " Bartosz Golaszewski
@ 2025-06-16 7:18 ` Bartosz Golaszewski
2025-06-18 12:48 ` Jacopo Mondi
2025-06-18 12:26 ` [PATCH v2 0/7] media: " Linus Walleij
7 siblings, 1 reply; 10+ messages in thread
From: Bartosz Golaszewski @ 2025-06-16 7:18 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Linus Walleij, Bartosz Golaszewski,
Bluecherry Maintainers, Andrey Utkin, Ismael Luceno,
Tomi Valkeinen, Julien Massot, Jacopo Mondi, Kieran Bingham,
Laurent Pinchart, Niklas Söderlund
Cc: linux-media, linux-kernel, linux-gpio, Bartosz Golaszewski
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
drivers/media/i2c/max9286.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/media/i2c/max9286.c b/drivers/media/i2c/max9286.c
index 9fc4e130a273f8547d7e7ec194cade5b5e9c8df2..1d0b5f56f989874e46f87db4a49d935049e6e7ce 100644
--- a/drivers/media/i2c/max9286.c
+++ b/drivers/media/i2c/max9286.c
@@ -1193,12 +1193,12 @@ static int max9286_gpio_set(struct max9286_priv *priv, unsigned int offset,
MAX9286_0X0F_RESERVED | priv->gpio_state);
}
-static void max9286_gpiochip_set(struct gpio_chip *chip,
- unsigned int offset, int value)
+static int max9286_gpiochip_set(struct gpio_chip *chip,
+ unsigned int offset, int value)
{
struct max9286_priv *priv = gpiochip_get_data(chip);
- max9286_gpio_set(priv, offset, value);
+ return max9286_gpio_set(priv, offset, value);
}
static int max9286_gpiochip_get(struct gpio_chip *chip, unsigned int offset)
@@ -1220,7 +1220,7 @@ static int max9286_register_gpio(struct max9286_priv *priv)
gpio->owner = THIS_MODULE;
gpio->ngpio = 2;
gpio->base = -1;
- gpio->set = max9286_gpiochip_set;
+ gpio->set_rv = max9286_gpiochip_set;
gpio->get = max9286_gpiochip_get;
gpio->can_sleep = true;
--
2.48.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2 0/7] media: use new GPIO line value setter callbacks
2025-06-16 7:18 [PATCH v2 0/7] media: use new GPIO line value setter callbacks Bartosz Golaszewski
` (6 preceding siblings ...)
2025-06-16 7:18 ` [PATCH v2 7/7] media: i2c: max9286: " Bartosz Golaszewski
@ 2025-06-18 12:26 ` Linus Walleij
7 siblings, 0 replies; 10+ messages in thread
From: Linus Walleij @ 2025-06-18 12:26 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Mauro Carvalho Chehab, Bluecherry Maintainers, Andrey Utkin,
Ismael Luceno, Tomi Valkeinen, Julien Massot, Jacopo Mondi,
Kieran Bingham, Laurent Pinchart, Niklas Söderlund,
linux-media, linux-kernel, linux-gpio, Bartosz Golaszewski
On Mon, Jun 16, 2025 at 9:18 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> Commit 98ce1eb1fd87e ("gpiolib: introduce gpio_chip setters that return
> values") added new line setter callbacks to struct gpio_chip. They allow
> to indicate failures to callers. We're in the process of converting all
> GPIO controllers to using them before removing the old ones. This series
> converts all GPIO chips implemented under drivers/media/.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
The series:
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 7/7] media: i2c: max9286: use new GPIO line value setter callbacks
2025-06-16 7:18 ` [PATCH v2 7/7] media: i2c: max9286: " Bartosz Golaszewski
@ 2025-06-18 12:48 ` Jacopo Mondi
0 siblings, 0 replies; 10+ messages in thread
From: Jacopo Mondi @ 2025-06-18 12:48 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Mauro Carvalho Chehab, Linus Walleij, Bluecherry Maintainers,
Andrey Utkin, Ismael Luceno, Tomi Valkeinen, Julien Massot,
Jacopo Mondi, Kieran Bingham, Laurent Pinchart,
Niklas Söderlund, linux-media, linux-kernel, linux-gpio,
Bartosz Golaszewski
Hi Bartosz
On Mon, Jun 16, 2025 at 09:18:56AM +0200, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
>
> struct gpio_chip now has callbacks for setting line values that return
> an integer, allowing to indicate failures. Convert the driver to using
> them.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Seems sane, thanks
Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
> ---
> drivers/media/i2c/max9286.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/i2c/max9286.c b/drivers/media/i2c/max9286.c
> index 9fc4e130a273f8547d7e7ec194cade5b5e9c8df2..1d0b5f56f989874e46f87db4a49d935049e6e7ce 100644
> --- a/drivers/media/i2c/max9286.c
> +++ b/drivers/media/i2c/max9286.c
> @@ -1193,12 +1193,12 @@ static int max9286_gpio_set(struct max9286_priv *priv, unsigned int offset,
> MAX9286_0X0F_RESERVED | priv->gpio_state);
> }
>
> -static void max9286_gpiochip_set(struct gpio_chip *chip,
> - unsigned int offset, int value)
> +static int max9286_gpiochip_set(struct gpio_chip *chip,
> + unsigned int offset, int value)
> {
> struct max9286_priv *priv = gpiochip_get_data(chip);
>
> - max9286_gpio_set(priv, offset, value);
> + return max9286_gpio_set(priv, offset, value);
> }
>
> static int max9286_gpiochip_get(struct gpio_chip *chip, unsigned int offset)
> @@ -1220,7 +1220,7 @@ static int max9286_register_gpio(struct max9286_priv *priv)
> gpio->owner = THIS_MODULE;
> gpio->ngpio = 2;
> gpio->base = -1;
> - gpio->set = max9286_gpiochip_set;
> + gpio->set_rv = max9286_gpiochip_set;
> gpio->get = max9286_gpiochip_get;
> gpio->can_sleep = true;
>
>
> --
> 2.48.1
>
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2025-06-18 12:48 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-16 7:18 [PATCH v2 0/7] media: use new GPIO line value setter callbacks Bartosz Golaszewski
2025-06-16 7:18 ` [PATCH v2 1/7] media: dvb-frontends/cxd2820r: " Bartosz Golaszewski
2025-06-16 7:18 ` [PATCH v2 2/7] media: solo6x10: remove unneeded GPIO direction setters Bartosz Golaszewski
2025-06-16 7:18 ` [PATCH v2 3/7] media: solo6x10: use new GPIO line value setter callbacks Bartosz Golaszewski
2025-06-16 7:18 ` [PATCH v2 4/7] media: i2c: ds90ub953: " Bartosz Golaszewski
2025-06-16 7:18 ` [PATCH v2 5/7] media: i2c: ds90ub913: " Bartosz Golaszewski
2025-06-16 7:18 ` [PATCH v2 6/7] media: i2c: max96717: " Bartosz Golaszewski
2025-06-16 7:18 ` [PATCH v2 7/7] media: i2c: max9286: " Bartosz Golaszewski
2025-06-18 12:48 ` Jacopo Mondi
2025-06-18 12:26 ` [PATCH v2 0/7] media: " Linus Walleij
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).