]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
Merge branches 'release', 'wmi' and 'laptop-docs' into release
authorLen Brown <len.brown@intel.com>
Sat, 9 Feb 2008 09:32:55 +0000 (04:32 -0500)
committerLen Brown <len.brown@intel.com>
Sat, 9 Feb 2008 09:32:55 +0000 (04:32 -0500)
arch/x86/Kconfig
drivers/acpi/Makefile
drivers/acpi/sbs.c
drivers/acpi/sbshc.c
drivers/cpuidle/cpuidle.c
drivers/misc/Kconfig
drivers/misc/acer-wmi.c
include/linux/thermal.h

index 65a70b777c12e149d14c95a9775896abbe720964..a64d532dff4c707f3374c819148fbb627df7781c 100644 (file)
@@ -102,6 +102,9 @@ config ARCH_HAS_ILOG2_U32
 config ARCH_HAS_ILOG2_U64
        def_bool n
 
+config ARCH_HAS_CPU_IDLE_WAIT
+       def_bool y
+
 config GENERIC_CALIBRATE_DELAY
        def_bool y
 
index f29812a86533778a28b211b5c601bcf4863fadc9..40b0fcae4c78a71ac083119c96f6396e6e3bab07 100644 (file)
@@ -60,5 +60,5 @@ obj-$(CONFIG_ACPI_ASUS)               += asus_acpi.o
 obj-$(CONFIG_ACPI_TOSHIBA)     += toshiba_acpi.o
 obj-$(CONFIG_ACPI_HOTPLUG_MEMORY)      += acpi_memhotplug.o
 obj-$(CONFIG_ACPI_PROCFS_POWER)        += cm_sbs.o
-obj-$(CONFIG_ACPI_SBS)         += sbs.o
 obj-$(CONFIG_ACPI_SBS)         += sbshc.o
+obj-$(CONFIG_ACPI_SBS)         += sbs.o
index 1194105cc3cad977c5472a528ba8a261a870d2a8..585ae3c9c8ea98651e33f46de53876fac237f48d 100644 (file)
@@ -827,7 +827,7 @@ static int acpi_battery_add(struct acpi_sbs *sbs, int id)
 #endif
        printk(KERN_INFO PREFIX "%s [%s]: Battery Slot [%s] (battery %s)\n",
               ACPI_SBS_DEVICE_NAME, acpi_device_bid(sbs->device),
-              battery->name, sbs->battery->present ? "present" : "absent");
+              battery->name, battery->present ? "present" : "absent");
        return result;
 }
 
index ae9a90438e2f32f497e207889bf4677c431c3383..a2cf3008ce6c03eb40ad564d3063700896a68d03 100644 (file)
@@ -117,6 +117,11 @@ static int acpi_smbus_transaction(struct acpi_smb_hc *hc, u8 protocol,
        int ret = -EFAULT, i;
        u8 temp, sz = 0;
 
+       if (!hc) {
+               printk(KERN_ERR PREFIX "host controller is not configured\n");
+               return ret;
+       }
+
        mutex_lock(&hc->lock);
        if (smb_hc_read(hc, ACPI_SMB_PROTOCOL, &temp))
                goto end;
@@ -292,6 +297,7 @@ static int acpi_smbus_hc_remove(struct acpi_device *device, int type)
        hc = acpi_driver_data(device);
        acpi_ec_remove_query_handler(hc->ec, hc->query_bit);
        kfree(hc);
+       acpi_driver_data(device) = NULL;
        return 0;
 }
 
index 2c4b2d47973e195cbb0422a9b539400a2ad5ef5e..60f71e6345e32ac11747d1dbd608349650172189 100644 (file)
@@ -27,6 +27,17 @@ static void (*pm_idle_old)(void);
 
 static int enabled_devices;
 
+#if defined(CONFIG_ARCH_HAS_CPU_IDLE_WAIT)
+static void cpuidle_kick_cpus(void)
+{
+       cpu_idle_wait();
+}
+#elif defined(CONFIG_SMP)
+# error "Arch needs cpu_idle_wait() equivalent here"
+#else /* !CONFIG_ARCH_HAS_CPU_IDLE_WAIT && !CONFIG_SMP */
+static void cpuidle_kick_cpus(void) {}
+#endif
+
 /**
  * cpuidle_idle_call - the main idle loop
  *
@@ -83,7 +94,7 @@ void cpuidle_uninstall_idle_handler(void)
 {
        if (enabled_devices && (pm_idle != pm_idle_old)) {
                pm_idle = pm_idle_old;
-               cpu_idle_wait();
+               cpuidle_kick_cpus();
        }
 }
 
index 92a85eecab0406d0da7eb9c31dd8cfc3c024ded8..1abc95ca9dfa2fe67aaa85405b259d16427c639c 100644 (file)
@@ -155,8 +155,9 @@ config FUJITSU_LAPTOP
          If you have a Fujitsu laptop, say Y or M here.
 
 config TC1100_WMI
-       tristate "HP Compaq TC1100 Tablet WMI Extras"
+       tristate "HP Compaq TC1100 Tablet WMI Extras (EXPERIMENTAL)"
        depends on X86 && !X86_64
+       depends on EXPERIMENTAL
        depends on ACPI
        select ACPI_WMI
        ---help---
index a4d6775042506a66d87bb3dd80dcf20a190b7f43..d7aea93081f26f98310ebbb1db6a4e29e1ed7ffb 100644 (file)
@@ -428,11 +428,9 @@ static acpi_status AMW0_set_u32(u32 value, u32 cap, struct wmi_interface *iface)
                if (value > max_brightness)
                        return AE_BAD_PARAMETER;
                switch (quirks->brightness) {
-               case 1:
-                       return ec_write(0x83, value);
                default:
-                       return AE_BAD_ADDRESS;
-               break;
+                       return ec_write(0x83, value);
+                       break;
                }
        default:
                return AE_BAD_ADDRESS;
index bba7712cadc749cc63513c583cce475dce899888..818ca1cf0b6d81d4f74faebcbdb6eef9123d90a7 100644 (file)
@@ -79,7 +79,9 @@ struct thermal_zone_device {
 };
 
 struct thermal_zone_device *thermal_zone_device_register(char *, int, void *,
-                                       struct thermal_zone_device_ops *);
+                                                        struct
+                                                        thermal_zone_device_ops
+                                                        *);
 void thermal_zone_device_unregister(struct thermal_zone_device *);
 
 int thermal_zone_bind_cooling_device(struct thermal_zone_device *, int,
@@ -87,8 +89,23 @@ int thermal_zone_bind_cooling_device(struct thermal_zone_device *, int,
 int thermal_zone_unbind_cooling_device(struct thermal_zone_device *, int,
                                       struct thermal_cooling_device *);
 
+#ifdef CONFIG_THERMAL
 struct thermal_cooling_device *thermal_cooling_device_register(char *, void *,
-                                       struct thermal_cooling_device_ops *);
+                                                              struct
+                                                              thermal_cooling_device_ops
+                                                              *);
 void thermal_cooling_device_unregister(struct thermal_cooling_device *);
+#else
+static inline struct thermal_cooling_device
+*thermal_cooling_device_register(char *c, void *v,
+                                struct thermal_cooling_device_ops *t)
+{
+       return NULL;
+}
+static inline
+    void thermal_cooling_device_unregister(struct thermal_cooling_device *t)
+{
+};
+#endif
 
-#endif                         /* __THERMAL_H__ */
+#endif /* __THERMAL_H__ */