All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/4] cros_kbd_led_backlight: allow binding through cros_ec mfd device
@ 2024-05-26 18:17 Thomas Weißschuh
  2024-05-26 18:17 ` [PATCH v3 1/4] leds: class: warn about name collisions earlier Thomas Weißschuh
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: Thomas Weißschuh @ 2024-05-26 18:17 UTC (permalink / raw)
  To: Lee Jones, Benson Leung, Guenter Roeck, Tzung-Bi Shih,
	Pavel Machek
  Cc: chrome-platform, linux-kernel, Dustin Howett, Mario Limonciello,
	linux-leds, Rajas Paranjpe, Thomas Weißschuh

Extend the cros_ec MFD device to also load cros_kbd_led_backlight
when the EC reports EC_FEATURE_PWM_KEYB.
As the driver can now be probed multiple times, some preparation in the
LED core is necessary to avoid name collisions.

Patch 1 is a general cleanup for the LED core.
Patch 2 modifies the LED core to skip the default collision handling.
Patch 3 adds the new probing logic to cros_kbd_led_backlight.
Patch 4 wires up the driver to the cros_ec mfd devices.

The helper keyboard_led_is_mfd_device is a bit iffy.
But using match data doesn't work.

* driver_data from platform_device_id is overwritten by the mfd platform data
* Setting the driver_data in drivers/mfd/cros_ec_dev.c would expose the
internals of cros_kbd_led_backlight

Tested on a Framework 13 AMD, Firmware 3.05, and a Jinlon Chromebook.

To: Lee Jones <lee@kernel.org>
To: Benson Leung <bleung@chromium.org>
To: Guenter Roeck <groeck@chromium.org>
To: Tzung-Bi Shih <tzungbi@kernel.org>
To: Pavel Machek <pavel@ucw.cz>
Cc: chrome-platform@lists.linux.dev
Cc: linux-kernel@vger.kernel.org
Cc: Dustin Howett <dustin@howett.net>
Cc: Mario Limonciello <mario.limonciello@amd.com>
Cc: linux-leds@vger.kernel.org
Cc: Rajas Paranjpe <paranjperajas@gmail.com>
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>

Changes in v3:
- Avoid probing multiple times (Confirmed by Rajas)
- Add Kconfig dependency on MFD_CROS_EC_DEV
- Link to v2: https://lore.kernel.org/r/20240511-cros_ec-kbd-led-framework-v2-0-b20c48109e46@weissschuh.net

Changes in v2:
- Fix build with CONFIG_MFD_CROS_EC_DEV=n (kernel test robot)
- Split out mfd registration into own commit (Lee)
- Simplify keyboard_led_is_mfd_device() with mfd_get_cell()
- Link to v1: https://lore.kernel.org/r/20240505-cros_ec-kbd-led-framework-v1-1-bfcca69013d2@weissschuh.net

---
Thomas Weißschuh (4):
      leds: class: warn about name collisions earlier
      leds: add flag to avoid automatic renaming of led devices
      platform/chrome: cros_kbd_led_backlight: allow binding through mfd device
      mfd: cros_ec: Register keyboard backlight subdevice

 drivers/leds/led-class.c                         |  9 +++---
 drivers/mfd/cros_ec_dev.c                        |  9 ++++++
 drivers/platform/chrome/Kconfig                  |  2 +-
 drivers/platform/chrome/cros_kbd_led_backlight.c | 40 ++++++++++++++++++++++--
 include/linux/leds.h                             |  1 +
 5 files changed, 54 insertions(+), 7 deletions(-)
---
base-commit: 6fbf71854e2ddea7c99397772fbbb3783bfe15b5
change-id: 20240505-cros_ec-kbd-led-framework-7e2e831bc79c

Best regards,
-- 
Thomas Weißschuh <linux@weissschuh.net>


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2024-07-09  9:25 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-26 18:17 [PATCH v3 0/4] cros_kbd_led_backlight: allow binding through cros_ec mfd device Thomas Weißschuh
2024-05-26 18:17 ` [PATCH v3 1/4] leds: class: warn about name collisions earlier Thomas Weißschuh
2024-05-26 18:17 ` [PATCH v3 2/4] leds: add flag to avoid automatic renaming of led devices Thomas Weißschuh
2024-05-26 18:17 ` [PATCH v3 3/4] platform/chrome: cros_kbd_led_backlight: allow binding through mfd device Thomas Weißschuh
2024-05-28  5:37   ` Tzung-Bi Shih
2024-05-28  5:41     ` Thomas Weißschuh
2024-05-28  6:53       ` Tzung-Bi Shih
2024-06-03  1:57   ` Tzung-Bi Shih
2024-06-13 14:34     ` Lee Jones
2024-06-14  2:39       ` Tzung-Bi Shih
2024-05-26 18:17 ` [PATCH v3 4/4] mfd: cros_ec: Register keyboard backlight subdevice Thomas Weißschuh
2024-05-31 15:35 ` [PATCH v3 0/4] cros_kbd_led_backlight: allow binding through cros_ec mfd device Lee Jones
2024-05-31 15:49   ` Thomas Weißschuh
2024-05-31 15:53     ` Lee Jones
2024-05-31 15:59       ` Thomas Weißschuh
2024-06-03  1:54         ` Tzung-Bi Shih
2024-07-09  9:25 ` [GIT PULL] Immutable branch between MFD, LEDs and Platform due for the v6.11 merge window[GIT PULL] Immutable branch between MFD, LEDs and Platform due for the v6.11 merge window Lee Jones

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.