staging: comedi: comedi_fops: introduce comedi_dev_from_minor()

A number of functions have to call comedi_get_device_file_info()
to get the comedi_device_file_info pointer for a given minor. That
pointer is only used to get the actual comedi_device pointer for
the minor.

Introduce a new helper function, comedi_dev_from_minor(), to simplify
this operation. 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>
This commit is contained in:
H Hartley Sweeten 2012-12-19 15:34:40 -07:00 committed by Greg Kroah-Hartman
parent 43bd33f224
commit 85104e9b40
2 changed files with 12 additions and 0 deletions

View File

@ -90,6 +90,16 @@ static DEFINE_SPINLOCK(comedi_file_info_table_lock);
static struct comedi_device_file_info
*comedi_file_info_table[COMEDI_NUM_MINORS];
struct comedi_device *comedi_dev_from_minor(unsigned minor)
{
struct comedi_device_file_info *info;
info = comedi_get_device_file_info(minor);
return info ? info->device : NULL;
}
EXPORT_SYMBOL_GPL(comedi_dev_from_minor);
static struct comedi_subdevice *
comedi_get_read_subdevice(const struct comedi_device_file_info *info)
{

View File

@ -282,6 +282,8 @@ static const unsigned COMEDI_SUBDEVICE_MINOR_OFFSET = 1;
struct comedi_device_file_info *comedi_get_device_file_info(unsigned minor);
struct comedi_device *comedi_dev_from_minor(unsigned minor);
int comedi_alloc_subdevices(struct comedi_device *, int);
void comedi_device_detach(struct comedi_device *dev);