Commit a271aaf1 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

Driver core: convert msr code to use struct device

Converts from using struct "class_device" to "struct device" making
everything show up properly in /sys/devices/ with symlinks from the
/sys/class directory.
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent ac11d060
...@@ -239,14 +239,14 @@ static struct file_operations msr_fops = { ...@@ -239,14 +239,14 @@ static struct file_operations msr_fops = {
.open = msr_open, .open = msr_open,
}; };
static int msr_class_device_create(int i) static int msr_device_create(int i)
{ {
int err = 0; int err = 0;
struct class_device *class_err; struct device *dev;
class_err = class_device_create(msr_class, NULL, MKDEV(MSR_MAJOR, i), NULL, "msr%d",i); dev = device_create(msr_class, NULL, MKDEV(MSR_MAJOR, i), "msr%d",i);
if (IS_ERR(class_err)) if (IS_ERR(dev))
err = PTR_ERR(class_err); err = PTR_ERR(dev);
return err; return err;
} }
...@@ -258,10 +258,10 @@ static int msr_class_cpu_callback(struct notifier_block *nfb, ...@@ -258,10 +258,10 @@ static int msr_class_cpu_callback(struct notifier_block *nfb,
switch (action) { switch (action) {
case CPU_ONLINE: case CPU_ONLINE:
msr_class_device_create(cpu); msr_device_create(cpu);
break; break;
case CPU_DEAD: case CPU_DEAD:
class_device_destroy(msr_class, MKDEV(MSR_MAJOR, cpu)); device_destroy(msr_class, MKDEV(MSR_MAJOR, cpu));
break; break;
} }
return NOTIFY_OK; return NOTIFY_OK;
...@@ -290,7 +290,7 @@ static int __init msr_init(void) ...@@ -290,7 +290,7 @@ static int __init msr_init(void)
goto out_chrdev; goto out_chrdev;
} }
for_each_online_cpu(i) { for_each_online_cpu(i) {
err = msr_class_device_create(i); err = msr_device_create(i);
if (err != 0) if (err != 0)
goto out_class; goto out_class;
} }
...@@ -302,7 +302,7 @@ static int __init msr_init(void) ...@@ -302,7 +302,7 @@ static int __init msr_init(void)
out_class: out_class:
i = 0; i = 0;
for_each_online_cpu(i) for_each_online_cpu(i)
class_device_destroy(msr_class, MKDEV(MSR_MAJOR, i)); device_destroy(msr_class, MKDEV(MSR_MAJOR, i));
class_destroy(msr_class); class_destroy(msr_class);
out_chrdev: out_chrdev:
unregister_chrdev(MSR_MAJOR, "cpu/msr"); unregister_chrdev(MSR_MAJOR, "cpu/msr");
...@@ -314,7 +314,7 @@ static void __exit msr_exit(void) ...@@ -314,7 +314,7 @@ static void __exit msr_exit(void)
{ {
int cpu = 0; int cpu = 0;
for_each_online_cpu(cpu) for_each_online_cpu(cpu)
class_device_destroy(msr_class, MKDEV(MSR_MAJOR, cpu)); device_destroy(msr_class, MKDEV(MSR_MAJOR, cpu));
class_destroy(msr_class); class_destroy(msr_class);
unregister_chrdev(MSR_MAJOR, "cpu/msr"); unregister_chrdev(MSR_MAJOR, "cpu/msr");
unregister_hotcpu_notifier(&msr_class_cpu_notifier); unregister_hotcpu_notifier(&msr_class_cpu_notifier);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment