summaryrefslogtreecommitdiffstats
path: root/drivers/staging/comedi/comedi_fops.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/comedi/comedi_fops.c')
-rw-r--r--drivers/staging/comedi/comedi_fops.c95
1 files changed, 44 insertions, 51 deletions
diff --git a/drivers/staging/comedi/comedi_fops.c b/drivers/staging/comedi/comedi_fops.c
index e66464b9b408..cc6f32d614b6 100644
--- a/drivers/staging/comedi/comedi_fops.c
+++ b/drivers/staging/comedi/comedi_fops.c
@@ -86,7 +86,7 @@ MODULE_PARM_DESC(comedi_default_buf_maxsize_kb,
"default maximum size of asynchronous buffer in KiB (default "
__MODULE_STRING(CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB) ")");
-struct comedi_device_file_info {
+struct comedi_file_info {
struct comedi_device *device;
struct comedi_subdevice *read_subdevice;
struct comedi_subdevice *write_subdevice;
@@ -94,13 +94,11 @@ struct comedi_device_file_info {
};
static DEFINE_SPINLOCK(comedi_file_info_table_lock);
-static struct comedi_device_file_info
-*comedi_file_info_table[COMEDI_NUM_MINORS];
+static struct comedi_file_info *comedi_file_info_table[COMEDI_NUM_MINORS];
-static struct comedi_device_file_info *
-comedi_get_device_file_info(unsigned minor)
+static struct comedi_file_info *comedi_get_device_file_info(unsigned minor)
{
- struct comedi_device_file_info *info;
+ struct comedi_file_info *info;
BUG_ON(minor >= COMEDI_NUM_MINORS);
spin_lock(&comedi_file_info_table_lock);
@@ -111,7 +109,7 @@ comedi_get_device_file_info(unsigned minor)
struct comedi_device *comedi_dev_from_minor(unsigned minor)
{
- struct comedi_device_file_info *info;
+ struct comedi_file_info *info;
info = comedi_get_device_file_info(minor);
@@ -120,7 +118,7 @@ struct comedi_device *comedi_dev_from_minor(unsigned minor)
EXPORT_SYMBOL_GPL(comedi_dev_from_minor);
static struct comedi_subdevice *
-comedi_get_read_subdevice(const struct comedi_device_file_info *info)
+comedi_get_read_subdevice(const struct comedi_file_info *info)
{
if (info->read_subdevice)
return info->read_subdevice;
@@ -130,7 +128,7 @@ comedi_get_read_subdevice(const struct comedi_device_file_info *info)
}
static struct comedi_subdevice *
-comedi_get_write_subdevice(const struct comedi_device_file_info *info)
+comedi_get_write_subdevice(const struct comedi_file_info *info)
{
if (info->write_subdevice)
return info->write_subdevice;
@@ -184,7 +182,7 @@ static int resize_async_buffer(struct comedi_device *dev,
static ssize_t show_max_read_buffer_kb(struct device *dev,
struct device_attribute *attr, char *buf)
{
- struct comedi_device_file_info *info = dev_get_drvdata(dev);
+ struct comedi_file_info *info = dev_get_drvdata(dev);
struct comedi_subdevice *s = comedi_get_read_subdevice(info);
unsigned int size = 0;
@@ -200,7 +198,7 @@ static ssize_t store_max_read_buffer_kb(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{
- struct comedi_device_file_info *info = dev_get_drvdata(dev);
+ struct comedi_file_info *info = dev_get_drvdata(dev);
struct comedi_subdevice *s = comedi_get_read_subdevice(info);
unsigned int size;
int err;
@@ -225,7 +223,7 @@ static ssize_t store_max_read_buffer_kb(struct device *dev,
static ssize_t show_read_buffer_kb(struct device *dev,
struct device_attribute *attr, char *buf)
{
- struct comedi_device_file_info *info = dev_get_drvdata(dev);
+ struct comedi_file_info *info = dev_get_drvdata(dev);
struct comedi_subdevice *s = comedi_get_read_subdevice(info);
unsigned int size = 0;
@@ -241,7 +239,7 @@ static ssize_t store_read_buffer_kb(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{
- struct comedi_device_file_info *info = dev_get_drvdata(dev);
+ struct comedi_file_info *info = dev_get_drvdata(dev);
struct comedi_subdevice *s = comedi_get_read_subdevice(info);
unsigned int size;
int err;
@@ -267,7 +265,7 @@ static ssize_t show_max_write_buffer_kb(struct device *dev,
struct device_attribute *attr,
char *buf)
{
- struct comedi_device_file_info *info = dev_get_drvdata(dev);
+ struct comedi_file_info *info = dev_get_drvdata(dev);
struct comedi_subdevice *s = comedi_get_write_subdevice(info);
unsigned int size = 0;
@@ -283,7 +281,7 @@ static ssize_t store_max_write_buffer_kb(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{
- struct comedi_device_file_info *info = dev_get_drvdata(dev);
+ struct comedi_file_info *info = dev_get_drvdata(dev);
struct comedi_subdevice *s = comedi_get_write_subdevice(info);
unsigned int size;
int err;
@@ -308,7 +306,7 @@ static ssize_t store_max_write_buffer_kb(struct device *dev,
static ssize_t show_write_buffer_kb(struct device *dev,
struct device_attribute *attr, char *buf)
{
- struct comedi_device_file_info *info = dev_get_drvdata(dev);
+ struct comedi_file_info *info = dev_get_drvdata(dev);
struct comedi_subdevice *s = comedi_get_write_subdevice(info);
unsigned int size = 0;
@@ -324,7 +322,7 @@ static ssize_t store_write_buffer_kb(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{
- struct comedi_device_file_info *info = dev_get_drvdata(dev);
+ struct comedi_file_info *info = dev_get_drvdata(dev);
struct comedi_subdevice *s = comedi_get_write_subdevice(info);
unsigned int size;
int err;
@@ -584,12 +582,11 @@ static int do_devinfo_ioctl(struct comedi_device *dev,
{
struct comedi_devinfo devinfo;
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_file_info *info = comedi_get_device_file_info(minor);
struct comedi_subdevice *read_subdev =
- comedi_get_read_subdevice(dev_file_info);
+ comedi_get_read_subdevice(info);
struct comedi_subdevice *write_subdev =
- comedi_get_write_subdevice(dev_file_info);
+ comedi_get_write_subdevice(info);
memset(&devinfo, 0, sizeof(devinfo));
@@ -1753,13 +1750,12 @@ static int comedi_mmap(struct file *file, struct vm_area_struct *vma)
int i;
int retval;
struct comedi_subdevice *s;
- struct comedi_device_file_info *dev_file_info;
+ struct comedi_file_info *info = comedi_get_device_file_info(minor);
struct comedi_device *dev;
- dev_file_info = comedi_get_device_file_info(minor);
- if (dev_file_info == NULL)
+ if (info == NULL)
return -ENODEV;
- dev = dev_file_info->device;
+ dev = info->device;
if (dev == NULL)
return -ENODEV;
@@ -1770,9 +1766,9 @@ static int comedi_mmap(struct file *file, struct vm_area_struct *vma)
goto done;
}
if (vma->vm_flags & VM_WRITE)
- s = comedi_get_write_subdevice(dev_file_info);
+ s = comedi_get_write_subdevice(info);
else
- s = comedi_get_read_subdevice(dev_file_info);
+ s = comedi_get_read_subdevice(info);
if (s == NULL) {
retval = -EINVAL;
@@ -1830,13 +1826,12 @@ static unsigned int comedi_poll(struct file *file, poll_table *wait)
const unsigned minor = iminor(file->f_dentry->d_inode);
struct comedi_subdevice *read_subdev;
struct comedi_subdevice *write_subdev;
- struct comedi_device_file_info *dev_file_info;
+ struct comedi_file_info *info = comedi_get_device_file_info(minor);
struct comedi_device *dev;
- dev_file_info = comedi_get_device_file_info(minor);
- if (dev_file_info == NULL)
+ if (info == NULL)
return -ENODEV;
- dev = dev_file_info->device;
+ dev = info->device;
if (dev == NULL)
return -ENODEV;
@@ -1848,7 +1843,7 @@ static unsigned int comedi_poll(struct file *file, poll_table *wait)
}
mask = 0;
- read_subdev = comedi_get_read_subdevice(dev_file_info);
+ read_subdev = comedi_get_read_subdevice(info);
if (read_subdev) {
poll_wait(file, &read_subdev->async->wait_head, wait);
if (!read_subdev->busy
@@ -1858,7 +1853,7 @@ static unsigned int comedi_poll(struct file *file, poll_table *wait)
mask |= POLLIN | POLLRDNORM;
}
}
- write_subdev = comedi_get_write_subdevice(dev_file_info);
+ write_subdev = comedi_get_write_subdevice(info);
if (write_subdev) {
poll_wait(file, &write_subdev->async->wait_head, wait);
comedi_buf_write_alloc(write_subdev->async,
@@ -1884,13 +1879,12 @@ static ssize_t comedi_write(struct file *file, const char __user *buf,
int n, m, count = 0, retval = 0;
DECLARE_WAITQUEUE(wait, current);
const unsigned minor = iminor(file->f_dentry->d_inode);
- struct comedi_device_file_info *dev_file_info;
+ struct comedi_file_info *info = comedi_get_device_file_info(minor);
struct comedi_device *dev;
- dev_file_info = comedi_get_device_file_info(minor);
- if (dev_file_info == NULL)
+ if (info == NULL)
return -ENODEV;
- dev = dev_file_info->device;
+ dev = info->device;
if (dev == NULL)
return -ENODEV;
@@ -1900,7 +1894,7 @@ static ssize_t comedi_write(struct file *file, const char __user *buf,
goto done;
}
- s = comedi_get_write_subdevice(dev_file_info);
+ s = comedi_get_write_subdevice(info);
if (s == NULL) {
retval = -EIO;
goto done;
@@ -1995,13 +1989,12 @@ static ssize_t comedi_read(struct file *file, char __user *buf, size_t nbytes,
int n, m, count = 0, retval = 0;
DECLARE_WAITQUEUE(wait, current);
const unsigned minor = iminor(file->f_dentry->d_inode);
- struct comedi_device_file_info *dev_file_info;
+ struct comedi_file_info *info = comedi_get_device_file_info(minor);
struct comedi_device *dev;
- dev_file_info = comedi_get_device_file_info(minor);
- if (dev_file_info == NULL)
+ if (info == NULL)
return -ENODEV;
- dev = dev_file_info->device;
+ dev = info->device;
if (dev == NULL)
return -ENODEV;
@@ -2011,7 +2004,7 @@ static ssize_t comedi_read(struct file *file, char __user *buf, size_t nbytes,
goto done;
}
- s = comedi_get_read_subdevice(dev_file_info);
+ s = comedi_get_read_subdevice(info);
if (s == NULL) {
retval = -EIO;
goto done;
@@ -2276,7 +2269,7 @@ static int __init comedi_init(void)
comedi_num_legacy_minors = 16;
memset(comedi_file_info_table, 0,
- sizeof(struct comedi_device_file_info *) * COMEDI_NUM_MINORS);
+ sizeof(struct comedi_file_info *) * COMEDI_NUM_MINORS);
retval = register_chrdev_region(MKDEV(COMEDI_MAJOR, 0),
COMEDI_NUM_MINORS, "comedi");
@@ -2419,11 +2412,11 @@ static void comedi_device_cleanup(struct comedi_device *dev)
int comedi_alloc_board_minor(struct device *hardware_device)
{
- struct comedi_device_file_info *info;
+ struct comedi_file_info *info;
struct device *csdev;
unsigned i;
- info = kzalloc(sizeof(struct comedi_device_file_info), GFP_KERNEL);
+ info = kzalloc(sizeof(struct comedi_file_info), GFP_KERNEL);
if (info == NULL)
return -ENOMEM;
info->device = kzalloc(sizeof(struct comedi_device), GFP_KERNEL);
@@ -2460,7 +2453,7 @@ int comedi_alloc_board_minor(struct device *hardware_device)
void comedi_free_board_minor(unsigned minor)
{
- struct comedi_device_file_info *info;
+ struct comedi_file_info *info;
BUG_ON(minor >= COMEDI_NUM_BOARD_MINORS);
spin_lock(&comedi_file_info_table_lock);
@@ -2485,7 +2478,7 @@ void comedi_free_board_minor(unsigned minor)
int comedi_find_board_minor(struct device *hardware_device)
{
int minor;
- struct comedi_device_file_info *info;
+ struct comedi_file_info *info;
for (minor = 0; minor < COMEDI_NUM_BOARD_MINORS; minor++) {
spin_lock(&comedi_file_info_table_lock);
@@ -2502,11 +2495,11 @@ int comedi_find_board_minor(struct device *hardware_device)
int comedi_alloc_subdevice_minor(struct comedi_device *dev,
struct comedi_subdevice *s)
{
- struct comedi_device_file_info *info;
+ struct comedi_file_info *info;
struct device *csdev;
unsigned i;
- info = kmalloc(sizeof(struct comedi_device_file_info), GFP_KERNEL);
+ info = kmalloc(sizeof(struct comedi_file_info), GFP_KERNEL);
if (info == NULL)
return -ENOMEM;
info->device = dev;
@@ -2538,7 +2531,7 @@ int comedi_alloc_subdevice_minor(struct comedi_device *dev,
void comedi_free_subdevice_minor(struct comedi_subdevice *s)
{
- struct comedi_device_file_info *info;
+ struct comedi_file_info *info;
if (s == NULL)
return;