diff options
author | Corentin Chary <corentincj@iksaif.net> | 2009-08-28 12:56:47 +0000 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2009-08-28 15:21:12 -0400 |
commit | abfa57e15acaa6e1ec567c250e5212bc55d79e43 (patch) | |
tree | 381ebd9e3a14f50bec0f31d967f16580140a5274 | |
parent | 1d4a3800c764d111d67462a14589ed1611b2f55e (diff) | |
download | linux-abfa57e15acaa6e1ec567c250e5212bc55d79e43.tar.gz linux-abfa57e15acaa6e1ec567c250e5212bc55d79e43.tar.bz2 linux-abfa57e15acaa6e1ec567c250e5212bc55d79e43.zip |
asus-laptop: Add *_led_get() functions
Add support for getting led brightness directly from
the hardware. Currently we don't need it, but it is needed
to support keyboard backlight/led.
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
-rw-r--r-- | drivers/platform/x86/asus-laptop.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/platform/x86/asus-laptop.c b/drivers/platform/x86/asus-laptop.c index 23449508d86b..88cc9a1045b4 100644 --- a/drivers/platform/x86/asus-laptop.c +++ b/drivers/platform/x86/asus-laptop.c @@ -246,12 +246,15 @@ static struct workqueue_struct *led_workqueue; #define ASUS_LED(object, ledname) \ static void object##_led_set(struct led_classdev *led_cdev, \ enum led_brightness value); \ + static enum led_brightness object##_led_get( \ + struct led_classdev *led_cdev); \ static void object##_led_update(struct work_struct *ignored); \ static int object##_led_wk; \ static DECLARE_WORK(object##_led_work, object##_led_update); \ static struct led_classdev object##_led = { \ .name = "asus::" ledname, \ .brightness_set = object##_led_set, \ + .brightness_get = object##_led_get, \ } ASUS_LED(mled, "mail"); @@ -399,6 +402,11 @@ static void write_status(acpi_handle handle, int out, int mask) { \ int value = object##_led_wk; \ write_status(object##_set_handle, value, (mask)); \ + } \ + static enum led_brightness object##_led_get( \ + struct led_classdev *led_cdev) \ + { \ + return led_cdev->brightness; \ } ASUS_LED_HANDLER(mled, MLED_ON); |