Merge branch 'sony-laptop' into release

This commit is contained in:
Len Brown 2009-04-24 01:34:52 -04:00
commit 7f3745ad7a
2 changed files with 21 additions and 7 deletions

View File

@ -1065,6 +1065,7 @@ static int acpi_ec_resume(struct acpi_device *device)
struct acpi_ec *ec = acpi_driver_data(device); struct acpi_ec *ec = acpi_driver_data(device);
/* Enable use of GPE back */ /* Enable use of GPE back */
clear_bit(EC_FLAGS_NO_GPE, &ec->flags); clear_bit(EC_FLAGS_NO_GPE, &ec->flags);
set_bit(EC_FLAGS_GPE_MODE, &ec->flags);
acpi_enable_gpe(NULL, ec->gpe); acpi_enable_gpe(NULL, ec->gpe);
return 0; return 0;
} }

View File

@ -317,7 +317,8 @@ static void sony_laptop_report_input_event(u8 event)
struct input_dev *key_dev = sony_laptop_input.key_dev; struct input_dev *key_dev = sony_laptop_input.key_dev;
struct sony_laptop_keypress kp = { NULL }; struct sony_laptop_keypress kp = { NULL };
if (event == SONYPI_EVENT_FNKEY_RELEASED) { if (event == SONYPI_EVENT_FNKEY_RELEASED ||
event == SONYPI_EVENT_ANYBUTTON_RELEASED) {
/* Nothing, not all VAIOs generate this event */ /* Nothing, not all VAIOs generate this event */
return; return;
} }
@ -905,7 +906,6 @@ static struct sony_nc_event sony_127_events[] = {
{ 0x05, SONYPI_EVENT_ANYBUTTON_RELEASED }, { 0x05, SONYPI_EVENT_ANYBUTTON_RELEASED },
{ 0x86, SONYPI_EVENT_PKEY_P5 }, { 0x86, SONYPI_EVENT_PKEY_P5 },
{ 0x06, SONYPI_EVENT_ANYBUTTON_RELEASED }, { 0x06, SONYPI_EVENT_ANYBUTTON_RELEASED },
{ 0x06, SONYPI_EVENT_ANYBUTTON_RELEASED },
{ 0x87, SONYPI_EVENT_SETTINGKEY_PRESSED }, { 0x87, SONYPI_EVENT_SETTINGKEY_PRESSED },
{ 0x07, SONYPI_EVENT_ANYBUTTON_RELEASED }, { 0x07, SONYPI_EVENT_ANYBUTTON_RELEASED },
{ 0, 0 }, { 0, 0 },
@ -1004,6 +1004,7 @@ static int sony_nc_function_setup(struct acpi_device *device)
sony_call_snc_handle(0x0100, 0, &result); sony_call_snc_handle(0x0100, 0, &result);
sony_call_snc_handle(0x0101, 0, &result); sony_call_snc_handle(0x0101, 0, &result);
sony_call_snc_handle(0x0102, 0x100, &result); sony_call_snc_handle(0x0102, 0x100, &result);
sony_call_snc_handle(0x0127, 0, &result);
return 0; return 0;
} }
@ -1040,7 +1041,7 @@ static int sony_nc_resume(struct acpi_device *device)
/* set the last requested brightness level */ /* set the last requested brightness level */
if (sony_backlight_device && if (sony_backlight_device &&
!sony_backlight_update_status(sony_backlight_device)) sony_backlight_update_status(sony_backlight_device) < 0)
printk(KERN_WARNING DRV_PFX "unable to restore brightness level\n"); printk(KERN_WARNING DRV_PFX "unable to restore brightness level\n");
return 0; return 0;
@ -1102,8 +1103,11 @@ static int sony_nc_setup_wifi_rfkill(struct acpi_device *device)
err = rfkill_register(sony_wifi_rfkill); err = rfkill_register(sony_wifi_rfkill);
if (err) if (err)
rfkill_free(sony_wifi_rfkill); rfkill_free(sony_wifi_rfkill);
else else {
sony_rfkill_devices[SONY_WIFI] = sony_wifi_rfkill; sony_rfkill_devices[SONY_WIFI] = sony_wifi_rfkill;
sony_nc_rfkill_set(sony_wifi_rfkill->data,
RFKILL_STATE_UNBLOCKED);
}
return err; return err;
} }
@ -1124,8 +1128,11 @@ static int sony_nc_setup_bluetooth_rfkill(struct acpi_device *device)
err = rfkill_register(sony_bluetooth_rfkill); err = rfkill_register(sony_bluetooth_rfkill);
if (err) if (err)
rfkill_free(sony_bluetooth_rfkill); rfkill_free(sony_bluetooth_rfkill);
else else {
sony_rfkill_devices[SONY_BLUETOOTH] = sony_bluetooth_rfkill; sony_rfkill_devices[SONY_BLUETOOTH] = sony_bluetooth_rfkill;
sony_nc_rfkill_set(sony_bluetooth_rfkill->data,
RFKILL_STATE_UNBLOCKED);
}
return err; return err;
} }
@ -1145,8 +1152,11 @@ static int sony_nc_setup_wwan_rfkill(struct acpi_device *device)
err = rfkill_register(sony_wwan_rfkill); err = rfkill_register(sony_wwan_rfkill);
if (err) if (err)
rfkill_free(sony_wwan_rfkill); rfkill_free(sony_wwan_rfkill);
else else {
sony_rfkill_devices[SONY_WWAN] = sony_wwan_rfkill; sony_rfkill_devices[SONY_WWAN] = sony_wwan_rfkill;
sony_nc_rfkill_set(sony_wwan_rfkill->data,
RFKILL_STATE_UNBLOCKED);
}
return err; return err;
} }
@ -1166,8 +1176,11 @@ static int sony_nc_setup_wimax_rfkill(struct acpi_device *device)
err = rfkill_register(sony_wimax_rfkill); err = rfkill_register(sony_wimax_rfkill);
if (err) if (err)
rfkill_free(sony_wimax_rfkill); rfkill_free(sony_wimax_rfkill);
else else {
sony_rfkill_devices[SONY_WIMAX] = sony_wimax_rfkill; sony_rfkill_devices[SONY_WIMAX] = sony_wimax_rfkill;
sony_nc_rfkill_set(sony_wimax_rfkill->data,
RFKILL_STATE_UNBLOCKED);
}
return err; return err;
} }