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

Commit 4da5fa9a authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman
Browse files

staging: comedi: use comedi_dev_from_minor()



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: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 85104e9b
Loading
Loading
Loading
Loading
+8 −24
Original line number Diff line number Diff line
@@ -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);
+3 −8
Original line number Diff line number Diff line
@@ -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)
+2 −6
Original line number Diff line number Diff line
@@ -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))
+2 −5
Original line number Diff line number Diff line
@@ -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;