|
10 | 10 |
|
11 | 11 | #define pr_fmt(fmt) "ACPI: battery: " fmt
|
12 | 12 |
|
13 |
| -#include <linux/async.h> |
14 | 13 | #include <linux/delay.h>
|
15 | 14 | #include <linux/dmi.h>
|
16 | 15 | #include <linux/jiffies.h>
|
|
50 | 49 | MODULE_DESCRIPTION("ACPI Battery Driver");
|
51 | 50 | MODULE_LICENSE("GPL");
|
52 | 51 |
|
53 |
| -static async_cookie_t async_cookie; |
54 |
| -static bool battery_driver_registered; |
55 | 52 | static int battery_bix_broken_package;
|
56 | 53 | static int battery_notification_delay_ms;
|
57 | 54 | static int battery_ac_is_broken;
|
@@ -1311,37 +1308,23 @@ static struct acpi_driver acpi_battery_driver = {
|
1311 | 1308 | .remove = acpi_battery_remove,
|
1312 | 1309 | },
|
1313 | 1310 | .drv.pm = &acpi_battery_pm,
|
| 1311 | + .drv.probe_type = PROBE_PREFER_ASYNCHRONOUS, |
1314 | 1312 | };
|
1315 | 1313 |
|
1316 |
| -static void __init acpi_battery_init_async(void *unused, async_cookie_t cookie) |
1317 |
| -{ |
1318 |
| - int result; |
1319 |
| - |
1320 |
| - if (acpi_quirk_skip_acpi_ac_and_battery()) |
1321 |
| - return; |
1322 |
| - |
1323 |
| - dmi_check_system(bat_dmi_table); |
1324 |
| - |
1325 |
| - result = acpi_bus_register_driver(&acpi_battery_driver); |
1326 |
| - battery_driver_registered = (result == 0); |
1327 |
| -} |
1328 |
| - |
1329 | 1314 | static int __init acpi_battery_init(void)
|
1330 | 1315 | {
|
1331 |
| - if (acpi_disabled) |
| 1316 | + if (acpi_disabled || acpi_quirk_skip_acpi_ac_and_battery()) |
1332 | 1317 | return -ENODEV;
|
1333 | 1318 |
|
1334 |
| - async_cookie = async_schedule(acpi_battery_init_async, NULL); |
1335 |
| - return 0; |
| 1319 | + dmi_check_system(bat_dmi_table); |
| 1320 | + |
| 1321 | + return acpi_bus_register_driver(&acpi_battery_driver); |
1336 | 1322 | }
|
1337 | 1323 |
|
1338 | 1324 | static void __exit acpi_battery_exit(void)
|
1339 | 1325 | {
|
1340 |
| - async_synchronize_cookie(async_cookie + 1); |
1341 |
| - if (battery_driver_registered) { |
1342 |
| - acpi_bus_unregister_driver(&acpi_battery_driver); |
1343 |
| - battery_hook_exit(); |
1344 |
| - } |
| 1326 | + acpi_bus_unregister_driver(&acpi_battery_driver); |
| 1327 | + battery_hook_exit(); |
1345 | 1328 | }
|
1346 | 1329 |
|
1347 | 1330 | module_init(acpi_battery_init);
|
|
0 commit comments