sysdev: fix up the probe/release attributes
Greg Kroah-Hartman [Thu, 21 Jan 2010 23:07:59 +0000 (15:07 -0800)]
These should be sysdev attributes, not class attributes.  This patch
should resolve the problem.

Thanks to Stephen Rothwell for pointing out the problem.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Andi Kleen <andi@firstfloor.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

drivers/base/cpu.c

index 9121c77..7036e8e 100644 (file)
@@ -79,24 +79,24 @@ void unregister_cpu(struct cpu *cpu)
 }
 
 #ifdef CONFIG_ARCH_CPU_PROBE_RELEASE
-static ssize_t cpu_probe_store(struct class *class,
-                               struct class_attribute *attr,
+static ssize_t cpu_probe_store(struct sys_device *dev,
+                               struct sysdev_attribute *attr,
                                const char *buf,
                               size_t count)
 {
        return arch_cpu_probe(buf, count);
 }
 
-static ssize_t cpu_release_store(struct class *class,
-                               struct class_attribute *attr,
+static ssize_t cpu_release_store(struct sys_device *dev,
+                               struct sysdev_attribute *attr,
                                const char *buf,
                                 size_t count)
 {
        return arch_cpu_release(buf, count);
 }
 
-static CLASS_ATTR(probe, S_IWUSR, NULL, cpu_probe_store);
-static CLASS_ATTR(release, S_IWUSR, NULL, cpu_release_store);
+static SYSDEV_ATTR(probe, S_IWUSR, NULL, cpu_probe_store);
+static SYSDEV_ATTR(release, S_IWUSR, NULL, cpu_release_store);
 #endif /* CONFIG_ARCH_CPU_PROBE_RELEASE */
 
 #else /* ... !CONFIG_HOTPLUG_CPU */
@@ -261,8 +261,8 @@ int __init cpu_dev_init(void)
 
 static struct sysdev_class_attribute *cpu_sysdev_class_attrs[] = {
 #ifdef CONFIG_ARCH_CPU_PROBE_RELEASE
-       &class_attr_probe.attr,
-       &class_attr_release.attr,
+       &attr_probe,
+       &attr_release,
 #endif
        &cpu_attrs[0].attr,
        &cpu_attrs[1].attr,