From: Sean Young Date: Wed, 17 May 2017 17:32:51 +0000 (-0300) Subject: [media] sir_ir: use dev managed resources X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=b462e1b20dc39f4af05bcbf850e574c381b17038;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git [media] sir_ir: use dev managed resources Several error paths do not free up resources. This simplifies the code and fixes this. Signed-off-by: Sean Young Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/rc/sir_ir.c b/drivers/media/rc/sir_ir.c index c27d6b406d7c..1ee41adb2ab1 100644 --- a/drivers/media/rc/sir_ir.c +++ b/drivers/media/rc/sir_ir.c @@ -334,14 +334,13 @@ static int init_port(void) setup_timer(&timerlist, sir_timeout, 0); /* get I/O port access and IRQ line */ - if (!request_region(io, 8, KBUILD_MODNAME)) { + if (!devm_request_region(&sir_ir_dev->dev, io, 8, KBUILD_MODNAME)) { pr_err("i/o port 0x%.4x already in use.\n", io); return -EBUSY; } - retval = request_irq(irq, sir_interrupt, 0, - KBUILD_MODNAME, NULL); + retval = devm_request_irq(&sir_ir_dev->dev, irq, sir_interrupt, 0, + KBUILD_MODNAME, NULL); if (retval < 0) { - release_region(io, 8); pr_err("IRQ %d already in use.\n", irq); return retval; } @@ -352,9 +351,7 @@ static int init_port(void) static void drop_port(void) { - free_irq(irq, NULL); del_timer_sync(&timerlist); - release_region(io, 8); } static int init_sir_ir(void)