Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 195891 | Differences between
and this patch

Collapse All | Expand All

(-)acpi4asus-0.41.orig/driver/asus-laptop.c (-9 / +23 lines)
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)

Return to bug 195891