llseek: automatically add .llseek fop
[linux-2.6.git] / drivers / char / hw_random / core.c
index 5c2d13c..788da05 100644 (file)
@@ -53,7 +53,8 @@ static struct hwrng *current_rng;
 static LIST_HEAD(rng_list);
 static DEFINE_MUTEX(rng_mutex);
 static int data_avail;
-static u8 rng_buffer[SMP_CACHE_BYTES] __cacheline_aligned;
+static u8 rng_buffer[SMP_CACHE_BYTES < 32 ? 32 : SMP_CACHE_BYTES]
+       __cacheline_aligned;
 
 static inline int hwrng_init(struct hwrng *rng)
 {
@@ -75,7 +76,6 @@ static int rng_dev_open(struct inode *inode, struct file *filp)
                return -EINVAL;
        if (filp->f_mode & FMODE_WRITE)
                return -EINVAL;
-       cycle_kernel_lock();
        return 0;
 }
 
@@ -158,10 +158,11 @@ static ssize_t rng_dev_read(struct file *filp, char __user *buf,
                        goto out;
                }
        }
-out_unlock:
-       mutex_unlock(&rng_mutex);
 out:
        return ret ? : err;
+out_unlock:
+       mutex_unlock(&rng_mutex);
+       goto out;
 }
 
 
@@ -169,6 +170,7 @@ static const struct file_operations rng_chrdev_ops = {
        .owner          = THIS_MODULE,
        .open           = rng_dev_open,
        .read           = rng_dev_read,
+       .llseek         = noop_llseek,
 };
 
 static struct miscdevice rng_miscdev = {