regmap: Properly round cache_word_size
[linux-2.6.git] / drivers / base / cpu.c
index 7036e8e..251acea 100644 (file)
@@ -10,6 +10,7 @@
 #include <linux/topology.h>
 #include <linux/device.h>
 #include <linux/node.h>
+#include <linux/gfp.h>
 
 #include "base.h"
 
@@ -79,24 +80,24 @@ void unregister_cpu(struct cpu *cpu)
 }
 
 #ifdef CONFIG_ARCH_CPU_PROBE_RELEASE
-static ssize_t cpu_probe_store(struct sys_device *dev,
-                               struct sysdev_attribute *attr,
-                               const char *buf,
+static ssize_t cpu_probe_store(struct sysdev_class *class,
+                              struct sysdev_class_attribute *attr,
+                              const char *buf,
                               size_t count)
 {
        return arch_cpu_probe(buf, count);
 }
 
-static ssize_t cpu_release_store(struct sys_device *dev,
-                               struct sysdev_attribute *attr,
-                               const char *buf,
+static ssize_t cpu_release_store(struct sysdev_class *class,
+                                struct sysdev_class_attribute *attr,
+                                const char *buf,
                                 size_t count)
 {
        return arch_cpu_release(buf, count);
 }
 
-static SYSDEV_ATTR(probe, S_IWUSR, NULL, cpu_probe_store);
-static SYSDEV_ATTR(release, S_IWUSR, NULL, cpu_release_store);
+static SYSDEV_CLASS_ATTR(probe, S_IWUSR, NULL, cpu_probe_store);
+static SYSDEV_CLASS_ATTR(release, S_IWUSR, NULL, cpu_release_store);
 #endif /* CONFIG_ARCH_CPU_PROBE_RELEASE */
 
 #else /* ... !CONFIG_HOTPLUG_CPU */
@@ -185,7 +186,7 @@ static ssize_t print_cpus_offline(struct sysdev_class *class,
        /* display offline cpus < nr_cpu_ids */
        if (!alloc_cpumask_var(&offline, GFP_KERNEL))
                return -ENOMEM;
-       cpumask_complement(offline, cpu_online_mask);
+       cpumask_andnot(offline, cpu_possible_mask, cpu_online_mask);
        n = cpulist_scnprintf(buf, len, offline);
        free_cpumask_var(offline);