Commit e0e3c77c authored by David Härdeman's avatar David Härdeman Committed by Mauro Carvalho Chehab

[media] lirc_dev: make fops mandatory

Every caller of lirc_register_driver() passes their own fops and there
are no users of lirc_dev_fop_write() in the kernel tree. Thus we can
make fops mandatory and remove lirc_dev_fop_write().
Signed-off-by: default avatarDavid Härdeman <david@hardeman.nu>
Signed-off-by: default avatarSean Young <sean@mess.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 25823226
...@@ -91,17 +91,6 @@ static void lirc_release(struct device *ld) ...@@ -91,17 +91,6 @@ static void lirc_release(struct device *ld)
kfree(ir); kfree(ir);
} }
static const struct file_operations lirc_dev_fops = {
.owner = THIS_MODULE,
.read = lirc_dev_fop_read,
.write = lirc_dev_fop_write,
.poll = lirc_dev_fop_poll,
.unlocked_ioctl = lirc_dev_fop_ioctl,
.open = lirc_dev_fop_open,
.release = lirc_dev_fop_close,
.llseek = noop_llseek,
};
static int lirc_cdev_add(struct irctl *ir) static int lirc_cdev_add(struct irctl *ir)
{ {
struct lirc_driver *d = &ir->d; struct lirc_driver *d = &ir->d;
...@@ -110,13 +99,11 @@ static int lirc_cdev_add(struct irctl *ir) ...@@ -110,13 +99,11 @@ static int lirc_cdev_add(struct irctl *ir)
cdev = &ir->cdev; cdev = &ir->cdev;
if (d->fops) { if (!d->fops)
return -EINVAL;
cdev_init(cdev, d->fops); cdev_init(cdev, d->fops);
cdev->owner = d->owner; cdev->owner = d->owner;
} else {
cdev_init(cdev, &lirc_dev_fops);
cdev->owner = THIS_MODULE;
}
retval = kobject_set_name(&cdev->kobj, "lirc%d", d->minor); retval = kobject_set_name(&cdev->kobj, "lirc%d", d->minor);
if (retval) if (retval)
return retval; return retval;
...@@ -638,24 +625,6 @@ void *lirc_get_pdata(struct file *file) ...@@ -638,24 +625,6 @@ void *lirc_get_pdata(struct file *file)
EXPORT_SYMBOL(lirc_get_pdata); EXPORT_SYMBOL(lirc_get_pdata);
ssize_t lirc_dev_fop_write(struct file *file, const char __user *buffer,
size_t length, loff_t *ppos)
{
struct irctl *ir = irctls[iminor(file_inode(file))];
if (!ir) {
pr_err("called with invalid irctl\n");
return -ENODEV;
}
if (!ir->attached)
return -ENODEV;
return -EINVAL;
}
EXPORT_SYMBOL(lirc_dev_fop_write);
static int __init lirc_dev_init(void) static int __init lirc_dev_init(void)
{ {
int retval; int retval;
......
...@@ -210,7 +210,4 @@ unsigned int lirc_dev_fop_poll(struct file *file, poll_table *wait); ...@@ -210,7 +210,4 @@ unsigned int lirc_dev_fop_poll(struct file *file, poll_table *wait);
long lirc_dev_fop_ioctl(struct file *file, unsigned int cmd, unsigned long arg); long lirc_dev_fop_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
ssize_t lirc_dev_fop_read(struct file *file, char __user *buffer, size_t length, ssize_t lirc_dev_fop_read(struct file *file, char __user *buffer, size_t length,
loff_t *ppos); loff_t *ppos);
ssize_t lirc_dev_fop_write(struct file *file, const char __user *buffer,
size_t length, loff_t *ppos);
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment