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

Dmitry Torokhov <[email protected]> Mon, 13 Jul 2026 14:58:21 -0700
Newsgroups org.kernel.vger.linux-mips,org.kernel.vger.linux-kernel,org.kernel.vger.linux-wireless
Message-ID <[email protected]>
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 <[email protected]>
---
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/[email protected]

---
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