diff options
Diffstat (limited to 'drivers/media/rc/img-ir/img-ir-core.c')
| -rw-r--r-- | drivers/media/rc/img-ir/img-ir-core.c | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/drivers/media/rc/img-ir/img-ir-core.c b/drivers/media/rc/img-ir/img-ir-core.c index 03fe080278df..067f4bc7fcc3 100644 --- a/drivers/media/rc/img-ir/img-ir-core.c +++ b/drivers/media/rc/img-ir/img-ir-core.c @@ -1,13 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0-or-later /* * ImgTec IR Decoder found in PowerDown Controller. * * Copyright 2010-2014 Imagination Technologies Ltd. * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * * This contains core img-ir code for setting up the driver. The two interfaces * (raw and hardware decode) are handled separately. */ @@ -80,29 +76,24 @@ static void img_ir_ident(struct img_ir_priv *priv) static int img_ir_probe(struct platform_device *pdev) { struct img_ir_priv *priv; - struct resource *res_regs; int irq, error, error2; /* Get resources from platform device */ irq = platform_get_irq(pdev, 0); - if (irq < 0) { - dev_err(&pdev->dev, "cannot find IRQ resource\n"); + if (irq < 0) return irq; - } /* Private driver data */ priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); - if (!priv) { - dev_err(&pdev->dev, "cannot allocate device data\n"); + if (!priv) return -ENOMEM; - } + platform_set_drvdata(pdev, priv); priv->dev = &pdev->dev; spin_lock_init(&priv->lock); /* Ioremap the registers */ - res_regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); - priv->reg_base = devm_ioremap_resource(&pdev->dev, res_regs); + priv->reg_base = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(priv->reg_base)) return PTR_ERR(priv->reg_base); @@ -161,7 +152,7 @@ err_probe: return error; } -static int img_ir_remove(struct platform_device *pdev) +static void img_ir_remove(struct platform_device *pdev) { struct img_ir_priv *priv = platform_get_drvdata(pdev); @@ -173,7 +164,6 @@ static int img_ir_remove(struct platform_device *pdev) clk_disable_unprepare(priv->clk); if (!IS_ERR(priv->sys_clk)) clk_disable_unprepare(priv->sys_clk); - return 0; } static SIMPLE_DEV_PM_OPS(img_ir_pmops, img_ir_suspend, img_ir_resume); |
