aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform/x86/sony-laptop.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2009-05-19 00:08:20 -0400
committerDavid S. Miller <davem@davemloft.net>2009-05-19 00:08:20 -0400
commitbb803cfbecb03a0cf8dc7e1864f18dda6631af00 (patch)
tree6c0989693bea6f50cfa5c6bb14f52ec19668def3 /drivers/platform/x86/sony-laptop.c
parent3878fb6fdbceecca20b15748f807340854220f06 (diff)
parent511e11e396dc596825ce04d53d7f6d579404bc01 (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/scsi/fcoe/fcoe.c
Diffstat (limited to 'drivers/platform/x86/sony-laptop.c')
-rw-r--r--drivers/platform/x86/sony-laptop.c27
1 files changed, 20 insertions, 7 deletions
diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
index 184e99e72684..f1963b05175b 100644
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -317,7 +317,8 @@ static void sony_laptop_report_input_event(u8 event)
317 struct input_dev *key_dev = sony_laptop_input.key_dev; 317 struct input_dev *key_dev = sony_laptop_input.key_dev;
318 struct sony_laptop_keypress kp = { NULL }; 318 struct sony_laptop_keypress kp = { NULL };
319 319
320 if (event == SONYPI_EVENT_FNKEY_RELEASED) { 320 if (event == SONYPI_EVENT_FNKEY_RELEASED ||
321 event == SONYPI_EVENT_ANYBUTTON_RELEASED) {
321 /* Nothing, not all VAIOs generate this event */ 322 /* Nothing, not all VAIOs generate this event */
322 return; 323 return;
323 } 324 }
@@ -905,7 +906,6 @@ static struct sony_nc_event sony_127_events[] = {
905 { 0x05, SONYPI_EVENT_ANYBUTTON_RELEASED }, 906 { 0x05, SONYPI_EVENT_ANYBUTTON_RELEASED },
906 { 0x86, SONYPI_EVENT_PKEY_P5 }, 907 { 0x86, SONYPI_EVENT_PKEY_P5 },
907 { 0x06, SONYPI_EVENT_ANYBUTTON_RELEASED }, 908 { 0x06, SONYPI_EVENT_ANYBUTTON_RELEASED },
908 { 0x06, SONYPI_EVENT_ANYBUTTON_RELEASED },
909 { 0x87, SONYPI_EVENT_SETTINGKEY_PRESSED }, 909 { 0x87, SONYPI_EVENT_SETTINGKEY_PRESSED },
910 { 0x07, SONYPI_EVENT_ANYBUTTON_RELEASED }, 910 { 0x07, SONYPI_EVENT_ANYBUTTON_RELEASED },
911 { 0, 0 }, 911 { 0, 0 },
@@ -1004,6 +1004,7 @@ static int sony_nc_function_setup(struct acpi_device *device)
1004 sony_call_snc_handle(0x0100, 0, &result); 1004 sony_call_snc_handle(0x0100, 0, &result);
1005 sony_call_snc_handle(0x0101, 0, &result); 1005 sony_call_snc_handle(0x0101, 0, &result);
1006 sony_call_snc_handle(0x0102, 0x100, &result); 1006 sony_call_snc_handle(0x0102, 0x100, &result);
1007 sony_call_snc_handle(0x0127, 0, &result);
1007 1008
1008 return 0; 1009 return 0;
1009} 1010}
@@ -1040,7 +1041,7 @@ static int sony_nc_resume(struct acpi_device *device)
1040 1041
1041 /* set the last requested brightness level */ 1042 /* set the last requested brightness level */
1042 if (sony_backlight_device && 1043 if (sony_backlight_device &&
1043 !sony_backlight_update_status(sony_backlight_device)) 1044 sony_backlight_update_status(sony_backlight_device) < 0)
1044 printk(KERN_WARNING DRV_PFX "unable to restore brightness level\n"); 1045 printk(KERN_WARNING DRV_PFX "unable to restore brightness level\n");
1045 1046
1046 return 0; 1047 return 0;
@@ -1101,8 +1102,11 @@ static int sony_nc_setup_wifi_rfkill(struct acpi_device *device)
1101 err = rfkill_register(sony_wifi_rfkill); 1102 err = rfkill_register(sony_wifi_rfkill);
1102 if (err) 1103 if (err)
1103 rfkill_free(sony_wifi_rfkill); 1104 rfkill_free(sony_wifi_rfkill);
1104 else 1105 else {
1105 sony_rfkill_devices[SONY_WIFI] = sony_wifi_rfkill; 1106 sony_rfkill_devices[SONY_WIFI] = sony_wifi_rfkill;
1107 sony_nc_rfkill_set(sony_wifi_rfkill->data,
1108 RFKILL_STATE_UNBLOCKED);
1109 }
1106 return err; 1110 return err;
1107} 1111}
1108 1112
@@ -1122,8 +1126,11 @@ static int sony_nc_setup_bluetooth_rfkill(struct acpi_device *device)
1122 err = rfkill_register(sony_bluetooth_rfkill); 1126 err = rfkill_register(sony_bluetooth_rfkill);
1123 if (err) 1127 if (err)
1124 rfkill_free(sony_bluetooth_rfkill); 1128 rfkill_free(sony_bluetooth_rfkill);
1125 else 1129 else {
1126 sony_rfkill_devices[SONY_BLUETOOTH] = sony_bluetooth_rfkill; 1130 sony_rfkill_devices[SONY_BLUETOOTH] = sony_bluetooth_rfkill;
1131 sony_nc_rfkill_set(sony_bluetooth_rfkill->data,
1132 RFKILL_STATE_UNBLOCKED);
1133 }
1127 return err; 1134 return err;
1128} 1135}
1129 1136
@@ -1142,8 +1149,11 @@ static int sony_nc_setup_wwan_rfkill(struct acpi_device *device)
1142 err = rfkill_register(sony_wwan_rfkill); 1149 err = rfkill_register(sony_wwan_rfkill);
1143 if (err) 1150 if (err)
1144 rfkill_free(sony_wwan_rfkill); 1151 rfkill_free(sony_wwan_rfkill);
1145 else 1152 else {
1146 sony_rfkill_devices[SONY_WWAN] = sony_wwan_rfkill; 1153 sony_rfkill_devices[SONY_WWAN] = sony_wwan_rfkill;
1154 sony_nc_rfkill_set(sony_wwan_rfkill->data,
1155 RFKILL_STATE_UNBLOCKED);
1156 }
1147 return err; 1157 return err;
1148} 1158}
1149 1159
@@ -1162,8 +1172,11 @@ static int sony_nc_setup_wimax_rfkill(struct acpi_device *device)
1162 err = rfkill_register(sony_wimax_rfkill); 1172 err = rfkill_register(sony_wimax_rfkill);
1163 if (err) 1173 if (err)
1164 rfkill_free(sony_wimax_rfkill); 1174 rfkill_free(sony_wimax_rfkill);
1165 else 1175 else {
1166 sony_rfkill_devices[SONY_WIMAX] = sony_wimax_rfkill; 1176 sony_rfkill_devices[SONY_WIMAX] = sony_wimax_rfkill;
1177 sony_nc_rfkill_set(sony_wimax_rfkill->data,
1178 RFKILL_STATE_UNBLOCKED);
1179 }
1167 return err; 1180 return err;
1168} 1181}
1169 1182