lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240819045813.2154642-1-dmitry.torokhov@gmail.com>
Date: Sun, 18 Aug 2024 21:57:57 -0700
From: Dmitry Torokhov <dmitry.torokhov@...il.com>
To: Arnd Bergmann <arnd@...db.de>,
	Mark Brown <broonie@...nel.org>,
	Krzysztof Kozlowski <krzk@...nel.org>
Cc: linux-input@...r.kernel.org,
	devicetree@...r.kernel.org,
	linux-kernel@...r.kernel.org,
	linux-arm-kernel@...ts.infradead.org,
	linux-samsung-soc@...r.kernel.org,
	patches@...nsource.cirrus.com
Subject: [PATCH 00/14] Remove support for platform data from samsung keypad

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ