Merge branches 'acpi-video', 'acpi-battery', 'acpi-spcr' and 'acpi-misc'
[linux-2.6-block.git] / drivers / acpi / sbs.c
index ad0b13ad4bbb93b2b10da64b9607db809bdba39b..a2428e9462dd9f10ac5483d7cc42f928f25bf642 100644 (file)
@@ -31,7 +31,7 @@
 #include <linux/jiffies.h>
 #include <linux/delay.h>
 #include <linux/power_supply.h>
-#include <linux/dmi.h>
+#include <linux/platform_data/x86/apple.h>
 
 #include "sbshc.h"
 #include "battery.h"
@@ -58,8 +58,6 @@ static unsigned int cache_time = 1000;
 module_param(cache_time, uint, 0644);
 MODULE_PARM_DESC(cache_time, "cache time in milliseconds");
 
-static bool sbs_manager_broken;
-
 #define MAX_SBS_BAT                    4
 #define ACPI_SBS_BLOCK_MAX             32
 
@@ -476,7 +474,7 @@ static ssize_t acpi_battery_alarm_store(struct device *dev,
        return count;
 }
 
-static struct device_attribute alarm_attr = {
+static const struct device_attribute alarm_attr = {
        .attr = {.name = "alarm", .mode = 0644},
        .show = acpi_battery_alarm_show,
        .store = acpi_battery_alarm_store,
@@ -632,31 +630,12 @@ static void acpi_sbs_callback(void *context)
        }
 }
 
-static int disable_sbs_manager(const struct dmi_system_id *d)
-{
-       sbs_manager_broken = true;
-       return 0;
-}
-
-static struct dmi_system_id acpi_sbs_dmi_table[] = {
-       {
-               .callback = disable_sbs_manager,
-               .ident = "Apple",
-               .matches = {
-                       DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc.")
-               },
-       },
-       { },
-};
-
 static int acpi_sbs_add(struct acpi_device *device)
 {
        struct acpi_sbs *sbs;
        int result = 0;
        int id;
 
-       dmi_check_system(acpi_sbs_dmi_table);
-
        sbs = kzalloc(sizeof(struct acpi_sbs), GFP_KERNEL);
        if (!sbs) {
                result = -ENOMEM;
@@ -677,7 +656,7 @@ static int acpi_sbs_add(struct acpi_device *device)
 
        result = 0;
 
-       if (!sbs_manager_broken) {
+       if (!x86_apple_machine) {
                result = acpi_manager_get_info(sbs);
                if (!result) {
                        sbs->manager_present = 1;