staging: comedi: use comedi_dev_from_minor()
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Wed, 19 Dec 2012 22:35:23 +0000 (15:35 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 Jan 2013 22:25:46 +0000 (14:25 -0800)
Remove the need to export comedi_get_device_file_info() by using the
new helper comedi_dev_from_minor(). This will also allow us to make
the comedi_device_file_info struct private.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/comedi_fops.c
drivers/staging/comedi/drivers.c
drivers/staging/comedi/kcomedilib/kcomedilib_main.c
drivers/staging/comedi/proc.c

index 647c7f347ee02b7e5ae2d16ab54bd8ea138459d8..3945b5f0e5fa0af966420dff91851c14f8996877 100644 (file)
@@ -1608,14 +1608,11 @@ static long comedi_unlocked_ioctl(struct file *file, unsigned int cmd,
                                  unsigned long arg)
 {
        const unsigned minor = iminor(file->f_dentry->d_inode);
-       struct comedi_device_file_info *dev_file_info =
-           comedi_get_device_file_info(minor);
-       struct comedi_device *dev;
+       struct comedi_device *dev = comedi_dev_from_minor(minor);
        int rc;
 
-       if (dev_file_info == NULL || dev_file_info->device == NULL)
+       if (!dev)
                return -ENODEV;
-       dev = dev_file_info->device;
 
        mutex_lock(&dev->mutex);
 
@@ -2088,12 +2085,9 @@ done:
 static int comedi_open(struct inode *inode, struct file *file)
 {
        const unsigned minor = iminor(inode);
-       struct comedi_device_file_info *dev_file_info =
-           comedi_get_device_file_info(minor);
-       struct comedi_device *dev =
-           dev_file_info ? dev_file_info->device : NULL;
+       struct comedi_device *dev = comedi_dev_from_minor(minor);
 
-       if (dev == NULL) {
+       if (!dev) {
                DPRINTK("invalid minor number\n");
                return -ENODEV;
        }
@@ -2168,14 +2162,9 @@ ok:
 static int comedi_fasync(int fd, struct file *file, int on)
 {
        const unsigned minor = iminor(file->f_dentry->d_inode);
-       struct comedi_device_file_info *dev_file_info;
-       struct comedi_device *dev;
-       dev_file_info = comedi_get_device_file_info(minor);
+       struct comedi_device *dev = comedi_dev_from_minor(minor);
 
-       if (dev_file_info == NULL)
-               return -ENODEV;
-       dev = dev_file_info->device;
-       if (dev == NULL)
+       if (!dev)
                return -ENODEV;
 
        return fasync_helper(fd, file, on, &dev->async_queue);
@@ -2184,16 +2173,11 @@ static int comedi_fasync(int fd, struct file *file, int on)
 static int comedi_close(struct inode *inode, struct file *file)
 {
        const unsigned minor = iminor(inode);
+       struct comedi_device *dev = comedi_dev_from_minor(minor);
        struct comedi_subdevice *s = NULL;
        int i;
-       struct comedi_device_file_info *dev_file_info;
-       struct comedi_device *dev;
-       dev_file_info = comedi_get_device_file_info(minor);
 
-       if (dev_file_info == NULL)
-               return -ENODEV;
-       dev = dev_file_info->device;
-       if (dev == NULL)
+       if (!dev)
                return -ENODEV;
 
        mutex_lock(&dev->mutex);
index 50cf498698e210a6f12a2ac04b57abe833da65f0..c0adc166d2b4f53507a915d121ef29d9635e479c 100644 (file)
@@ -213,13 +213,10 @@ int comedi_driver_unregister(struct comedi_driver *driver)
 
        /* check for devices using this driver */
        for (i = 0; i < COMEDI_NUM_BOARD_MINORS; i++) {
-               struct comedi_device_file_info *dev_file_info =
-                   comedi_get_device_file_info(i);
-               struct comedi_device *dev;
+               struct comedi_device *dev = comedi_dev_from_minor(i);
 
-               if (dev_file_info == NULL)
+               if (!dev)
                        continue;
-               dev = dev_file_info->device;
 
                mutex_lock(&dev->mutex);
                if (dev->attached && dev->driver == driver) {
@@ -834,7 +831,6 @@ int comedi_auto_config(struct device *hardware_device,
                       struct comedi_driver *driver, unsigned long context)
 {
        int minor;
-       struct comedi_device_file_info *dev_file_info;
        struct comedi_device *comedi_dev;
        int ret;
 
@@ -852,8 +848,7 @@ int comedi_auto_config(struct device *hardware_device,
        if (minor < 0)
                return minor;
 
-       dev_file_info = comedi_get_device_file_info(minor);
-       comedi_dev = dev_file_info->device;
+       comedi_dev = comedi_dev_from_minor(minor);
 
        mutex_lock(&comedi_dev->mutex);
        if (comedi_dev->attached)
index 4dc09a210883ad4741cecb937653ea88d8006c2b..8932a510d96c7b27ac0338ad0743de64b14fd8c4 100644 (file)
@@ -42,7 +42,6 @@ MODULE_LICENSE("GPL");
 
 struct comedi_device *comedi_open(const char *filename)
 {
-       struct comedi_device_file_info *dev_file_info;
        struct comedi_device *dev;
        unsigned int minor;
 
@@ -54,12 +53,9 @@ struct comedi_device *comedi_open(const char *filename)
        if (minor >= COMEDI_NUM_BOARD_MINORS)
                return NULL;
 
-       dev_file_info = comedi_get_device_file_info(minor);
-       if (dev_file_info == NULL)
-               return NULL;
-       dev = dev_file_info->device;
+       dev = comedi_dev_from_minor(minor);
 
-       if (dev == NULL || !dev->attached)
+       if (!dev || !dev->attached)
                return NULL;
 
        if (!try_module_get(dev->driver->module))
index 01acbe97653c9a3da577a60731f2f90fdfeb23a3..732134f30fe35270c410ae4acb2bd6070ae42740 100644 (file)
@@ -49,13 +49,10 @@ static int comedi_read(char *buf, char **start, off_t offset, int len,
                     "driver_name, board_name, n_subdevices");
 
        for (i = 0; i < COMEDI_NUM_BOARD_MINORS; i++) {
-               struct comedi_device_file_info *dev_file_info =
-                   comedi_get_device_file_info(i);
-               struct comedi_device *dev;
+               struct comedi_device *dev = comedi_dev_from_minor(i);
 
-               if (dev_file_info == NULL)
+               if (!dev)
                        continue;
-               dev = dev_file_info->device;
 
                if (dev->attached) {
                        devices_q = 1;