* [PATCH 0/4] ARM: sa1100: convert gpio-keys to software nodes
@ 2026-07-07 3:13 Dmitry Torokhov
2026-07-07 3:14 ` [PATCH 1/4] gpio: sa1100: register software node for GPIO controller Dmitry Torokhov
` (4 more replies)
0 siblings, 5 replies; 7+ messages in thread
From: Dmitry Torokhov @ 2026-07-07 3:13 UTC (permalink / raw)
To: Arnd Bergmann, Russell King, Linus Walleij, Bartosz Golaszewski,
soc
Cc: linux-arm-kernel, linux-kernel, linux-gpio
This patch series converts StrongARM SA-1100 evaluation and handheld
boards (Assabet, Collie, and HP iPAQ H3xxx) from legacy platform data
(struct gpio_keys_platform_data) to static software nodes and device
properties.
The first patch registers a shared software node for the SA-1100 SoC
GPIO controller in drivers/gpio/gpio-sa1100.c, attaching its firmware
node directly to the GPIO chip prior to registration. The subsequent
patches convert the board setup files to define static software nodes
referencing the SoC GPIO controller directly, allowing pin bindings to
be resolved via the attached firmware node without relying on name
matching.
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
Dmitry Torokhov (4):
gpio: sa1100: register software node for GPIO controller
ARM: sa1100: assabet: convert gpio-keys to use software nodes
ARM: sa1100: collie: convert gpio-keys to use software nodes
ARM: sa1100: h3xxx: convert gpio-keys to use software nodes
arch/arm/mach-sa1100/assabet.c | 75 ++++++++++++++++++++++++++++--------------
arch/arm/mach-sa1100/collie.c | 74 +++++++++++++++++++++++++----------------
arch/arm/mach-sa1100/generic.h | 3 ++
arch/arm/mach-sa1100/h3xxx.c | 69 +++++++++++++++++++++++---------------
drivers/gpio/gpio-sa1100.c | 10 +++++-
5 files changed, 150 insertions(+), 81 deletions(-)
---
base-commit: 8e9685d3c41c35dd1b37df70d854137abcb2fbac
change-id: 20260705-sa1100-swnode-a2eebe973ebb
Thanks.
--
Dmitry
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/4] gpio: sa1100: register software node for GPIO controller
2026-07-07 3:13 [PATCH 0/4] ARM: sa1100: convert gpio-keys to software nodes Dmitry Torokhov
@ 2026-07-07 3:14 ` Dmitry Torokhov
2026-07-07 3:14 ` [PATCH 2/4] ARM: sa1100: assabet: convert gpio-keys to use software nodes Dmitry Torokhov
` (3 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Dmitry Torokhov @ 2026-07-07 3:14 UTC (permalink / raw)
To: Arnd Bergmann, Russell King, Linus Walleij, Bartosz Golaszewski,
soc
Cc: linux-arm-kernel, linux-kernel, linux-gpio
Define and register a static software node (sa1100_gpiochip_node) for the
SA-1100 GPIO controller during sa1100_init_gpio(). Assign its firmware node
directly to the GPIO chip prior to calling gpiochip_add_data().
This allows StrongARM SA-1100 board setup files to reference the SoC GPIO
controller in property entries when converting legacy platform data to
software nodes, resolving pin bindings directly via the attached firmware
node without relying on name matching.
Assisted-by: Antigravity:gemini-3.5-flash
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
arch/arm/mach-sa1100/generic.h | 3 +++
drivers/gpio/gpio-sa1100.c | 10 +++++++++-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-sa1100/generic.h b/arch/arm/mach-sa1100/generic.h
index 5fe0d4fc0f8c..3cfe3b647711 100644
--- a/arch/arm/mach-sa1100/generic.h
+++ b/arch/arm/mach-sa1100/generic.h
@@ -48,6 +48,9 @@ int sa11xx_clk_init(void);
struct gpiod_lookup_table;
void sa11x0_register_pcmcia(int socket, struct gpiod_lookup_table *);
+struct software_node;
+extern const struct software_node sa1100_gpiochip_node;
+
struct fixed_voltage_config;
struct regulator_consumer_supply;
int sa11x0_register_fixed_regulator(int n, struct fixed_voltage_config *cfg,
diff --git a/drivers/gpio/gpio-sa1100.c b/drivers/gpio/gpio-sa1100.c
index 1938ffa2f4f3..ffa73dd3b982 100644
--- a/drivers/gpio/gpio-sa1100.c
+++ b/drivers/gpio/gpio-sa1100.c
@@ -13,6 +13,11 @@
#include <mach/hardware.h>
#include <mach/irqs.h>
#include <mach/generic.h>
+#include <linux/property.h>
+
+const struct software_node sa1100_gpiochip_node = {
+ .name = "sa1100-gpio",
+};
struct sa1100_gpio_chip {
struct gpio_chip chip;
@@ -317,6 +322,7 @@ static const int sa1100_gpio_irqs[] __initconst = {
void __init sa1100_init_gpio(void)
{
struct sa1100_gpio_chip *sgc = &sa1100_gpio_chip;
+ struct gpio_chip *gc = &sgc->chip;
int i;
/* clear all GPIO edge detects */
@@ -324,7 +330,9 @@ void __init sa1100_init_gpio(void)
writel_relaxed(0, sgc->membase + R_GRER);
writel_relaxed(-1, sgc->membase + R_GEDR);
- gpiochip_add_data(&sa1100_gpio_chip.chip, NULL);
+ software_node_register(&sa1100_gpiochip_node);
+ gc->fwnode = software_node_fwnode(&sa1100_gpiochip_node);
+ gpiochip_add_data(gc, NULL);
sa1100_gpio_irqdomain = irq_domain_create_simple(NULL,
28, IRQ_GPIO0,
--
2.55.0.rc2.803.g1fd1e6609c-goog
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/4] ARM: sa1100: assabet: convert gpio-keys to use software nodes
2026-07-07 3:13 [PATCH 0/4] ARM: sa1100: convert gpio-keys to software nodes Dmitry Torokhov
2026-07-07 3:14 ` [PATCH 1/4] gpio: sa1100: register software node for GPIO controller Dmitry Torokhov
@ 2026-07-07 3:14 ` Dmitry Torokhov
2026-07-07 3:14 ` [PATCH 3/4] ARM: sa1100: collie: " Dmitry Torokhov
` (2 subsequent siblings)
4 siblings, 0 replies; 7+ messages in thread
From: Dmitry Torokhov @ 2026-07-07 3:14 UTC (permalink / raw)
To: Arnd Bergmann, Russell King, Linus Walleij, Bartosz Golaszewski,
soc
Cc: linux-arm-kernel, linux-kernel, linux-gpio
Convert the legacy gpio-keys platform device on the StrongARM SA-1100
Assabet evaluation board to use software nodes and device properties.
This allows describing the buttons and their GPIO bindings via software
nodes so that platform data support can eventually be removed from the
gpio-keys driver.
Define static software nodes for the gpio-keys device and the two button
child nodes at file scope, referencing the SA-1100 GPIO controller node
directly. In assabet_init(), register the software node group and use
platform_device_register_full() to register the gpio-keys device.
Assisted-by: Antigravity:gemini-3.5-flash
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
arch/arm/mach-sa1100/assabet.c | 75 ++++++++++++++++++++++++++++--------------
1 file changed, 50 insertions(+), 25 deletions(-)
diff --git a/arch/arm/mach-sa1100/assabet.c b/arch/arm/mach-sa1100/assabet.c
index 2b833aa0212b..b001f0b6a3fa 100644
--- a/arch/arm/mach-sa1100/assabet.c
+++ b/arch/arm/mach-sa1100/assabet.c
@@ -13,8 +13,10 @@
#include <linux/gpio/driver.h>
#include <linux/gpio/gpio-reg.h>
#include <linux/gpio/machine.h>
-#include <linux/gpio_keys.h>
+#include <linux/gpio/property.h>
+#include <linux/input.h>
#include <linux/ioport.h>
+#include <linux/property.h>
#include <linux/platform_data/sa11x0-serial.h>
#include <linux/regulator/fixed.h>
#include <linux/regulator/machine.h>
@@ -467,28 +469,53 @@ static const struct gpio_led_platform_data assabet_leds_pdata __initconst = {
.leds = assabet_leds,
};
-static struct gpio_keys_button assabet_keys_buttons[] = {
- {
- .gpio = 0,
- .irq = IRQ_GPIO0,
- .desc = "gpio0",
- .wakeup = 1,
- .can_disable = 1,
- .debounce_interval = 5,
- }, {
- .gpio = 1,
- .irq = IRQ_GPIO1,
- .desc = "gpio1",
- .wakeup = 1,
- .can_disable = 1,
- .debounce_interval = 5,
- },
+static const struct software_node assabet_gpio_keys_node = {
+ .name = "assabet-gpio-keys",
+};
+
+static const struct property_entry assabet_key0_props[] = {
+ PROPERTY_ENTRY_U32("linux,code", KEY_RESERVED),
+ PROPERTY_ENTRY_GPIO("gpios", &sa1100_gpiochip_node,
+ 0, GPIO_ACTIVE_HIGH),
+ PROPERTY_ENTRY_STRING("label", "gpio0"),
+ PROPERTY_ENTRY_BOOL("wakeup-source"),
+ PROPERTY_ENTRY_BOOL("linux,can-disable"),
+ PROPERTY_ENTRY_U32("debounce-interval", 5),
+ { }
+};
+
+static const struct software_node assabet_key0_node = {
+ .parent = &assabet_gpio_keys_node,
+ .properties = assabet_key0_props,
+};
+
+static const struct property_entry assabet_key1_props[] = {
+ PROPERTY_ENTRY_U32("linux,code", KEY_RESERVED),
+ PROPERTY_ENTRY_GPIO("gpios", &sa1100_gpiochip_node,
+ 1, GPIO_ACTIVE_HIGH),
+ PROPERTY_ENTRY_STRING("label", "gpio1"),
+ PROPERTY_ENTRY_BOOL("wakeup-source"),
+ PROPERTY_ENTRY_BOOL("linux,can-disable"),
+ PROPERTY_ENTRY_U32("debounce-interval", 5),
+ { }
+};
+
+static const struct software_node assabet_key1_node = {
+ .parent = &assabet_gpio_keys_node,
+ .properties = assabet_key1_props,
+};
+
+static const struct software_node * const assabet_gpio_keys_swnodes[] __initconst = {
+ &assabet_gpio_keys_node,
+ &assabet_key0_node,
+ &assabet_key1_node,
+ NULL
};
-static const struct gpio_keys_platform_data assabet_keys_pdata = {
- .buttons = assabet_keys_buttons,
- .nbuttons = ARRAY_SIZE(assabet_keys_buttons),
- .rep = 0,
+static const struct platform_device_info assabet_gpio_keys_dev_info __initconst = {
+ .name = "gpio-keys",
+ .id = PLATFORM_DEVID_NONE,
+ .swnode = &assabet_gpio_keys_node,
};
static struct gpiod_lookup_table assabet_uart1_gpio_table = {
@@ -571,10 +598,8 @@ static void __init assabet_init(void)
}
- platform_device_register_resndata(NULL, "gpio-keys", 0,
- NULL, 0,
- &assabet_keys_pdata,
- sizeof(assabet_keys_pdata));
+ software_node_register_node_group(assabet_gpio_keys_swnodes);
+ platform_device_register_full(&assabet_gpio_keys_dev_info);
gpiod_add_lookup_table(&assabet_leds_gpio_table);
gpio_led_register_device(-1, &assabet_leds_pdata);
--
2.55.0.rc2.803.g1fd1e6609c-goog
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/4] ARM: sa1100: collie: convert gpio-keys to use software nodes
2026-07-07 3:13 [PATCH 0/4] ARM: sa1100: convert gpio-keys to software nodes Dmitry Torokhov
2026-07-07 3:14 ` [PATCH 1/4] gpio: sa1100: register software node for GPIO controller Dmitry Torokhov
2026-07-07 3:14 ` [PATCH 2/4] ARM: sa1100: assabet: convert gpio-keys to use software nodes Dmitry Torokhov
@ 2026-07-07 3:14 ` Dmitry Torokhov
2026-07-07 3:14 ` [PATCH 4/4] ARM: sa1100: h3xxx: " Dmitry Torokhov
2026-07-07 8:08 ` [PATCH 0/4] ARM: sa1100: convert gpio-keys to " Bartosz Golaszewski
4 siblings, 0 replies; 7+ messages in thread
From: Dmitry Torokhov @ 2026-07-07 3:14 UTC (permalink / raw)
To: Arnd Bergmann, Russell King, Linus Walleij, Bartosz Golaszewski,
soc
Cc: linux-arm-kernel, linux-kernel, linux-gpio
Convert the legacy gpio-keys platform device on the StrongARM SA-1100
Collie (Sharp Zaurus SL-5500) board to use software nodes and device
properties. This helps progress the removal of platform data support
from the gpio-keys driver.
Define static software nodes for the gpio-keys device and the power and
sync button child nodes at file scope, referencing the SA-1100 GPIO
controller node directly and specifying EV_PWR input type. In
collie_init(), register the software node group and use
platform_device_register_full() to register the gpio-keys device.
Assisted-by: Antigravity:gemini-3.5-flash
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
arch/arm/mach-sa1100/collie.c | 74 +++++++++++++++++++++++++++----------------
1 file changed, 46 insertions(+), 28 deletions(-)
diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c
index 466d755d5702..53df6eb9ce83 100644
--- a/arch/arm/mach-sa1100/collie.c
+++ b/arch/arm/mach-sa1100/collie.c
@@ -27,10 +27,11 @@
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
#include <linux/timer.h>
-#include <linux/gpio_keys.h>
+#include <linux/gpio/property.h>
#include <linux/input.h>
#include <linux/gpio.h>
#include <linux/gpio/machine.h>
+#include <linux/property.h>
#include <linux/power/gpio-charger.h>
#include <video/sa1100fb.h>
@@ -228,43 +229,57 @@ struct platform_device collie_locomo_device = {
.resource = locomo_resources,
};
-static struct gpio_keys_button collie_gpio_keys[] = {
- {
- .type = EV_PWR,
- .code = KEY_RESERVED,
- .gpio = COLLIE_GPIO_ON_KEY,
- .desc = "On key",
- .wakeup = 1,
- .active_low = 1,
- },
- {
- .type = EV_PWR,
- .code = KEY_WAKEUP,
- .gpio = COLLIE_GPIO_WAKEUP,
- .desc = "Sync",
- .wakeup = 1,
- .active_low = 1,
- },
+static const struct software_node collie_gpio_keys_node = {
+ .name = "collie-gpio-keys",
};
-static struct gpio_keys_platform_data collie_gpio_keys_data = {
- .buttons = collie_gpio_keys,
- .nbuttons = ARRAY_SIZE(collie_gpio_keys),
+static const struct property_entry collie_on_key_props[] = {
+ PROPERTY_ENTRY_U32("linux,code", KEY_RESERVED),
+ PROPERTY_ENTRY_GPIO("gpios", &sa1100_gpiochip_node,
+ COLLIE_GPIO_ON_KEY, GPIO_ACTIVE_LOW),
+ PROPERTY_ENTRY_STRING("label", "On key"),
+ PROPERTY_ENTRY_U32("linux,input-type", EV_PWR),
+ PROPERTY_ENTRY_BOOL("wakeup-source"),
+ { }
};
-static struct platform_device collie_gpio_keys_device = {
- .name = "gpio-keys",
- .id = -1,
- .dev = {
- .platform_data = &collie_gpio_keys_data,
- },
+static const struct software_node collie_on_key_node = {
+ .parent = &collie_gpio_keys_node,
+ .properties = collie_on_key_props,
+};
+
+static const struct property_entry collie_wakeup_key_props[] = {
+ PROPERTY_ENTRY_U32("linux,code", KEY_WAKEUP),
+ PROPERTY_ENTRY_GPIO("gpios", &sa1100_gpiochip_node,
+ COLLIE_GPIO_WAKEUP, GPIO_ACTIVE_LOW),
+ PROPERTY_ENTRY_STRING("label", "Sync"),
+ PROPERTY_ENTRY_U32("linux,input-type", EV_PWR),
+ PROPERTY_ENTRY_BOOL("wakeup-source"),
+ { }
+};
+
+static const struct software_node collie_wakeup_key_node = {
+ .parent = &collie_gpio_keys_node,
+ .properties = collie_wakeup_key_props,
+};
+
+static const struct software_node * const collie_gpio_keys_swnodes[] __initconst = {
+ &collie_gpio_keys_node,
+ &collie_on_key_node,
+ &collie_wakeup_key_node,
+ NULL
+};
+
+static const struct platform_device_info collie_gpio_keys_dev_info __initconst = {
+ .name = "gpio-keys",
+ .id = PLATFORM_DEVID_NONE,
+ .swnode = &collie_gpio_keys_node,
};
static struct platform_device *devices[] __initdata = {
&collie_locomo_device,
&colliescoop_device,
&collie_power_device,
- &collie_gpio_keys_device,
};
static struct mtd_partition collie_partitions[] = {
@@ -384,6 +399,9 @@ static void __init collie_init(void)
printk(KERN_WARNING "collie: Unable to register LoCoMo device\n");
}
+ software_node_register_node_group(collie_gpio_keys_swnodes);
+ platform_device_register_full(&collie_gpio_keys_dev_info);
+
sa11x0_register_lcd(&collie_lcd_info);
sa11x0_register_mtd(&collie_flash_data, collie_flash_resources,
ARRAY_SIZE(collie_flash_resources));
--
2.55.0.rc2.803.g1fd1e6609c-goog
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 4/4] ARM: sa1100: h3xxx: convert gpio-keys to use software nodes
2026-07-07 3:13 [PATCH 0/4] ARM: sa1100: convert gpio-keys to software nodes Dmitry Torokhov
` (2 preceding siblings ...)
2026-07-07 3:14 ` [PATCH 3/4] ARM: sa1100: collie: " Dmitry Torokhov
@ 2026-07-07 3:14 ` Dmitry Torokhov
2026-07-07 8:08 ` [PATCH 0/4] ARM: sa1100: convert gpio-keys to " Bartosz Golaszewski
4 siblings, 0 replies; 7+ messages in thread
From: Dmitry Torokhov @ 2026-07-07 3:14 UTC (permalink / raw)
To: Arnd Bergmann, Russell King, Linus Walleij, Bartosz Golaszewski,
soc
Cc: linux-arm-kernel, linux-kernel, linux-gpio
Convert the legacy gpio-keys platform device on the StrongARM SA-1100
HP iPAQ H3xxx series boards to use software nodes and device properties.
This helps progress the removal of platform data support from the
gpio-keys driver.
Define static software nodes for the gpio-keys device and the power and
action button child nodes at file scope, referencing the SA-1100 GPIO
controller node directly. In h3xxx_mach_init(), register the software node
group and use platform_device_register_full() to register the device.
Assisted-by: Antigravity:gemini-3.5-flash
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
arch/arm/mach-sa1100/h3xxx.c | 69 +++++++++++++++++++++++++++-----------------
1 file changed, 42 insertions(+), 27 deletions(-)
diff --git a/arch/arm/mach-sa1100/h3xxx.c b/arch/arm/mach-sa1100/h3xxx.c
index d685f03f51f3..13c0aa4c0bfa 100644
--- a/arch/arm/mach-sa1100/h3xxx.c
+++ b/arch/arm/mach-sa1100/h3xxx.c
@@ -8,9 +8,10 @@
#include <linux/kernel.h>
#include <linux/gpio/machine.h>
+#include <linux/gpio/property.h>
#include <linux/gpio.h>
-#include <linux/gpio_keys.h>
#include <linux/input.h>
+#include <linux/property.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
#include <linux/platform_data/gpio-htc-egpio.h>
@@ -168,35 +169,48 @@ static struct platform_device h3xxx_egpio = {
* GPIO keys
*/
-static struct gpio_keys_button h3xxx_button_table[] = {
- {
- .code = KEY_POWER,
- .gpio = H3XXX_GPIO_PWR_BUTTON,
- .desc = "Power Button",
- .active_low = 1,
- .type = EV_KEY,
- .wakeup = 1,
- }, {
- .code = KEY_ENTER,
- .gpio = H3XXX_GPIO_ACTION_BUTTON,
- .active_low = 1,
- .desc = "Action button",
- .type = EV_KEY,
- .wakeup = 0,
- },
+static const struct software_node h3xxx_gpio_keys_node = {
+ .name = "h3xxx-gpio-keys",
};
-static struct gpio_keys_platform_data h3xxx_keys_data = {
- .buttons = h3xxx_button_table,
- .nbuttons = ARRAY_SIZE(h3xxx_button_table),
+static const struct property_entry h3xxx_power_key_props[] = {
+ PROPERTY_ENTRY_U32("linux,code", KEY_POWER),
+ PROPERTY_ENTRY_GPIO("gpios", &sa1100_gpiochip_node,
+ H3XXX_GPIO_PWR_BUTTON, GPIO_ACTIVE_LOW),
+ PROPERTY_ENTRY_STRING("label", "Power Button"),
+ PROPERTY_ENTRY_BOOL("wakeup-source"),
+ { }
};
-static struct platform_device h3xxx_keys = {
- .name = "gpio-keys",
- .id = -1,
- .dev = {
- .platform_data = &h3xxx_keys_data,
- },
+static const struct software_node h3xxx_power_key_node = {
+ .parent = &h3xxx_gpio_keys_node,
+ .properties = h3xxx_power_key_props,
+};
+
+static const struct property_entry h3xxx_action_key_props[] = {
+ PROPERTY_ENTRY_U32("linux,code", KEY_ENTER),
+ PROPERTY_ENTRY_GPIO("gpios", &sa1100_gpiochip_node,
+ H3XXX_GPIO_ACTION_BUTTON, GPIO_ACTIVE_LOW),
+ PROPERTY_ENTRY_STRING("label", "Action button"),
+ { }
+};
+
+static const struct software_node h3xxx_action_key_node = {
+ .parent = &h3xxx_gpio_keys_node,
+ .properties = h3xxx_action_key_props,
+};
+
+static const struct software_node * const h3xxx_gpio_keys_swnodes[] __initconst = {
+ &h3xxx_gpio_keys_node,
+ &h3xxx_power_key_node,
+ &h3xxx_action_key_node,
+ NULL
+};
+
+static const struct platform_device_info h3xxx_gpio_keys_dev_info __initconst = {
+ .name = "gpio-keys",
+ .id = PLATFORM_DEVID_NONE,
+ .swnode = &h3xxx_gpio_keys_node,
};
static struct resource h3xxx_micro_resources[] = {
@@ -214,7 +228,6 @@ struct platform_device h3xxx_micro_asic = {
static struct platform_device *h3xxx_devices[] = {
&h3xxx_egpio,
- &h3xxx_keys,
&h3xxx_micro_asic,
};
@@ -240,6 +253,8 @@ void __init h3xxx_mach_init(void)
sa1100_register_uart_fns(&h3xxx_port_fns);
sa11x0_register_mtd(&h3xxx_flash_data, &h3xxx_flash_resource, 1);
platform_add_devices(h3xxx_devices, ARRAY_SIZE(h3xxx_devices));
+ software_node_register_node_group(h3xxx_gpio_keys_swnodes);
+ platform_device_register_full(&h3xxx_gpio_keys_dev_info);
}
static struct map_desc h3600_io_desc[] __initdata = {
--
2.55.0.rc2.803.g1fd1e6609c-goog
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 0/4] ARM: sa1100: convert gpio-keys to software nodes
2026-07-07 3:13 [PATCH 0/4] ARM: sa1100: convert gpio-keys to software nodes Dmitry Torokhov
` (3 preceding siblings ...)
2026-07-07 3:14 ` [PATCH 4/4] ARM: sa1100: h3xxx: " Dmitry Torokhov
@ 2026-07-07 8:08 ` Bartosz Golaszewski
2026-07-07 8:14 ` Arnd Bergmann
4 siblings, 1 reply; 7+ messages in thread
From: Bartosz Golaszewski @ 2026-07-07 8:08 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: linux-arm-kernel, linux-kernel, linux-gpio, Arnd Bergmann,
Russell King, Linus Walleij, Bartosz Golaszewski, soc
On Tue, 7 Jul 2026 05:13:59 +0200, Dmitry Torokhov
<dmitry.torokhov@gmail.com> said:
> This patch series converts StrongARM SA-1100 evaluation and handheld
> boards (Assabet, Collie, and HP iPAQ H3xxx) from legacy platform data
> (struct gpio_keys_platform_data) to static software nodes and device
> properties.
>
> The first patch registers a shared software node for the SA-1100 SoC
> GPIO controller in drivers/gpio/gpio-sa1100.c, attaching its firmware
> node directly to the GPIO chip prior to registration. The subsequent
> patches convert the board setup files to define static software nodes
> referencing the SoC GPIO controller directly, allowing pin bindings to
> be resolved via the attached firmware node without relying on name
> matching.
>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---
Will this board not die? Anyway:
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 0/4] ARM: sa1100: convert gpio-keys to software nodes
2026-07-07 8:08 ` [PATCH 0/4] ARM: sa1100: convert gpio-keys to " Bartosz Golaszewski
@ 2026-07-07 8:14 ` Arnd Bergmann
0 siblings, 0 replies; 7+ messages in thread
From: Arnd Bergmann @ 2026-07-07 8:14 UTC (permalink / raw)
To: Bartosz Golaszewski, Dmitry Torokhov
Cc: linux-arm-kernel, linux-kernel, open list:GPIO SUBSYSTEM,
Russell King, Linus Walleij, soc
On Tue, Jul 7, 2026, at 10:08, Bartosz Golaszewski wrote:
> On Tue, 7 Jul 2026 05:13:59 +0200, Dmitry Torokhov
> <dmitry.torokhov@gmail.com> said:
>> This patch series converts StrongARM SA-1100 evaluation and handheld
>> boards (Assabet, Collie, and HP iPAQ H3xxx) from legacy platform data
>> (struct gpio_keys_platform_data) to static software nodes and device
>> properties.
>>
>> The first patch registers a shared software node for the SA-1100 SoC
>> GPIO controller in drivers/gpio/gpio-sa1100.c, attaching its firmware
>> node directly to the GPIO chip prior to registration. The subsequent
>> patches convert the board setup files to define static software nodes
>> referencing the SoC GPIO controller directly, allowing pin bindings to
>> be resolved via the attached firmware node without relying on name
>> matching.
>>
>> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
> Will this board not die?
I have proposed removing almost all remaining non-DT board files
including this one after the next LTS kernel, i.e. in the
7.4 merge window, see
https://lore.kernel.org/all/20260701212353.2196041-15-arnd@kernel.org/
Arnd
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-07-07 8:15 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-07 3:13 [PATCH 0/4] ARM: sa1100: convert gpio-keys to software nodes Dmitry Torokhov
2026-07-07 3:14 ` [PATCH 1/4] gpio: sa1100: register software node for GPIO controller Dmitry Torokhov
2026-07-07 3:14 ` [PATCH 2/4] ARM: sa1100: assabet: convert gpio-keys to use software nodes Dmitry Torokhov
2026-07-07 3:14 ` [PATCH 3/4] ARM: sa1100: collie: " Dmitry Torokhov
2026-07-07 3:14 ` [PATCH 4/4] ARM: sa1100: h3xxx: " Dmitry Torokhov
2026-07-07 8:08 ` [PATCH 0/4] ARM: sa1100: convert gpio-keys to " Bartosz Golaszewski
2026-07-07 8:14 ` Arnd Bergmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox