Hi, This series attempts to rework samsumg=keypad driver to stop using platform data and instead rely on generic device properties only. The first 8 patches are general cleanup/facelift patches. The 9th patch introduces alternative binding that is more compact that the original one, which makes it more suitable for use in legacy (non DT) boards with static device properties. Note that the "new" binding is the standard binding for matrix keypads. Patch #10 implements the new binding in the driver, #11 converts the only user of platform data in the mainline tree to the static device properties, and #12 drops support for platform data from the driver. Patches #13 and #14 are "bonus" converting the rest of crag6410 to use software nodes/properties to describe GPIO keys, LEDs and other peripherals. Note that I believe they fix and issue with recent conversion to GPIO lookup tables - the names of gpiochip structures I think are "GP<N>" ("GPK", "GPL", etc) and not "GPIO<N>". Mark, you said you are using this board, it would be great if you could give this a spin. Thanks! Dmitry Torokhov (14): Input: samsung-keypad - switch to using devm_clk_get_prepared() Input: samsung-keypad - do not set input device's parent explicitly Input: samsung-keypad - do not combine memory allocation checks Input: samsung-keypad - use struct_size() helper Input: samsung-keypad - use devm to disable runtime PM Input: samsung-keypad - use guard notation to acquire mutex Input: samsung-keypad - use per-chip parameters Input: samsung-keypad - use BIT() and GENMASK() where appropriate dt-bindings: input: samsung,s3c6410-keypad: introduce compact binding Input: samsung-keypad - handle compact binding 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 ARM: s3c: crag6410 - convert GPIO lookup tables to property entries .../input/samsung,s3c6410-keypad.yaml | 57 +++- arch/arm/mach-s3c/Kconfig | 5 - arch/arm/mach-s3c/Kconfig.s3c64xx | 1 - 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-samsung-s3c64xx.h | 5 + arch/arm/mach-s3c/gpio-samsung.c | 35 ++ arch/arm/mach-s3c/keypad.h | 27 -- arch/arm/mach-s3c/mach-crag6410.c | 242 ++++++++----- arch/arm/mach-s3c/setup-keypad-s3c64xx.c | 20 -- drivers/input/keyboard/samsung-keypad.c | 318 ++++++++---------- include/linux/input/samsung-keypad.h | 39 --- 13 files changed, 398 insertions(+), 416 deletions(-) delete mode 100644 arch/arm/mach-s3c/keypad.h delete mode 100644 arch/arm/mach-s3c/setup-keypad-s3c64xx.c delete mode 100644 include/linux/input/samsung-keypad.h -- Dmitry