[PATCH v3 00/10] Remove support for platform data from samsung keypad
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2026-07-12 02:13:15
Also in:
linux-arm-kernel, linux-devicetree, linux-samsung-soc, lkml
Hi, This series converts the Samsung keypad driver and the Cragganmore 6410 board to generic device properties, allowing the removal of legacy platform data and GPIO lookup tables. We rework the Samsung keypad driver to stop using platform data, utilizing a new compact matrix keypad binding. To support this on the Cragganmore board, we add infrastructure to associate software nodes with Samsung gpio_chips, and add software node propagation support to the wm831x MFD core to route DVS GPIO to the PMIC regulator. Finally, we convert all peripherals on the Cragganmore board (including keypad, GPIO keys, PMIC, WM1250, SPI0, basic-mmio-gpio, and LEDs) to software properties. This allows us to eliminate all legacy GPIO lookup tables and fixes incorrect GPIO chip names from previous conversions. Mark, it would be great if you could give this a spin on Cragganmore. The majority of changes are in arch/board code, with a couple of input matches and one for MFD. If everyone agrees maybe we can merge it all through the soc tree? Thanks! Changes in v3: - Fixed legacy property handling regression in the keypad driver by separating compact and verbose binding paths - Removed redundant registration of crag6410_mmgpio_node from mach-crag6410.c - Removed dead S3C64XX_SETUP_KEYPAD Kconfig symbol definition and selection - Fixed missing newline in pr_err() message in mach-crag6410.c - Redesigned PMIC DVS support to keep regulator driver changes minimal (untouched) and only use software nodes for GPIO routing via MFD core - Link to v2: https://patch.msgid.link/20260708-samsung-kp-v2-0-3c6ed4c9b3b6@gmail.com Changes in v2: - Patches 1-8 of v1 were merged into mainline, dropping them from this series - Rebased remaining patches (9-14 of v1) onto latest next - Resolved conflicts in mach-crag6410.c - Removed redundant "out of memory" error messages from the keypad driver - Added an infrastructure patch to register and attach software nodes for Samsung gpio_chips - Converted basic-mmio-gpio and LEDs on Cragganmore 6410 to software properties in a new separate patch - Addressed DT bindings feedback on the compact binding patch - Fixed proximity switch event type for GPIO keys - Added support for software nodes in wm831x regulator driver - Converted PMIC DVS on Cragganmore 6410 to software properties using the new driver support - Removed legacy DVS platform data fields and cleaned up driver fallback. --- Dmitry Torokhov (10): dt-bindings: input: samsung,s3c6410-keypad: introduce compact binding Input: samsung-keypad - handle compact binding ARM: s3c: register and attach software nodes for Samsung gpio_chips ARM: s3c: crag6410: switch keypad device to software properties Input: samsung-keypad - remove support for platform data ARM: s3c: crag6410: use software nodes/properties to set up GPIO keys mfd: wm831x: support software nodes for DCDC regulators ARM: s3c: crag6410: convert PMIC DVS GPIO to software properties ARM: s3c: crag6410: convert basic-mmio-gpio and LEDs to software properties ARM: s3c: crag6410: convert remaining GPIO lookup tables to property entries .../bindings/input/samsung,s3c6410-keypad.yaml | 53 ++- arch/arm/mach-s3c/Kconfig | 5 - arch/arm/mach-s3c/Kconfig.s3c64xx | 7 - arch/arm/mach-s3c/Makefile.s3c64xx | 1 - arch/arm/mach-s3c/devs.c | 62 ---- arch/arm/mach-s3c/devs.h | 2 - arch/arm/mach-s3c/gpio-core.h | 3 + arch/arm/mach-s3c/gpio-samsung-s3c64xx.h | 5 + arch/arm/mach-s3c/gpio-samsung.c | 72 +++- arch/arm/mach-s3c/keypad.h | 27 -- arch/arm/mach-s3c/mach-crag6410.c | 369 +++++++++++++-------- arch/arm/mach-s3c/setup-keypad-s3c64xx.c | 20 -- drivers/input/keyboard/samsung-keypad.c | 200 +++++------ drivers/mfd/wm831x-core.c | 47 ++- include/linux/input/samsung-keypad.h | 39 --- include/linux/mfd/wm831x/pdata.h | 2 + 16 files changed, 472 insertions(+), 442 deletions(-) --- base-commit: 8e9685d3c41c35dd1b37df70d854137abcb2fbac change-id: 20240819-samsung-kp-ceedd4f2f720 Thanks. -- Dmitry