mirror of
https://github.com/torvalds/linux
synced 2024-09-27 06:50:51 +00:00
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>
This commit is contained in:
parent
1d4a3800c7
commit
abfa57e15a
|
@ -246,12 +246,15 @@ static struct workqueue_struct *led_workqueue;
|
||||||
#define ASUS_LED(object, ledname) \
|
#define ASUS_LED(object, ledname) \
|
||||||
static void object##_led_set(struct led_classdev *led_cdev, \
|
static void object##_led_set(struct led_classdev *led_cdev, \
|
||||||
enum led_brightness value); \
|
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 void object##_led_update(struct work_struct *ignored); \
|
||||||
static int object##_led_wk; \
|
static int object##_led_wk; \
|
||||||
static DECLARE_WORK(object##_led_work, object##_led_update); \
|
static DECLARE_WORK(object##_led_work, object##_led_update); \
|
||||||
static struct led_classdev object##_led = { \
|
static struct led_classdev object##_led = { \
|
||||||
.name = "asus::" ledname, \
|
.name = "asus::" ledname, \
|
||||||
.brightness_set = object##_led_set, \
|
.brightness_set = object##_led_set, \
|
||||||
|
.brightness_get = object##_led_get, \
|
||||||
}
|
}
|
||||||
|
|
||||||
ASUS_LED(mled, "mail");
|
ASUS_LED(mled, "mail");
|
||||||
|
@ -399,6 +402,11 @@ static void write_status(acpi_handle handle, int out, int mask)
|
||||||
{ \
|
{ \
|
||||||
int value = object##_led_wk; \
|
int value = object##_led_wk; \
|
||||||
write_status(object##_set_handle, value, (mask)); \
|
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);
|
ASUS_LED_HANDLER(mled, MLED_ON);
|
||||||
|
|
Loading…
Reference in a new issue