You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Driver core: change misc class_devices to be real devices
This also ment that some of the misc drivers had to also be fixed up as they were assuming the device was a class_device. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
@@ -162,7 +162,8 @@ static struct miscdevice rng_miscdev = {
|
||||
};
|
||||
|
||||
|
||||
static ssize_t hwrng_attr_current_store(struct class_device *class,
|
||||
static ssize_t hwrng_attr_current_store(struct device *dev,
|
||||
struct device_attribute *attr,
|
||||
const char *buf, size_t len)
|
||||
{
|
||||
int err;
|
||||
@@ -192,7 +193,8 @@ static ssize_t hwrng_attr_current_store(struct class_device *class,
|
||||
return err ? : len;
|
||||
}
|
||||
|
||||
static ssize_t hwrng_attr_current_show(struct class_device *class,
|
||||
static ssize_t hwrng_attr_current_show(struct device *dev,
|
||||
struct device_attribute *attr,
|
||||
char *buf)
|
||||
{
|
||||
int err;
|
||||
@@ -210,7 +212,8 @@ static ssize_t hwrng_attr_current_show(struct class_device *class,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static ssize_t hwrng_attr_available_show(struct class_device *class,
|
||||
static ssize_t hwrng_attr_available_show(struct device *dev,
|
||||
struct device_attribute *attr,
|
||||
char *buf)
|
||||
{
|
||||
int err;
|
||||
@@ -234,20 +237,18 @@ static ssize_t hwrng_attr_available_show(struct class_device *class,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static CLASS_DEVICE_ATTR(rng_current, S_IRUGO | S_IWUSR,
|
||||
hwrng_attr_current_show,
|
||||
hwrng_attr_current_store);
|
||||
static CLASS_DEVICE_ATTR(rng_available, S_IRUGO,
|
||||
hwrng_attr_available_show,
|
||||
NULL);
|
||||
static DEVICE_ATTR(rng_current, S_IRUGO | S_IWUSR,
|
||||
hwrng_attr_current_show,
|
||||
hwrng_attr_current_store);
|
||||
static DEVICE_ATTR(rng_available, S_IRUGO,
|
||||
hwrng_attr_available_show,
|
||||
NULL);
|
||||
|
||||
|
||||
static void unregister_miscdev(void)
|
||||
{
|
||||
class_device_remove_file(rng_miscdev.class,
|
||||
&class_device_attr_rng_available);
|
||||
class_device_remove_file(rng_miscdev.class,
|
||||
&class_device_attr_rng_current);
|
||||
device_remove_file(rng_miscdev.this_device, &dev_attr_rng_available);
|
||||
device_remove_file(rng_miscdev.this_device, &dev_attr_rng_current);
|
||||
misc_deregister(&rng_miscdev);
|
||||
}
|
||||
|
||||
@@ -258,20 +259,19 @@ static int register_miscdev(void)
|
||||
err = misc_register(&rng_miscdev);
|
||||
if (err)
|
||||
goto out;
|
||||
err = class_device_create_file(rng_miscdev.class,
|
||||
&class_device_attr_rng_current);
|
||||
err = device_create_file(rng_miscdev.this_device,
|
||||
&dev_attr_rng_current);
|
||||
if (err)
|
||||
goto err_misc_dereg;
|
||||
err = class_device_create_file(rng_miscdev.class,
|
||||
&class_device_attr_rng_available);
|
||||
err = device_create_file(rng_miscdev.this_device,
|
||||
&dev_attr_rng_available);
|
||||
if (err)
|
||||
goto err_remove_current;
|
||||
out:
|
||||
return err;
|
||||
|
||||
err_remove_current:
|
||||
class_device_remove_file(rng_miscdev.class,
|
||||
&class_device_attr_rng_current);
|
||||
device_remove_file(rng_miscdev.this_device, &dev_attr_rng_current);
|
||||
err_misc_dereg:
|
||||
misc_deregister(&rng_miscdev);
|
||||
goto out;
|
||||
|
||||
Reference in New Issue
Block a user