Merge master.kernel.org:/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw
[pandora-kernel.git] / drivers / char / hw_random / core.c
index 154a81d..26a860a 100644 (file)
@@ -36,6 +36,7 @@
 #include <linux/module.h>
 #include <linux/kernel.h>
 #include <linux/fs.h>
+#include <linux/sched.h>
 #include <linux/init.h>
 #include <linux/miscdevice.h>
 #include <linux/delay.h>
@@ -162,7 +163,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 +194,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 +213,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 +238,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 +260,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;