From: Adam Lee Date: Fri, 7 Jun 2013 08:20:08 +0000 (+0800) Subject: thinkpad_acpi: add the ability setting TPACPI_LED_NONE by quirk X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=fcb44e12d38a18f99d22ff66e739bb2f2ac762f0;p=deliverable%2Flinux.git thinkpad_acpi: add the ability setting TPACPI_LED_NONE by quirk Some new Lenovo or ThinkPad laptops don't have EC controllable LEDs, their LED quirks are 0. This patch set led_supported=TPACPI_LED_NONE when quirk equals 0. Signed-off-by: Adam Lee Acked-by: Henrique de Moraes Holschuh Signed-off-by: Matthew Garrett --- diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c index 359c87b3b1b2..03ca6c139f1a 100644 --- a/drivers/platform/x86/thinkpad_acpi.c +++ b/drivers/platform/x86/thinkpad_acpi.c @@ -5296,6 +5296,16 @@ static int __init led_init(struct ibm_init_struct *iibm) led_supported = led_init_detect_mode(); + if (led_supported != TPACPI_LED_NONE) { + useful_leds = tpacpi_check_quirks(led_useful_qtable, + ARRAY_SIZE(led_useful_qtable)); + + if (!useful_leds) { + led_handle = NULL; + led_supported = TPACPI_LED_NONE; + } + } + vdbg_printk(TPACPI_DBG_INIT, "LED commands are %s, mode %d\n", str_supported(led_supported), led_supported); @@ -5309,9 +5319,6 @@ static int __init led_init(struct ibm_init_struct *iibm) return -ENOMEM; } - useful_leds = tpacpi_check_quirks(led_useful_qtable, - ARRAY_SIZE(led_useful_qtable)); - for (i = 0; i < TPACPI_LED_NUMLEDS; i++) { tpacpi_leds[i].led = -1;