Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 185061
b: refs/heads/master
c: a539df5
h: refs/heads/master
i:
  185059: 462cc24
v: v3
  • Loading branch information
Corentin Chary committed Feb 28, 2010
1 parent 7a0c628 commit 74de09c
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7f607d71065b6b089f59b78b54144c3fb93ad629
refs/heads/master: a539df5e1548751e352990c518e88af50e6111b8
29 changes: 27 additions & 2 deletions trunk/drivers/platform/x86/asus-laptop.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,10 @@ MODULE_PARM_DESC(bluetooth_status, "Set the wireless status on boot "
/*
* Some events we use, same for all Asus
*/
#define ATKD_BR_UP 0x10
#define ATKD_BR_DOWN 0x20
#define ATKD_BR_UP 0x10 // (event & ~ATKD_BR_UP) = brightness level
#define ATKD_BR_DOWN 0x20 // (event & ~ATKD_BR_DOWN) = britghness level
#define ATKD_BR_MIN ATKD_BR_UP
#define ATKD_BR_MAX (ATKD_BR_DOWN | 0xF) // 0x2f
#define ATKD_LCD_ON 0x33
#define ATKD_LCD_OFF 0x34

Expand Down Expand Up @@ -245,11 +247,13 @@ struct asus_laptop {
};

static const struct key_entry asus_keymap[] = {
/* Lenovo SL Specific keycodes */
{KE_KEY, 0x02, { KEY_SCREENLOCK } },
{KE_KEY, 0x05, { KEY_WLAN } },
{KE_KEY, 0x08, { KEY_F13 } },
{KE_KEY, 0x17, { KEY_ZOOM } },
{KE_KEY, 0x1f, { KEY_BATTERY } },
/* End of Lenovo SL Specific keycodes */
{KE_KEY, 0x30, { KEY_VOLUMEUP } },
{KE_KEY, 0x31, { KEY_VOLUMEDOWN } },
{KE_KEY, 0x32, { KEY_MUTE } },
Expand Down Expand Up @@ -626,6 +630,16 @@ static struct backlight_ops asusbl_ops = {
.update_status = update_bl_status,
};

static int asus_backlight_notify(struct asus_laptop *asus)
{
struct backlight_device *bd = asus->backlight_device;
int old = bd->props.brightness;

backlight_force_update(bd, BACKLIGHT_UPDATE_HOTKEY);

return old;
}

static int asus_backlight_init(struct asus_laptop *asus)
{
struct backlight_device *bd;
Expand Down Expand Up @@ -656,6 +670,7 @@ static void asus_backlight_exit(struct asus_laptop *asus)
{
if (asus->backlight_device)
backlight_device_unregister(asus->backlight_device);
asus->backlight_device = NULL;
}

/*
Expand Down Expand Up @@ -1121,6 +1136,16 @@ static void asus_acpi_notify(struct acpi_device *device, u32 event)
dev_name(&asus->device->dev), event,
count);

/* Brightness events are special */
if (event >= ATKD_BR_MIN && event <= ATKD_BR_MAX) {

/* Ignore them completely if the acpi video driver is used */
if (asus->backlight_device != NULL) {
/* Update the backlight device. */
asus_backlight_notify(asus);
}
return ;
}
asus_input_notify(asus, event);
}

Expand Down

0 comments on commit 74de09c

Please sign in to comment.