]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
platform/chrome: cros_kbd_led_backlight: Fix build dependencies
authorTzung-Bi Shih <tzungbi@kernel.org>
Mon, 14 Apr 2025 13:24:27 +0000 (21:24 +0800)
committerTzung-Bi Shih <tzungbi@kernel.org>
Tue, 15 Apr 2025 02:39:52 +0000 (02:39 +0000)
ccf395bde6ae ("platform/chrome: cros_ec_proto: Allow to build as module")
allows CROS_EC_PROTO to be a module.

The config is possible to be:
- CONFIG_ACPI=y
- CONFIG_CROS_EC=m
- CONFIG_MFD_CROS_EC_DEV=m
- CONFIG_CROS_EC_PROTO=m
- CONFIG_CROS_KBD_LED_BACKLIGHT=y

As a result:
ld: vmlinux.o: in function `keyboard_led_set_brightness_ec_pwm':
cros_kbd_led_backlight.c:(.text+0x3554e4c): undefined reference to `cros_ec_cmd_xfer_status'
ld: vmlinux.o: in function `keyboard_led_get_brightness_ec_pwm':
cros_kbd_led_backlight.c:(.text+0x3554f41): undefined reference to `cros_ec_cmd_xfer_status'

The built-in code in CROS_KBD_LED_BACKLIGHT can't find symbols defined in
the module CROS_EC_PROTO.

Let A=ACPI (bool), M=MFD_CROS_EC_DEV (tristate), and
K=CROS_KBD_LED_BACKLIGHT (tristate).  The possible values are:

| A | M | choice for K |
------------------------
| y | y | y/m/n        |
| y | m | m/n          |
| y | n | y/m/n        |
| n | y | y/m/n        |
| n | m | m/n          |
| n | n | n            |

Fix the dependencies in the Kconfig.

Reported-by: Randy Dunlap <rdunlap@infradead.org>
Closes: https://lore.kernel.org/chrome-platform/ed8adc69-c505-4108-bf63-92911b0395c7@infradead.org/T/#u
Fixes: ccf395bde6ae ("platform/chrome: cros_ec_proto: Allow to build as module")
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Link: https://lore.kernel.org/r/20250414132427.204078-3-tzungbi@kernel.org
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
drivers/platform/chrome/Kconfig

index 1614b9d3c5c27a4229825b82531a56491c8a82bf..10941ac3730585efd792d6319781e61e93436e8c 100644 (file)
@@ -161,7 +161,8 @@ config CROS_EC_PROTO
 
 config CROS_KBD_LED_BACKLIGHT
        tristate "Backlight LED support for Chrome OS keyboards"
-       depends on LEDS_CLASS && (ACPI || MFD_CROS_EC_DEV)
+       depends on LEDS_CLASS
+       depends on MFD_CROS_EC_DEV || (MFD_CROS_EC_DEV=n && ACPI)
        help
          This option enables support for the keyboard backlight LEDs on
          select Chrome OS systems.