* [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16
@ 2025-04-24 8:35 Bartosz Golaszewski
2025-04-24 8:35 ` [PATCH 01/12] pinctrl: amd: use new GPIO line value setter callbacks Bartosz Golaszewski
` (12 more replies)
0 siblings, 13 replies; 22+ messages in thread
From: Bartosz Golaszewski @ 2025-04-24 8:35 UTC (permalink / raw)
To: Basavaraj Natikar, Shyam Sundar S K, Linus Walleij,
Bartosz Golaszewski, Chen-Yu Tsai, Maxime Coquelin,
Alexandre Torgue, Andreas Färber, Manivannan Sadhasivam,
Paul Cercueil, Steen Hegelund, Daniel Machon, UNGLinuxDriver,
Ludovic Desroches, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar
Cc: linux-gpio, linux-kernel, linux-stm32, linux-arm-kernel,
linux-actions, linux-mips, linux-samsung-soc, Bartosz Golaszewski
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. We're in the process of
converting all GPIO drivers to using the new API. This series converts
the another round of pinctrl GPIO controllers.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
Bartosz Golaszewski (12):
pinctrl: amd: use new GPIO line value setter callbacks
pinctrl: axp209: use new GPIO line value setter callbacks
pinctrl: stmfx: use new GPIO line value setter callbacks
pinctrl: owl: use new GPIO line value setter callbacks
pinctrl: stm32: use new GPIO line value setter callbacks
pinctrl: ingenic: use new GPIO line value setter callbacks
pinctrl: microchip-sgpio: use new GPIO line value setter callbacks
pinctrl: at91: allow building the module with COMPILE_TEST=y
pinctrl: at91: use new GPIO line value setter callbacks
pinctrl: armada-37xx: use new GPIO line value setter callbacks
pinctrl: pistachio: use new GPIO line value setter callbacks
pinctrl: samsung: use new GPIO line value setter callbacks
drivers/pinctrl/Kconfig | 3 +--
drivers/pinctrl/actions/pinctrl-owl.c | 8 +++++---
drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 13 +++++--------
drivers/pinctrl/pinctrl-amd.c | 7 +++++--
drivers/pinctrl/pinctrl-at91.c | 15 +++++++++------
drivers/pinctrl/pinctrl-axp209.c | 29 +++++++++++++----------------
drivers/pinctrl/pinctrl-ingenic.c | 8 +++++---
drivers/pinctrl/pinctrl-microchip-sgpio.c | 8 ++++----
drivers/pinctrl/pinctrl-pistachio.c | 8 +++++---
drivers/pinctrl/pinctrl-stmfx.c | 13 ++++++++-----
drivers/pinctrl/samsung/pinctrl-samsung.c | 13 +++++++++----
drivers/pinctrl/stm32/pinctrl-stm32.c | 7 +++++--
12 files changed, 74 insertions(+), 58 deletions(-)
---
base-commit: 393d0c54cae31317deaa9043320c5fd9454deabc
change-id: 20250424-gpiochip-set-rv-pinctrl-part2-43f4026d9e38
Best regards,
--
Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
^ permalink raw reply [flat|nested] 22+ messages in thread
* [PATCH 01/12] pinctrl: amd: use new GPIO line value setter callbacks
2025-04-24 8:35 [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16 Bartosz Golaszewski
@ 2025-04-24 8:35 ` Bartosz Golaszewski
2025-04-24 8:35 ` [PATCH 02/12] pinctrl: axp209: " Bartosz Golaszewski
` (11 subsequent siblings)
12 siblings, 0 replies; 22+ messages in thread
From: Bartosz Golaszewski @ 2025-04-24 8:35 UTC (permalink / raw)
To: Basavaraj Natikar, Shyam Sundar S K, Linus Walleij,
Bartosz Golaszewski, Chen-Yu Tsai, Maxime Coquelin,
Alexandre Torgue, Andreas Färber, Manivannan Sadhasivam,
Paul Cercueil, Steen Hegelund, Daniel Machon, UNGLinuxDriver,
Ludovic Desroches, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar
Cc: linux-gpio, linux-kernel, linux-stm32, linux-arm-kernel,
linux-actions, linux-mips, linux-samsung-soc, 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/pinctrl/pinctrl-amd.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c
index 1d7fdcdec4c8..9ab3a7fc3bdd 100644
--- a/drivers/pinctrl/pinctrl-amd.c
+++ b/drivers/pinctrl/pinctrl-amd.c
@@ -101,7 +101,8 @@ static int amd_gpio_get_value(struct gpio_chip *gc, unsigned offset)
return !!(pin_reg & BIT(PIN_STS_OFF));
}
-static void amd_gpio_set_value(struct gpio_chip *gc, unsigned offset, int value)
+static int amd_gpio_set_value(struct gpio_chip *gc, unsigned int offset,
+ int value)
{
u32 pin_reg;
unsigned long flags;
@@ -115,6 +116,8 @@ static void amd_gpio_set_value(struct gpio_chip *gc, unsigned offset, int value)
pin_reg &= ~BIT(OUTPUT_VALUE_OFF);
writel(pin_reg, gpio_dev->base + offset * 4);
raw_spin_unlock_irqrestore(&gpio_dev->lock, flags);
+
+ return 0;
}
static int amd_gpio_set_debounce(struct amd_gpio *gpio_dev, unsigned int offset,
@@ -1128,7 +1131,7 @@ static int amd_gpio_probe(struct platform_device *pdev)
gpio_dev->gc.direction_input = amd_gpio_direction_input;
gpio_dev->gc.direction_output = amd_gpio_direction_output;
gpio_dev->gc.get = amd_gpio_get_value;
- gpio_dev->gc.set = amd_gpio_set_value;
+ gpio_dev->gc.set_rv = amd_gpio_set_value;
gpio_dev->gc.set_config = amd_gpio_set_config;
gpio_dev->gc.dbg_show = amd_gpio_dbg_show;
--
2.45.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 02/12] pinctrl: axp209: use new GPIO line value setter callbacks
2025-04-24 8:35 [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16 Bartosz Golaszewski
2025-04-24 8:35 ` [PATCH 01/12] pinctrl: amd: use new GPIO line value setter callbacks Bartosz Golaszewski
@ 2025-04-24 8:35 ` Bartosz Golaszewski
2025-04-24 17:43 ` Chen-Yu Tsai
2025-04-24 8:35 ` [PATCH 03/12] pinctrl: stmfx: " Bartosz Golaszewski
` (10 subsequent siblings)
12 siblings, 1 reply; 22+ messages in thread
From: Bartosz Golaszewski @ 2025-04-24 8:35 UTC (permalink / raw)
To: Basavaraj Natikar, Shyam Sundar S K, Linus Walleij,
Bartosz Golaszewski, Chen-Yu Tsai, Maxime Coquelin,
Alexandre Torgue, Andreas Färber, Manivannan Sadhasivam,
Paul Cercueil, Steen Hegelund, Daniel Machon, UNGLinuxDriver,
Ludovic Desroches, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar
Cc: linux-gpio, linux-kernel, linux-stm32, linux-arm-kernel,
linux-actions, linux-mips, linux-samsung-soc, 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/pinctrl/pinctrl-axp209.c | 29 +++++++++++++----------------
1 file changed, 13 insertions(+), 16 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-axp209.c b/drivers/pinctrl/pinctrl-axp209.c
index 2b4805e74eed..28ff846d263a 100644
--- a/drivers/pinctrl/pinctrl-axp209.c
+++ b/drivers/pinctrl/pinctrl-axp209.c
@@ -192,34 +192,31 @@ static int axp20x_gpio_get_direction(struct gpio_chip *chip,
static int axp20x_gpio_output(struct gpio_chip *chip, unsigned int offset,
int value)
{
- chip->set(chip, offset, value);
-
- return 0;
+ return chip->set_rv(chip, offset, value);
}
-static void axp20x_gpio_set(struct gpio_chip *chip, unsigned int offset,
- int value)
+static int axp20x_gpio_set(struct gpio_chip *chip, unsigned int offset,
+ int value)
{
struct axp20x_pctl *pctl = gpiochip_get_data(chip);
int reg;
/* AXP209 has GPIO3 status sharing the settings register */
if (offset == 3) {
- regmap_update_bits(pctl->regmap, AXP20X_GPIO3_CTRL,
- AXP20X_GPIO3_FUNCTIONS,
- value ? AXP20X_GPIO3_FUNCTION_OUT_HIGH :
- AXP20X_GPIO3_FUNCTION_OUT_LOW);
- return;
+ return regmap_update_bits(pctl->regmap, AXP20X_GPIO3_CTRL,
+ AXP20X_GPIO3_FUNCTIONS,
+ value ?
+ AXP20X_GPIO3_FUNCTION_OUT_HIGH :
+ AXP20X_GPIO3_FUNCTION_OUT_LOW);
}
reg = axp20x_gpio_get_reg(offset);
if (reg < 0)
- return;
+ return reg;
- regmap_update_bits(pctl->regmap, reg,
- AXP20X_GPIO_FUNCTIONS,
- value ? AXP20X_GPIO_FUNCTION_OUT_HIGH :
- AXP20X_GPIO_FUNCTION_OUT_LOW);
+ return regmap_update_bits(pctl->regmap, reg, AXP20X_GPIO_FUNCTIONS,
+ value ? AXP20X_GPIO_FUNCTION_OUT_HIGH :
+ AXP20X_GPIO_FUNCTION_OUT_LOW);
}
static int axp20x_pmx_set(struct pinctrl_dev *pctldev, unsigned int offset,
@@ -468,7 +465,7 @@ static int axp20x_pctl_probe(struct platform_device *pdev)
pctl->chip.owner = THIS_MODULE;
pctl->chip.get = axp20x_gpio_get;
pctl->chip.get_direction = axp20x_gpio_get_direction;
- pctl->chip.set = axp20x_gpio_set;
+ pctl->chip.set_rv = axp20x_gpio_set;
pctl->chip.direction_input = pinctrl_gpio_direction_input;
pctl->chip.direction_output = axp20x_gpio_output;
--
2.45.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 03/12] pinctrl: stmfx: use new GPIO line value setter callbacks
2025-04-24 8:35 [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16 Bartosz Golaszewski
2025-04-24 8:35 ` [PATCH 01/12] pinctrl: amd: use new GPIO line value setter callbacks Bartosz Golaszewski
2025-04-24 8:35 ` [PATCH 02/12] pinctrl: axp209: " Bartosz Golaszewski
@ 2025-04-24 8:35 ` Bartosz Golaszewski
2025-04-24 14:59 ` [Linux-stm32] " Amelie Delaunay
2025-04-24 8:35 ` [PATCH 04/12] pinctrl: owl: " Bartosz Golaszewski
` (9 subsequent siblings)
12 siblings, 1 reply; 22+ messages in thread
From: Bartosz Golaszewski @ 2025-04-24 8:35 UTC (permalink / raw)
To: Basavaraj Natikar, Shyam Sundar S K, Linus Walleij,
Bartosz Golaszewski, Chen-Yu Tsai, Maxime Coquelin,
Alexandre Torgue, Andreas Färber, Manivannan Sadhasivam,
Paul Cercueil, Steen Hegelund, Daniel Machon, UNGLinuxDriver,
Ludovic Desroches, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar
Cc: linux-gpio, linux-kernel, linux-stm32, linux-arm-kernel,
linux-actions, linux-mips, linux-samsung-soc, 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/pinctrl/pinctrl-stmfx.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-stmfx.c b/drivers/pinctrl/pinctrl-stmfx.c
index aae01120dc52..f4fdcaa043e6 100644
--- a/drivers/pinctrl/pinctrl-stmfx.c
+++ b/drivers/pinctrl/pinctrl-stmfx.c
@@ -115,14 +115,14 @@ static int stmfx_gpio_get(struct gpio_chip *gc, unsigned int offset)
return ret ? ret : !!(value & mask);
}
-static void stmfx_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
+static int stmfx_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
{
struct stmfx_pinctrl *pctl = gpiochip_get_data(gc);
u32 reg = value ? STMFX_REG_GPO_SET : STMFX_REG_GPO_CLR;
u32 mask = get_mask(offset);
- regmap_write_bits(pctl->stmfx->map, reg + get_reg(offset),
- mask, mask);
+ return regmap_write_bits(pctl->stmfx->map, reg + get_reg(offset),
+ mask, mask);
}
static int stmfx_gpio_get_direction(struct gpio_chip *gc, unsigned int offset)
@@ -161,8 +161,11 @@ static int stmfx_gpio_direction_output(struct gpio_chip *gc,
struct stmfx_pinctrl *pctl = gpiochip_get_data(gc);
u32 reg = STMFX_REG_GPIO_DIR + get_reg(offset);
u32 mask = get_mask(offset);
+ int ret;
- stmfx_gpio_set(gc, offset, value);
+ ret = stmfx_gpio_set(gc, offset, value);
+ if (ret)
+ return ret;
return regmap_write_bits(pctl->stmfx->map, reg, mask, mask);
}
@@ -694,7 +697,7 @@ static int stmfx_pinctrl_probe(struct platform_device *pdev)
pctl->gpio_chip.direction_input = stmfx_gpio_direction_input;
pctl->gpio_chip.direction_output = stmfx_gpio_direction_output;
pctl->gpio_chip.get = stmfx_gpio_get;
- pctl->gpio_chip.set = stmfx_gpio_set;
+ pctl->gpio_chip.set_rv = stmfx_gpio_set;
pctl->gpio_chip.set_config = gpiochip_generic_config;
pctl->gpio_chip.base = -1;
pctl->gpio_chip.ngpio = pctl->pctl_desc.npins;
--
2.45.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 04/12] pinctrl: owl: use new GPIO line value setter callbacks
2025-04-24 8:35 [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16 Bartosz Golaszewski
` (2 preceding siblings ...)
2025-04-24 8:35 ` [PATCH 03/12] pinctrl: stmfx: " Bartosz Golaszewski
@ 2025-04-24 8:35 ` Bartosz Golaszewski
2025-04-28 16:07 ` Manivannan Sadhasivam
2025-04-24 8:35 ` [PATCH 05/12] pinctrl: stm32: " Bartosz Golaszewski
` (8 subsequent siblings)
12 siblings, 1 reply; 22+ messages in thread
From: Bartosz Golaszewski @ 2025-04-24 8:35 UTC (permalink / raw)
To: Basavaraj Natikar, Shyam Sundar S K, Linus Walleij,
Bartosz Golaszewski, Chen-Yu Tsai, Maxime Coquelin,
Alexandre Torgue, Andreas Färber, Manivannan Sadhasivam,
Paul Cercueil, Steen Hegelund, Daniel Machon, UNGLinuxDriver,
Ludovic Desroches, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar
Cc: linux-gpio, linux-kernel, linux-stm32, linux-arm-kernel,
linux-actions, linux-mips, linux-samsung-soc, 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/pinctrl/actions/pinctrl-owl.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/pinctrl/actions/pinctrl-owl.c b/drivers/pinctrl/actions/pinctrl-owl.c
index d49b77dcfcff..86f3d5c69e36 100644
--- a/drivers/pinctrl/actions/pinctrl-owl.c
+++ b/drivers/pinctrl/actions/pinctrl-owl.c
@@ -598,7 +598,7 @@ static int owl_gpio_get(struct gpio_chip *chip, unsigned int offset)
return !!(val & BIT(offset));
}
-static void owl_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
+static int owl_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
{
struct owl_pinctrl *pctrl = gpiochip_get_data(chip);
const struct owl_gpio_port *port;
@@ -607,13 +607,15 @@ static void owl_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
port = owl_gpio_get_port(pctrl, &offset);
if (WARN_ON(port == NULL))
- return;
+ return -ENODEV;
gpio_base = pctrl->base + port->offset;
raw_spin_lock_irqsave(&pctrl->lock, flags);
owl_gpio_update_reg(gpio_base + port->dat, offset, value);
raw_spin_unlock_irqrestore(&pctrl->lock, flags);
+
+ return 0;
}
static int owl_gpio_direction_input(struct gpio_chip *chip, unsigned int offset)
@@ -960,7 +962,7 @@ int owl_pinctrl_probe(struct platform_device *pdev,
pctrl->chip.direction_input = owl_gpio_direction_input;
pctrl->chip.direction_output = owl_gpio_direction_output;
pctrl->chip.get = owl_gpio_get;
- pctrl->chip.set = owl_gpio_set;
+ pctrl->chip.set_rv = owl_gpio_set;
pctrl->chip.request = owl_gpio_request;
pctrl->chip.free = owl_gpio_free;
--
2.45.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 05/12] pinctrl: stm32: use new GPIO line value setter callbacks
2025-04-24 8:35 [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16 Bartosz Golaszewski
` (3 preceding siblings ...)
2025-04-24 8:35 ` [PATCH 04/12] pinctrl: owl: " Bartosz Golaszewski
@ 2025-04-24 8:35 ` Bartosz Golaszewski
2025-04-24 16:04 ` [Linux-stm32] " Antonio Borneo
2025-04-24 8:35 ` [PATCH 06/12] pinctrl: ingenic: " Bartosz Golaszewski
` (7 subsequent siblings)
12 siblings, 1 reply; 22+ messages in thread
From: Bartosz Golaszewski @ 2025-04-24 8:35 UTC (permalink / raw)
To: Basavaraj Natikar, Shyam Sundar S K, Linus Walleij,
Bartosz Golaszewski, Chen-Yu Tsai, Maxime Coquelin,
Alexandre Torgue, Andreas Färber, Manivannan Sadhasivam,
Paul Cercueil, Steen Hegelund, Daniel Machon, UNGLinuxDriver,
Ludovic Desroches, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar
Cc: linux-gpio, linux-kernel, linux-stm32, linux-arm-kernel,
linux-actions, linux-mips, linux-samsung-soc, 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/pinctrl/stm32/pinctrl-stm32.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/pinctrl/stm32/pinctrl-stm32.c b/drivers/pinctrl/stm32/pinctrl-stm32.c
index cc0b4d1d7cff..ba49d48c3a1d 100644
--- a/drivers/pinctrl/stm32/pinctrl-stm32.c
+++ b/drivers/pinctrl/stm32/pinctrl-stm32.c
@@ -228,11 +228,14 @@ static int stm32_gpio_get(struct gpio_chip *chip, unsigned offset)
return !!(readl_relaxed(bank->base + STM32_GPIO_IDR) & BIT(offset));
}
-static void stm32_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
+static int stm32_gpio_set(struct gpio_chip *chip, unsigned int offset,
+ int value)
{
struct stm32_gpio_bank *bank = gpiochip_get_data(chip);
__stm32_gpio_set(bank, offset, value);
+
+ return 0;
}
static int stm32_gpio_direction_output(struct gpio_chip *chip,
@@ -308,7 +311,7 @@ static const struct gpio_chip stm32_gpio_template = {
.request = stm32_gpio_request,
.free = pinctrl_gpio_free,
.get = stm32_gpio_get,
- .set = stm32_gpio_set,
+ .set_rv = stm32_gpio_set,
.direction_input = pinctrl_gpio_direction_input,
.direction_output = stm32_gpio_direction_output,
.to_irq = stm32_gpio_to_irq,
--
2.45.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 06/12] pinctrl: ingenic: use new GPIO line value setter callbacks
2025-04-24 8:35 [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16 Bartosz Golaszewski
` (4 preceding siblings ...)
2025-04-24 8:35 ` [PATCH 05/12] pinctrl: stm32: " Bartosz Golaszewski
@ 2025-04-24 8:35 ` Bartosz Golaszewski
2025-04-24 10:13 ` Paul Cercueil
2025-04-24 8:35 ` [PATCH 07/12] pinctrl: microchip-sgpio: " Bartosz Golaszewski
` (6 subsequent siblings)
12 siblings, 1 reply; 22+ messages in thread
From: Bartosz Golaszewski @ 2025-04-24 8:35 UTC (permalink / raw)
To: Basavaraj Natikar, Shyam Sundar S K, Linus Walleij,
Bartosz Golaszewski, Chen-Yu Tsai, Maxime Coquelin,
Alexandre Torgue, Andreas Färber, Manivannan Sadhasivam,
Paul Cercueil, Steen Hegelund, Daniel Machon, UNGLinuxDriver,
Ludovic Desroches, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar
Cc: linux-gpio, linux-kernel, linux-stm32, linux-arm-kernel,
linux-actions, linux-mips, linux-samsung-soc, 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/pinctrl/pinctrl-ingenic.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-ingenic.c b/drivers/pinctrl/pinctrl-ingenic.c
index a9e48eac15f6..3c660471ec69 100644
--- a/drivers/pinctrl/pinctrl-ingenic.c
+++ b/drivers/pinctrl/pinctrl-ingenic.c
@@ -3800,12 +3800,14 @@ static void ingenic_gpio_irq_handler(struct irq_desc *desc)
chained_irq_exit(irq_chip, desc);
}
-static void ingenic_gpio_set(struct gpio_chip *gc,
- unsigned int offset, int value)
+static int ingenic_gpio_set(struct gpio_chip *gc, unsigned int offset,
+ int value)
{
struct ingenic_gpio_chip *jzgc = gpiochip_get_data(gc);
ingenic_gpio_set_value(jzgc, offset, value);
+
+ return 0;
}
static int ingenic_gpio_get(struct gpio_chip *gc, unsigned int offset)
@@ -4449,7 +4451,7 @@ static int __init ingenic_gpio_probe(struct ingenic_pinctrl *jzpc,
jzgc->gc.fwnode = fwnode;
jzgc->gc.owner = THIS_MODULE;
- jzgc->gc.set = ingenic_gpio_set;
+ jzgc->gc.set_rv = ingenic_gpio_set;
jzgc->gc.get = ingenic_gpio_get;
jzgc->gc.direction_input = pinctrl_gpio_direction_input;
jzgc->gc.direction_output = ingenic_gpio_direction_output;
--
2.45.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 07/12] pinctrl: microchip-sgpio: use new GPIO line value setter callbacks
2025-04-24 8:35 [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16 Bartosz Golaszewski
` (5 preceding siblings ...)
2025-04-24 8:35 ` [PATCH 06/12] pinctrl: ingenic: " Bartosz Golaszewski
@ 2025-04-24 8:35 ` Bartosz Golaszewski
2025-04-24 8:35 ` [PATCH 08/12] pinctrl: at91: allow building the module with COMPILE_TEST=y Bartosz Golaszewski
` (5 subsequent siblings)
12 siblings, 0 replies; 22+ messages in thread
From: Bartosz Golaszewski @ 2025-04-24 8:35 UTC (permalink / raw)
To: Basavaraj Natikar, Shyam Sundar S K, Linus Walleij,
Bartosz Golaszewski, Chen-Yu Tsai, Maxime Coquelin,
Alexandre Torgue, Andreas Färber, Manivannan Sadhasivam,
Paul Cercueil, Steen Hegelund, Daniel Machon, UNGLinuxDriver,
Ludovic Desroches, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar
Cc: linux-gpio, linux-kernel, linux-stm32, linux-arm-kernel,
linux-actions, linux-mips, linux-samsung-soc, 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/pinctrl/pinctrl-microchip-sgpio.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-microchip-sgpio.c b/drivers/pinctrl/pinctrl-microchip-sgpio.c
index a60db93b61b1..88c2f14cfc6b 100644
--- a/drivers/pinctrl/pinctrl-microchip-sgpio.c
+++ b/drivers/pinctrl/pinctrl-microchip-sgpio.c
@@ -555,10 +555,10 @@ static int microchip_sgpio_get_direction(struct gpio_chip *gc, unsigned int gpio
return bank->is_input ? GPIO_LINE_DIRECTION_IN : GPIO_LINE_DIRECTION_OUT;
}
-static void microchip_sgpio_set_value(struct gpio_chip *gc,
- unsigned int gpio, int value)
+static int microchip_sgpio_set_value(struct gpio_chip *gc, unsigned int gpio,
+ int value)
{
- microchip_sgpio_direction_output(gc, gpio, value);
+ return microchip_sgpio_direction_output(gc, gpio, value);
}
static int microchip_sgpio_get_value(struct gpio_chip *gc, unsigned int gpio)
@@ -858,7 +858,7 @@ static int microchip_sgpio_register_bank(struct device *dev,
gc->direction_input = microchip_sgpio_direction_input;
gc->direction_output = microchip_sgpio_direction_output;
gc->get = microchip_sgpio_get_value;
- gc->set = microchip_sgpio_set_value;
+ gc->set_rv = microchip_sgpio_set_value;
gc->request = gpiochip_generic_request;
gc->free = gpiochip_generic_free;
gc->of_xlate = microchip_sgpio_of_xlate;
--
2.45.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 08/12] pinctrl: at91: allow building the module with COMPILE_TEST=y
2025-04-24 8:35 [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16 Bartosz Golaszewski
` (6 preceding siblings ...)
2025-04-24 8:35 ` [PATCH 07/12] pinctrl: microchip-sgpio: " Bartosz Golaszewski
@ 2025-04-24 8:35 ` Bartosz Golaszewski
2025-04-24 8:35 ` [PATCH 09/12] pinctrl: at91: use new GPIO line value setter callbacks Bartosz Golaszewski
` (4 subsequent siblings)
12 siblings, 0 replies; 22+ messages in thread
From: Bartosz Golaszewski @ 2025-04-24 8:35 UTC (permalink / raw)
To: Basavaraj Natikar, Shyam Sundar S K, Linus Walleij,
Bartosz Golaszewski, Chen-Yu Tsai, Maxime Coquelin,
Alexandre Torgue, Andreas Färber, Manivannan Sadhasivam,
Paul Cercueil, Steen Hegelund, Daniel Machon, UNGLinuxDriver,
Ludovic Desroches, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar
Cc: linux-gpio, linux-kernel, linux-stm32, linux-arm-kernel,
linux-actions, linux-mips, linux-samsung-soc, Bartosz Golaszewski
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Extend the build coverage by allowing to build the module with
COMPILE_TEST enabled. We can do this as the driver doesn't depend on any
architecture-specific bits.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
drivers/pinctrl/Kconfig | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
index 464cc9aca157..db84d80b7e7d 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -103,8 +103,7 @@ config PINCTRL_AS3722
config PINCTRL_AT91
bool "AT91 pinctrl driver"
- depends on OF
- depends on ARCH_AT91
+ depends on (OF && ARCH_AT91) || COMPILE_TEST
select PINMUX
select PINCONF
select GPIOLIB
--
2.45.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 09/12] pinctrl: at91: use new GPIO line value setter callbacks
2025-04-24 8:35 [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16 Bartosz Golaszewski
` (7 preceding siblings ...)
2025-04-24 8:35 ` [PATCH 08/12] pinctrl: at91: allow building the module with COMPILE_TEST=y Bartosz Golaszewski
@ 2025-04-24 8:35 ` Bartosz Golaszewski
2025-04-24 8:35 ` [PATCH 10/12] pinctrl: armada-37xx: " Bartosz Golaszewski
` (3 subsequent siblings)
12 siblings, 0 replies; 22+ messages in thread
From: Bartosz Golaszewski @ 2025-04-24 8:35 UTC (permalink / raw)
To: Basavaraj Natikar, Shyam Sundar S K, Linus Walleij,
Bartosz Golaszewski, Chen-Yu Tsai, Maxime Coquelin,
Alexandre Torgue, Andreas Färber, Manivannan Sadhasivam,
Paul Cercueil, Steen Hegelund, Daniel Machon, UNGLinuxDriver,
Ludovic Desroches, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar
Cc: linux-gpio, linux-kernel, linux-stm32, linux-arm-kernel,
linux-actions, linux-mips, linux-samsung-soc, 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/pinctrl/pinctrl-at91.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c
index 93ab277d9943..442dd8c80b65 100644
--- a/drivers/pinctrl/pinctrl-at91.c
+++ b/drivers/pinctrl/pinctrl-at91.c
@@ -1449,18 +1449,19 @@ static int at91_gpio_get(struct gpio_chip *chip, unsigned offset)
return (pdsr & mask) != 0;
}
-static void at91_gpio_set(struct gpio_chip *chip, unsigned offset,
- int val)
+static int at91_gpio_set(struct gpio_chip *chip, unsigned int offset, int val)
{
struct at91_gpio_chip *at91_gpio = gpiochip_get_data(chip);
void __iomem *pio = at91_gpio->regbase;
unsigned mask = 1 << offset;
writel_relaxed(mask, pio + (val ? PIO_SODR : PIO_CODR));
+
+ return 0;
}
-static void at91_gpio_set_multiple(struct gpio_chip *chip,
- unsigned long *mask, unsigned long *bits)
+static int at91_gpio_set_multiple(struct gpio_chip *chip,
+ unsigned long *mask, unsigned long *bits)
{
struct at91_gpio_chip *at91_gpio = gpiochip_get_data(chip);
void __iomem *pio = at91_gpio->regbase;
@@ -1472,6 +1473,8 @@ static void at91_gpio_set_multiple(struct gpio_chip *chip,
writel_relaxed(set_mask, pio + PIO_SODR);
writel_relaxed(clear_mask, pio + PIO_CODR);
+
+ return 0;
}
static int at91_gpio_direction_output(struct gpio_chip *chip, unsigned offset,
@@ -1798,8 +1801,8 @@ static const struct gpio_chip at91_gpio_template = {
.direction_input = at91_gpio_direction_input,
.get = at91_gpio_get,
.direction_output = at91_gpio_direction_output,
- .set = at91_gpio_set,
- .set_multiple = at91_gpio_set_multiple,
+ .set_rv = at91_gpio_set,
+ .set_multiple_rv = at91_gpio_set_multiple,
.dbg_show = at91_gpio_dbg_show,
.can_sleep = false,
.ngpio = MAX_NB_GPIO_PER_BANK,
--
2.45.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 10/12] pinctrl: armada-37xx: use new GPIO line value setter callbacks
2025-04-24 8:35 [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16 Bartosz Golaszewski
` (8 preceding siblings ...)
2025-04-24 8:35 ` [PATCH 09/12] pinctrl: at91: use new GPIO line value setter callbacks Bartosz Golaszewski
@ 2025-04-24 8:35 ` Bartosz Golaszewski
2025-04-24 8:35 ` [PATCH 11/12] pinctrl: pistachio: " Bartosz Golaszewski
` (2 subsequent siblings)
12 siblings, 0 replies; 22+ messages in thread
From: Bartosz Golaszewski @ 2025-04-24 8:35 UTC (permalink / raw)
To: Basavaraj Natikar, Shyam Sundar S K, Linus Walleij,
Bartosz Golaszewski, Chen-Yu Tsai, Maxime Coquelin,
Alexandre Torgue, Andreas Färber, Manivannan Sadhasivam,
Paul Cercueil, Steen Hegelund, Daniel Machon, UNGLinuxDriver,
Ludovic Desroches, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar
Cc: linux-gpio, linux-kernel, linux-stm32, linux-arm-kernel,
linux-actions, linux-mips, linux-samsung-soc, 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/pinctrl/mvebu/pinctrl-armada-37xx.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
index 335744ac8310..18419920c33d 100644
--- a/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
+++ b/drivers/pinctrl/mvebu/pinctrl-armada-37xx.c
@@ -424,15 +424,12 @@ static int armada_37xx_gpio_direction_output(struct gpio_chip *chip,
mask = BIT(offset);
ret = regmap_update_bits(info->regmap, reg, mask, mask);
-
if (ret)
return ret;
reg = OUTPUT_VAL;
val = value ? mask : 0;
- regmap_update_bits(info->regmap, reg, mask, val);
-
- return 0;
+ return regmap_update_bits(info->regmap, reg, mask, val);
}
static int armada_37xx_gpio_get(struct gpio_chip *chip, unsigned int offset)
@@ -449,8 +446,8 @@ static int armada_37xx_gpio_get(struct gpio_chip *chip, unsigned int offset)
return (val & mask) != 0;
}
-static void armada_37xx_gpio_set(struct gpio_chip *chip, unsigned int offset,
- int value)
+static int armada_37xx_gpio_set(struct gpio_chip *chip, unsigned int offset,
+ int value)
{
struct armada_37xx_pinctrl *info = gpiochip_get_data(chip);
unsigned int reg = OUTPUT_VAL;
@@ -460,7 +457,7 @@ static void armada_37xx_gpio_set(struct gpio_chip *chip, unsigned int offset,
mask = BIT(offset);
val = value ? mask : 0;
- regmap_update_bits(info->regmap, reg, mask, val);
+ return regmap_update_bits(info->regmap, reg, mask, val);
}
static int armada_37xx_pmx_gpio_set_direction(struct pinctrl_dev *pctldev,
@@ -513,7 +510,7 @@ static const struct pinmux_ops armada_37xx_pmx_ops = {
static const struct gpio_chip armada_37xx_gpiolib_chip = {
.request = gpiochip_generic_request,
.free = gpiochip_generic_free,
- .set = armada_37xx_gpio_set,
+ .set_rv = armada_37xx_gpio_set,
.get = armada_37xx_gpio_get,
.get_direction = armada_37xx_gpio_get_direction,
.direction_input = armada_37xx_gpio_direction_input,
--
2.45.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 11/12] pinctrl: pistachio: use new GPIO line value setter callbacks
2025-04-24 8:35 [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16 Bartosz Golaszewski
` (9 preceding siblings ...)
2025-04-24 8:35 ` [PATCH 10/12] pinctrl: armada-37xx: " Bartosz Golaszewski
@ 2025-04-24 8:35 ` Bartosz Golaszewski
2025-04-24 8:35 ` [PATCH 12/12] pinctrl: samsung: " Bartosz Golaszewski
2025-04-29 8:31 ` [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16 Linus Walleij
12 siblings, 0 replies; 22+ messages in thread
From: Bartosz Golaszewski @ 2025-04-24 8:35 UTC (permalink / raw)
To: Basavaraj Natikar, Shyam Sundar S K, Linus Walleij,
Bartosz Golaszewski, Chen-Yu Tsai, Maxime Coquelin,
Alexandre Torgue, Andreas Färber, Manivannan Sadhasivam,
Paul Cercueil, Steen Hegelund, Daniel Machon, UNGLinuxDriver,
Ludovic Desroches, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar
Cc: linux-gpio, linux-kernel, linux-stm32, linux-arm-kernel,
linux-actions, linux-mips, linux-samsung-soc, 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/pinctrl/pinctrl-pistachio.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-pistachio.c b/drivers/pinctrl/pinctrl-pistachio.c
index 8c50e0091b32..e7bf60960961 100644
--- a/drivers/pinctrl/pinctrl-pistachio.c
+++ b/drivers/pinctrl/pinctrl-pistachio.c
@@ -1186,12 +1186,14 @@ static int pistachio_gpio_get(struct gpio_chip *chip, unsigned offset)
return !!(gpio_readl(bank, reg) & BIT(offset));
}
-static void pistachio_gpio_set(struct gpio_chip *chip, unsigned offset,
- int value)
+static int pistachio_gpio_set(struct gpio_chip *chip, unsigned int offset,
+ int value)
{
struct pistachio_gpio_bank *bank = gpiochip_get_data(chip);
gpio_mask_writel(bank, GPIO_OUTPUT, offset, !!value);
+
+ return 0;
}
static int pistachio_gpio_direction_input(struct gpio_chip *chip,
@@ -1326,7 +1328,7 @@ static void pistachio_gpio_irq_handler(struct irq_desc *desc)
.direction_input = pistachio_gpio_direction_input, \
.direction_output = pistachio_gpio_direction_output, \
.get = pistachio_gpio_get, \
- .set = pistachio_gpio_set, \
+ .set_rv = pistachio_gpio_set, \
.base = _pin_base, \
.ngpio = _npins, \
}, \
--
2.45.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 12/12] pinctrl: samsung: use new GPIO line value setter callbacks
2025-04-24 8:35 [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16 Bartosz Golaszewski
` (10 preceding siblings ...)
2025-04-24 8:35 ` [PATCH 11/12] pinctrl: pistachio: " Bartosz Golaszewski
@ 2025-04-24 8:35 ` Bartosz Golaszewski
2025-04-27 19:17 ` (subset) " Krzysztof Kozlowski
2025-04-29 8:31 ` [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16 Linus Walleij
12 siblings, 1 reply; 22+ messages in thread
From: Bartosz Golaszewski @ 2025-04-24 8:35 UTC (permalink / raw)
To: Basavaraj Natikar, Shyam Sundar S K, Linus Walleij,
Bartosz Golaszewski, Chen-Yu Tsai, Maxime Coquelin,
Alexandre Torgue, Andreas Färber, Manivannan Sadhasivam,
Paul Cercueil, Steen Hegelund, Daniel Machon, UNGLinuxDriver,
Ludovic Desroches, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar
Cc: linux-gpio, linux-kernel, linux-stm32, linux-arm-kernel,
linux-actions, linux-mips, linux-samsung-soc, 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/pinctrl/samsung/pinctrl-samsung.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/drivers/pinctrl/samsung/pinctrl-samsung.c b/drivers/pinctrl/samsung/pinctrl-samsung.c
index ef557217e173..fe1ac82b9d79 100644
--- a/drivers/pinctrl/samsung/pinctrl-samsung.c
+++ b/drivers/pinctrl/samsung/pinctrl-samsung.c
@@ -570,15 +570,18 @@ static void samsung_gpio_set_value(struct gpio_chip *gc,
}
/* gpiolib gpio_set callback function */
-static void samsung_gpio_set(struct gpio_chip *gc, unsigned offset, int value)
+static int samsung_gpio_set(struct gpio_chip *gc, unsigned int offset,
+ int value)
{
struct samsung_pin_bank *bank = gpiochip_get_data(gc);
struct samsung_pinctrl_drv_data *drvdata = bank->drvdata;
unsigned long flags;
+ int ret;
- if (clk_enable(drvdata->pclk)) {
+ ret = clk_enable(drvdata->pclk);
+ if (ret) {
dev_err(drvdata->dev, "failed to enable clock\n");
- return;
+ return ret;
}
raw_spin_lock_irqsave(&bank->slock, flags);
@@ -586,6 +589,8 @@ static void samsung_gpio_set(struct gpio_chip *gc, unsigned offset, int value)
raw_spin_unlock_irqrestore(&bank->slock, flags);
clk_disable(drvdata->pclk);
+
+ return 0;
}
/* gpiolib gpio_get callback function */
@@ -1062,7 +1067,7 @@ static int samsung_gpio_set_config(struct gpio_chip *gc, unsigned int offset,
static const struct gpio_chip samsung_gpiolib_chip = {
.request = gpiochip_generic_request,
.free = gpiochip_generic_free,
- .set = samsung_gpio_set,
+ .set_rv = samsung_gpio_set,
.get = samsung_gpio_get,
.direction_input = samsung_gpio_direction_input,
.direction_output = samsung_gpio_direction_output,
--
2.45.2
^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH 06/12] pinctrl: ingenic: use new GPIO line value setter callbacks
2025-04-24 8:35 ` [PATCH 06/12] pinctrl: ingenic: " Bartosz Golaszewski
@ 2025-04-24 10:13 ` Paul Cercueil
0 siblings, 0 replies; 22+ messages in thread
From: Paul Cercueil @ 2025-04-24 10:13 UTC (permalink / raw)
To: Bartosz Golaszewski, Basavaraj Natikar, Shyam Sundar S K,
Linus Walleij, Chen-Yu Tsai, Maxime Coquelin, Alexandre Torgue,
Andreas Färber, Manivannan Sadhasivam, Steen Hegelund,
Daniel Machon, UNGLinuxDriver, Ludovic Desroches, Nicolas Ferre,
Alexandre Belloni, Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar
Cc: linux-gpio, linux-kernel, linux-stm32, linux-arm-kernel,
linux-actions, linux-mips, linux-samsung-soc, Bartosz Golaszewski
Hi Bartosz,
Le jeudi 24 avril 2025 à 10:35 +0200, Bartosz Golaszewski a écrit :
> 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>
Acked-by: Paul Cercueil <paul@crapouillou.net>
Cheers,
-Paul
> ---
> drivers/pinctrl/pinctrl-ingenic.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/pinctrl/pinctrl-ingenic.c
> b/drivers/pinctrl/pinctrl-ingenic.c
> index a9e48eac15f6..3c660471ec69 100644
> --- a/drivers/pinctrl/pinctrl-ingenic.c
> +++ b/drivers/pinctrl/pinctrl-ingenic.c
> @@ -3800,12 +3800,14 @@ static void ingenic_gpio_irq_handler(struct
> irq_desc *desc)
> chained_irq_exit(irq_chip, desc);
> }
>
> -static void ingenic_gpio_set(struct gpio_chip *gc,
> - unsigned int offset, int value)
> +static int ingenic_gpio_set(struct gpio_chip *gc, unsigned int
> offset,
> + int value)
> {
> struct ingenic_gpio_chip *jzgc = gpiochip_get_data(gc);
>
> ingenic_gpio_set_value(jzgc, offset, value);
> +
> + return 0;
> }
>
> static int ingenic_gpio_get(struct gpio_chip *gc, unsigned int
> offset)
> @@ -4449,7 +4451,7 @@ static int __init ingenic_gpio_probe(struct
> ingenic_pinctrl *jzpc,
> jzgc->gc.fwnode = fwnode;
> jzgc->gc.owner = THIS_MODULE;
>
> - jzgc->gc.set = ingenic_gpio_set;
> + jzgc->gc.set_rv = ingenic_gpio_set;
> jzgc->gc.get = ingenic_gpio_get;
> jzgc->gc.direction_input = pinctrl_gpio_direction_input;
> jzgc->gc.direction_output = ingenic_gpio_direction_output;
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Linux-stm32] [PATCH 03/12] pinctrl: stmfx: use new GPIO line value setter callbacks
2025-04-24 8:35 ` [PATCH 03/12] pinctrl: stmfx: " Bartosz Golaszewski
@ 2025-04-24 14:59 ` Amelie Delaunay
0 siblings, 0 replies; 22+ messages in thread
From: Amelie Delaunay @ 2025-04-24 14:59 UTC (permalink / raw)
To: Bartosz Golaszewski, Basavaraj Natikar, Shyam Sundar S K,
Linus Walleij, Chen-Yu Tsai, Maxime Coquelin, Alexandre Torgue,
Andreas Färber, Manivannan Sadhasivam, Paul Cercueil,
Steen Hegelund, Daniel Machon, UNGLinuxDriver, Ludovic Desroches,
Nicolas Ferre, Alexandre Belloni, Claudiu Beznea, Andrew Lunn,
Gregory Clement, Sebastian Hesselbarth, Krzysztof Kozlowski,
Sylwester Nawrocki, Alim Akhtar
Cc: linux-samsung-soc, Bartosz Golaszewski, linux-actions, linux-mips,
linux-kernel, linux-gpio, linux-stm32, linux-arm-kernel
On 4/24/25 10:35, 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>
Reviewed-by: Amelie Delaunay <amelie.delaunay@foss.st.com>
> ---
> drivers/pinctrl/pinctrl-stmfx.c | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/pinctrl/pinctrl-stmfx.c b/drivers/pinctrl/pinctrl-stmfx.c
> index aae01120dc52..f4fdcaa043e6 100644
> --- a/drivers/pinctrl/pinctrl-stmfx.c
> +++ b/drivers/pinctrl/pinctrl-stmfx.c
> @@ -115,14 +115,14 @@ static int stmfx_gpio_get(struct gpio_chip *gc, unsigned int offset)
> return ret ? ret : !!(value & mask);
> }
>
> -static void stmfx_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
> +static int stmfx_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
> {
> struct stmfx_pinctrl *pctl = gpiochip_get_data(gc);
> u32 reg = value ? STMFX_REG_GPO_SET : STMFX_REG_GPO_CLR;
> u32 mask = get_mask(offset);
>
> - regmap_write_bits(pctl->stmfx->map, reg + get_reg(offset),
> - mask, mask);
> + return regmap_write_bits(pctl->stmfx->map, reg + get_reg(offset),
> + mask, mask);
> }
>
> static int stmfx_gpio_get_direction(struct gpio_chip *gc, unsigned int offset)
> @@ -161,8 +161,11 @@ static int stmfx_gpio_direction_output(struct gpio_chip *gc,
> struct stmfx_pinctrl *pctl = gpiochip_get_data(gc);
> u32 reg = STMFX_REG_GPIO_DIR + get_reg(offset);
> u32 mask = get_mask(offset);
> + int ret;
>
> - stmfx_gpio_set(gc, offset, value);
> + ret = stmfx_gpio_set(gc, offset, value);
> + if (ret)
> + return ret;
>
> return regmap_write_bits(pctl->stmfx->map, reg, mask, mask);
> }
> @@ -694,7 +697,7 @@ static int stmfx_pinctrl_probe(struct platform_device *pdev)
> pctl->gpio_chip.direction_input = stmfx_gpio_direction_input;
> pctl->gpio_chip.direction_output = stmfx_gpio_direction_output;
> pctl->gpio_chip.get = stmfx_gpio_get;
> - pctl->gpio_chip.set = stmfx_gpio_set;
> + pctl->gpio_chip.set_rv = stmfx_gpio_set;
> pctl->gpio_chip.set_config = gpiochip_generic_config;
> pctl->gpio_chip.base = -1;
> pctl->gpio_chip.ngpio = pctl->pctl_desc.npins;
>
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [Linux-stm32] [PATCH 05/12] pinctrl: stm32: use new GPIO line value setter callbacks
2025-04-24 8:35 ` [PATCH 05/12] pinctrl: stm32: " Bartosz Golaszewski
@ 2025-04-24 16:04 ` Antonio Borneo
0 siblings, 0 replies; 22+ messages in thread
From: Antonio Borneo @ 2025-04-24 16:04 UTC (permalink / raw)
To: Bartosz Golaszewski, Basavaraj Natikar, Shyam Sundar S K,
Linus Walleij, Chen-Yu Tsai, Maxime Coquelin, Alexandre Torgue,
Andreas Färber, Manivannan Sadhasivam, Paul Cercueil,
Steen Hegelund, Daniel Machon, UNGLinuxDriver, Ludovic Desroches,
Nicolas Ferre, Alexandre Belloni, Claudiu Beznea, Andrew Lunn,
Gregory Clement, Sebastian Hesselbarth, Krzysztof Kozlowski,
Sylwester Nawrocki, Alim Akhtar
Cc: linux-samsung-soc, Bartosz Golaszewski, linux-actions, linux-mips,
linux-kernel, linux-gpio, linux-stm32, linux-arm-kernel
On Thu, 2025-04-24 at 10:35 +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>
Reviewed-by: Antonio Borneo <antonio.borneo@foss.st.com>
> ---
> drivers/pinctrl/stm32/pinctrl-stm32.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pinctrl/stm32/pinctrl-stm32.c b/drivers/pinctrl/stm32/pinctrl-stm32.c
> index cc0b4d1d7cff..ba49d48c3a1d 100644
> --- a/drivers/pinctrl/stm32/pinctrl-stm32.c
> +++ b/drivers/pinctrl/stm32/pinctrl-stm32.c
> @@ -228,11 +228,14 @@ static int stm32_gpio_get(struct gpio_chip *chip, unsigned offset)
> return !!(readl_relaxed(bank->base + STM32_GPIO_IDR) & BIT(offset));
> }
>
> -static void stm32_gpio_set(struct gpio_chip *chip, unsigned offset, int value)
> +static int stm32_gpio_set(struct gpio_chip *chip, unsigned int offset,
> + int value)
> {
> struct stm32_gpio_bank *bank = gpiochip_get_data(chip);
>
> __stm32_gpio_set(bank, offset, value);
> +
> + return 0;
> }
>
> static int stm32_gpio_direction_output(struct gpio_chip *chip,
> @@ -308,7 +311,7 @@ static const struct gpio_chip stm32_gpio_template = {
> .request = stm32_gpio_request,
> .free = pinctrl_gpio_free,
> .get = stm32_gpio_get,
> - .set = stm32_gpio_set,
> + .set_rv = stm32_gpio_set,
> .direction_input = pinctrl_gpio_direction_input,
> .direction_output = stm32_gpio_direction_output,
> .to_irq = stm32_gpio_to_irq,
>
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 02/12] pinctrl: axp209: use new GPIO line value setter callbacks
2025-04-24 8:35 ` [PATCH 02/12] pinctrl: axp209: " Bartosz Golaszewski
@ 2025-04-24 17:43 ` Chen-Yu Tsai
2025-04-24 18:55 ` Bartosz Golaszewski
0 siblings, 1 reply; 22+ messages in thread
From: Chen-Yu Tsai @ 2025-04-24 17:43 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Basavaraj Natikar, Shyam Sundar S K, Linus Walleij,
Maxime Coquelin, Alexandre Torgue, Andreas Färber,
Manivannan Sadhasivam, Paul Cercueil, Steen Hegelund,
Daniel Machon, UNGLinuxDriver, Ludovic Desroches, Nicolas Ferre,
Alexandre Belloni, Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar, linux-gpio, linux-kernel, linux-stm32,
linux-arm-kernel, linux-actions, linux-mips, linux-samsung-soc,
Bartosz Golaszewski
On Thu, Apr 24, 2025 at 4:35 PM Bartosz Golaszewski <brgl@bgdev.pl> 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>
> ---
> drivers/pinctrl/pinctrl-axp209.c | 29 +++++++++++++----------------
> 1 file changed, 13 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/pinctrl/pinctrl-axp209.c b/drivers/pinctrl/pinctrl-axp209.c
> index 2b4805e74eed..28ff846d263a 100644
> --- a/drivers/pinctrl/pinctrl-axp209.c
> +++ b/drivers/pinctrl/pinctrl-axp209.c
> @@ -192,34 +192,31 @@ static int axp20x_gpio_get_direction(struct gpio_chip *chip,
> static int axp20x_gpio_output(struct gpio_chip *chip, unsigned int offset,
> int value)
> {
> - chip->set(chip, offset, value);
> -
> - return 0;
> + return chip->set_rv(chip, offset, value);
> }
>
> -static void axp20x_gpio_set(struct gpio_chip *chip, unsigned int offset,
> - int value)
> +static int axp20x_gpio_set(struct gpio_chip *chip, unsigned int offset,
> + int value)
> {
> struct axp20x_pctl *pctl = gpiochip_get_data(chip);
> int reg;
>
> /* AXP209 has GPIO3 status sharing the settings register */
> if (offset == 3) {
> - regmap_update_bits(pctl->regmap, AXP20X_GPIO3_CTRL,
> - AXP20X_GPIO3_FUNCTIONS,
> - value ? AXP20X_GPIO3_FUNCTION_OUT_HIGH :
> - AXP20X_GPIO3_FUNCTION_OUT_LOW);
> - return;
> + return regmap_update_bits(pctl->regmap, AXP20X_GPIO3_CTRL,
> + AXP20X_GPIO3_FUNCTIONS,
> + value ?
> + AXP20X_GPIO3_FUNCTION_OUT_HIGH :
> + AXP20X_GPIO3_FUNCTION_OUT_LOW);
> }
I guess you could also drop the curly braces, but otherwise
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
>
> reg = axp20x_gpio_get_reg(offset);
> if (reg < 0)
> - return;
> + return reg;
>
> - regmap_update_bits(pctl->regmap, reg,
> - AXP20X_GPIO_FUNCTIONS,
> - value ? AXP20X_GPIO_FUNCTION_OUT_HIGH :
> - AXP20X_GPIO_FUNCTION_OUT_LOW);
> + return regmap_update_bits(pctl->regmap, reg, AXP20X_GPIO_FUNCTIONS,
> + value ? AXP20X_GPIO_FUNCTION_OUT_HIGH :
> + AXP20X_GPIO_FUNCTION_OUT_LOW);
> }
>
> static int axp20x_pmx_set(struct pinctrl_dev *pctldev, unsigned int offset,
> @@ -468,7 +465,7 @@ static int axp20x_pctl_probe(struct platform_device *pdev)
> pctl->chip.owner = THIS_MODULE;
> pctl->chip.get = axp20x_gpio_get;
> pctl->chip.get_direction = axp20x_gpio_get_direction;
> - pctl->chip.set = axp20x_gpio_set;
> + pctl->chip.set_rv = axp20x_gpio_set;
> pctl->chip.direction_input = pinctrl_gpio_direction_input;
> pctl->chip.direction_output = axp20x_gpio_output;
>
>
> --
> 2.45.2
>
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 02/12] pinctrl: axp209: use new GPIO line value setter callbacks
2025-04-24 17:43 ` Chen-Yu Tsai
@ 2025-04-24 18:55 ` Bartosz Golaszewski
2025-04-29 8:35 ` Linus Walleij
0 siblings, 1 reply; 22+ messages in thread
From: Bartosz Golaszewski @ 2025-04-24 18:55 UTC (permalink / raw)
To: wens
Cc: Basavaraj Natikar, Shyam Sundar S K, Linus Walleij,
Maxime Coquelin, Alexandre Torgue, Andreas Färber,
Manivannan Sadhasivam, Paul Cercueil, Steen Hegelund,
Daniel Machon, UNGLinuxDriver, Ludovic Desroches, Nicolas Ferre,
Alexandre Belloni, Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar, linux-gpio, linux-kernel, linux-stm32,
linux-arm-kernel, linux-actions, linux-mips, linux-samsung-soc,
Bartosz Golaszewski
On Thu, Apr 24, 2025 at 7:43 PM Chen-Yu Tsai <wens@csie.org> wrote:
>
> On Thu, Apr 24, 2025 at 4:35 PM Bartosz Golaszewski <brgl@bgdev.pl> 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>
>>
> > /* AXP209 has GPIO3 status sharing the settings register */
> > if (offset == 3) {
> > - regmap_update_bits(pctl->regmap, AXP20X_GPIO3_CTRL,
> > - AXP20X_GPIO3_FUNCTIONS,
> > - value ? AXP20X_GPIO3_FUNCTION_OUT_HIGH :
> > - AXP20X_GPIO3_FUNCTION_OUT_LOW);
> > - return;
> > + return regmap_update_bits(pctl->regmap, AXP20X_GPIO3_CTRL,
> > + AXP20X_GPIO3_FUNCTIONS,
> > + value ?
> > + AXP20X_GPIO3_FUNCTION_OUT_HIGH :
> > + AXP20X_GPIO3_FUNCTION_OUT_LOW);
> > }
>
> I guess you could also drop the curly braces, but otherwise
>
> Reviewed-by: Chen-Yu Tsai <wens@csie.org>
>
Right. Linus: can you remove them while applying?
Bart
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: (subset) [PATCH 12/12] pinctrl: samsung: use new GPIO line value setter callbacks
2025-04-24 8:35 ` [PATCH 12/12] pinctrl: samsung: " Bartosz Golaszewski
@ 2025-04-27 19:17 ` Krzysztof Kozlowski
0 siblings, 0 replies; 22+ messages in thread
From: Krzysztof Kozlowski @ 2025-04-27 19:17 UTC (permalink / raw)
To: Basavaraj Natikar, Shyam Sundar S K, Linus Walleij, Chen-Yu Tsai,
Maxime Coquelin, Alexandre Torgue, Andreas Färber,
Manivannan Sadhasivam, Paul Cercueil, Steen Hegelund,
Daniel Machon, UNGLinuxDriver, Ludovic Desroches, Nicolas Ferre,
Alexandre Belloni, Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar, Bartosz Golaszewski
Cc: linux-gpio, linux-kernel, linux-stm32, linux-arm-kernel,
linux-actions, linux-mips, linux-samsung-soc, Bartosz Golaszewski
On Thu, 24 Apr 2025 10:35:35 +0200, Bartosz Golaszewski wrote:
> struct gpio_chip now has callbacks for setting line values that return
> an integer, allowing to indicate failures. Convert the driver to using
> them.
>
>
Applied, thanks!
[12/12] pinctrl: samsung: use new GPIO line value setter callbacks
https://git.kernel.org/pinctrl/samsung/c/0a5b9be31f78898c7d6e7778377e8ab6ab0399d2
Best regards,
--
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 04/12] pinctrl: owl: use new GPIO line value setter callbacks
2025-04-24 8:35 ` [PATCH 04/12] pinctrl: owl: " Bartosz Golaszewski
@ 2025-04-28 16:07 ` Manivannan Sadhasivam
0 siblings, 0 replies; 22+ messages in thread
From: Manivannan Sadhasivam @ 2025-04-28 16:07 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Basavaraj Natikar, Shyam Sundar S K, Linus Walleij, Chen-Yu Tsai,
Maxime Coquelin, Alexandre Torgue, Andreas Färber,
Paul Cercueil, Steen Hegelund, Daniel Machon, UNGLinuxDriver,
Ludovic Desroches, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar, linux-gpio, linux-kernel, linux-stm32,
linux-arm-kernel, linux-actions, linux-mips, linux-samsung-soc,
Bartosz Golaszewski
On Thu, Apr 24, 2025 at 10:35:27AM +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>
Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
- Mani
> ---
> drivers/pinctrl/actions/pinctrl-owl.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/pinctrl/actions/pinctrl-owl.c b/drivers/pinctrl/actions/pinctrl-owl.c
> index d49b77dcfcff..86f3d5c69e36 100644
> --- a/drivers/pinctrl/actions/pinctrl-owl.c
> +++ b/drivers/pinctrl/actions/pinctrl-owl.c
> @@ -598,7 +598,7 @@ static int owl_gpio_get(struct gpio_chip *chip, unsigned int offset)
> return !!(val & BIT(offset));
> }
>
> -static void owl_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
> +static int owl_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
> {
> struct owl_pinctrl *pctrl = gpiochip_get_data(chip);
> const struct owl_gpio_port *port;
> @@ -607,13 +607,15 @@ static void owl_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
>
> port = owl_gpio_get_port(pctrl, &offset);
> if (WARN_ON(port == NULL))
> - return;
> + return -ENODEV;
>
> gpio_base = pctrl->base + port->offset;
>
> raw_spin_lock_irqsave(&pctrl->lock, flags);
> owl_gpio_update_reg(gpio_base + port->dat, offset, value);
> raw_spin_unlock_irqrestore(&pctrl->lock, flags);
> +
> + return 0;
> }
>
> static int owl_gpio_direction_input(struct gpio_chip *chip, unsigned int offset)
> @@ -960,7 +962,7 @@ int owl_pinctrl_probe(struct platform_device *pdev,
> pctrl->chip.direction_input = owl_gpio_direction_input;
> pctrl->chip.direction_output = owl_gpio_direction_output;
> pctrl->chip.get = owl_gpio_get;
> - pctrl->chip.set = owl_gpio_set;
> + pctrl->chip.set_rv = owl_gpio_set;
> pctrl->chip.request = owl_gpio_request;
> pctrl->chip.free = owl_gpio_free;
>
>
> --
> 2.45.2
>
--
மணிவண்ணன் சதாசிவம்
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16
2025-04-24 8:35 [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16 Bartosz Golaszewski
` (11 preceding siblings ...)
2025-04-24 8:35 ` [PATCH 12/12] pinctrl: samsung: " Bartosz Golaszewski
@ 2025-04-29 8:31 ` Linus Walleij
12 siblings, 0 replies; 22+ messages in thread
From: Linus Walleij @ 2025-04-29 8:31 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Basavaraj Natikar, Shyam Sundar S K, Chen-Yu Tsai,
Maxime Coquelin, Alexandre Torgue, Andreas Färber,
Manivannan Sadhasivam, Paul Cercueil, Steen Hegelund,
Daniel Machon, UNGLinuxDriver, Ludovic Desroches, Nicolas Ferre,
Alexandre Belloni, Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar, linux-gpio, linux-kernel, linux-stm32,
linux-arm-kernel, linux-actions, linux-mips, linux-samsung-soc,
Bartosz Golaszewski
On Thu, Apr 24, 2025 at 10:35 AM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> struct gpio_chip now has callbacks for setting line values that return
> an integer, allowing to indicate failures. We're in the process of
> converting all GPIO drivers to using the new API. This series converts
> the another round of pinctrl GPIO controllers.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Patches applied!
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH 02/12] pinctrl: axp209: use new GPIO line value setter callbacks
2025-04-24 18:55 ` Bartosz Golaszewski
@ 2025-04-29 8:35 ` Linus Walleij
0 siblings, 0 replies; 22+ messages in thread
From: Linus Walleij @ 2025-04-29 8:35 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: wens, Basavaraj Natikar, Shyam Sundar S K, Maxime Coquelin,
Alexandre Torgue, Andreas Färber, Manivannan Sadhasivam,
Paul Cercueil, Steen Hegelund, Daniel Machon, UNGLinuxDriver,
Ludovic Desroches, Nicolas Ferre, Alexandre Belloni,
Claudiu Beznea, Andrew Lunn, Gregory Clement,
Sebastian Hesselbarth, Krzysztof Kozlowski, Sylwester Nawrocki,
Alim Akhtar, linux-gpio, linux-kernel, linux-stm32,
linux-arm-kernel, linux-actions, linux-mips, linux-samsung-soc,
Bartosz Golaszewski
On Thu, Apr 24, 2025 at 8:55 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> On Thu, Apr 24, 2025 at 7:43 PM Chen-Yu Tsai <wens@csie.org> wrote:
> > I guess you could also drop the curly braces, but otherwise
> >
> > Reviewed-by: Chen-Yu Tsai <wens@csie.org>
>
> Right. Linus: can you remove them while applying?
Fixed it!
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2025-04-29 8:35 UTC | newest]
Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-24 8:35 [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16 Bartosz Golaszewski
2025-04-24 8:35 ` [PATCH 01/12] pinctrl: amd: use new GPIO line value setter callbacks Bartosz Golaszewski
2025-04-24 8:35 ` [PATCH 02/12] pinctrl: axp209: " Bartosz Golaszewski
2025-04-24 17:43 ` Chen-Yu Tsai
2025-04-24 18:55 ` Bartosz Golaszewski
2025-04-29 8:35 ` Linus Walleij
2025-04-24 8:35 ` [PATCH 03/12] pinctrl: stmfx: " Bartosz Golaszewski
2025-04-24 14:59 ` [Linux-stm32] " Amelie Delaunay
2025-04-24 8:35 ` [PATCH 04/12] pinctrl: owl: " Bartosz Golaszewski
2025-04-28 16:07 ` Manivannan Sadhasivam
2025-04-24 8:35 ` [PATCH 05/12] pinctrl: stm32: " Bartosz Golaszewski
2025-04-24 16:04 ` [Linux-stm32] " Antonio Borneo
2025-04-24 8:35 ` [PATCH 06/12] pinctrl: ingenic: " Bartosz Golaszewski
2025-04-24 10:13 ` Paul Cercueil
2025-04-24 8:35 ` [PATCH 07/12] pinctrl: microchip-sgpio: " Bartosz Golaszewski
2025-04-24 8:35 ` [PATCH 08/12] pinctrl: at91: allow building the module with COMPILE_TEST=y Bartosz Golaszewski
2025-04-24 8:35 ` [PATCH 09/12] pinctrl: at91: use new GPIO line value setter callbacks Bartosz Golaszewski
2025-04-24 8:35 ` [PATCH 10/12] pinctrl: armada-37xx: " Bartosz Golaszewski
2025-04-24 8:35 ` [PATCH 11/12] pinctrl: pistachio: " Bartosz Golaszewski
2025-04-24 8:35 ` [PATCH 12/12] pinctrl: samsung: " Bartosz Golaszewski
2025-04-27 19:17 ` (subset) " Krzysztof Kozlowski
2025-04-29 8:31 ` [PATCH 00/12] pinctrl: convert GPIO chips to using new value setters - part 2 for v6.16 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).