summaryrefslogtreecommitdiffstats
path: root/drivers/media/rc/lirc_dev.c
diff options
context:
space:
mode:
authorDavid Härdeman2017-05-01 18:04:01 +0200
committerMauro Carvalho Chehab2017-06-06 14:01:29 +0200
commit258232269590cee2acd4bb28b8e027ad340a85f9 (patch)
treeab6e8a6466c55c5b31d8ba3c10675cf81f927dcd /drivers/media/rc/lirc_dev.c
parent[media] lirc_dev: remove sampling kthread (diff)
downloadkernel-qcow2-linux-258232269590cee2acd4bb28b8e027ad340a85f9.tar.gz
kernel-qcow2-linux-258232269590cee2acd4bb28b8e027ad340a85f9.tar.xz
kernel-qcow2-linux-258232269590cee2acd4bb28b8e027ad340a85f9.zip
[media] lirc_dev: clarify error handling
out_sysfs is misleading, sysfs only comes into play after device_add(). Also, calling device_init() before the rest of struct dev is filled out is clearer. Signed-off-by: David Härdeman <david@hardeman.nu> Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/rc/lirc_dev.c')
-rw-r--r--drivers/media/rc/lirc_dev.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/media/rc/lirc_dev.c b/drivers/media/rc/lirc_dev.c
index a613970ce159..7d04f83c1ab6 100644
--- a/drivers/media/rc/lirc_dev.c
+++ b/drivers/media/rc/lirc_dev.c
@@ -238,16 +238,16 @@ static int lirc_allocate_driver(struct lirc_driver *d)
ir->d = *d;
+ device_initialize(&ir->dev);
ir->dev.devt = MKDEV(MAJOR(lirc_base_dev), ir->d.minor);
ir->dev.class = lirc_class;
ir->dev.parent = d->dev;
ir->dev.release = lirc_release;
dev_set_name(&ir->dev, "lirc%d", ir->d.minor);
- device_initialize(&ir->dev);
err = lirc_cdev_add(ir);
if (err)
- goto out_sysfs;
+ goto out_free_dev;
ir->attached = 1;
@@ -264,7 +264,7 @@ static int lirc_allocate_driver(struct lirc_driver *d)
return minor;
out_cdev:
cdev_del(&ir->cdev);
-out_sysfs:
+out_free_dev:
put_device(&ir->dev);
out_lock:
mutex_unlock(&lirc_dev_lock);