ACPI: move FADT resource reservations from motherboard driver to osl
[pandora-kernel.git] / drivers / acpi / motherboard.c
index 2e17ec7..cddab7b 100644 (file)
@@ -33,8 +33,7 @@
 ACPI_MODULE_NAME("acpi_motherboard")
 
 /* Dell use PNP0C01 instead of PNP0C02 */
-#define ACPI_MB_HID1                   "PNP0C01"
-#define ACPI_MB_HID2                   "PNP0C02"
+#define ACPI_MB_HID                    "PNP0C01,PNP0C02"
 /**
  * Doesn't care about legacy IO ports, only IO ports beyond 0x1000 are reserved
  * Doesn't care about the failure of 'request_region', since other may reserve
@@ -110,77 +109,18 @@ static int acpi_motherboard_add(struct acpi_device *device)
        return 0;
 }
 
-static struct acpi_driver acpi_motherboard_driver1 = {
+static struct acpi_driver acpi_motherboard_driver = {
        .name = "motherboard",
        .class = "",
-       .ids = ACPI_MB_HID1,
+       .ids = ACPI_MB_HID,
        .ops = {
                .add = acpi_motherboard_add,
                },
 };
 
-static struct acpi_driver acpi_motherboard_driver2 = {
-       .name = "motherboard",
-       .class = "",
-       .ids = ACPI_MB_HID2,
-       .ops = {
-               .add = acpi_motherboard_add,
-               },
-};
-
-static void __init acpi_request_region (struct acpi_generic_address *addr,
-       unsigned int length, char *desc)
-{
-       if (!addr->address || !length)
-               return;
-
-       if (addr->address_space_id == ACPI_ADR_SPACE_SYSTEM_IO)
-               request_region(addr->address, length, desc);
-       else if (addr->address_space_id == ACPI_ADR_SPACE_SYSTEM_MEMORY)
-               request_mem_region(addr->address, length, desc);
-}
-
-static void __init acpi_reserve_resources(void)
-{
-       acpi_request_region(&acpi_gbl_FADT->xpm1a_evt_blk,
-                              acpi_gbl_FADT->pm1_evt_len, "ACPI PM1a_EVT_BLK");
-
-       acpi_request_region(&acpi_gbl_FADT->xpm1b_evt_blk,
-                              acpi_gbl_FADT->pm1_evt_len, "ACPI PM1b_EVT_BLK");
-
-       acpi_request_region(&acpi_gbl_FADT->xpm1a_cnt_blk,
-                              acpi_gbl_FADT->pm1_cnt_len, "ACPI PM1a_CNT_BLK");
-
-       acpi_request_region(&acpi_gbl_FADT->xpm1b_cnt_blk,
-                              acpi_gbl_FADT->pm1_cnt_len, "ACPI PM1b_CNT_BLK");
-
-       if (acpi_gbl_FADT->pm_tm_len == 4)
-               acpi_request_region(&acpi_gbl_FADT->xpm_tmr_blk, 4, "ACPI PM_TMR");
-
-       acpi_request_region(&acpi_gbl_FADT->xpm2_cnt_blk,
-                              acpi_gbl_FADT->pm2_cnt_len, "ACPI PM2_CNT_BLK");
-
-       /* Length of GPE blocks must be a non-negative multiple of 2 */
-
-       if (!(acpi_gbl_FADT->gpe0_blk_len & 0x1))
-               acpi_request_region(&acpi_gbl_FADT->xgpe0_blk,
-                              acpi_gbl_FADT->gpe0_blk_len, "ACPI GPE0_BLK");
-
-       if (!(acpi_gbl_FADT->gpe1_blk_len & 0x1))
-               acpi_request_region(&acpi_gbl_FADT->xgpe1_blk,
-                              acpi_gbl_FADT->gpe1_blk_len, "ACPI GPE1_BLK");
-}
-
 static int __init acpi_motherboard_init(void)
 {
-       acpi_bus_register_driver(&acpi_motherboard_driver1);
-       acpi_bus_register_driver(&acpi_motherboard_driver2);
-       /*
-        * Guarantee motherboard IO reservation first
-        * This module must run after scan.c
-        */
-       if (!acpi_disabled)
-               acpi_reserve_resources();
+       acpi_bus_register_driver(&acpi_motherboard_driver);
        return 0;
 }