From 87dc6dec3291be1dc74db30f6f1fc7a6c439dacc Mon Sep 17 00:00:00 2001 From: Sameer Pujar Date: Fri, 12 Jul 2019 20:42:18 +0530 Subject: [PATCH] ASoC: tegra-alt: cleanup resource ioremap Currently drivers for resource ioremap does following explicit operations. * error check for platform_get_resource() * call devm_request_mem_region() * call devm_ioremap() Instead of above explicit calls, devm_ioremap_resource() function can be used, which covers all of the above. As per this scheme all drivers are updated for memory region request and ioremapping. Bug 200503387 Change-Id: I7b8df29742e8236d315369ef76aa57d47f47aac7 Signed-off-by: Sameer Pujar Reviewed-on: https://git-master.nvidia.com/r/2152456 Reviewed-by: mobile promotions Tested-by: mobile promotions --- sound/soc/tegra-alt/tegra186_arad_alt.c | 31 +++------------ sound/soc/tegra-alt/tegra186_asrc_alt.c | 31 +++------------ sound/soc/tegra-alt/tegra186_dspk_alt.c | 31 +++------------ sound/soc/tegra-alt/tegra210_admaif_alt.c | 19 ++------- sound/soc/tegra-alt/tegra210_adx_alt.c | 29 +++----------- sound/soc/tegra-alt/tegra210_afc_alt.c | 29 +++----------- sound/soc/tegra-alt/tegra210_amx_alt.c | 29 +++----------- sound/soc/tegra-alt/tegra210_dmic_alt.c | 31 +++------------ sound/soc/tegra-alt/tegra210_i2s_alt.c | 31 +++------------ sound/soc/tegra-alt/tegra210_iqc_alt.c | 29 +++----------- sound/soc/tegra-alt/tegra210_mbdrc_alt.c | 39 +++++-------------- sound/soc/tegra-alt/tegra210_mixer_alt.c | 31 +++------------ sound/soc/tegra-alt/tegra210_mvc_alt.c | 29 +++----------- sound/soc/tegra-alt/tegra210_ope_alt.c | 29 +++----------- sound/soc/tegra-alt/tegra210_peq_alt.c | 36 ++++------------- sound/soc/tegra-alt/tegra210_sfc_alt.c | 29 +++----------- sound/soc/tegra-alt/tegra210_spdif_alt.c | 31 +++------------ .../tegra-alt/utils/tegra210_xbar_utils_alt.c | 19 ++------- 18 files changed, 100 insertions(+), 433 deletions(-) diff --git a/sound/soc/tegra-alt/tegra186_arad_alt.c b/sound/soc/tegra-alt/tegra186_arad_alt.c index 66bd85d5..8ea20363 100644 --- a/sound/soc/tegra-alt/tegra186_arad_alt.c +++ b/sound/soc/tegra-alt/tegra186_arad_alt.c @@ -745,7 +745,7 @@ void tegra186_arad_ahc_deferred_cb(void *data) static int tegra186_arad_platform_probe(struct platform_device *pdev) { struct tegra186_arad *arad; - struct resource *mem, *memregion; + struct resource *mem; void __iomem *regs; int ret = 0; const struct of_device_id *match; @@ -769,33 +769,14 @@ static int tegra186_arad_platform_probe(struct platform_device *pdev) dev_set_drvdata(&pdev->dev, arad); mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!mem) { - dev_err(&pdev->dev, "No memory resource\n"); - ret = -ENODEV; - goto err; - } - - memregion = devm_request_mem_region(&pdev->dev, mem->start, - resource_size(mem), DRV_NAME); - if (!memregion) { - dev_err(&pdev->dev, "Memory region already claimed\n"); - ret = -EBUSY; - goto err; - } - - regs = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); - if (!regs) { - dev_err(&pdev->dev, "ioremap failed\n"); - ret = -ENOMEM; - goto err; - } - + regs = devm_ioremap_resource(&pdev->dev, mem); + if (IS_ERR(regs)) + return PTR_ERR(regs); arad->regmap = devm_regmap_init_mmio(&pdev->dev, regs, - &tegra186_arad_regmap_config); + &tegra186_arad_regmap_config); if (IS_ERR(arad->regmap)) { dev_err(&pdev->dev, "regmap init failed\n"); - ret = PTR_ERR(arad->regmap); - goto err; + return PTR_ERR(arad->regmap); } regcache_cache_only(arad->regmap, true); diff --git a/sound/soc/tegra-alt/tegra186_asrc_alt.c b/sound/soc/tegra-alt/tegra186_asrc_alt.c index 6cef1576..f5edfe5c 100644 --- a/sound/soc/tegra-alt/tegra186_asrc_alt.c +++ b/sound/soc/tegra-alt/tegra186_asrc_alt.c @@ -1085,7 +1085,7 @@ static const struct of_device_id tegra186_asrc_of_match[] = { static int tegra186_asrc_platform_probe(struct platform_device *pdev) { struct tegra186_asrc *asrc; - struct resource *mem, *memregion; + struct resource *mem; void __iomem *regs; int ret = 0; const struct of_device_id *match; @@ -1110,33 +1110,14 @@ static int tegra186_asrc_platform_probe(struct platform_device *pdev) dev_set_drvdata(&pdev->dev, asrc); mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!mem) { - dev_err(&pdev->dev, "No memory resource\n"); - ret = -ENODEV; - goto err; - } - - memregion = devm_request_mem_region(&pdev->dev, mem->start, - resource_size(mem), pdev->name); - if (!memregion) { - dev_err(&pdev->dev, "Memory region already claimed\n"); - ret = -EBUSY; - goto err; - } - - regs = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); - if (!regs) { - dev_err(&pdev->dev, "ioremap failed\n"); - ret = -ENOMEM; - goto err; - } - + regs = devm_ioremap_resource(&pdev->dev, mem); + if (IS_ERR(regs)) + return PTR_ERR(regs); asrc->regmap = devm_regmap_init_mmio(&pdev->dev, regs, - &tegra186_asrc_regmap_config); + &tegra186_asrc_regmap_config); if (IS_ERR(asrc->regmap)) { dev_err(&pdev->dev, "regmap init failed\n"); - ret = PTR_ERR(asrc->regmap); - goto err; + return PTR_ERR(asrc->regmap); } regcache_cache_only(asrc->regmap, true); diff --git a/sound/soc/tegra-alt/tegra186_dspk_alt.c b/sound/soc/tegra-alt/tegra186_dspk_alt.c index fbd8fcae..acaa4802 100644 --- a/sound/soc/tegra-alt/tegra186_dspk_alt.c +++ b/sound/soc/tegra-alt/tegra186_dspk_alt.c @@ -447,7 +447,7 @@ static int tegra186_dspk_platform_probe(struct platform_device *pdev) { struct tegra186_dspk *dspk; struct device_node *np = pdev->dev.of_node; - struct resource *mem, *memregion; + struct resource *mem; void __iomem *regs; int ret = 0; const struct of_device_id *match; @@ -495,33 +495,14 @@ static int tegra186_dspk_platform_probe(struct platform_device *pdev) } mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!mem) { - dev_err(&pdev->dev, "No memory resource\n"); - ret = -ENODEV; - goto err; - } - - memregion = devm_request_mem_region(&pdev->dev, mem->start, - resource_size(mem), pdev->name); - if (!memregion) { - dev_err(&pdev->dev, "Memory region already claimed\n"); - ret = -EBUSY; - goto err; - } - - regs = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); - if (!regs) { - dev_err(&pdev->dev, "ioremap failed\n"); - ret = -ENOMEM; - goto err; - } - + regs = devm_ioremap_resource(&pdev->dev, mem); + if (IS_ERR(regs)) + return PTR_ERR(regs); dspk->regmap = devm_regmap_init_mmio(&pdev->dev, regs, - &tegra186_dspk_regmap_config); + &tegra186_dspk_regmap_config); if (IS_ERR(dspk->regmap)) { dev_err(&pdev->dev, "regmap init failed\n"); - ret = PTR_ERR(dspk->regmap); - goto err; + return PTR_ERR(dspk->regmap); } regcache_cache_only(dspk->regmap, true); diff --git a/sound/soc/tegra-alt/tegra210_admaif_alt.c b/sound/soc/tegra-alt/tegra210_admaif_alt.c index 8623862e..595f254f 100644 --- a/sound/soc/tegra-alt/tegra210_admaif_alt.c +++ b/sound/soc/tegra-alt/tegra210_admaif_alt.c @@ -1205,26 +1205,15 @@ static int tegra_admaif_probe(struct platform_device *pdev) } res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!res) { - dev_err(&pdev->dev, "No memory resource for admaif\n"); - ret = -ENODEV; - goto err; - } - regs = devm_ioremap_resource(&pdev->dev, res); - if (!regs) { - dev_err(&pdev->dev, "request/iomap region failed\n"); - ret = -ENODEV; - goto err; - } - + if (IS_ERR(regs)) + return PTR_ERR(regs); admaif->base_addr = regs; admaif->regmap = devm_regmap_init_mmio(&pdev->dev, regs, - admaif->soc_data->regmap_conf); + admaif->soc_data->regmap_conf); if (IS_ERR(admaif->regmap)) { dev_err(&pdev->dev, "regmap init failed\n"); - ret = PTR_ERR(admaif->regmap); - goto err; + return PTR_ERR(admaif->regmap); } regcache_cache_only(admaif->regmap, true); diff --git a/sound/soc/tegra-alt/tegra210_adx_alt.c b/sound/soc/tegra-alt/tegra210_adx_alt.c index bc1a2bc7..1aa75d05 100644 --- a/sound/soc/tegra-alt/tegra210_adx_alt.c +++ b/sound/soc/tegra-alt/tegra210_adx_alt.c @@ -797,7 +797,7 @@ static const struct of_device_id tegra210_adx_of_match[] = { static int tegra210_adx_platform_probe(struct platform_device *pdev) { struct tegra210_adx *adx; - struct resource *mem, *memregion; + struct resource *mem; void __iomem *regs; int ret = 0; const struct of_device_id *match; @@ -820,33 +820,14 @@ static int tegra210_adx_platform_probe(struct platform_device *pdev) dev_set_drvdata(&pdev->dev, adx); mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!mem) { - dev_err(&pdev->dev, "No memory resource\n"); - ret = -ENODEV; - goto err; - } - - memregion = devm_request_mem_region(&pdev->dev, mem->start, - resource_size(mem), DRV_NAME); - if (!memregion) { - dev_err(&pdev->dev, "Memory region already claimed\n"); - ret = -EBUSY; - goto err; - } - - regs = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); - if (!regs) { - dev_err(&pdev->dev, "ioremap failed\n"); - ret = -ENOMEM; - goto err; - } - + regs = devm_ioremap_resource(&pdev->dev, mem); + if (IS_ERR(regs)) + return PTR_ERR(regs); adx->regmap = devm_regmap_init_mmio(&pdev->dev, regs, &tegra210_adx_regmap_config); if (IS_ERR(adx->regmap)) { dev_err(&pdev->dev, "regmap init failed\n"); - ret = PTR_ERR(adx->regmap); - goto err; + return PTR_ERR(adx->regmap); } regcache_cache_only(adx->regmap, true); diff --git a/sound/soc/tegra-alt/tegra210_afc_alt.c b/sound/soc/tegra-alt/tegra210_afc_alt.c index 0b37a54f..9177cdee 100644 --- a/sound/soc/tegra-alt/tegra210_afc_alt.c +++ b/sound/soc/tegra-alt/tegra210_afc_alt.c @@ -512,7 +512,7 @@ static const struct of_device_id tegra210_afc_of_match[] = { static int tegra210_afc_platform_probe(struct platform_device *pdev) { struct tegra210_afc *afc; - struct resource *mem, *memregion; + struct resource *mem; void __iomem *regs; int ret = 0; const struct of_device_id *match; @@ -539,33 +539,14 @@ static int tegra210_afc_platform_probe(struct platform_device *pdev) dev_set_drvdata(&pdev->dev, afc); mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!mem) { - dev_err(&pdev->dev, "No memory resource\n"); - ret = -ENODEV; - goto err; - } - - memregion = devm_request_mem_region(&pdev->dev, mem->start, - resource_size(mem), pdev->name); - if (!memregion) { - dev_err(&pdev->dev, "Memory region already claimed\n"); - ret = -EBUSY; - goto err; - } - - regs = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); - if (!regs) { - dev_err(&pdev->dev, "ioremap failed\n"); - ret = -ENOMEM; - goto err; - } - + regs = devm_ioremap_resource(&pdev->dev, mem); + if (IS_ERR(regs)) + return PTR_ERR(regs); afc->regmap = devm_regmap_init_mmio(&pdev->dev, regs, &tegra210_afc_regmap_config); if (IS_ERR(afc->regmap)) { dev_err(&pdev->dev, "regmap init failed\n"); - ret = PTR_ERR(afc->regmap); - goto err; + return PTR_ERR(afc->regmap); } regcache_cache_only(afc->regmap, true); diff --git a/sound/soc/tegra-alt/tegra210_amx_alt.c b/sound/soc/tegra-alt/tegra210_amx_alt.c index 1b0d41cb..0b0bce4f 100644 --- a/sound/soc/tegra-alt/tegra210_amx_alt.c +++ b/sound/soc/tegra-alt/tegra210_amx_alt.c @@ -877,7 +877,7 @@ static const struct of_device_id tegra210_amx_of_match[] = { static int tegra210_amx_platform_probe(struct platform_device *pdev) { struct tegra210_amx *amx; - struct resource *mem, *memregion; + struct resource *mem; void __iomem *regs; int ret; const struct of_device_id *match; @@ -905,33 +905,14 @@ static int tegra210_amx_platform_probe(struct platform_device *pdev) dev_set_drvdata(&pdev->dev, amx); mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!mem) { - dev_err(&pdev->dev, "No memory resource\n"); - ret = -ENODEV; - goto err; - } - - memregion = devm_request_mem_region(&pdev->dev, mem->start, - resource_size(mem), DRV_NAME); - if (!memregion) { - dev_err(&pdev->dev, "Memory region already claimed\n"); - ret = -EBUSY; - goto err; - } - - regs = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); - if (!regs) { - dev_err(&pdev->dev, "ioremap failed\n"); - ret = -ENOMEM; - goto err; - } - + regs = devm_ioremap_resource(&pdev->dev, mem); + if (IS_ERR(regs)) + return PTR_ERR(regs); amx->regmap = devm_regmap_init_mmio(&pdev->dev, regs, soc_data->regmap_conf); if (IS_ERR(amx->regmap)) { dev_err(&pdev->dev, "regmap init failed\n"); - ret = PTR_ERR(amx->regmap); - goto err; + return PTR_ERR(amx->regmap); } regcache_cache_only(amx->regmap, true); diff --git a/sound/soc/tegra-alt/tegra210_dmic_alt.c b/sound/soc/tegra-alt/tegra210_dmic_alt.c index dbbaff0e..d97b076d 100644 --- a/sound/soc/tegra-alt/tegra210_dmic_alt.c +++ b/sound/soc/tegra-alt/tegra210_dmic_alt.c @@ -560,7 +560,7 @@ static int tegra210_dmic_platform_probe(struct platform_device *pdev) { struct tegra210_dmic *dmic; struct device_node *np = pdev->dev.of_node; - struct resource *mem, *memregion; + struct resource *mem; void __iomem *regs; int ret = 0; const struct of_device_id *match; @@ -608,33 +608,14 @@ static int tegra210_dmic_platform_probe(struct platform_device *pdev) } mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!mem) { - dev_err(&pdev->dev, "No memory resource\n"); - ret = -ENODEV; - goto err; - } - - memregion = devm_request_mem_region(&pdev->dev, mem->start, - resource_size(mem), pdev->name); - if (!memregion) { - dev_err(&pdev->dev, "Memory region already claimed\n"); - ret = -EBUSY; - goto err; - } - - regs = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); - if (!regs) { - dev_err(&pdev->dev, "ioremap failed\n"); - ret = -ENOMEM; - goto err; - } - + regs = devm_ioremap_resource(&pdev->dev, mem); + if (IS_ERR(regs)) + return PTR_ERR(regs); dmic->regmap = devm_regmap_init_mmio(&pdev->dev, regs, - &tegra210_dmic_regmap_config); + &tegra210_dmic_regmap_config); if (IS_ERR(dmic->regmap)) { dev_err(&pdev->dev, "regmap init failed\n"); - ret = PTR_ERR(dmic->regmap); - goto err; + return PTR_ERR(dmic->regmap); } regcache_cache_only(dmic->regmap, true); diff --git a/sound/soc/tegra-alt/tegra210_i2s_alt.c b/sound/soc/tegra-alt/tegra210_i2s_alt.c index bdda8e0d..3b5d5dda 100644 --- a/sound/soc/tegra-alt/tegra210_i2s_alt.c +++ b/sound/soc/tegra-alt/tegra210_i2s_alt.c @@ -1059,7 +1059,7 @@ static int tegra210_i2s_platform_probe(struct platform_device *pdev) const struct of_device_id *match; struct device_node *np = pdev->dev.of_node; struct tegra210_i2s *i2s; - struct resource *mem, *memregion; + struct resource *mem; struct property *prop; void __iomem *regs; int ret = 0, count = 0, num_supplies; @@ -1111,36 +1111,17 @@ static int tegra210_i2s_platform_probe(struct platform_device *pdev) goto err; } } + mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!mem) { - dev_err(&pdev->dev, "No memory resource\n"); - ret = -ENODEV; - goto err; - } - - memregion = devm_request_mem_region(&pdev->dev, mem->start, - resource_size(mem), pdev->name); - if (!memregion) { - dev_err(&pdev->dev, "Memory region already claimed\n"); - ret = -EBUSY; - goto err; - } - - regs = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); - if (!regs) { - dev_err(&pdev->dev, "ioremap failed\n"); - ret = -ENOMEM; - goto err; - } - + regs = devm_ioremap_resource(&pdev->dev, mem); + if (IS_ERR(regs)) + return PTR_ERR(regs); i2s->regmap = devm_regmap_init_mmio(&pdev->dev, regs, &tegra210_i2s_regmap_config); if (IS_ERR(i2s->regmap)) { dev_err(&pdev->dev, "regmap init failed\n"); - ret = PTR_ERR(i2s->regmap); - goto err; + return PTR_ERR(i2s->regmap); } - regcache_cache_only(i2s->regmap, true); if (of_property_read_u32(np, "nvidia,ahub-i2s-id", diff --git a/sound/soc/tegra-alt/tegra210_iqc_alt.c b/sound/soc/tegra-alt/tegra210_iqc_alt.c index 7e923696..2e140216 100644 --- a/sound/soc/tegra-alt/tegra210_iqc_alt.c +++ b/sound/soc/tegra-alt/tegra210_iqc_alt.c @@ -292,7 +292,7 @@ static const struct of_device_id tegra210_iqc_of_match[] = { static int tegra210_iqc_platform_probe(struct platform_device *pdev) { struct tegra210_iqc *iqc; - struct resource *mem, *memregion; + struct resource *mem; void __iomem *regs; int ret = 0; const struct of_device_id *match; @@ -323,33 +323,14 @@ static int tegra210_iqc_platform_probe(struct platform_device *pdev) } mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!mem) { - dev_err(&pdev->dev, "No memory resource\n"); - ret = -ENODEV; - goto err; - } - - memregion = devm_request_mem_region(&pdev->dev, mem->start, - resource_size(mem), pdev->name); - if (!memregion) { - dev_err(&pdev->dev, "Memory region already claimed\n"); - ret = -EBUSY; - goto err; - } - - regs = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); - if (!regs) { - dev_err(&pdev->dev, "ioremap failed\n"); - ret = -ENOMEM; - goto err; - } - + regs = devm_ioremap_resource(&pdev->dev, mem); + if (IS_ERR(regs)) + return PTR_ERR(regs); iqc->regmap = devm_regmap_init_mmio(&pdev->dev, regs, &tegra210_iqc_regmap_config); if (IS_ERR(iqc->regmap)) { dev_err(&pdev->dev, "regmap init failed\n"); - ret = PTR_ERR(iqc->regmap); - goto err; + return PTR_ERR(iqc->regmap); } regcache_cache_only(iqc->regmap, true); diff --git a/sound/soc/tegra-alt/tegra210_mbdrc_alt.c b/sound/soc/tegra-alt/tegra210_mbdrc_alt.c index 7e6e9384..91bc78cc 100644 --- a/sound/soc/tegra-alt/tegra210_mbdrc_alt.c +++ b/sound/soc/tegra-alt/tegra210_mbdrc_alt.c @@ -1,7 +1,7 @@ /* * tegra210_mbdrc_alt.c - Tegra210 MBDRC driver * - * Copyright (c) 2014-2017, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2014-2019, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -837,43 +837,22 @@ EXPORT_SYMBOL_GPL(tegra210_mbdrc_codec_init); int tegra210_mbdrc_init(struct platform_device *pdev, int id) { struct tegra210_ope *ope = dev_get_drvdata(&pdev->dev); - struct resource *mem, *memregion; + struct resource *mem; void __iomem *regs; - int ret = 0; mem = platform_get_resource(pdev, IORESOURCE_MEM, id); - if (!mem) { - dev_err(&pdev->dev, "No memory resource\n"); - ret = -ENODEV; - goto err; - } - - memregion = devm_request_mem_region(&pdev->dev, mem->start, - resource_size(mem), pdev->name); - if (!memregion) { - dev_err(&pdev->dev, "Memory region already claimed\n"); - ret = -EBUSY; - goto err; - } - - regs = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); - if (!regs) { - dev_err(&pdev->dev, "ioremap failed\n"); - ret = -ENOMEM; - goto err; - } - - ope->mbdrc_regmap = devm_regmap_init_mmio(&pdev->dev, regs, - &tegra210_mbdrc_regmap_config); + regs = devm_ioremap_resource(&pdev->dev, mem); + if (IS_ERR(regs)) + return PTR_ERR(regs); + ope->mbdrc_regmap = + devm_regmap_init_mmio(&pdev->dev, regs, + &tegra210_mbdrc_regmap_config); if (IS_ERR(ope->mbdrc_regmap)) { dev_err(&pdev->dev, "regmap init failed\n"); - ret = PTR_ERR(ope->mbdrc_regmap); - goto err; + return PTR_ERR(ope->mbdrc_regmap); } return 0; -err: - return ret; } EXPORT_SYMBOL_GPL(tegra210_mbdrc_init); diff --git a/sound/soc/tegra-alt/tegra210_mixer_alt.c b/sound/soc/tegra-alt/tegra210_mixer_alt.c index 085dea78..5c7e3bff 100644 --- a/sound/soc/tegra-alt/tegra210_mixer_alt.c +++ b/sound/soc/tegra-alt/tegra210_mixer_alt.c @@ -680,7 +680,7 @@ static const struct of_device_id tegra210_mixer_of_match[] = { static int tegra210_mixer_platform_probe(struct platform_device *pdev) { struct tegra210_mixer *mixer; - struct resource *mem, *memregion; + struct resource *mem; void __iomem *regs; int ret, i; const struct of_device_id *match; @@ -721,33 +721,14 @@ static int tegra210_mixer_platform_probe(struct platform_device *pdev) mixer->gain_value[i] = 0x10000; mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!mem) { - dev_err(&pdev->dev, "No memory resource\n"); - ret = -ENODEV; - goto err; - } - - memregion = devm_request_mem_region(&pdev->dev, mem->start, - resource_size(mem), DRV_NAME); - if (!memregion) { - dev_err(&pdev->dev, "Memory region already claimed\n"); - ret = -EBUSY; - goto err; - } - - regs = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); - if (!regs) { - dev_err(&pdev->dev, "ioremap failed\n"); - ret = -ENOMEM; - goto err; - } - + regs = devm_ioremap_resource(&pdev->dev, mem); + if (IS_ERR(regs)) + return PTR_ERR(regs); mixer->regmap = devm_regmap_init_mmio(&pdev->dev, regs, - &tegra210_mixer_regmap_config); + &tegra210_mixer_regmap_config); if (IS_ERR(mixer->regmap)) { dev_err(&pdev->dev, "regmap init failed\n"); - ret = PTR_ERR(mixer->regmap); - goto err; + return PTR_ERR(mixer->regmap); } regcache_cache_only(mixer->regmap, true); diff --git a/sound/soc/tegra-alt/tegra210_mvc_alt.c b/sound/soc/tegra-alt/tegra210_mvc_alt.c index 9cbbaee6..7853629d 100644 --- a/sound/soc/tegra-alt/tegra210_mvc_alt.c +++ b/sound/soc/tegra-alt/tegra210_mvc_alt.c @@ -619,7 +619,7 @@ static const struct of_device_id tegra210_mvc_of_match[] = { static int tegra210_mvc_platform_probe(struct platform_device *pdev) { struct tegra210_mvc *mvc; - struct resource *mem, *memregion; + struct resource *mem; void __iomem *regs; int ret = 0; const struct of_device_id *match; @@ -658,33 +658,14 @@ static int tegra210_mvc_platform_probe(struct platform_device *pdev) mvc->volume = TEGRA210_MVC_INIT_VOL_DEFAULT_LINEAR; mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!mem) { - dev_err(&pdev->dev, "No memory resource\n"); - ret = -ENODEV; - goto err; - } - - memregion = devm_request_mem_region(&pdev->dev, mem->start, - resource_size(mem), pdev->name); - if (!memregion) { - dev_err(&pdev->dev, "Memory region already claimed\n"); - ret = -EBUSY; - goto err; - } - - regs = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); - if (!regs) { - dev_err(&pdev->dev, "ioremap failed\n"); - ret = -ENOMEM; - goto err; - } - + regs = devm_ioremap_resource(&pdev->dev, mem); + if (IS_ERR(regs)) + return PTR_ERR(regs); mvc->regmap = devm_regmap_init_mmio(&pdev->dev, regs, &tegra210_mvc_regmap_config); if (IS_ERR(mvc->regmap)) { dev_err(&pdev->dev, "regmap init failed\n"); - ret = PTR_ERR(mvc->regmap); - goto err; + return PTR_ERR(mvc->regmap); } regcache_cache_only(mvc->regmap, true); diff --git a/sound/soc/tegra-alt/tegra210_ope_alt.c b/sound/soc/tegra-alt/tegra210_ope_alt.c index f51fb6ff..e0127285 100644 --- a/sound/soc/tegra-alt/tegra210_ope_alt.c +++ b/sound/soc/tegra-alt/tegra210_ope_alt.c @@ -316,7 +316,7 @@ static const struct of_device_id tegra210_ope_of_match[] = { static int tegra210_ope_platform_probe(struct platform_device *pdev) { struct tegra210_ope *ope; - struct resource *mem, *memregion; + struct resource *mem; void __iomem *regs; int ret = 0; const struct of_device_id *match; @@ -340,33 +340,14 @@ static int tegra210_ope_platform_probe(struct platform_device *pdev) ope->is_shutdown = false; mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!mem) { - dev_err(&pdev->dev, "No memory resource\n"); - ret = -ENODEV; - goto err; - } - - memregion = devm_request_mem_region(&pdev->dev, mem->start, - resource_size(mem), pdev->name); - if (!memregion) { - dev_err(&pdev->dev, "Memory region already claimed\n"); - ret = -EBUSY; - goto err; - } - - regs = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); - if (!regs) { - dev_err(&pdev->dev, "ioremap failed\n"); - ret = -ENOMEM; - goto err; - } - + regs = devm_ioremap_resource(&pdev->dev, mem); + if (IS_ERR(regs)) + return PTR_ERR(regs); ope->regmap = devm_regmap_init_mmio(&pdev->dev, regs, &tegra210_ope_regmap_config); if (IS_ERR(ope->regmap)) { dev_err(&pdev->dev, "regmap init failed\n"); - ret = PTR_ERR(ope->regmap); - goto err; + return PTR_ERR(ope->regmap); } regcache_cache_only(ope->regmap, true); diff --git a/sound/soc/tegra-alt/tegra210_peq_alt.c b/sound/soc/tegra-alt/tegra210_peq_alt.c index d021ebe1..1edd7d52 100644 --- a/sound/soc/tegra-alt/tegra210_peq_alt.c +++ b/sound/soc/tegra-alt/tegra210_peq_alt.c @@ -1,7 +1,7 @@ /* * tegra210_peq_alt.c - Tegra210 PEQ driver * - * Copyright (c) 2014-2018, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2014-2019, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -370,43 +370,21 @@ EXPORT_SYMBOL_GPL(tegra210_peq_codec_init); int tegra210_peq_init(struct platform_device *pdev, int id) { struct tegra210_ope *ope = dev_get_drvdata(&pdev->dev); - struct resource *mem, *memregion; + struct resource *mem; void __iomem *regs; - int ret = 0; mem = platform_get_resource(pdev, IORESOURCE_MEM, id); - if (!mem) { - dev_err(&pdev->dev, "No memory resource\n"); - ret = -ENODEV; - goto err; - } - - memregion = devm_request_mem_region(&pdev->dev, mem->start, - resource_size(mem), pdev->name); - if (!memregion) { - dev_err(&pdev->dev, "Memory region already claimed\n"); - ret = -EBUSY; - goto err; - } - - regs = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); - if (!regs) { - dev_err(&pdev->dev, "ioremap failed\n"); - ret = -ENOMEM; - goto err; - } - + regs = devm_ioremap_resource(&pdev->dev, mem); + if (IS_ERR(regs)) + return PTR_ERR(regs); ope->peq_regmap = devm_regmap_init_mmio(&pdev->dev, regs, - &tegra210_peq_regmap_config); + &tegra210_peq_regmap_config); if (IS_ERR(ope->peq_regmap)) { dev_err(&pdev->dev, "regmap init failed\n"); - ret = PTR_ERR(ope->peq_regmap); - goto err; + return PTR_ERR(ope->peq_regmap); } return 0; -err: - return ret; } EXPORT_SYMBOL_GPL(tegra210_peq_init); diff --git a/sound/soc/tegra-alt/tegra210_sfc_alt.c b/sound/soc/tegra-alt/tegra210_sfc_alt.c index 8c9c6adf..59dc04fe 100644 --- a/sound/soc/tegra-alt/tegra210_sfc_alt.c +++ b/sound/soc/tegra-alt/tegra210_sfc_alt.c @@ -3547,7 +3547,7 @@ static const struct of_device_id tegra210_sfc_of_match[] = { static int tegra210_sfc_platform_probe(struct platform_device *pdev) { struct tegra210_sfc *sfc; - struct resource *mem, *memregion; + struct resource *mem; void __iomem *regs; int ret = 0; const struct of_device_id *match; @@ -3574,33 +3574,14 @@ static int tegra210_sfc_platform_probe(struct platform_device *pdev) dev_set_drvdata(&pdev->dev, sfc); mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!mem) { - dev_err(&pdev->dev, "No memory resource\n"); - ret = -ENODEV; - goto err; - } - - memregion = devm_request_mem_region(&pdev->dev, mem->start, - resource_size(mem), pdev->name); - if (!memregion) { - dev_err(&pdev->dev, "Memory region already claimed\n"); - ret = -EBUSY; - goto err; - } - - regs = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); - if (!regs) { - dev_err(&pdev->dev, "ioremap failed\n"); - ret = -ENOMEM; - goto err; - } - + regs = devm_ioremap_resource(&pdev->dev, mem); + if (IS_ERR(regs)) + return PTR_ERR(regs); sfc->regmap = devm_regmap_init_mmio(&pdev->dev, regs, &tegra210_sfc_regmap_config); if (IS_ERR(sfc->regmap)) { dev_err(&pdev->dev, "regmap init failed\n"); - ret = PTR_ERR(sfc->regmap); - goto err; + return PTR_ERR(sfc->regmap); } regcache_cache_only(sfc->regmap, true); diff --git a/sound/soc/tegra-alt/tegra210_spdif_alt.c b/sound/soc/tegra-alt/tegra210_spdif_alt.c index 8cc039fd..30485dc2 100644 --- a/sound/soc/tegra-alt/tegra210_spdif_alt.c +++ b/sound/soc/tegra-alt/tegra210_spdif_alt.c @@ -415,7 +415,7 @@ static int tegra210_spdif_platform_probe(struct platform_device *pdev) { struct tegra210_spdif *spdif; struct device_node *np = pdev->dev.of_node; - struct resource *mem, *memregion; + struct resource *mem; void __iomem *regs; const struct of_device_id *match; const char *prod_name; @@ -470,33 +470,14 @@ static int tegra210_spdif_platform_probe(struct platform_device *pdev) } mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!mem) { - dev_err(&pdev->dev, "No memory resource\n"); - ret = -ENODEV; - goto err; - } - - memregion = devm_request_mem_region(&pdev->dev, mem->start, - resource_size(mem), DRV_NAME); - if (!memregion) { - dev_err(&pdev->dev, "Memory region already claimed\n"); - ret = -EBUSY; - goto err; - } - - regs = devm_ioremap(&pdev->dev, mem->start, resource_size(mem)); - if (!regs) { - dev_err(&pdev->dev, "ioremap failed\n"); - ret = -ENOMEM; - goto err; - } - + regs = devm_ioremap_resource(&pdev->dev, mem); + if (IS_ERR(regs)) + return PTR_ERR(regs); spdif->regmap = devm_regmap_init_mmio(&pdev->dev, regs, - &tegra210_spdif_regmap_config); + &tegra210_spdif_regmap_config); if (IS_ERR(spdif->regmap)) { dev_err(&pdev->dev, "regmap init failed\n"); - ret = PTR_ERR(spdif->regmap); - goto err; + return PTR_ERR(spdif->regmap); } regcache_cache_only(spdif->regmap, true); diff --git a/sound/soc/tegra-alt/utils/tegra210_xbar_utils_alt.c b/sound/soc/tegra-alt/utils/tegra210_xbar_utils_alt.c index 5801dea7..e916fd2e 100644 --- a/sound/soc/tegra-alt/utils/tegra210_xbar_utils_alt.c +++ b/sound/soc/tegra-alt/utils/tegra210_xbar_utils_alt.c @@ -377,25 +377,14 @@ int tegra_xbar_probe(struct platform_device *pdev, } res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!res) { - dev_err(&pdev->dev, "No memory resource for admaif\n"); - ret = -ENODEV; - goto err; - } - regs = devm_ioremap_resource(&pdev->dev, res); - if (!regs) { - dev_err(&pdev->dev, "request/iomap region failed\n"); - ret = -ENODEV; - goto err_clk_set_parent; - } - + if (IS_ERR(regs)) + return PTR_ERR(regs); xbar->regmap = devm_regmap_init_mmio(&pdev->dev, regs, soc_data->regmap_config); if (IS_ERR(xbar->regmap)) { dev_err(&pdev->dev, "regmap init failed\n"); - ret = PTR_ERR(xbar->regmap); - goto err_clk_set_parent; + return PTR_ERR(xbar->regmap); } regcache_cache_only(xbar->regmap, true); @@ -420,8 +409,6 @@ err_suspend: err_pm_disable: pm_runtime_disable(&pdev->dev); tegra_pd_remove_device(&pdev->dev); -err_clk_set_parent: - clk_set_parent(xbar->clk, parent_clk); err: return ret; }