[PATCH 2/5] platform/chrome: cros_kbd_led_backlight: Pass keyboard_led as parameter
From: Thomas Weißschuh
Date: Sat Apr 04 2026 - 03:56:21 EST
Make the code simpler to read by passing the 'struct keyboard_led' as
a parameter to the 'init' callbacks instead of relying on the platform
device driver data.
Signed-off-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx>
---
drivers/platform/chrome/cros_kbd_led_backlight.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/platform/chrome/cros_kbd_led_backlight.c b/drivers/platform/chrome/cros_kbd_led_backlight.c
index 39e98e4b9ce6..cca1ed0e00bd 100644
--- a/drivers/platform/chrome/cros_kbd_led_backlight.c
+++ b/drivers/platform/chrome/cros_kbd_led_backlight.c
@@ -36,7 +36,7 @@ struct keyboard_led {
* See struct led_classdev in include/linux/leds.h for more details.
*/
struct keyboard_led_drvdata {
- int (*init)(struct platform_device *pdev);
+ int (*init)(struct platform_device *pdev, struct keyboard_led *keyboard_led);
enum led_brightness (*brightness_get)(struct led_classdev *led_cdev);
@@ -89,7 +89,8 @@ keyboard_led_get_brightness_acpi(struct led_classdev *cdev)
return brightness;
}
-static int keyboard_led_init_acpi(struct platform_device *pdev)
+static int keyboard_led_init_acpi(struct platform_device *pdev,
+ struct keyboard_led *keyboard_led)
{
acpi_handle handle;
acpi_status status;
@@ -116,11 +117,11 @@ static const struct keyboard_led_drvdata keyboard_led_drvdata_acpi = {
#endif /* CONFIG_ACPI */
#if IS_ENABLED(CONFIG_MFD_CROS_EC_DEV)
-static int keyboard_led_init_ec_pwm_mfd(struct platform_device *pdev)
+static int keyboard_led_init_ec_pwm_mfd(struct platform_device *pdev,
+ struct keyboard_led *keyboard_led)
{
struct cros_ec_dev *ec_dev = dev_get_drvdata(pdev->dev.parent);
struct cros_ec_device *cros_ec = ec_dev->ec_dev;
- struct keyboard_led *keyboard_led = platform_get_drvdata(pdev);
keyboard_led->ec = cros_ec;
@@ -198,10 +199,9 @@ static int keyboard_led_probe(struct platform_device *pdev)
keyboard_led = devm_kzalloc(&pdev->dev, sizeof(*keyboard_led), GFP_KERNEL);
if (!keyboard_led)
return -ENOMEM;
- platform_set_drvdata(pdev, keyboard_led);
if (drvdata->init) {
- err = drvdata->init(pdev);
+ err = drvdata->init(pdev, keyboard_led);
if (err)
return err;
}
--
2.53.0