* [PATCH v2 1/5] net: dsa: vsc73xx: use new GPIO line value setter callbacks
2025-06-16 7:24 [PATCH v2 0/5] net: use new GPIO line value setter callbacks Bartosz Golaszewski
@ 2025-06-16 7:24 ` Bartosz Golaszewski
2025-06-18 12:27 ` Linus Walleij
2025-06-16 7:24 ` [PATCH v2 2/5] net: dsa: mt7530: " Bartosz Golaszewski
` (4 subsequent siblings)
5 siblings, 1 reply; 14+ messages in thread
From: Bartosz Golaszewski @ 2025-06-16 7:24 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Linus Walleij, Bartosz Golaszewski,
Chester A. Unal, Daniel Golle, DENG Qingfang, Sean Wang,
Matthias Brugger, AngeloGioacchino Del Regno, Marc Kleine-Budde,
Vincent Mailhol, Heiner Kallweit, Russell King
Cc: netdev, linux-kernel, linux-gpio, linux-arm-kernel,
linux-mediatek, linux-can, linux-arm-msm, 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/net/dsa/vitesse-vsc73xx-core.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/net/dsa/vitesse-vsc73xx-core.c b/drivers/net/dsa/vitesse-vsc73xx-core.c
index f18aa321053d75f34544267528d68ade37264e89..4f9687ab3b2bc1cc61946eef33b7d08f779db8c6 100644
--- a/drivers/net/dsa/vitesse-vsc73xx-core.c
+++ b/drivers/net/dsa/vitesse-vsc73xx-core.c
@@ -2258,14 +2258,14 @@ static int vsc73xx_gpio_get(struct gpio_chip *chip, unsigned int offset)
return !!(val & BIT(offset));
}
-static void vsc73xx_gpio_set(struct gpio_chip *chip, unsigned int offset,
- int val)
+static int vsc73xx_gpio_set(struct gpio_chip *chip, unsigned int offset,
+ int val)
{
struct vsc73xx *vsc = gpiochip_get_data(chip);
u32 tmp = val ? BIT(offset) : 0;
- vsc73xx_update_bits(vsc, VSC73XX_BLOCK_SYSTEM, 0,
- VSC73XX_GPIO, BIT(offset), tmp);
+ return vsc73xx_update_bits(vsc, VSC73XX_BLOCK_SYSTEM, 0,
+ VSC73XX_GPIO, BIT(offset), tmp);
}
static int vsc73xx_gpio_direction_output(struct gpio_chip *chip,
@@ -2317,7 +2317,7 @@ static int vsc73xx_gpio_probe(struct vsc73xx *vsc)
vsc->gc.parent = vsc->dev;
vsc->gc.base = -1;
vsc->gc.get = vsc73xx_gpio_get;
- vsc->gc.set = vsc73xx_gpio_set;
+ vsc->gc.set_rv = vsc73xx_gpio_set;
vsc->gc.direction_input = vsc73xx_gpio_direction_input;
vsc->gc.direction_output = vsc73xx_gpio_direction_output;
vsc->gc.get_direction = vsc73xx_gpio_get_direction;
--
2.48.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v2 1/5] net: dsa: vsc73xx: use new GPIO line value setter callbacks
2025-06-16 7:24 ` [PATCH v2 1/5] net: dsa: vsc73xx: " Bartosz Golaszewski
@ 2025-06-18 12:27 ` Linus Walleij
0 siblings, 0 replies; 14+ messages in thread
From: Linus Walleij @ 2025-06-18 12:27 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Chester A. Unal, Daniel Golle,
DENG Qingfang, Sean Wang, Matthias Brugger,
AngeloGioacchino Del Regno, Marc Kleine-Budde, Vincent Mailhol,
Heiner Kallweit, Russell King, netdev, linux-kernel, linux-gpio,
linux-arm-kernel, linux-mediatek, linux-can, linux-arm-msm,
Bartosz Golaszewski
On Mon, Jun 16, 2025 at 9:24 AM 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>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2 2/5] net: dsa: mt7530: use new GPIO line value setter callbacks
2025-06-16 7:24 [PATCH v2 0/5] net: use new GPIO line value setter callbacks Bartosz Golaszewski
2025-06-16 7:24 ` [PATCH v2 1/5] net: dsa: vsc73xx: " Bartosz Golaszewski
@ 2025-06-16 7:24 ` Bartosz Golaszewski
2025-06-18 12:27 ` Linus Walleij
2025-06-16 7:24 ` [PATCH v2 3/5] net: can: mcp251x: propagate the return value of mcp251x_spi_write() Bartosz Golaszewski
` (3 subsequent siblings)
5 siblings, 1 reply; 14+ messages in thread
From: Bartosz Golaszewski @ 2025-06-16 7:24 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Linus Walleij, Bartosz Golaszewski,
Chester A. Unal, Daniel Golle, DENG Qingfang, Sean Wang,
Matthias Brugger, AngeloGioacchino Del Regno, Marc Kleine-Budde,
Vincent Mailhol, Heiner Kallweit, Russell King
Cc: netdev, linux-kernel, linux-gpio, linux-arm-kernel,
linux-mediatek, linux-can, linux-arm-msm, 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/net/dsa/mt7530.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c
index df213c37b4fe6ab85fc5b01c62297a35b7b6b2ed..e5bed4237ff4c46457b46598f07b65d0daa84ae9 100644
--- a/drivers/net/dsa/mt7530.c
+++ b/drivers/net/dsa/mt7530.c
@@ -2112,7 +2112,7 @@ mt7530_gpio_get(struct gpio_chip *gc, unsigned int offset)
return !!(mt7530_read(priv, MT7530_LED_GPIO_DATA) & bit);
}
-static void
+static int
mt7530_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
{
struct mt7530_priv *priv = gpiochip_get_data(gc);
@@ -2122,6 +2122,8 @@ mt7530_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
mt7530_set(priv, MT7530_LED_GPIO_DATA, bit);
else
mt7530_clear(priv, MT7530_LED_GPIO_DATA, bit);
+
+ return 0;
}
static int
@@ -2185,7 +2187,7 @@ mt7530_setup_gpio(struct mt7530_priv *priv)
gc->direction_input = mt7530_gpio_direction_input;
gc->direction_output = mt7530_gpio_direction_output;
gc->get = mt7530_gpio_get;
- gc->set = mt7530_gpio_set;
+ gc->set_rv = mt7530_gpio_set;
gc->base = -1;
gc->ngpio = 15;
gc->can_sleep = true;
--
2.48.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v2 2/5] net: dsa: mt7530: use new GPIO line value setter callbacks
2025-06-16 7:24 ` [PATCH v2 2/5] net: dsa: mt7530: " Bartosz Golaszewski
@ 2025-06-18 12:27 ` Linus Walleij
0 siblings, 0 replies; 14+ messages in thread
From: Linus Walleij @ 2025-06-18 12:27 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Chester A. Unal, Daniel Golle,
DENG Qingfang, Sean Wang, Matthias Brugger,
AngeloGioacchino Del Regno, Marc Kleine-Budde, Vincent Mailhol,
Heiner Kallweit, Russell King, netdev, linux-kernel, linux-gpio,
linux-arm-kernel, linux-mediatek, linux-can, linux-arm-msm,
Bartosz Golaszewski
On Mon, Jun 16, 2025 at 9:24 AM 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>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2 3/5] net: can: mcp251x: propagate the return value of mcp251x_spi_write()
2025-06-16 7:24 [PATCH v2 0/5] net: use new GPIO line value setter callbacks Bartosz Golaszewski
2025-06-16 7:24 ` [PATCH v2 1/5] net: dsa: vsc73xx: " Bartosz Golaszewski
2025-06-16 7:24 ` [PATCH v2 2/5] net: dsa: mt7530: " Bartosz Golaszewski
@ 2025-06-16 7:24 ` Bartosz Golaszewski
2025-06-16 8:34 ` Vincent Mailhol
2025-06-16 9:57 ` Marc Kleine-Budde
2025-06-16 7:24 ` [PATCH v2 4/5] net: can: mcp251x: use new GPIO line value setter callbacks Bartosz Golaszewski
` (2 subsequent siblings)
5 siblings, 2 replies; 14+ messages in thread
From: Bartosz Golaszewski @ 2025-06-16 7:24 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Linus Walleij, Bartosz Golaszewski,
Chester A. Unal, Daniel Golle, DENG Qingfang, Sean Wang,
Matthias Brugger, AngeloGioacchino Del Regno, Marc Kleine-Budde,
Vincent Mailhol, Heiner Kallweit, Russell King
Cc: netdev, linux-kernel, linux-gpio, linux-arm-kernel,
linux-mediatek, linux-can, linux-arm-msm, Bartosz Golaszewski
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Add an integer return value to mcp251x_write_bits() and use it to
propagate the one returned by mcp251x_spi_write(). Return that value on
error in the request() GPIO callback.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
drivers/net/can/spi/mcp251x.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/drivers/net/can/spi/mcp251x.c b/drivers/net/can/spi/mcp251x.c
index ec5c64006a16f703bc816983765584c5f3ac76e8..60b7fd3040d02f114693cf66d61c8a075a32e278 100644
--- a/drivers/net/can/spi/mcp251x.c
+++ b/drivers/net/can/spi/mcp251x.c
@@ -388,8 +388,8 @@ static void mcp251x_write_2regs(struct spi_device *spi, u8 reg, u8 v1, u8 v2)
mcp251x_spi_write(spi, 4);
}
-static void mcp251x_write_bits(struct spi_device *spi, u8 reg,
- u8 mask, u8 val)
+static int mcp251x_write_bits(struct spi_device *spi, u8 reg,
+ u8 mask, u8 val)
{
struct mcp251x_priv *priv = spi_get_drvdata(spi);
@@ -398,7 +398,7 @@ static void mcp251x_write_bits(struct spi_device *spi, u8 reg,
priv->spi_tx_buf[2] = mask;
priv->spi_tx_buf[3] = val;
- mcp251x_spi_write(spi, 4);
+ return mcp251x_spi_write(spi, 4);
}
static u8 mcp251x_read_stat(struct spi_device *spi)
@@ -441,6 +441,7 @@ static int mcp251x_gpio_request(struct gpio_chip *chip,
unsigned int offset)
{
struct mcp251x_priv *priv = gpiochip_get_data(chip);
+ int ret;
u8 val;
/* nothing to be done for inputs */
@@ -450,8 +451,10 @@ static int mcp251x_gpio_request(struct gpio_chip *chip,
val = BFPCTRL_BFE(offset - MCP251X_GPIO_RX0BF);
mutex_lock(&priv->mcp_lock);
- mcp251x_write_bits(priv->spi, BFPCTRL, val, val);
+ ret = mcp251x_write_bits(priv->spi, BFPCTRL, val, val);
mutex_unlock(&priv->mcp_lock);
+ if (ret)
+ return ret;
priv->reg_bfpctrl |= val;
--
2.48.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v2 3/5] net: can: mcp251x: propagate the return value of mcp251x_spi_write()
2025-06-16 7:24 ` [PATCH v2 3/5] net: can: mcp251x: propagate the return value of mcp251x_spi_write() Bartosz Golaszewski
@ 2025-06-16 8:34 ` Vincent Mailhol
2025-06-16 9:57 ` Marc Kleine-Budde
1 sibling, 0 replies; 14+ messages in thread
From: Vincent Mailhol @ 2025-06-16 8:34 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: netdev, linux-kernel, linux-gpio, linux-arm-kernel,
linux-mediatek, linux-can, linux-arm-msm, Bartosz Golaszewski,
Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Linus Walleij, Chester A. Unal,
Daniel Golle, DENG Qingfang, Sean Wang, Matthias Brugger,
AngeloGioacchino Del Regno, Marc Kleine-Budde, Heiner Kallweit,
Russell King
On 16/06/2025 at 16:24, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
>
> Add an integer return value to mcp251x_write_bits() and use it to
> propagate the one returned by mcp251x_spi_write(). Return that value on
> error in the request() GPIO callback.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Yours sincerely,
Vincent Mailhol
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 3/5] net: can: mcp251x: propagate the return value of mcp251x_spi_write()
2025-06-16 7:24 ` [PATCH v2 3/5] net: can: mcp251x: propagate the return value of mcp251x_spi_write() Bartosz Golaszewski
2025-06-16 8:34 ` Vincent Mailhol
@ 2025-06-16 9:57 ` Marc Kleine-Budde
1 sibling, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2025-06-16 9:57 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Linus Walleij, Chester A. Unal,
Daniel Golle, DENG Qingfang, Sean Wang, Matthias Brugger,
AngeloGioacchino Del Regno, Vincent Mailhol, Heiner Kallweit,
Russell King, netdev, linux-kernel, linux-gpio, linux-arm-kernel,
linux-mediatek, linux-can, linux-arm-msm, Bartosz Golaszewski
[-- Attachment #1: Type: text/plain, Size: 794 bytes --]
On 16.06.2025 09:24:06, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
>
> Add an integer return value to mcp251x_write_bits() and use it to
> propagate the one returned by mcp251x_spi_write(). Return that value on
> error in the request() GPIO callback.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Marc Kleine-Budde <mkl@pengutronix.de>
Feel free to mainline the 2 CAN patches via the net-next tree directly.
regards,
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung Nürnberg | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2 4/5] net: can: mcp251x: use new GPIO line value setter callbacks
2025-06-16 7:24 [PATCH v2 0/5] net: use new GPIO line value setter callbacks Bartosz Golaszewski
` (2 preceding siblings ...)
2025-06-16 7:24 ` [PATCH v2 3/5] net: can: mcp251x: propagate the return value of mcp251x_spi_write() Bartosz Golaszewski
@ 2025-06-16 7:24 ` Bartosz Golaszewski
2025-06-16 9:36 ` Vincent Mailhol
2025-06-16 9:57 ` Marc Kleine-Budde
2025-06-16 7:24 ` [PATCH v2 5/5] net: phy: qca807x: " Bartosz Golaszewski
2025-06-18 1:41 ` [PATCH v2 0/5] net: " patchwork-bot+netdevbpf
5 siblings, 2 replies; 14+ messages in thread
From: Bartosz Golaszewski @ 2025-06-16 7:24 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Linus Walleij, Bartosz Golaszewski,
Chester A. Unal, Daniel Golle, DENG Qingfang, Sean Wang,
Matthias Brugger, AngeloGioacchino Del Regno, Marc Kleine-Budde,
Vincent Mailhol, Heiner Kallweit, Russell King
Cc: netdev, linux-kernel, linux-gpio, linux-arm-kernel,
linux-mediatek, linux-can, linux-arm-msm, 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/net/can/spi/mcp251x.c | 26 ++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/drivers/net/can/spi/mcp251x.c b/drivers/net/can/spi/mcp251x.c
index 60b7fd3040d02f114693cf66d61c8a075a32e278..5a95877b7419b4644664b2115c6b43f4b586cf4c 100644
--- a/drivers/net/can/spi/mcp251x.c
+++ b/drivers/net/can/spi/mcp251x.c
@@ -533,29 +533,35 @@ static int mcp251x_gpio_get_multiple(struct gpio_chip *chip,
return 0;
}
-static void mcp251x_gpio_set(struct gpio_chip *chip, unsigned int offset,
- int value)
+static int mcp251x_gpio_set(struct gpio_chip *chip, unsigned int offset,
+ int value)
{
struct mcp251x_priv *priv = gpiochip_get_data(chip);
u8 mask, val;
+ int ret;
mask = BFPCTRL_BFS(offset - MCP251X_GPIO_RX0BF);
val = value ? mask : 0;
mutex_lock(&priv->mcp_lock);
- mcp251x_write_bits(priv->spi, BFPCTRL, mask, val);
+ ret = mcp251x_write_bits(priv->spi, BFPCTRL, mask, val);
mutex_unlock(&priv->mcp_lock);
+ if (ret)
+ return ret;
priv->reg_bfpctrl &= ~mask;
priv->reg_bfpctrl |= val;
+
+ return 0;
}
-static void
+static int
mcp251x_gpio_set_multiple(struct gpio_chip *chip,
unsigned long *maskp, unsigned long *bitsp)
{
struct mcp251x_priv *priv = gpiochip_get_data(chip);
u8 mask, val;
+ int ret;
mask = FIELD_GET(MCP251X_GPIO_OUTPUT_MASK, maskp[0]);
mask = FIELD_PREP(BFPCTRL_BFS_MASK, mask);
@@ -564,14 +570,18 @@ mcp251x_gpio_set_multiple(struct gpio_chip *chip,
val = FIELD_PREP(BFPCTRL_BFS_MASK, val);
if (!mask)
- return;
+ return 0;
mutex_lock(&priv->mcp_lock);
- mcp251x_write_bits(priv->spi, BFPCTRL, mask, val);
+ ret = mcp251x_write_bits(priv->spi, BFPCTRL, mask, val);
mutex_unlock(&priv->mcp_lock);
+ if (ret)
+ return ret;
priv->reg_bfpctrl &= ~mask;
priv->reg_bfpctrl |= val;
+
+ return 0;
}
static void mcp251x_gpio_restore(struct spi_device *spi)
@@ -597,8 +607,8 @@ static int mcp251x_gpio_setup(struct mcp251x_priv *priv)
gpio->get_direction = mcp251x_gpio_get_direction;
gpio->get = mcp251x_gpio_get;
gpio->get_multiple = mcp251x_gpio_get_multiple;
- gpio->set = mcp251x_gpio_set;
- gpio->set_multiple = mcp251x_gpio_set_multiple;
+ gpio->set_rv = mcp251x_gpio_set;
+ gpio->set_multiple_rv = mcp251x_gpio_set_multiple;
gpio->base = -1;
gpio->ngpio = ARRAY_SIZE(mcp251x_gpio_names);
gpio->names = mcp251x_gpio_names;
--
2.48.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v2 4/5] net: can: mcp251x: use new GPIO line value setter callbacks
2025-06-16 7:24 ` [PATCH v2 4/5] net: can: mcp251x: use new GPIO line value setter callbacks Bartosz Golaszewski
@ 2025-06-16 9:36 ` Vincent Mailhol
2025-06-16 9:57 ` Marc Kleine-Budde
1 sibling, 0 replies; 14+ messages in thread
From: Vincent Mailhol @ 2025-06-16 9:36 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: netdev, linux-kernel, linux-gpio, linux-arm-kernel,
linux-mediatek, linux-can, linux-arm-msm, Bartosz Golaszewski,
Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Linus Walleij, Chester A. Unal,
Daniel Golle, DENG Qingfang, Sean Wang, Matthias Brugger,
AngeloGioacchino Del Regno, Marc Kleine-Budde, Heiner Kallweit,
Russell King
On 16/06/2025 at 16:24, 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: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Yours sincerely,
Vincent Mailhol
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 4/5] net: can: mcp251x: use new GPIO line value setter callbacks
2025-06-16 7:24 ` [PATCH v2 4/5] net: can: mcp251x: use new GPIO line value setter callbacks Bartosz Golaszewski
2025-06-16 9:36 ` Vincent Mailhol
@ 2025-06-16 9:57 ` Marc Kleine-Budde
1 sibling, 0 replies; 14+ messages in thread
From: Marc Kleine-Budde @ 2025-06-16 9:57 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Linus Walleij, Chester A. Unal,
Daniel Golle, DENG Qingfang, Sean Wang, Matthias Brugger,
AngeloGioacchino Del Regno, Vincent Mailhol, Heiner Kallweit,
Russell King, netdev, linux-kernel, linux-gpio, linux-arm-kernel,
linux-mediatek, linux-can, linux-arm-msm, Bartosz Golaszewski
[-- Attachment #1: Type: text/plain, Size: 681 bytes --]
On 16.06.2025 09:24:07, 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: Marc Kleine-Budde <mkl@pengutronix.de>
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Embedded Linux | https://www.pengutronix.de |
Vertretung Nürnberg | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH v2 5/5] net: phy: qca807x: use new GPIO line value setter callbacks
2025-06-16 7:24 [PATCH v2 0/5] net: use new GPIO line value setter callbacks Bartosz Golaszewski
` (3 preceding siblings ...)
2025-06-16 7:24 ` [PATCH v2 4/5] net: can: mcp251x: use new GPIO line value setter callbacks Bartosz Golaszewski
@ 2025-06-16 7:24 ` Bartosz Golaszewski
2025-06-16 13:49 ` Andrew Lunn
2025-06-18 1:41 ` [PATCH v2 0/5] net: " patchwork-bot+netdevbpf
5 siblings, 1 reply; 14+ messages in thread
From: Bartosz Golaszewski @ 2025-06-16 7:24 UTC (permalink / raw)
To: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Linus Walleij, Bartosz Golaszewski,
Chester A. Unal, Daniel Golle, DENG Qingfang, Sean Wang,
Matthias Brugger, AngeloGioacchino Del Regno, Marc Kleine-Budde,
Vincent Mailhol, Heiner Kallweit, Russell King
Cc: netdev, linux-kernel, linux-gpio, linux-arm-kernel,
linux-mediatek, linux-can, linux-arm-msm, 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/net/phy/qcom/qca807x.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/net/phy/qcom/qca807x.c b/drivers/net/phy/qcom/qca807x.c
index 1af6b5ead74bf615ad155e396b0ecc6fe5636e8c..6d10ef7e9a8a4d906ea3a7e0d73087e8907be9c4 100644
--- a/drivers/net/phy/qcom/qca807x.c
+++ b/drivers/net/phy/qcom/qca807x.c
@@ -377,7 +377,7 @@ static int qca807x_gpio_get(struct gpio_chip *gc, unsigned int offset)
return FIELD_GET(QCA807X_GPIO_FORCE_MODE_MASK, val);
}
-static void qca807x_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
+static int qca807x_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
{
struct qca807x_gpio_priv *priv = gpiochip_get_data(gc);
u16 reg;
@@ -386,18 +386,19 @@ static void qca807x_gpio_set(struct gpio_chip *gc, unsigned int offset, int valu
reg = QCA807X_MMD7_LED_FORCE_CTRL(offset);
val = phy_read_mmd(priv->phy, MDIO_MMD_AN, reg);
+ if (val < 0)
+ return val;
+
val &= ~QCA807X_GPIO_FORCE_MODE_MASK;
val |= QCA807X_GPIO_FORCE_EN;
val |= FIELD_PREP(QCA807X_GPIO_FORCE_MODE_MASK, value);
- phy_write_mmd(priv->phy, MDIO_MMD_AN, reg, val);
+ return phy_write_mmd(priv->phy, MDIO_MMD_AN, reg, val);
}
static int qca807x_gpio_dir_out(struct gpio_chip *gc, unsigned int offset, int value)
{
- qca807x_gpio_set(gc, offset, value);
-
- return 0;
+ return qca807x_gpio_set(gc, offset, value);
}
static int qca807x_gpio(struct phy_device *phydev)
@@ -425,7 +426,7 @@ static int qca807x_gpio(struct phy_device *phydev)
gc->get_direction = qca807x_gpio_get_direction;
gc->direction_output = qca807x_gpio_dir_out;
gc->get = qca807x_gpio_get;
- gc->set = qca807x_gpio_set;
+ gc->set_rv = qca807x_gpio_set;
return devm_gpiochip_add_data(dev, gc, priv);
}
--
2.48.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH v2 5/5] net: phy: qca807x: use new GPIO line value setter callbacks
2025-06-16 7:24 ` [PATCH v2 5/5] net: phy: qca807x: " Bartosz Golaszewski
@ 2025-06-16 13:49 ` Andrew Lunn
0 siblings, 0 replies; 14+ messages in thread
From: Andrew Lunn @ 2025-06-16 13:49 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: Vladimir Oltean, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Linus Walleij, Chester A. Unal, Daniel Golle,
DENG Qingfang, Sean Wang, Matthias Brugger,
AngeloGioacchino Del Regno, Marc Kleine-Budde, Vincent Mailhol,
Heiner Kallweit, Russell King, netdev, linux-kernel, linux-gpio,
linux-arm-kernel, linux-mediatek, linux-can, linux-arm-msm,
Bartosz Golaszewski
On Mon, Jun 16, 2025 at 09:24:08AM +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: Andrew Lunn <andrew@lunn.ch>
Andrew
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH v2 0/5] net: use new GPIO line value setter callbacks
2025-06-16 7:24 [PATCH v2 0/5] net: use new GPIO line value setter callbacks Bartosz Golaszewski
` (4 preceding siblings ...)
2025-06-16 7:24 ` [PATCH v2 5/5] net: phy: qca807x: " Bartosz Golaszewski
@ 2025-06-18 1:41 ` patchwork-bot+netdevbpf
5 siblings, 0 replies; 14+ messages in thread
From: patchwork-bot+netdevbpf @ 2025-06-18 1:41 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: andrew, olteanv, davem, edumazet, kuba, pabeni, linus.walleij,
chester.a.unal, daniel, dqfext, sean.wang, matthias.bgg,
angelogioacchino.delregno, mkl, mailhol.vincent, hkallweit1,
linux, netdev, linux-kernel, linux-gpio, linux-arm-kernel,
linux-mediatek, linux-can, linux-arm-msm, bartosz.golaszewski
Hello:
This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Mon, 16 Jun 2025 09:24:03 +0200 you 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/net/.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
>
> [...]
Here is the summary with links:
- [v2,1/5] net: dsa: vsc73xx: use new GPIO line value setter callbacks
https://git.kernel.org/netdev/net-next/c/c73832445bf2
- [v2,2/5] net: dsa: mt7530: use new GPIO line value setter callbacks
https://git.kernel.org/netdev/net-next/c/4a03562794a3
- [v2,3/5] net: can: mcp251x: propagate the return value of mcp251x_spi_write()
https://git.kernel.org/netdev/net-next/c/b9e3c7af9e4d
- [v2,4/5] net: can: mcp251x: use new GPIO line value setter callbacks
https://git.kernel.org/netdev/net-next/c/5d31311715b5
- [v2,5/5] net: phy: qca807x: use new GPIO line value setter callbacks
https://git.kernel.org/netdev/net-next/c/dea3be40464a
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 14+ messages in thread