diff options
Diffstat (limited to 'drivers/acpi/osl.c')
-rw-r--r-- | drivers/acpi/osl.c | 71 |
1 files changed, 40 insertions, 31 deletions
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index fc6c5d21c3eb..c63d4cb37dab 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c | |||
@@ -199,36 +199,6 @@ static int __init acpi_reserve_resources(void) | |||
199 | } | 199 | } |
200 | device_initcall(acpi_reserve_resources); | 200 | device_initcall(acpi_reserve_resources); |
201 | 201 | ||
202 | acpi_status __init acpi_os_initialize(void) | ||
203 | { | ||
204 | return AE_OK; | ||
205 | } | ||
206 | |||
207 | acpi_status acpi_os_initialize1(void) | ||
208 | { | ||
209 | kacpid_wq = create_workqueue("kacpid"); | ||
210 | kacpi_notify_wq = create_workqueue("kacpi_notify"); | ||
211 | kacpi_hotplug_wq = create_workqueue("kacpi_hotplug"); | ||
212 | BUG_ON(!kacpid_wq); | ||
213 | BUG_ON(!kacpi_notify_wq); | ||
214 | BUG_ON(!kacpi_hotplug_wq); | ||
215 | return AE_OK; | ||
216 | } | ||
217 | |||
218 | acpi_status acpi_os_terminate(void) | ||
219 | { | ||
220 | if (acpi_irq_handler) { | ||
221 | acpi_os_remove_interrupt_handler(acpi_irq_irq, | ||
222 | acpi_irq_handler); | ||
223 | } | ||
224 | |||
225 | destroy_workqueue(kacpid_wq); | ||
226 | destroy_workqueue(kacpi_notify_wq); | ||
227 | destroy_workqueue(kacpi_hotplug_wq); | ||
228 | |||
229 | return AE_OK; | ||
230 | } | ||
231 | |||
232 | void acpi_os_printf(const char *fmt, ...) | 202 | void acpi_os_printf(const char *fmt, ...) |
233 | { | 203 | { |
234 | va_list args; | 204 | va_list args; |
@@ -1598,5 +1568,44 @@ acpi_os_validate_address ( | |||
1598 | } | 1568 | } |
1599 | return AE_OK; | 1569 | return AE_OK; |
1600 | } | 1570 | } |
1601 | |||
1602 | #endif | 1571 | #endif |
1572 | |||
1573 | acpi_status __init acpi_os_initialize(void) | ||
1574 | { | ||
1575 | acpi_os_map_generic_address(&acpi_gbl_FADT.xpm1a_event_block); | ||
1576 | acpi_os_map_generic_address(&acpi_gbl_FADT.xpm1b_event_block); | ||
1577 | acpi_os_map_generic_address(&acpi_gbl_FADT.xgpe0_block); | ||
1578 | acpi_os_map_generic_address(&acpi_gbl_FADT.xgpe1_block); | ||
1579 | |||
1580 | return AE_OK; | ||
1581 | } | ||
1582 | |||
1583 | acpi_status acpi_os_initialize1(void) | ||
1584 | { | ||
1585 | kacpid_wq = create_workqueue("kacpid"); | ||
1586 | kacpi_notify_wq = create_workqueue("kacpi_notify"); | ||
1587 | kacpi_hotplug_wq = create_workqueue("kacpi_hotplug"); | ||
1588 | BUG_ON(!kacpid_wq); | ||
1589 | BUG_ON(!kacpi_notify_wq); | ||
1590 | BUG_ON(!kacpi_hotplug_wq); | ||
1591 | return AE_OK; | ||
1592 | } | ||
1593 | |||
1594 | acpi_status acpi_os_terminate(void) | ||
1595 | { | ||
1596 | if (acpi_irq_handler) { | ||
1597 | acpi_os_remove_interrupt_handler(acpi_irq_irq, | ||
1598 | acpi_irq_handler); | ||
1599 | } | ||
1600 | |||
1601 | acpi_os_unmap_generic_address(&acpi_gbl_FADT.xgpe1_block); | ||
1602 | acpi_os_unmap_generic_address(&acpi_gbl_FADT.xgpe0_block); | ||
1603 | acpi_os_unmap_generic_address(&acpi_gbl_FADT.xpm1b_event_block); | ||
1604 | acpi_os_unmap_generic_address(&acpi_gbl_FADT.xpm1a_event_block); | ||
1605 | |||
1606 | destroy_workqueue(kacpid_wq); | ||
1607 | destroy_workqueue(kacpi_notify_wq); | ||
1608 | destroy_workqueue(kacpi_hotplug_wq); | ||
1609 | |||
1610 | return AE_OK; | ||
1611 | } | ||