[PATCH v2 0/3] MIPS: BCM47XX: convert buttons to software nodes

From: Dmitry Torokhov

Date: Mon Jul 13 2026 - 17:58:42 EST


This series converts the legacy gpio-keys platform device on BCM47XX
boards to use software nodes and static properties.

To do this properly without relying on legacy name-based matching
(which is being removed from gpiolib), we introduce and register
software nodes for the underlying GPIO controllers (BCMA and SSB)
and reference them in the button properties.

The first two patches add the software nodes to bcma-gpio and
ssb-gpio respectively. The third patch performs the conversion
for the BCM47XX buttons.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
---
As Johannes mentioned on v1 this best should go through MIPS tree.

Changes in v2:
- Restrict software node registration to host SoC devices in both ssb
and bcma drivers to avoid conflicts when secondary buses (e.g. PCI
wireless cards) are present
- Fix dangling pointer panic in buttons driver by allocating software
node references on the heap instead of stack
- Link to v1: https://patch.msgid.link/20260704-b4-bcm47xx-swnode-v1-0-730d59340237@xxxxxxxxx

---
Dmitry Torokhov (3):
bcma: gpio: Add and register software node for GPIO controller
ssb: gpio: Add and register software node for GPIO controller
MIPS: BCM47XX: Convert buttons to software nodes

arch/mips/bcm47xx/buttons.c | 442 +++++++++++++++++++++++++-------------------
drivers/bcma/driver_gpio.c | 43 ++++-
drivers/ssb/driver_gpio.c | 48 ++++-
include/linux/bcma/bcma.h | 2 +
include/linux/ssb/ssb.h | 2 +
5 files changed, 337 insertions(+), 200 deletions(-)
---
base-commit: 49362394dad7df66c274c867a271394c10ca2bb8
change-id: 20260627-b4-bcm47xx-swnode-99836e552166

Thanks.

--
Dmitry