Lines 731-737
Link Here
|
731 |
lcd_blank(FB_BLANK_POWERDOWN); |
731 |
lcd_blank(FB_BLANK_POWERDOWN); |
732 |
} |
732 |
} |
733 |
|
733 |
|
734 |
acpi_bus_generate_event(hotk->device, event, |
734 |
acpi_bus_generate_proc_event(hotk->device, event, |
735 |
hotk->event_count[event % 128]++); |
735 |
hotk->event_count[event % 128]++); |
736 |
|
736 |
|
737 |
return; |
737 |
return; |
Lines 1074-1085
Link Here
|
1074 |
} |
1074 |
} |
1075 |
|
1075 |
|
1076 |
#define ASUS_LED_UNREGISTER(object) \ |
1076 |
#define ASUS_LED_UNREGISTER(object) \ |
1077 |
if(object##_led.class_dev \ |
|
|
1078 |
&& !IS_ERR(object##_led.class_dev)) \ |
1079 |
led_classdev_unregister(&object##_led) |
1077 |
led_classdev_unregister(&object##_led) |
1080 |
|
1078 |
|
1081 |
static void asus_led_exit(void) |
1079 |
static void asus_led_exit(void) |
1082 |
{ |
1080 |
{ |
|
|
1081 |
destroy_workqueue(led_workqueue); |
1083 |
ASUS_LED_UNREGISTER(mled); |
1082 |
ASUS_LED_UNREGISTER(mled); |
1084 |
ASUS_LED_UNREGISTER(tled); |
1083 |
ASUS_LED_UNREGISTER(tled); |
1085 |
ASUS_LED_UNREGISTER(pled); |
1084 |
ASUS_LED_UNREGISTER(pled); |
Lines 1143-1171
Link Here
|
1143 |
|
1142 |
|
1144 |
rv = ASUS_LED_REGISTER(mled, dev); |
1143 |
rv = ASUS_LED_REGISTER(mled, dev); |
1145 |
if (rv) |
1144 |
if (rv) |
1146 |
return rv; |
1145 |
goto out; |
1147 |
|
1146 |
|
1148 |
rv = ASUS_LED_REGISTER(tled, dev); |
1147 |
rv = ASUS_LED_REGISTER(tled, dev); |
1149 |
if (rv) |
1148 |
if (rv) |
1150 |
return rv; |
1149 |
goto out1; |
1151 |
|
1150 |
|
1152 |
rv = ASUS_LED_REGISTER(rled, dev); |
1151 |
rv = ASUS_LED_REGISTER(rled, dev); |
1153 |
if (rv) |
1152 |
if (rv) |
1154 |
return rv; |
1153 |
goto out2; |
1155 |
|
1154 |
|
1156 |
rv = ASUS_LED_REGISTER(pled, dev); |
1155 |
rv = ASUS_LED_REGISTER(pled, dev); |
1157 |
if (rv) |
1156 |
if (rv) |
1158 |
return rv; |
1157 |
goto out3; |
1159 |
|
1158 |
|
1160 |
rv = ASUS_LED_REGISTER(gled, dev); |
1159 |
rv = ASUS_LED_REGISTER(gled, dev); |
1161 |
if (rv) |
1160 |
if (rv) |
1162 |
return rv; |
1161 |
goto out4; |
1163 |
|
1162 |
|
1164 |
led_workqueue = create_singlethread_workqueue("led_workqueue"); |
1163 |
led_workqueue = create_singlethread_workqueue("led_workqueue"); |
1165 |
if (!led_workqueue) |
1164 |
if (!led_workqueue) |
1166 |
return -ENOMEM; |
1165 |
goto out5; |
1167 |
|
1166 |
|
1168 |
return 0; |
1167 |
return 0; |
|
|
1168 |
|
1169 |
out5: |
1170 |
rv = -ENOMEM; |
1171 |
ASUS_LED_UNREGISTER(gled); |
1172 |
out4: |
1173 |
ASUS_LED_UNREGISTER(pled); |
1174 |
out3: |
1175 |
ASUS_LED_UNREGISTER(rled); |
1176 |
out2: |
1177 |
ASUS_LED_UNREGISTER(tled); |
1178 |
out1: |
1179 |
ASUS_LED_UNREGISTER(mled); |
1180 |
out: |
1181 |
return rv; |
1182 |
|
1169 |
} |
1183 |
} |
1170 |
|
1184 |
|
1171 |
static int __init asus_laptop_init(void) |
1185 |
static int __init asus_laptop_init(void) |