Replace calls to cdev_add() and device_add() with the cdev_device_add() helper function. Signed-off-by: David Härdeman <david@xxxxxxxxxxx> --- drivers/media/rc/lirc_dev.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/drivers/media/rc/lirc_dev.c b/drivers/media/rc/lirc_dev.c index 591dee9f6ba2..61ed90a975ad 100644 --- a/drivers/media/rc/lirc_dev.c +++ b/drivers/media/rc/lirc_dev.c @@ -191,17 +191,11 @@ int lirc_register_driver(struct lirc_driver *d) cdev_init(&ir->cdev, d->fops); ir->cdev.owner = ir->d.owner; - ir->cdev.kobj.parent = &ir->dev.kobj; - - err = cdev_add(&ir->cdev, ir->dev.devt, 1); - if (err) - goto out_free_dev; - ir->attached = 1; - err = device_add(&ir->dev); + err = cdev_device_add(&ir->cdev, &ir->dev); if (err) - goto out_cdev; + goto out_dev; mutex_unlock(&lirc_dev_lock); @@ -210,9 +204,7 @@ int lirc_register_driver(struct lirc_driver *d) return 0; -out_cdev: - cdev_del(&ir->cdev); -out_free_dev: +out_dev: put_device(&ir->dev); out_lock: mutex_unlock(&lirc_dev_lock); @@ -244,8 +236,7 @@ void lirc_unregister_driver(struct lirc_driver *d) mutex_unlock(&lirc_dev_lock); - device_del(&ir->dev); - cdev_del(&ir->cdev); + cdev_device_del(&ir->cdev, &ir->dev); put_device(&ir->dev); } EXPORT_SYMBOL(lirc_unregister_driver);