Use of devm_rc_register_device simplifies error unwinding. Signed-off-by: Ladislav Michl <ladis@xxxxxxxxxxxxxx> --- drivers/media/rc/gpio-ir-recv.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/media/rc/gpio-ir-recv.c b/drivers/media/rc/gpio-ir-recv.c index 4b71f7ae9132..c78a7eaa5a1d 100644 --- a/drivers/media/rc/gpio-ir-recv.c +++ b/drivers/media/rc/gpio-ir-recv.c @@ -177,10 +177,10 @@ static int gpio_ir_recv_probe(struct platform_device *pdev) if (rc < 0) return rc; - rc = rc_register_device(rcdev); + rc = devm_rc_register_device(dev, rcdev); if (rc < 0) { dev_err(dev, "failed to register rc device\n"); - goto err_register_rc_device; + return rc; } platform_set_drvdata(pdev, gpio_dev); @@ -195,9 +195,6 @@ static int gpio_ir_recv_probe(struct platform_device *pdev) return 0; err_request_irq: - rc_unregister_device(rcdev); - rcdev = NULL; -err_register_rc_device: return rc; } @@ -207,7 +204,6 @@ static int gpio_ir_recv_remove(struct platform_device *pdev) free_irq(gpio_to_irq(gpio_dev->gpio_nr), gpio_dev); del_timer_sync(&gpio_dev->flush_timer); - rc_unregister_device(gpio_dev->rcdev); return 0; } -- 2.11.0