Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+10 −10
Original line number Original line Diff line number Diff line
@@ -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,


	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)
		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)
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)
{
{
	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);