[PATCH 1/2] MIPS/input: Move RB532 button to GPIO descriptors
Bartosz Golaszewski
brgl at kernel.org
Mon Mar 30 02:12:00 PDT 2026
On Sat, 28 Mar 2026 16:55:47 +0100, Linus Walleij <linusw at kernel.org> said:
> Convert the Mikrotik RouterBoard RB532 to use GPIO descriptors
> by defining a software node for the GPIO chip, then register
> the button platform device with full info passing the GPIO
> as a device property.
>
> This can be used as a base to move more of the RB532 devices
> over to passing GPIOs using device properties.
>
> Use the GPIO_ACTIVE_LOW flag and drop the inversion in the
> rb532_button_pressed() function.
>
> Signed-off-by: Linus Walleij <linusw at kernel.org>
> ---
> arch/mips/rb532/devices.c | 47 +++++++++++++++++++++++++++++++++------
> drivers/input/misc/rb532_button.c | 35 ++++++++++++++++++++++++-----
> 2 files changed, 69 insertions(+), 13 deletions(-)
>
> diff --git a/arch/mips/rb532/devices.c b/arch/mips/rb532/devices.c
> index 4f027efbf27b..3f56d9feb73a 100644
> --- a/arch/mips/rb532/devices.c
> +++ b/arch/mips/rb532/devices.c
> @@ -16,8 +16,10 @@
> #include <linux/mtd/mtd.h>
> #include <linux/gpio.h>
> #include <linux/gpio/machine.h>
> +#include <linux/gpio/property.h>
> #include <linux/gpio_keys.h>
> #include <linux/input.h>
> +#include <linux/property.h>
> #include <linux/serial_8250.h>
>
> #include <asm/bootinfo.h>
> @@ -38,6 +40,10 @@ extern unsigned int idt_cpu_freq;
>
> static struct mpmc_device dev3;
>
> +static const struct software_node rb532_gpio0_node = {
> + .name = "gpio0",
> +};
> +
Hi Linus!
I'm seeing patches from you lately using the pattern of "dangling software"
nodes that's documented under Documentation/driver-api/gpio/board.rst as the
recommended approach but which I have been trying to come up with a better
alternetive for and eventually phase out. I will post a series providing a way
to automatically assign software nodes as secondary firmware nodes for devices
and this series will also remove the offending bits from the docs.
As you're dealing with a board file here: could you assign the firmware node
you get after registering this software node to the target GPIO controller
under arch/mips/rb532/gpio.c so that the firmware node lookup can work by
matching the address rather than falling back to the label string matching?
Thanks,
Bartosz
More information about the linux-mtd
mailing list