[PATCH] pwm: Rename GPIO set_rv callback back to its original name

Geert Uytterhoeven posted 1 patch 1 month, 3 weeks ago
drivers/pwm/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] pwm: Rename GPIO set_rv callback back to its original name
Posted by Geert Uytterhoeven 1 month, 3 weeks ago
As of commit d9d87d90cc0b10cd ("treewide: rename GPIO set callbacks back
to their original names"), the .set_rv() callback no longer exists:

    drivers/pwm/core.c: In function ‘__pwmchip_add’:
    drivers/pwm/core.c:2514:26: error: ‘struct gpio_chip’ has no member named ‘set_rv’
     2514 |                         .set_rv = pwm_gpio_set,
	  |                          ^~~~~~
    drivers/pwm/core.c:2514:35: error: initialization of ‘int (*)(struct gpio_chip *, unsigned int)’ from incompatible pointer type ‘int (*)(struct gpio_chip *, unsigned int,  int)’ [-Werror=incompatible-pointer-types]
     2514 |                         .set_rv = pwm_gpio_set,
	  |                                   ^~~~~~~~~~~~
    drivers/pwm/core.c:2514:35: note: (near initialization for ‘(anonymous).direction_input’)

Fixes: 1c84bb7fc0ad5841 ("pwm: Provide a gpio device for waveform drivers")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
Probably to be folded into the original commit, when pwm/for-next is
rebased to v6.17-rc1.
---
 drivers/pwm/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
index b05186b9569eba29..ec4112e6209a4c77 100644
--- a/drivers/pwm/core.c
+++ b/drivers/pwm/core.c
@@ -2511,7 +2511,7 @@ int __pwmchip_add(struct pwm_chip *chip, struct module *owner)
 			.request = pwm_gpio_request,
 			.free = pwm_gpio_free,
 			.get_direction = pwm_gpio_get_direction,
-			.set_rv = pwm_gpio_set,
+			.set = pwm_gpio_set,
 			.base = -1,
 			.ngpio = chip->npwm,
 			.can_sleep = true,
-- 
2.43.0

Re: [PATCH] pwm: Rename GPIO set_rv callback back to its original name
Posted by Uwe Kleine-König 1 month, 3 weeks ago
On Tue, Aug 12, 2025 at 10:14:59AM +0200, Geert Uytterhoeven wrote:
> As of commit d9d87d90cc0b10cd ("treewide: rename GPIO set callbacks back
> to their original names"), the .set_rv() callback no longer exists:
> 
>     drivers/pwm/core.c: In function ‘__pwmchip_add’:
>     drivers/pwm/core.c:2514:26: error: ‘struct gpio_chip’ has no member named ‘set_rv’
>      2514 |                         .set_rv = pwm_gpio_set,
> 	  |                          ^~~~~~
>     drivers/pwm/core.c:2514:35: error: initialization of ‘int (*)(struct gpio_chip *, unsigned int)’ from incompatible pointer type ‘int (*)(struct gpio_chip *, unsigned int,  int)’ [-Werror=incompatible-pointer-types]
>      2514 |                         .set_rv = pwm_gpio_set,
> 	  |                                   ^~~~~~~~~~~~
>     drivers/pwm/core.c:2514:35: note: (near initialization for ‘(anonymous).direction_input’)
> 
> Fixes: 1c84bb7fc0ad5841 ("pwm: Provide a gpio device for waveform drivers")
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> ---
> Probably to be folded into the original commit, when pwm/for-next is
> rebased to v6.17-rc1.

That's what I did, before seeing your patch. Note that the Fixes line
isn't accurate, because it only gets wrong when it's merged in a tree
that contains d9d87d90cc0b ("treewide: rename GPIO set callbacks back to
their original names"). I don't know in which tree you found the two
commits together (I think Stephen fixed it for next?), but then
technically the merge commit would be at fault.

Best regards
Uwe
Re: [PATCH] pwm: Rename GPIO set_rv callback back to its original name
Posted by Geert Uytterhoeven 1 month, 3 weeks ago
Hi Uwe,

On Tue, 12 Aug 2025 at 12:44, Uwe Kleine-König <ukleinek@kernel.org> wrote:
> On Tue, Aug 12, 2025 at 10:14:59AM +0200, Geert Uytterhoeven wrote:
> > As of commit d9d87d90cc0b10cd ("treewide: rename GPIO set callbacks back
> > to their original names"), the .set_rv() callback no longer exists:
> >
> >     drivers/pwm/core.c: In function ‘__pwmchip_add’:
> >     drivers/pwm/core.c:2514:26: error: ‘struct gpio_chip’ has no member named ‘set_rv’
> >      2514 |                         .set_rv = pwm_gpio_set,
> >         |                          ^~~~~~
> >     drivers/pwm/core.c:2514:35: error: initialization of ‘int (*)(struct gpio_chip *, unsigned int)’ from incompatible pointer type ‘int (*)(struct gpio_chip *, unsigned int,  int)’ [-Werror=incompatible-pointer-types]
> >      2514 |                         .set_rv = pwm_gpio_set,
> >         |                                   ^~~~~~~~~~~~
> >     drivers/pwm/core.c:2514:35: note: (near initialization for ‘(anonymous).direction_input’)
> >
> > Fixes: 1c84bb7fc0ad5841 ("pwm: Provide a gpio device for waveform drivers")
> > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> > ---
> > Probably to be folded into the original commit, when pwm/for-next is
> > rebased to v6.17-rc1.
>
> That's what I did, before seeing your patch. Note that the Fixes line
> isn't accurate, because it only gets wrong when it's merged in a tree
> that contains d9d87d90cc0b ("treewide: rename GPIO set callbacks back to
> their original names"). I don't know in which tree you found the two
> commits together (I think Stephen fixed it for next?), but then

I found it while preparing today's renesas-drivers release.

> technically the merge commit would be at fault.

Stephen indeed fixed it in today's linux-next release (which happened
after I encountered the issue), which is also the first linux-next release
that contains both commits.

Gr{oetje,eeting}s,

                        Geert


--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds