linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 01/42] drivers/ata: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
@ 2013-05-10  8:16 ` Wolfram Sang
  2013-05-10  8:16 ` [RFC 02/42] drivers/char/hw_random: " Wolfram Sang
                   ` (40 subsequent siblings)
  41 siblings, 0 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang, Tejun Heo, linux-ide

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/ata/pata_ep93xx.c |    5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/ata/pata_ep93xx.c b/drivers/ata/pata_ep93xx.c
index c1bfaf4..980b88e 100644
--- a/drivers/ata/pata_ep93xx.c
+++ b/drivers/ata/pata_ep93xx.c
@@ -933,11 +933,6 @@ static int ep93xx_pata_probe(struct platform_device *pdev)
 	}
 
 	mem_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!mem_res) {
-		err = -ENXIO;
-		goto err_rel_gpio;
-	}
-
 	ide_base = devm_ioremap_resource(&pdev->dev, mem_res);
 	if (IS_ERR(ide_base)) {
 		err = PTR_ERR(ide_base);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 02/42] drivers/char/hw_random: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
  2013-05-10  8:16 ` [RFC 01/42] drivers/ata: don't check resource with devm_ioremap_resource Wolfram Sang
@ 2013-05-10  8:16 ` Wolfram Sang
  2013-05-10  8:16 ` [RFC 03/42] drivers/cpufreq: " Wolfram Sang
                   ` (39 subsequent siblings)
  41 siblings, 0 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang, Matt Mackall, Herbert Xu, Deepak Saxena

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/char/hw_random/mxc-rnga.c |    6 ------
 drivers/char/hw_random/omap-rng.c |    5 -----
 2 files changed, 11 deletions(-)

diff --git a/drivers/char/hw_random/mxc-rnga.c b/drivers/char/hw_random/mxc-rnga.c
index 4ca35e8..19a12ac 100644
--- a/drivers/char/hw_random/mxc-rnga.c
+++ b/drivers/char/hw_random/mxc-rnga.c
@@ -167,11 +167,6 @@ static int __init mxc_rnga_probe(struct platform_device *pdev)
 	clk_prepare_enable(mxc_rng->clk);
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		err = -ENOENT;
-		goto err_region;
-	}
-
 	mxc_rng->mem = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(mxc_rng->mem)) {
 		err = PTR_ERR(mxc_rng->mem);
@@ -189,7 +184,6 @@ static int __init mxc_rnga_probe(struct platform_device *pdev)
 	return 0;
 
 err_ioremap:
-err_region:
 	clk_disable_unprepare(mxc_rng->clk);
 
 out:
diff --git a/drivers/char/hw_random/omap-rng.c b/drivers/char/hw_random/omap-rng.c
index 749dc16..d2903e7 100644
--- a/drivers/char/hw_random/omap-rng.c
+++ b/drivers/char/hw_random/omap-rng.c
@@ -119,11 +119,6 @@ static int omap_rng_probe(struct platform_device *pdev)
 	dev_set_drvdata(&pdev->dev, priv);
 
 	priv->mem_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!priv->mem_res) {
-		ret = -ENOENT;
-		goto err_ioremap;
-	}
-
 	priv->base = devm_ioremap_resource(&pdev->dev, priv->mem_res);
 	if (IS_ERR(priv->base)) {
 		ret = PTR_ERR(priv->base);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 03/42] drivers/cpufreq: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
  2013-05-10  8:16 ` [RFC 01/42] drivers/ata: don't check resource with devm_ioremap_resource Wolfram Sang
  2013-05-10  8:16 ` [RFC 02/42] drivers/char/hw_random: " Wolfram Sang
@ 2013-05-10  8:16 ` Wolfram Sang
  2013-05-10 11:09   ` Rafael J. Wysocki
  2013-05-10  8:16 ` [RFC 04/42] drivers/dma: " Wolfram Sang
                   ` (38 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:16 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Rafael J. Wysocki, Viresh Kumar, cpufreq, linux-pm

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/cpufreq/kirkwood-cpufreq.c |    4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/cpufreq/kirkwood-cpufreq.c b/drivers/cpufreq/kirkwood-cpufreq.c
index d36ea8d..b2644af 100644
--- a/drivers/cpufreq/kirkwood-cpufreq.c
+++ b/drivers/cpufreq/kirkwood-cpufreq.c
@@ -171,10 +171,6 @@ static int kirkwood_cpufreq_probe(struct platform_device *pdev)
 	priv.dev = &pdev->dev;
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "Cannot get memory resource\n");
-		return -ENODEV;
-	}
 	priv.base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(priv.base))
 		return PTR_ERR(priv.base);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 04/42] drivers/dma: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (2 preceding siblings ...)
  2013-05-10  8:16 ` [RFC 03/42] drivers/cpufreq: " Wolfram Sang
@ 2013-05-10  8:16 ` Wolfram Sang
  2013-05-10 16:35   ` Stephen Warren
  2013-05-10  8:16 ` [RFC 05/42] drivers/gpio: " Wolfram Sang
                   ` (37 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:16 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Vinod Koul, Dan Williams, Stephen Warren, linux-tegra

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/dma/tegra20-apb-dma.c |    5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c
index fcee27e..53e1375 100644
--- a/drivers/dma/tegra20-apb-dma.c
+++ b/drivers/dma/tegra20-apb-dma.c
@@ -1279,11 +1279,6 @@ static int tegra_dma_probe(struct platform_device *pdev)
 	platform_set_drvdata(pdev, tdma);
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "No mem resource for DMA\n");
-		return -EINVAL;
-	}
-
 	tdma->base_addr = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(tdma->base_addr))
 		return PTR_ERR(tdma->base_addr);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 05/42] drivers/gpio: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (3 preceding siblings ...)
  2013-05-10  8:16 ` [RFC 04/42] drivers/dma: " Wolfram Sang
@ 2013-05-10  8:16 ` Wolfram Sang
  2013-05-12 15:11   ` Viresh Kumar
  2013-05-10  8:16 ` [RFC 06/42] drivers/gpu/drm/exynos: " Wolfram Sang
                   ` (36 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:16 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Grant Likely, Linus Walleij, Stephen Warren, linux-tegra

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/gpio/gpio-mvebu.c       |   12 +-----------
 drivers/gpio/gpio-spear-spics.c |    7 +------
 drivers/gpio/gpio-tegra.c       |    5 -----
 3 files changed, 2 insertions(+), 22 deletions(-)

diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c
index bf69a7e..60e8c6e 100644
--- a/drivers/gpio/gpio-mvebu.c
+++ b/drivers/gpio/gpio-mvebu.c
@@ -566,12 +566,6 @@ static int mvebu_gpio_probe(struct platform_device *pdev)
 	else
 		soc_variant = MVEBU_GPIO_SOC_VARIANT_ORION;
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "Cannot get memory resource\n");
-		return -ENODEV;
-	}
-
 	mvchip = devm_kzalloc(&pdev->dev, sizeof(struct mvebu_gpio_chip), GFP_KERNEL);
 	if (!mvchip) {
 		dev_err(&pdev->dev, "Cannot allocate memory\n");
@@ -611,6 +605,7 @@ static int mvebu_gpio_probe(struct platform_device *pdev)
 	mvchip->chip.dbg_show = mvebu_gpio_dbg_show;
 
 	spin_lock_init(&mvchip->lock);
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	mvchip->membase = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(mvchip->membase))
 		return PTR_ERR(mvchip->membase);
@@ -619,11 +614,6 @@ static int mvebu_gpio_probe(struct platform_device *pdev)
 	 * per-CPU registers */
 	if (soc_variant == MVEBU_GPIO_SOC_VARIANT_ARMADAXP) {
 		res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-		if (!res) {
-			dev_err(&pdev->dev, "Cannot get memory resource\n");
-			return -ENODEV;
-		}
-
 		mvchip->percpu_membase = devm_ioremap_resource(&pdev->dev,
 							       res);
 		if (IS_ERR(mvchip->percpu_membase))
diff --git a/drivers/gpio/gpio-spear-spics.c b/drivers/gpio/gpio-spear-spics.c
index 7a4bf7c..e9a0415 100644
--- a/drivers/gpio/gpio-spear-spics.c
+++ b/drivers/gpio/gpio-spear-spics.c
@@ -128,18 +128,13 @@ static int spics_gpio_probe(struct platform_device *pdev)
 	struct resource *res;
 	int ret;
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "invalid IORESOURCE_MEM\n");
-		return -EBUSY;
-	}
-
 	spics = devm_kzalloc(&pdev->dev, sizeof(*spics), GFP_KERNEL);
 	if (!spics) {
 		dev_err(&pdev->dev, "memory allocation fail\n");
 		return -ENOMEM;
 	}
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	spics->base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(spics->base))
 		return PTR_ERR(spics->base);
diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c
index da4cb5b..9a62672 100644
--- a/drivers/gpio/gpio-tegra.c
+++ b/drivers/gpio/gpio-tegra.c
@@ -463,11 +463,6 @@ static int tegra_gpio_probe(struct platform_device *pdev)
 	}
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "Missing MEM resource\n");
-		return -ENODEV;
-	}
-
 	regs = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(regs))
 		return PTR_ERR(regs);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 06/42] drivers/gpu/drm/exynos: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (4 preceding siblings ...)
  2013-05-10  8:16 ` [RFC 05/42] drivers/gpio: " Wolfram Sang
@ 2013-05-10  8:16 ` Wolfram Sang
  2013-05-10  8:16 ` [RFC 07/42] drivers/gpu/host1x: " Wolfram Sang
                   ` (35 subsequent siblings)
  41 siblings, 0 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:16 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Inki Dae, Joonyoung Shim, Seung-Woo Kim,
	Kyungmin Park, David Airlie, dri-devel

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/gpu/drm/exynos/exynos_hdmi.c |    5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
index bbfc384..6652597 100644
--- a/drivers/gpu/drm/exynos/exynos_hdmi.c
+++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
@@ -2005,11 +2005,6 @@ static int hdmi_probe(struct platform_device *pdev)
 	}
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		DRM_ERROR("failed to find registers\n");
-		return -ENOENT;
-	}
-
 	hdata->regs = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(hdata->regs))
 		return PTR_ERR(hdata->regs);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 07/42] drivers/gpu/host1x: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (5 preceding siblings ...)
  2013-05-10  8:16 ` [RFC 06/42] drivers/gpu/drm/exynos: " Wolfram Sang
@ 2013-05-10  8:16 ` Wolfram Sang
  2013-05-10  8:16 ` [RFC 08/42] drivers/gpu/host1x/drm: " Wolfram Sang
                   ` (34 subsequent siblings)
  41 siblings, 0 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/gpu/host1x/dev.c |    7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/gpu/host1x/dev.c b/drivers/gpu/host1x/dev.c
index 28e28a2..e615edd 100644
--- a/drivers/gpu/host1x/dev.c
+++ b/drivers/gpu/host1x/dev.c
@@ -98,12 +98,6 @@ static int host1x_probe(struct platform_device *pdev)
 	if (!id)
 		return -EINVAL;
 
-	regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!regs) {
-		dev_err(&pdev->dev, "failed to get registers\n");
-		return -ENXIO;
-	}
-
 	syncpt_irq = platform_get_irq(pdev, 0);
 	if (syncpt_irq < 0) {
 		dev_err(&pdev->dev, "failed to get IRQ\n");
@@ -120,6 +114,7 @@ static int host1x_probe(struct platform_device *pdev)
 	/* set common host1x device data */
 	platform_set_drvdata(pdev, host);
 
+	regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	host->regs = devm_ioremap_resource(&pdev->dev, regs);
 	if (IS_ERR(host->regs))
 		return PTR_ERR(host->regs);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 08/42] drivers/gpu/host1x/drm: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (6 preceding siblings ...)
  2013-05-10  8:16 ` [RFC 07/42] drivers/gpu/host1x: " Wolfram Sang
@ 2013-05-10  8:16 ` Wolfram Sang
  2013-05-10  8:16 ` [RFC 09/42] drivers/i2c/busses: " Wolfram Sang
                   ` (33 subsequent siblings)
  41 siblings, 0 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/gpu/host1x/drm/dc.c |    5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/gpu/host1x/drm/dc.c b/drivers/gpu/host1x/drm/dc.c
index 1e20603..8c04943 100644
--- a/drivers/gpu/host1x/drm/dc.c
+++ b/drivers/gpu/host1x/drm/dc.c
@@ -1128,11 +1128,6 @@ static int tegra_dc_probe(struct platform_device *pdev)
 		return err;
 
 	regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!regs) {
-		dev_err(&pdev->dev, "failed to get registers\n");
-		return -ENXIO;
-	}
-
 	dc->regs = devm_ioremap_resource(&pdev->dev, regs);
 	if (IS_ERR(dc->regs))
 		return PTR_ERR(dc->regs);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 09/42] drivers/i2c/busses: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (7 preceding siblings ...)
  2013-05-10  8:16 ` [RFC 08/42] drivers/gpu/host1x/drm: " Wolfram Sang
@ 2013-05-10  8:16 ` Wolfram Sang
  2013-05-11  5:18   ` Jingoo Han
  2013-06-04 18:34   ` Kevin Hilman
  2013-05-10  8:16 ` [RFC 10/42] drivers/input/keyboard: " Wolfram Sang
                   ` (32 subsequent siblings)
  41 siblings, 2 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:16 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Sekhar Nori, Kevin Hilman, Tony Lindgren,
	Ben Dooks, Kukjin Kim, Barry Song, Stephen Warren,
	davinci-linux-open-source, linux-i2c, linux-omap,
	linux-arm-kernel, linux-samsung-soc, linux-tegra

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/i2c/busses/i2c-davinci.c            |    6 +-----
 drivers/i2c/busses/i2c-designware-platdrv.c |    6 +-----
 drivers/i2c/busses/i2c-imx.c                |    6 +-----
 drivers/i2c/busses/i2c-omap.c               |    6 +-----
 drivers/i2c/busses/i2c-rcar.c               |    7 +------
 drivers/i2c/busses/i2c-s3c2410.c            |    5 -----
 drivers/i2c/busses/i2c-sirf.c               |    6 ------
 drivers/i2c/busses/i2c-tegra.c              |    5 -----
 8 files changed, 5 insertions(+), 42 deletions(-)

diff --git a/drivers/i2c/busses/i2c-davinci.c b/drivers/i2c/busses/i2c-davinci.c
index cf20e06..2ed3e7b 100644
--- a/drivers/i2c/busses/i2c-davinci.c
+++ b/drivers/i2c/busses/i2c-davinci.c
@@ -647,11 +647,6 @@ static int davinci_i2c_probe(struct platform_device *pdev)
 	int r;
 
 	/* NOTE: driver uses the static register mapping */
-	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!mem) {
-		dev_err(&pdev->dev, "no mem resource?\n");
-		return -ENODEV;
-	}
 
 	irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
 	if (!irq) {
@@ -697,6 +692,7 @@ static int davinci_i2c_probe(struct platform_device *pdev)
 		return -ENODEV;
 	clk_prepare_enable(dev->clk);
 
+	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	dev->base = devm_ioremap_resource(&pdev->dev, mem);
 	if (IS_ERR(dev->base)) {
 		r = PTR_ERR(dev->base);
diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c
index 8ec9133..6f3c612 100644
--- a/drivers/i2c/busses/i2c-designware-platdrv.c
+++ b/drivers/i2c/busses/i2c-designware-platdrv.c
@@ -87,11 +87,6 @@ static int dw_i2c_probe(struct platform_device *pdev)
 	int irq, r;
 
 	/* NOTE: driver uses the static register mapping */
-	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!mem) {
-		dev_err(&pdev->dev, "no mem resource?\n");
-		return -EINVAL;
-	}
 
 	irq = platform_get_irq(pdev, 0);
 	if (irq < 0) {
@@ -103,6 +98,7 @@ static int dw_i2c_probe(struct platform_device *pdev)
 	if (!dev)
 		return -ENOMEM;
 
+	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	dev->base = devm_ioremap_resource(&pdev->dev, mem);
 	if (IS_ERR(dev->base))
 		return PTR_ERR(dev->base);
diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c
index 82f20c6..b274ca1 100644
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
@@ -500,17 +500,13 @@ static int __init i2c_imx_probe(struct platform_device *pdev)
 
 	dev_dbg(&pdev->dev, "<%s>\n", __func__);
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "can't get device resources\n");
-		return -ENOENT;
-	}
 	irq = platform_get_irq(pdev, 0);
 	if (irq < 0) {
 		dev_err(&pdev->dev, "can't get irq number\n");
 		return -ENOENT;
 	}
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(base))
 		return PTR_ERR(base);
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index e02f9e3..8498ab7 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -1085,11 +1085,6 @@ omap_i2c_probe(struct platform_device *pdev)
 	u16 minor, major, scheme;
 
 	/* NOTE: driver uses the static register mapping */
-	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!mem) {
-		dev_err(&pdev->dev, "no mem resource?\n");
-		return -ENODEV;
-	}
 
 	irq = platform_get_irq(pdev, 0);
 	if (irq < 0) {
@@ -1103,6 +1098,7 @@ omap_i2c_probe(struct platform_device *pdev)
 		return -ENOMEM;
 	}
 
+	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	dev->base = devm_ioremap_resource(&pdev->dev, mem);
 	if (IS_ERR(dev->base))
 		return PTR_ERR(dev->base);
diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c
index 4ba4a95..0fc5858 100644
--- a/drivers/i2c/busses/i2c-rcar.c
+++ b/drivers/i2c/busses/i2c-rcar.c
@@ -623,12 +623,6 @@ static int rcar_i2c_probe(struct platform_device *pdev)
 	u32 bus_speed;
 	int ret;
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(dev, "no mmio resources\n");
-		return -ENODEV;
-	}
-
 	priv = devm_kzalloc(dev, sizeof(struct rcar_i2c_priv), GFP_KERNEL);
 	if (!priv) {
 		dev_err(dev, "no mem for private data\n");
@@ -642,6 +636,7 @@ static int rcar_i2c_probe(struct platform_device *pdev)
 	if (ret < 0)
 		return ret;
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	priv->io = devm_ioremap_resource(dev, res);
 	if (IS_ERR(priv->io))
 		return PTR_ERR(priv->io);
diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
index 6e8ee92..cab1c91 100644
--- a/drivers/i2c/busses/i2c-s3c2410.c
+++ b/drivers/i2c/busses/i2c-s3c2410.c
@@ -1082,11 +1082,6 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
 	/* map the registers */
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (res == NULL) {
-		dev_err(&pdev->dev, "cannot find IO resource\n");
-		return -ENOENT;
-	}
-
 	i2c->regs = devm_ioremap_resource(&pdev->dev, res);
 
 	if (IS_ERR(i2c->regs))
diff --git a/drivers/i2c/busses/i2c-sirf.c b/drivers/i2c/busses/i2c-sirf.c
index 5a7ad24..a63c7d5 100644
--- a/drivers/i2c/busses/i2c-sirf.c
+++ b/drivers/i2c/busses/i2c-sirf.c
@@ -303,12 +303,6 @@ static int i2c_sirfsoc_probe(struct platform_device *pdev)
 	adap->class = I2C_CLASS_HWMON;
 
 	mem_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (mem_res == NULL) {
-		dev_err(&pdev->dev, "Unable to get MEM resource\n");
-		err = -EINVAL;
-		goto out;
-	}
-
 	siic->base = devm_ioremap_resource(&pdev->dev, mem_res);
 	if (IS_ERR(siic->base)) {
 		err = PTR_ERR(siic->base);
diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
index b60ff90..9aa1b60 100644
--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -714,11 +714,6 @@ static int tegra_i2c_probe(struct platform_device *pdev)
 	int ret = 0;
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "no mem resource\n");
-		return -EINVAL;
-	}
-
 	base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(base))
 		return PTR_ERR(base);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 10/42] drivers/input/keyboard: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (8 preceding siblings ...)
  2013-05-10  8:16 ` [RFC 09/42] drivers/i2c/busses: " Wolfram Sang
@ 2013-05-10  8:16 ` Wolfram Sang
  2013-05-12 15:12   ` Viresh Kumar
  2013-05-10  8:16 ` [RFC 11/42] drivers/input/serio: " Wolfram Sang
                   ` (31 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:16 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Dmitry Torokhov, Stephen Warren, linux-input, linux-tegra

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/input/keyboard/imx_keypad.c     |    7 +------
 drivers/input/keyboard/spear-keyboard.c |    7 +------
 drivers/input/keyboard/tegra-kbc.c      |    7 +------
 3 files changed, 3 insertions(+), 18 deletions(-)

diff --git a/drivers/input/keyboard/imx_keypad.c b/drivers/input/keyboard/imx_keypad.c
index 03c8cc5..328cfc1 100644
--- a/drivers/input/keyboard/imx_keypad.c
+++ b/drivers/input/keyboard/imx_keypad.c
@@ -442,12 +442,6 @@ static int imx_keypad_probe(struct platform_device *pdev)
 		return -EINVAL;
 	}
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (res == NULL) {
-		dev_err(&pdev->dev, "no I/O memory defined in platform data\n");
-		return -EINVAL;
-	}
-
 	input_dev = devm_input_allocate_device(&pdev->dev);
 	if (!input_dev) {
 		dev_err(&pdev->dev, "failed to allocate the input device\n");
@@ -468,6 +462,7 @@ static int imx_keypad_probe(struct platform_device *pdev)
 	setup_timer(&keypad->check_matrix_timer,
 		    imx_keypad_check_for_events, (unsigned long) keypad);
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	keypad->mmio_base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(keypad->mmio_base))
 		return PTR_ERR(keypad->mmio_base);
diff --git a/drivers/input/keyboard/spear-keyboard.c b/drivers/input/keyboard/spear-keyboard.c
index cb1e8f6..b2e77e4 100644
--- a/drivers/input/keyboard/spear-keyboard.c
+++ b/drivers/input/keyboard/spear-keyboard.c
@@ -191,12 +191,6 @@ static int spear_kbd_probe(struct platform_device *pdev)
 	int irq;
 	int error;
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "no keyboard resource defined\n");
-		return -EBUSY;
-	}
-
 	irq = platform_get_irq(pdev, 0);
 	if (irq < 0) {
 		dev_err(&pdev->dev, "not able to get irq for the device\n");
@@ -228,6 +222,7 @@ static int spear_kbd_probe(struct platform_device *pdev)
 		kbd->suspended_rate = pdata->suspended_rate;
 	}
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	kbd->io_base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(kbd->io_base))
 		return PTR_ERR(kbd->io_base);
diff --git a/drivers/input/keyboard/tegra-kbc.c b/drivers/input/keyboard/tegra-kbc.c
index b46142f..9cd20e6 100644
--- a/drivers/input/keyboard/tegra-kbc.c
+++ b/drivers/input/keyboard/tegra-kbc.c
@@ -638,12 +638,6 @@ static int tegra_kbc_probe(struct platform_device *pdev)
 	if (!tegra_kbc_check_pin_cfg(kbc, &num_rows))
 		return -EINVAL;
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "failed to get I/O memory\n");
-		return -ENXIO;
-	}
-
 	kbc->irq = platform_get_irq(pdev, 0);
 	if (kbc->irq < 0) {
 		dev_err(&pdev->dev, "failed to get keyboard IRQ\n");
@@ -658,6 +652,7 @@ static int tegra_kbc_probe(struct platform_device *pdev)
 
 	setup_timer(&kbc->timer, tegra_kbc_keypress_timer, (unsigned long)kbc);
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	kbc->mmio = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(kbc->mmio))
 		return PTR_ERR(kbc->mmio);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 11/42] drivers/input/serio: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (9 preceding siblings ...)
  2013-05-10  8:16 ` [RFC 10/42] drivers/input/keyboard: " Wolfram Sang
@ 2013-05-10  8:16 ` Wolfram Sang
  2013-05-10  8:16 ` [RFC 12/42] drivers/memory: " Wolfram Sang
                   ` (30 subsequent siblings)
  41 siblings, 0 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang, Dmitry Torokhov, linux-input

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/input/serio/arc_ps2.c |    7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/input/serio/arc_ps2.c b/drivers/input/serio/arc_ps2.c
index 3fb7727..8024a6d 100644
--- a/drivers/input/serio/arc_ps2.c
+++ b/drivers/input/serio/arc_ps2.c
@@ -189,12 +189,6 @@ static int arc_ps2_probe(struct platform_device *pdev)
 	int irq;
 	int error, id, i;
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "no IO memory defined\n");
-		return -EINVAL;
-	}
-
 	irq = platform_get_irq_byname(pdev, "arc_ps2_irq");
 	if (irq < 0) {
 		dev_err(&pdev->dev, "no IRQ defined\n");
@@ -208,6 +202,7 @@ static int arc_ps2_probe(struct platform_device *pdev)
 		return -ENOMEM;
 	}
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	arc_ps2->addr = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(arc_ps2->addr))
 		return PTR_ERR(arc_ps2->addr);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 12/42] drivers/memory: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (10 preceding siblings ...)
  2013-05-10  8:16 ` [RFC 11/42] drivers/input/serio: " Wolfram Sang
@ 2013-05-10  8:16 ` Wolfram Sang
  2013-05-10  8:16 ` [RFC 13/42] drivers/mfd: " Wolfram Sang
                   ` (29 subsequent siblings)
  41 siblings, 0 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/memory/emif.c |    6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/memory/emif.c b/drivers/memory/emif.c
index cadf1cc..04644e7 100644
--- a/drivers/memory/emif.c
+++ b/drivers/memory/emif.c
@@ -1560,12 +1560,6 @@ static int __init_or_module emif_probe(struct platform_device *pdev)
 	platform_set_drvdata(pdev, emif);
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(emif->dev, "%s: error getting memory resource\n",
-			__func__);
-		goto error;
-	}
-
 	emif->base = devm_ioremap_resource(emif->dev, res);
 	if (IS_ERR(emif->base))
 		goto error;
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 13/42] drivers/mfd: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (11 preceding siblings ...)
  2013-05-10  8:16 ` [RFC 12/42] drivers/memory: " Wolfram Sang
@ 2013-05-10  8:16 ` Wolfram Sang
  2013-05-16 22:15   ` Samuel Ortiz
  2013-05-10  8:16 ` [RFC 14/42] drivers/misc: " Wolfram Sang
                   ` (28 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang, Samuel Ortiz

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/mfd/intel_msic.c |    6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/mfd/intel_msic.c b/drivers/mfd/intel_msic.c
index 5be3b5e..b1a9461 100644
--- a/drivers/mfd/intel_msic.c
+++ b/drivers/mfd/intel_msic.c
@@ -413,12 +413,8 @@ static int intel_msic_probe(struct platform_device *pdev)
 	 * Map in the MSIC interrupt tree area in SRAM. This is exposed to
 	 * the clients via intel_msic_irq_read().
 	 */
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "failed to get SRAM iomem resource\n");
-		return -ENODEV;
-	}
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	msic->irq_base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(msic->irq_base))
 		return PTR_ERR(msic->irq_base);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 14/42] drivers/misc: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (12 preceding siblings ...)
  2013-05-10  8:16 ` [RFC 13/42] drivers/mfd: " Wolfram Sang
@ 2013-05-10  8:16 ` Wolfram Sang
  2013-05-10 15:24   ` Greg Kroah-Hartman
  2013-05-10  8:17 ` [RFC 15/42] drivers/mtd/maps: " Wolfram Sang
                   ` (27 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:16 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang, Arnd Bergmann, Greg Kroah-Hartman

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/misc/atmel-ssc.c |    5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/misc/atmel-ssc.c b/drivers/misc/atmel-ssc.c
index c09c28f..1abd5ad 100644
--- a/drivers/misc/atmel-ssc.c
+++ b/drivers/misc/atmel-ssc.c
@@ -154,11 +154,6 @@ static int ssc_probe(struct platform_device *pdev)
 	ssc->pdata = (struct atmel_ssc_platform_data *)plat_dat;
 
 	regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!regs) {
-		dev_dbg(&pdev->dev, "no mmio resource defined\n");
-		return -ENXIO;
-	}
-
 	ssc->regs = devm_ioremap_resource(&pdev->dev, regs);
 	if (IS_ERR(ssc->regs))
 		return PTR_ERR(ssc->regs);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 15/42] drivers/mtd/maps: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (13 preceding siblings ...)
  2013-05-10  8:16 ` [RFC 14/42] drivers/misc: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10  8:17 ` [RFC 16/42] drivers/mtd/nand: " Wolfram Sang
                   ` (26 subsequent siblings)
  41 siblings, 0 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang, David Woodhouse, linux-mtd

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/mtd/maps/autcpu12-nvram.c |    7 +------
 drivers/mtd/maps/lantiq-flash.c   |    8 +-------
 2 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/drivers/mtd/maps/autcpu12-nvram.c b/drivers/mtd/maps/autcpu12-nvram.c
index c3525d2..58853b0 100644
--- a/drivers/mtd/maps/autcpu12-nvram.c
+++ b/drivers/mtd/maps/autcpu12-nvram.c
@@ -47,15 +47,10 @@ static int autcpu12_nvram_probe(struct platform_device *pdev)
 
 	platform_set_drvdata(pdev, priv);
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "failed to get memory resource\n");
-		return -ENOENT;
-	}
-
 	priv->map.bankwidth	= 4;
 	priv->map.phys		= res->start;
 	priv->map.size		= resource_size(res);
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	priv->map.virt = devm_ioremap_resource(&pdev->dev, res);
 	strcpy((char *)priv->map.name, res->name);
 	if (IS_ERR(priv->map.virt))
diff --git a/drivers/mtd/maps/lantiq-flash.c b/drivers/mtd/maps/lantiq-flash.c
index d1da6ed..f405c34 100644
--- a/drivers/mtd/maps/lantiq-flash.c
+++ b/drivers/mtd/maps/lantiq-flash.c
@@ -127,16 +127,10 @@ ltq_mtd_probe(struct platform_device *pdev)
 	ltq_mtd = kzalloc(sizeof(struct ltq_mtd), GFP_KERNEL);
 	platform_set_drvdata(pdev, ltq_mtd);
 
-	ltq_mtd->res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!ltq_mtd->res) {
-		dev_err(&pdev->dev, "failed to get memory resource\n");
-		err = -ENOENT;
-		goto err_out;
-	}
-
 	ltq_mtd->map = kzalloc(sizeof(struct map_info), GFP_KERNEL);
 	ltq_mtd->map->phys = ltq_mtd->res->start;
 	ltq_mtd->map->size = resource_size(ltq_mtd->res);
+	ltq_mtd->res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	ltq_mtd->map->virt = devm_ioremap_resource(&pdev->dev, ltq_mtd->res);
 	if (IS_ERR(ltq_mtd->map->virt)) {
 		err = PTR_ERR(ltq_mtd->map->virt);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 16/42] drivers/mtd/nand: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (14 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 15/42] drivers/mtd/maps: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10  8:17 ` [RFC 17/42] drivers/net/ethernet/renesas: " Wolfram Sang
                   ` (25 subsequent siblings)
  41 siblings, 0 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang, David Woodhouse, linux-mtd

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/mtd/nand/lpc32xx_mlc.c |    5 -----
 drivers/mtd/nand/lpc32xx_slc.c |    7 +------
 2 files changed, 1 insertion(+), 11 deletions(-)

diff --git a/drivers/mtd/nand/lpc32xx_mlc.c b/drivers/mtd/nand/lpc32xx_mlc.c
index 0ca22ae..3a5762c 100644
--- a/drivers/mtd/nand/lpc32xx_mlc.c
+++ b/drivers/mtd/nand/lpc32xx_mlc.c
@@ -672,11 +672,6 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
 	}
 
 	rc = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (rc == NULL) {
-		dev_err(&pdev->dev, "No memory resource found for device!\r\n");
-		return -ENXIO;
-	}
-
 	host->io_base = devm_ioremap_resource(&pdev->dev, rc);
 	if (IS_ERR(host->io_base))
 		return PTR_ERR(host->io_base);
diff --git a/drivers/mtd/nand/lpc32xx_slc.c b/drivers/mtd/nand/lpc32xx_slc.c
index be94ed5..f342f7b 100644
--- a/drivers/mtd/nand/lpc32xx_slc.c
+++ b/drivers/mtd/nand/lpc32xx_slc.c
@@ -764,12 +764,6 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
 	struct mtd_part_parser_data ppdata = {};
 	int res;
 
-	rc = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (rc == NULL) {
-		dev_err(&pdev->dev, "No memory resource found for device\n");
-		return -EBUSY;
-	}
-
 	/* Allocate memory for the device structure (and zero it) */
 	host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
 	if (!host) {
@@ -778,6 +772,7 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
 	}
 	host->io_base_dma = rc->start;
 
+	rc = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	host->io_base = devm_ioremap_resource(&pdev->dev, rc);
 	if (IS_ERR(host->io_base))
 		return PTR_ERR(host->io_base);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 17/42] drivers/net/ethernet/renesas: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (15 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 16/42] drivers/mtd/nand: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10 11:07   ` Sergei Shtylyov
  2013-05-11 20:35   ` Sergei Shtylyov
  2013-05-10  8:17 ` [RFC 18/42] drivers/pinctrl: " Wolfram Sang
                   ` (24 subsequent siblings)
  41 siblings, 2 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang, netdev

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/net/ethernet/renesas/sh_eth.c |   14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c
index 33dc6f2..6175839 100644
--- a/drivers/net/ethernet/renesas/sh_eth.c
+++ b/drivers/net/ethernet/renesas/sh_eth.c
@@ -2661,14 +2661,6 @@ static int sh_eth_drv_probe(struct platform_device *pdev)
 	struct sh_eth_private *mdp = NULL;
 	struct sh_eth_plat_data *pd = pdev->dev.platform_data;
 
-	/* get base addr */
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (unlikely(res == NULL)) {
-		dev_err(&pdev->dev, "invalid resource\n");
-		ret = -EINVAL;
-		goto out;
-	}
-
 	ndev = alloc_etherdev(sizeof(struct sh_eth_private));
 	if (!ndev) {
 		ret = -ENOMEM;
@@ -2697,6 +2689,7 @@ static int sh_eth_drv_probe(struct platform_device *pdev)
 	mdp = netdev_priv(ndev);
 	mdp->num_tx_ring = TX_RING_SIZE;
 	mdp->num_rx_ring = RX_RING_SIZE;
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	mdp->addr = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(mdp->addr)) {
 		ret = PTR_ERR(mdp->addr);
@@ -2745,11 +2738,6 @@ static int sh_eth_drv_probe(struct platform_device *pdev)
 	if (mdp->cd->tsu) {
 		struct resource *rtsu;
 		rtsu = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-		if (!rtsu) {
-			dev_err(&pdev->dev, "Not found TSU resource\n");
-			ret = -ENODEV;
-			goto out_release;
-		}
 		mdp->tsu_addr = devm_ioremap_resource(&pdev->dev, rtsu);
 		if (IS_ERR(mdp->tsu_addr)) {
 			ret = PTR_ERR(mdp->tsu_addr);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 18/42] drivers/pinctrl: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (16 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 17/42] drivers/net/ethernet/renesas: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10 14:30   ` Jean-Christophe PLAGNIOL-VILLARD
                     ` (2 more replies)
  2013-05-10  8:17 ` [RFC 19/42] drivers/pinctrl/spear: " Wolfram Sang
                   ` (23 subsequent siblings)
  41 siblings, 3 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Jean-Christophe Plagniol-Villard, Linus Walleij,
	linux-arm-kernel

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/pinctrl/pinctrl-at91.c       |    7 +------
 drivers/pinctrl/pinctrl-coh901.c     |    5 -----
 drivers/pinctrl/pinctrl-exynos5440.c |    5 -----
 drivers/pinctrl/pinctrl-samsung.c    |    5 -----
 drivers/pinctrl/pinctrl-xway.c       |    4 ----
 5 files changed, 1 insertion(+), 25 deletions(-)

diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c
index 5d7529e..b90a3a0 100644
--- a/drivers/pinctrl/pinctrl-at91.c
+++ b/drivers/pinctrl/pinctrl-at91.c
@@ -1543,12 +1543,6 @@ static int at91_gpio_probe(struct platform_device *pdev)
 		goto err;
 	}
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		ret = -ENOENT;
-		goto err;
-	}
-
 	irq = platform_get_irq(pdev, 0);
 	if (irq < 0) {
 		ret = irq;
@@ -1561,6 +1555,7 @@ static int at91_gpio_probe(struct platform_device *pdev)
 		goto err;
 	}
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	at91_chip->regbase = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(at91_chip->regbase)) {
 		ret = PTR_ERR(at91_chip->regbase);
diff --git a/drivers/pinctrl/pinctrl-coh901.c b/drivers/pinctrl/pinctrl-coh901.c
index edde3ac..a67af41 100644
--- a/drivers/pinctrl/pinctrl-coh901.c
+++ b/drivers/pinctrl/pinctrl-coh901.c
@@ -713,11 +713,6 @@ static int __init u300_gpio_probe(struct platform_device *pdev)
 	gpio->dev = &pdev->dev;
 
 	memres = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!memres) {
-		dev_err(gpio->dev, "could not get GPIO memory resource\n");
-		return -ENODEV;
-	}
-
 	gpio->base = devm_ioremap_resource(&pdev->dev, memres);
 	if (IS_ERR(gpio->base))
 		return PTR_ERR(gpio->base);
diff --git a/drivers/pinctrl/pinctrl-exynos5440.c b/drivers/pinctrl/pinctrl-exynos5440.c
index 6038503..32a48f4 100644
--- a/drivers/pinctrl/pinctrl-exynos5440.c
+++ b/drivers/pinctrl/pinctrl-exynos5440.c
@@ -1000,11 +1000,6 @@ static int exynos5440_pinctrl_probe(struct platform_device *pdev)
 	}
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(dev, "cannot find IO resource\n");
-		return -ENOENT;
-	}
-
 	priv->reg_base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(priv->reg_base))
 		return PTR_ERR(priv->reg_base);
diff --git a/drivers/pinctrl/pinctrl-samsung.c b/drivers/pinctrl/pinctrl-samsung.c
index 9763668..055d016 100644
--- a/drivers/pinctrl/pinctrl-samsung.c
+++ b/drivers/pinctrl/pinctrl-samsung.c
@@ -932,11 +932,6 @@ static int samsung_pinctrl_probe(struct platform_device *pdev)
 	drvdata->dev = dev;
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(dev, "cannot find IO resource\n");
-		return -ENOENT;
-	}
-
 	drvdata->virt_base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(drvdata->virt_base))
 		return PTR_ERR(drvdata->virt_base);
diff --git a/drivers/pinctrl/pinctrl-xway.c b/drivers/pinctrl/pinctrl-xway.c
index f2977cf..e92132c 100644
--- a/drivers/pinctrl/pinctrl-xway.c
+++ b/drivers/pinctrl/pinctrl-xway.c
@@ -716,10 +716,6 @@ static int pinmux_xway_probe(struct platform_device *pdev)
 
 	/* get and remap our register range */
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "Failed to get resource\n");
-		return -ENOENT;
-	}
 	xway_info.membase[0] = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(xway_info.membase[0]))
 		return PTR_ERR(xway_info.membase[0]);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 19/42] drivers/pinctrl/spear: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (17 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 18/42] drivers/pinctrl: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-12 15:10   ` Viresh Kumar
  2013-05-14 12:56   ` Linus Walleij
  2013-05-10  8:17 ` [RFC 20/42] drivers/pwm: " Wolfram Sang
                   ` (22 subsequent siblings)
  41 siblings, 2 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Viresh Kumar, Linus Walleij, spear-devel, linux-arm-kernel

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/pinctrl/spear/pinctrl-plgpio.c |    7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/pinctrl/spear/pinctrl-plgpio.c b/drivers/pinctrl/spear/pinctrl-plgpio.c
index 3e5a887..6b090be 100644
--- a/drivers/pinctrl/spear/pinctrl-plgpio.c
+++ b/drivers/pinctrl/spear/pinctrl-plgpio.c
@@ -528,18 +528,13 @@ static int plgpio_probe(struct platform_device *pdev)
 	struct resource *res;
 	int ret, irq, i;
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "invalid IORESOURCE_MEM\n");
-		return -EBUSY;
-	}
-
 	plgpio = devm_kzalloc(&pdev->dev, sizeof(*plgpio), GFP_KERNEL);
 	if (!plgpio) {
 		dev_err(&pdev->dev, "memory allocation fail\n");
 		return -ENOMEM;
 	}
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	plgpio->base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(plgpio->base))
 		return PTR_ERR(plgpio->base);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 20/42] drivers/pwm: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (18 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 19/42] drivers/pinctrl/spear: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-12 15:12   ` Viresh Kumar
  2013-05-10  8:17 ` [RFC 21/42] drivers/remoteproc: " Wolfram Sang
                   ` (21 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Thierry Reding, Stephen Warren, Tony Prisk,
	linux-tegra, linux-arm-kernel

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/pwm/pwm-imx.c      |    5 -----
 drivers/pwm/pwm-puv3.c     |    5 -----
 drivers/pwm/pwm-pxa.c      |    5 -----
 drivers/pwm/pwm-spear.c    |    7 +------
 drivers/pwm/pwm-tegra.c    |    5 -----
 drivers/pwm/pwm-tiecap.c   |    5 -----
 drivers/pwm/pwm-tiehrpwm.c |    5 -----
 drivers/pwm/pwm-tipwmss.c  |    5 -----
 drivers/pwm/pwm-vt8500.c   |    5 -----
 9 files changed, 1 insertion(+), 46 deletions(-)

diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c
index ec28798..c938bae 100644
--- a/drivers/pwm/pwm-imx.c
+++ b/drivers/pwm/pwm-imx.c
@@ -265,11 +265,6 @@ static int imx_pwm_probe(struct platform_device *pdev)
 	imx->chip.npwm = 1;
 
 	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (r == NULL) {
-		dev_err(&pdev->dev, "no memory resource defined\n");
-		return -ENODEV;
-	}
-
 	imx->mmio_base = devm_ioremap_resource(&pdev->dev, r);
 	if (IS_ERR(imx->mmio_base))
 		return PTR_ERR(imx->mmio_base);
diff --git a/drivers/pwm/pwm-puv3.c b/drivers/pwm/pwm-puv3.c
index d1eb499..ed6007b 100644
--- a/drivers/pwm/pwm-puv3.c
+++ b/drivers/pwm/pwm-puv3.c
@@ -117,11 +117,6 @@ static int pwm_probe(struct platform_device *pdev)
 		return PTR_ERR(puv3->clk);
 
 	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (r == NULL) {
-		dev_err(&pdev->dev, "no memory resource defined\n");
-		return -ENODEV;
-	}
-
 	puv3->base = devm_ioremap_resource(&pdev->dev, r);
 	if (IS_ERR(puv3->base))
 		return PTR_ERR(puv3->base);
diff --git a/drivers/pwm/pwm-pxa.c b/drivers/pwm/pwm-pxa.c
index dee6ab55..dc97175 100644
--- a/drivers/pwm/pwm-pxa.c
+++ b/drivers/pwm/pwm-pxa.c
@@ -147,11 +147,6 @@ static int pwm_probe(struct platform_device *pdev)
 	pwm->chip.npwm = (id->driver_data & HAS_SECONDARY_PWM) ? 2 : 1;
 
 	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (r == NULL) {
-		dev_err(&pdev->dev, "no memory resource defined\n");
-		return -ENODEV;
-	}
-
 	pwm->mmio_base = devm_ioremap_resource(&pdev->dev, r);
 	if (IS_ERR(pwm->mmio_base))
 		return PTR_ERR(pwm->mmio_base);
diff --git a/drivers/pwm/pwm-spear.c b/drivers/pwm/pwm-spear.c
index 6d99e2c..8af6ea8 100644
--- a/drivers/pwm/pwm-spear.c
+++ b/drivers/pwm/pwm-spear.c
@@ -178,18 +178,13 @@ static int spear_pwm_probe(struct platform_device *pdev)
 	int ret;
 	u32 val;
 
-	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!r) {
-		dev_err(&pdev->dev, "no memory resources defined\n");
-		return -ENODEV;
-	}
-
 	pc = devm_kzalloc(&pdev->dev, sizeof(*pc), GFP_KERNEL);
 	if (!pc) {
 		dev_err(&pdev->dev, "failed to allocate memory\n");
 		return -ENOMEM;
 	}
 
+	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	pc->mmio_base = devm_ioremap_resource(&pdev->dev, r);
 	if (IS_ERR(pc->mmio_base))
 		return PTR_ERR(pc->mmio_base);
diff --git a/drivers/pwm/pwm-tegra.c b/drivers/pwm/pwm-tegra.c
index 3d75f4a..a540293 100644
--- a/drivers/pwm/pwm-tegra.c
+++ b/drivers/pwm/pwm-tegra.c
@@ -181,11 +181,6 @@ static int tegra_pwm_probe(struct platform_device *pdev)
 	pwm->dev = &pdev->dev;
 
 	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!r) {
-		dev_err(&pdev->dev, "no memory resources defined\n");
-		return -ENODEV;
-	}
-
 	pwm->mmio_base = devm_ioremap_resource(&pdev->dev, r);
 	if (IS_ERR(pwm->mmio_base))
 		return PTR_ERR(pwm->mmio_base);
diff --git a/drivers/pwm/pwm-tiecap.c b/drivers/pwm/pwm-tiecap.c
index 0d65fb2..72ca42d 100644
--- a/drivers/pwm/pwm-tiecap.c
+++ b/drivers/pwm/pwm-tiecap.c
@@ -240,11 +240,6 @@ static int ecap_pwm_probe(struct platform_device *pdev)
 	pc->chip.npwm = 1;
 
 	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!r) {
-		dev_err(&pdev->dev, "no memory resource defined\n");
-		return -ENODEV;
-	}
-
 	pc->mmio_base = devm_ioremap_resource(&pdev->dev, r);
 	if (IS_ERR(pc->mmio_base))
 		return PTR_ERR(pc->mmio_base);
diff --git a/drivers/pwm/pwm-tiehrpwm.c b/drivers/pwm/pwm-tiehrpwm.c
index 6a21759..48a485c 100644
--- a/drivers/pwm/pwm-tiehrpwm.c
+++ b/drivers/pwm/pwm-tiehrpwm.c
@@ -471,11 +471,6 @@ static int ehrpwm_pwm_probe(struct platform_device *pdev)
 	pc->chip.npwm = NUM_PWM_CHANNEL;
 
 	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!r) {
-		dev_err(&pdev->dev, "no memory resource defined\n");
-		return -ENODEV;
-	}
-
 	pc->mmio_base = devm_ioremap_resource(&pdev->dev, r);
 	if (IS_ERR(pc->mmio_base))
 		return PTR_ERR(pc->mmio_base);
diff --git a/drivers/pwm/pwm-tipwmss.c b/drivers/pwm/pwm-tipwmss.c
index c9c3d3a..3b119bc 100644
--- a/drivers/pwm/pwm-tipwmss.c
+++ b/drivers/pwm/pwm-tipwmss.c
@@ -70,11 +70,6 @@ static int pwmss_probe(struct platform_device *pdev)
 	mutex_init(&info->pwmss_lock);
 
 	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!r) {
-		dev_err(&pdev->dev, "no memory resource defined\n");
-		return -ENODEV;
-	}
-
 	info->mmio_base = devm_ioremap_resource(&pdev->dev, r);
 	if (IS_ERR(info->mmio_base))
 		return PTR_ERR(info->mmio_base);
diff --git a/drivers/pwm/pwm-vt8500.c b/drivers/pwm/pwm-vt8500.c
index 69effd1..323125a 100644
--- a/drivers/pwm/pwm-vt8500.c
+++ b/drivers/pwm/pwm-vt8500.c
@@ -230,11 +230,6 @@ static int vt8500_pwm_probe(struct platform_device *pdev)
 	}
 
 	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (r == NULL) {
-		dev_err(&pdev->dev, "no memory resource defined\n");
-		return -ENODEV;
-	}
-
 	chip->base = devm_ioremap_resource(&pdev->dev, r);
 	if (IS_ERR(chip->base))
 		return PTR_ERR(chip->base);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 21/42] drivers/remoteproc: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (19 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 20/42] drivers/pwm: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10  8:17 ` [RFC 22/42] drivers/rtc: " Wolfram Sang
                   ` (20 subsequent siblings)
  41 siblings, 0 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang, Ohad Ben-Cohen

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/remoteproc/da8xx_remoteproc.c |   14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

diff --git a/drivers/remoteproc/da8xx_remoteproc.c b/drivers/remoteproc/da8xx_remoteproc.c
index 9b2e60a..95cedf5 100644
--- a/drivers/remoteproc/da8xx_remoteproc.c
+++ b/drivers/remoteproc/da8xx_remoteproc.c
@@ -201,23 +201,11 @@ static int da8xx_rproc_probe(struct platform_device *pdev)
 	}
 
 	bootreg_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!bootreg_res) {
-		dev_err(dev,
-			"platform_get_resource(IORESOURCE_MEM, 0): NULL\n");
-		return -EADDRNOTAVAIL;
-	}
-
-	chipsig_res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-	if (!chipsig_res) {
-		dev_err(dev,
-			"platform_get_resource(IORESOURCE_MEM, 1): NULL\n");
-		return -EADDRNOTAVAIL;
-	}
-
 	bootreg = devm_ioremap_resource(dev, bootreg_res);
 	if (IS_ERR(bootreg))
 		return PTR_ERR(bootreg);
 
+	chipsig_res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
 	chipsig = devm_ioremap_resource(dev, chipsig_res);
 	if (IS_ERR(chipsig))
 		return PTR_ERR(chipsig);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 22/42] drivers/rtc: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (20 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 21/42] drivers/remoteproc: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-12 15:11   ` Viresh Kumar
  2013-05-10  8:17 ` [RFC 23/42] drivers/spi: " Wolfram Sang
                   ` (19 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Wan ZongShun, Alessandro Zummo, Stephen Warren,
	linux-arm-kernel, rtc-linux, linux-tegra

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/rtc/rtc-nuc900.c |    6 +-----
 drivers/rtc/rtc-omap.c   |    5 -----
 drivers/rtc/rtc-s3c.c    |    5 -----
 drivers/rtc/rtc-spear.c  |    7 +------
 drivers/rtc/rtc-tegra.c  |    6 ------
 5 files changed, 2 insertions(+), 27 deletions(-)

diff --git a/drivers/rtc/rtc-nuc900.c b/drivers/rtc/rtc-nuc900.c
index f5dfb6e..c0f54ec 100644
--- a/drivers/rtc/rtc-nuc900.c
+++ b/drivers/rtc/rtc-nuc900.c
@@ -233,12 +233,8 @@ static int __init nuc900_rtc_probe(struct platform_device *pdev)
 		dev_err(&pdev->dev, "kzalloc nuc900_rtc failed\n");
 		return -ENOMEM;
 	}
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "platform_get_resource failed\n");
-		return -ENXIO;
-	}
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	nuc900_rtc->rtc_reg = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(nuc900_rtc->rtc_reg))
 		return PTR_ERR(nuc900_rtc->rtc_reg);
diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c
index 4e1bdb8..b0ba3fc 100644
--- a/drivers/rtc/rtc-omap.c
+++ b/drivers/rtc/rtc-omap.c
@@ -347,11 +347,6 @@ static int __init omap_rtc_probe(struct platform_device *pdev)
 	}
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		pr_debug("%s: RTC resource data missing\n", pdev->name);
-		return -ENOENT;
-	}
-
 	rtc_base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(rtc_base))
 		return PTR_ERR(rtc_base);
diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index 14040b2..0b495e8 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -477,11 +477,6 @@ static int s3c_rtc_probe(struct platform_device *pdev)
 	/* get the memory region */
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (res == NULL) {
-		dev_err(&pdev->dev, "failed to get memory region resource\n");
-		return -ENOENT;
-	}
-
 	s3c_rtc_base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(s3c_rtc_base))
 		return PTR_ERR(s3c_rtc_base);
diff --git a/drivers/rtc/rtc-spear.c b/drivers/rtc/rtc-spear.c
index 574359c..34eed6a 100644
--- a/drivers/rtc/rtc-spear.c
+++ b/drivers/rtc/rtc-spear.c
@@ -358,12 +358,6 @@ static int spear_rtc_probe(struct platform_device *pdev)
 	int status = 0;
 	int irq;
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "no resource defined\n");
-		return -EBUSY;
-	}
-
 	config = devm_kzalloc(&pdev->dev, sizeof(*config), GFP_KERNEL);
 	if (!config) {
 		dev_err(&pdev->dev, "out of memory\n");
@@ -385,6 +379,7 @@ static int spear_rtc_probe(struct platform_device *pdev)
 		return status;
 	}
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	config->ioaddr = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(config->ioaddr))
 		return PTR_ERR(config->ioaddr);
diff --git a/drivers/rtc/rtc-tegra.c b/drivers/rtc/rtc-tegra.c
index a34315d..76af92a 100644
--- a/drivers/rtc/rtc-tegra.c
+++ b/drivers/rtc/rtc-tegra.c
@@ -322,12 +322,6 @@ static int __init tegra_rtc_probe(struct platform_device *pdev)
 		return -ENOMEM;
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev,
-			"Unable to allocate resources for device.\n");
-		return -EBUSY;
-	}
-
 	info->rtc_base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(info->rtc_base))
 		return PTR_ERR(info->rtc_base);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 23/42] drivers/spi: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (21 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 22/42] drivers/rtc: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10 10:55   ` Mark Brown
                     ` (2 more replies)
  2013-05-10  8:17 ` [RFC 24/42] drivers/staging/dwc2: " Wolfram Sang
                   ` (18 subsequent siblings)
  41 siblings, 3 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Mark Brown, Grant Likely, Ben Dooks, Kukjin Kim,
	Barry Song, Stephen Warren, spi-devel-general, linux-arm-kernel,
	linux-samsung-soc, linux-tegra

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/spi/spi-bcm63xx.c        |    8 +-------
 drivers/spi/spi-ep93xx.c         |    8 +-------
 drivers/spi/spi-omap2-mcspi.c    |    7 +------
 drivers/spi/spi-s3c64xx.c        |    7 +------
 drivers/spi/spi-sirf.c           |    7 +------
 drivers/spi/spi-tegra114.c       |    7 +------
 drivers/spi/spi-tegra20-sflash.c |    5 -----
 drivers/spi/spi-tegra20-slink.c  |    7 +------
 8 files changed, 7 insertions(+), 49 deletions(-)

diff --git a/drivers/spi/spi-bcm63xx.c b/drivers/spi/spi-bcm63xx.c
index a4ec5f4..9804ee0 100644
--- a/drivers/spi/spi-bcm63xx.c
+++ b/drivers/spi/spi-bcm63xx.c
@@ -378,13 +378,6 @@ static int bcm63xx_spi_probe(struct platform_device *pdev)
 	struct bcm63xx_spi *bs;
 	int ret;
 
-	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!r) {
-		dev_err(dev, "no iomem\n");
-		ret = -ENXIO;
-		goto out;
-	}
-
 	irq = platform_get_irq(pdev, 0);
 	if (irq < 0) {
 		dev_err(dev, "no irq\n");
@@ -411,6 +404,7 @@ static int bcm63xx_spi_probe(struct platform_device *pdev)
 	platform_set_drvdata(pdev, master);
 	bs->pdev = pdev;
 
+	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	bs->regs = devm_ioremap_resource(&pdev->dev, r);
 	if (IS_ERR(bs->regs)) {
 		ret = PTR_ERR(bs->regs);
diff --git a/drivers/spi/spi-ep93xx.c b/drivers/spi/spi-ep93xx.c
index d7bac60..213cb7a3 100644
--- a/drivers/spi/spi-ep93xx.c
+++ b/drivers/spi/spi-ep93xx.c
@@ -1076,15 +1076,9 @@ static int ep93xx_spi_probe(struct platform_device *pdev)
 		goto fail_put_clock;
 	}
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "unable to get iomem resource\n");
-		error = -ENODEV;
-		goto fail_put_clock;
-	}
-
 	espi->sspdr_phys = res->start + SSPDR;
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	espi->regs_base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(espi->regs_base)) {
 		error = PTR_ERR(espi->regs_base);
diff --git a/drivers/spi/spi-omap2-mcspi.c b/drivers/spi/spi-omap2-mcspi.c
index 86d2158..31c054e 100644
--- a/drivers/spi/spi-omap2-mcspi.c
+++ b/drivers/spi/spi-omap2-mcspi.c
@@ -1228,16 +1228,11 @@ static int omap2_mcspi_probe(struct platform_device *pdev)
 	}
 	regs_offset = pdata->regs_offset;
 
-	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (r == NULL) {
-		status = -ENODEV;
-		goto free_master;
-	}
-
 	r->start += regs_offset;
 	r->end += regs_offset;
 	mcspi->phys = r->start;
 
+	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	mcspi->base = devm_ioremap_resource(&pdev->dev, r);
 	if (IS_ERR(mcspi->base)) {
 		status = PTR_ERR(mcspi->base);
diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c
index 5000586..fd763cc 100644
--- a/drivers/spi/spi-s3c64xx.c
+++ b/drivers/spi/spi-s3c64xx.c
@@ -1243,12 +1243,6 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
 		return -ENODEV;
 	}
 
-	mem_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (mem_res == NULL) {
-		dev_err(&pdev->dev, "Unable to get SPI MEM resource\n");
-		return -ENXIO;
-	}
-
 	irq = platform_get_irq(pdev, 0);
 	if (irq < 0) {
 		dev_warn(&pdev->dev, "Failed to get IRQ: %d\n", irq);
@@ -1318,6 +1312,7 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
 	/* the spi->mode bits understood by this driver: */
 	master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH;
 
+	mem_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	sdd->regs = devm_ioremap_resource(&pdev->dev, mem_res);
 	if (IS_ERR(sdd->regs)) {
 		ret = PTR_ERR(sdd->regs);
diff --git a/drivers/spi/spi-sirf.c b/drivers/spi/spi-sirf.c
index 0808cd5..318ca5b 100644
--- a/drivers/spi/spi-sirf.c
+++ b/drivers/spi/spi-sirf.c
@@ -502,12 +502,6 @@ static int spi_sirfsoc_probe(struct platform_device *pdev)
 	platform_set_drvdata(pdev, master);
 	sspi = spi_master_get_devdata(master);
 
-	mem_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!mem_res) {
-		dev_err(&pdev->dev, "Unable to get IO resource\n");
-		ret = -ENODEV;
-		goto free_master;
-	}
 	master->num_chipselect = num_cs;
 
 	for (i = 0; i < master->num_chipselect; i++) {
@@ -534,6 +528,7 @@ static int spi_sirfsoc_probe(struct platform_device *pdev)
 		}
 	}
 
+	mem_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	sspi->base = devm_ioremap_resource(&pdev->dev, mem_res);
 	if (IS_ERR(sspi->base)) {
 		ret = PTR_ERR(sspi->base);
diff --git a/drivers/spi/spi-tegra114.c b/drivers/spi/spi-tegra114.c
index 598eb45..fc39365 100644
--- a/drivers/spi/spi-tegra114.c
+++ b/drivers/spi/spi-tegra114.c
@@ -1058,13 +1058,8 @@ static int tegra_spi_probe(struct platform_device *pdev)
 	tspi->dev = &pdev->dev;
 	spin_lock_init(&tspi->lock);
 
-	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!r) {
-		dev_err(&pdev->dev, "No IO memory resource\n");
-		ret = -ENODEV;
-		goto exit_free_master;
-	}
 	tspi->phys = r->start;
+	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	tspi->base = devm_ioremap_resource(&pdev->dev, r);
 	if (IS_ERR(tspi->base)) {
 		ret = PTR_ERR(tspi->base);
diff --git a/drivers/spi/spi-tegra20-sflash.c b/drivers/spi/spi-tegra20-sflash.c
index d65c000..09df8e2 100644
--- a/drivers/spi/spi-tegra20-sflash.c
+++ b/drivers/spi/spi-tegra20-sflash.c
@@ -489,11 +489,6 @@ static int tegra_sflash_probe(struct platform_device *pdev)
 	tegra_sflash_parse_dt(tsd);
 
 	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!r) {
-		dev_err(&pdev->dev, "No IO memory resource\n");
-		ret = -ENODEV;
-		goto exit_free_master;
-	}
 	tsd->base = devm_ioremap_resource(&pdev->dev, r);
 	if (IS_ERR(tsd->base)) {
 		ret = PTR_ERR(tsd->base);
diff --git a/drivers/spi/spi-tegra20-slink.c b/drivers/spi/spi-tegra20-slink.c
index 3faf88d..46392f0 100644
--- a/drivers/spi/spi-tegra20-slink.c
+++ b/drivers/spi/spi-tegra20-slink.c
@@ -1098,13 +1098,8 @@ static int tegra_slink_probe(struct platform_device *pdev)
 
 	tegra_slink_parse_dt(tspi);
 
-	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!r) {
-		dev_err(&pdev->dev, "No IO memory resource\n");
-		ret = -ENODEV;
-		goto exit_free_master;
-	}
 	tspi->phys = r->start;
+	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	tspi->base = devm_ioremap_resource(&pdev->dev, r);
 	if (IS_ERR(tspi->base)) {
 		ret = PTR_ERR(tspi->base);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 24/42] drivers/staging/dwc2: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (22 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 23/42] drivers/spi: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10 15:24   ` Greg Kroah-Hartman
  2013-05-10  8:17 ` [RFC 25/42] drivers/staging/nvec: " Wolfram Sang
                   ` (17 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Paul Zimmerman, Greg Kroah-Hartman, linux-usb, devel

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/staging/dwc2/platform.c |    5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/staging/dwc2/platform.c b/drivers/staging/dwc2/platform.c
index 1f3d581..b610960 100644
--- a/drivers/staging/dwc2/platform.c
+++ b/drivers/staging/dwc2/platform.c
@@ -102,11 +102,6 @@ static int dwc2_driver_probe(struct platform_device *dev)
 	}
 
 	res = platform_get_resource(dev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&dev->dev, "missing memory base resource\n");
-		return -EINVAL;
-	}
-
 	hsotg->regs = devm_ioremap_resource(&dev->dev, res);
 	if (IS_ERR(hsotg->regs))
 		return PTR_ERR(hsotg->regs);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 25/42] drivers/staging/nvec: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (23 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 24/42] drivers/staging/dwc2: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10 15:24   ` Greg Kroah-Hartman
  2013-05-10 16:07   ` Marc Dietrich
  2013-05-10  8:17 ` [RFC 26/42] drivers/thermal: " Wolfram Sang
                   ` (16 subsequent siblings)
  41 siblings, 2 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Julian Andres Klode, Marc Dietrich,
	Greg Kroah-Hartman, ac100, linux-tegra, devel

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/staging/nvec/nvec.c |    5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c
index a88959f..863b22e 100644
--- a/drivers/staging/nvec/nvec.c
+++ b/drivers/staging/nvec/nvec.c
@@ -800,11 +800,6 @@ static int tegra_nvec_probe(struct platform_device *pdev)
 	}
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "no mem resource?\n");
-		return -ENODEV;
-	}
-
 	base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(base))
 		return PTR_ERR(base);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 26/42] drivers/thermal: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (24 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 25/42] drivers/staging/nvec: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10 13:50   ` Eduardo Valentin
  2013-05-16  7:22   ` Zhang Rui
  2013-05-10  8:17 ` [RFC 27/42] drivers/tty/serial: " Wolfram Sang
                   ` (15 subsequent siblings)
  41 siblings, 2 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang, Zhang Rui, linux-pm

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/thermal/dove_thermal.c     |   11 +----------
 drivers/thermal/exynos_thermal.c   |    5 -----
 drivers/thermal/kirkwood_thermal.c |    7 +------
 drivers/thermal/rcar_thermal.c     |    6 +-----
 4 files changed, 3 insertions(+), 26 deletions(-)

diff --git a/drivers/thermal/dove_thermal.c b/drivers/thermal/dove_thermal.c
index 3078c40..5c53c53 100644
--- a/drivers/thermal/dove_thermal.c
+++ b/drivers/thermal/dove_thermal.c
@@ -133,25 +133,16 @@ static int dove_thermal_probe(struct platform_device *pdev)
 	struct resource *res;
 	int ret;
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "Failed to get platform resource\n");
-		return -ENODEV;
-	}
-
 	priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
 	if (!priv)
 		return -ENOMEM;
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	priv->sensor = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(priv->sensor))
 		return PTR_ERR(priv->sensor);
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-	if (!res) {
-		dev_err(&pdev->dev, "Failed to get platform resource\n");
-		return -ENODEV;
-	}
 	priv->control = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(priv->control))
 		return PTR_ERR(priv->control);
diff --git a/drivers/thermal/exynos_thermal.c b/drivers/thermal/exynos_thermal.c
index b777ae6..a7bef42 100644
--- a/drivers/thermal/exynos_thermal.c
+++ b/drivers/thermal/exynos_thermal.c
@@ -967,11 +967,6 @@ static int exynos_tmu_probe(struct platform_device *pdev)
 	INIT_WORK(&data->irq_work, exynos_tmu_work);
 
 	data->mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!data->mem) {
-		dev_err(&pdev->dev, "Failed to get platform resource\n");
-		return -ENOENT;
-	}
-
 	data->base = devm_ioremap_resource(&pdev->dev, data->mem);
 	if (IS_ERR(data->base))
 		return PTR_ERR(data->base);
diff --git a/drivers/thermal/kirkwood_thermal.c b/drivers/thermal/kirkwood_thermal.c
index e5500ed..e3ca1b4 100644
--- a/drivers/thermal/kirkwood_thermal.c
+++ b/drivers/thermal/kirkwood_thermal.c
@@ -75,16 +75,11 @@ static int kirkwood_thermal_probe(struct platform_device *pdev)
 	struct kirkwood_thermal_priv *priv;
 	struct resource *res;
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "Failed to get platform resource\n");
-		return -ENODEV;
-	}
-
 	priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
 	if (!priv)
 		return -ENOMEM;
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	priv->sensor = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(priv->sensor))
 		return PTR_ERR(priv->sensor);
diff --git a/drivers/thermal/rcar_thermal.c b/drivers/thermal/rcar_thermal.c
index 2cc5b61..b2217b3 100644
--- a/drivers/thermal/rcar_thermal.c
+++ b/drivers/thermal/rcar_thermal.c
@@ -385,11 +385,6 @@ static int rcar_thermal_probe(struct platform_device *pdev)
 		 * platform has IRQ support.
 		 * Then, drier use common register
 		 */
-		res = platform_get_resource(pdev, IORESOURCE_MEM, mres++);
-		if (!res) {
-			dev_err(dev, "Could not get platform resource\n");
-			return -ENODEV;
-		}
 
 		ret = devm_request_irq(dev, irq->start, rcar_thermal_irq, 0,
 				       dev_name(dev), common);
@@ -401,6 +396,7 @@ static int rcar_thermal_probe(struct platform_device *pdev)
 		/*
 		 * rcar_has_irq_support() will be enabled
 		 */
+		res = platform_get_resource(pdev, IORESOURCE_MEM, mres++);
 		common->base = devm_ioremap_resource(dev, res);
 		if (IS_ERR(common->base))
 			return PTR_ERR(common->base);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 27/42] drivers/tty/serial: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (25 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 26/42] drivers/thermal: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10 15:26   ` Greg Kroah-Hartman
  2013-05-10  8:17 ` [RFC 28/42] drivers/usb/chipidea: " Wolfram Sang
                   ` (14 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Greg Kroah-Hartman, Jiri Slaby, Stephen Warren,
	linux-serial, linux-tegra

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/tty/serial/serial-tegra.c |    6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/tty/serial/serial-tegra.c b/drivers/tty/serial/serial-tegra.c
index 9799d04..9570b55 100644
--- a/drivers/tty/serial/serial-tegra.c
+++ b/drivers/tty/serial/serial-tegra.c
@@ -1295,13 +1295,9 @@ static int tegra_uart_probe(struct platform_device *pdev)
 	tup->cdata = cdata;
 
 	platform_set_drvdata(pdev, tup);
-	resource = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!resource) {
-		dev_err(&pdev->dev, "No IO memory resource\n");
-		return -ENODEV;
-	}
 
 	u->mapbase = resource->start;
+	resource = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	u->membase = devm_ioremap_resource(&pdev->dev, resource);
 	if (IS_ERR(u->membase))
 		return PTR_ERR(u->membase);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 28/42] drivers/usb/chipidea: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (26 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 27/42] drivers/tty/serial: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10 15:25   ` Greg Kroah-Hartman
  2013-05-10  8:17 ` [RFC 29/42] drivers/usb/gadget: " Wolfram Sang
                   ` (13 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Alexander Shishkin, Greg Kroah-Hartman, linux-usb

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/usb/chipidea/core.c |    5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
index 450107e..49b098b 100644
--- a/drivers/usb/chipidea/core.c
+++ b/drivers/usb/chipidea/core.c
@@ -370,11 +370,6 @@ static int ci_hdrc_probe(struct platform_device *pdev)
 	}
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(dev, "missing resource\n");
-		return -ENODEV;
-	}
-
 	base = devm_ioremap_resource(dev, res);
 	if (IS_ERR(base))
 		return PTR_ERR(base);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 29/42] drivers/usb/gadget: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (27 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 28/42] drivers/usb/chipidea: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10 15:25   ` Greg Kroah-Hartman
  2013-05-10  8:17 ` [RFC 30/42] drivers/usb/host: " Wolfram Sang
                   ` (12 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang, Felipe Balbi, Greg Kroah-Hartman, linux-usb

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/usb/gadget/bcm63xx_udc.c |   10 ----------
 1 file changed, 10 deletions(-)

diff --git a/drivers/usb/gadget/bcm63xx_udc.c b/drivers/usb/gadget/bcm63xx_udc.c
index 6e65182..7922977 100644
--- a/drivers/usb/gadget/bcm63xx_udc.c
+++ b/drivers/usb/gadget/bcm63xx_udc.c
@@ -2334,21 +2334,11 @@ static int bcm63xx_udc_probe(struct platform_device *pdev)
 	}
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(dev, "error finding USBD resource\n");
-		return -ENXIO;
-	}
-
 	udc->usbd_regs = devm_ioremap_resource(dev, res);
 	if (IS_ERR(udc->usbd_regs))
 		return PTR_ERR(udc->usbd_regs);
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-	if (!res) {
-		dev_err(dev, "error finding IUDMA resource\n");
-		return -ENXIO;
-	}
-
 	udc->iudma_regs = devm_ioremap_resource(dev, res);
 	if (IS_ERR(udc->iudma_regs))
 		return PTR_ERR(udc->iudma_regs);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 30/42] drivers/usb/host: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (28 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 29/42] drivers/usb/gadget: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10 14:03   ` Alan Stern
  2013-05-10 15:25   ` Greg Kroah-Hartman
  2013-05-10  8:17 ` [RFC 31/42] drivers/usb/phy: " Wolfram Sang
                   ` (11 subsequent siblings)
  41 siblings, 2 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang, Alan Stern, Greg Kroah-Hartman, linux-usb

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/usb/host/ehci-atmel.c    |    9 +--------
 drivers/usb/host/ehci-mxc.c      |    8 +-------
 drivers/usb/host/ehci-platform.c |    6 +-----
 drivers/usb/host/ehci-sh.c       |   10 +---------
 drivers/usb/host/ohci-nxp.c      |    6 ------
 drivers/usb/host/ohci-platform.c |    7 +------
 6 files changed, 5 insertions(+), 41 deletions(-)

diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c
index 6642009..62bf3e6 100644
--- a/drivers/usb/host/ehci-atmel.c
+++ b/drivers/usb/host/ehci-atmel.c
@@ -101,17 +101,10 @@ static int ehci_atmel_drv_probe(struct platform_device *pdev)
 		goto fail_create_hcd;
 	}
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev,
-			"Found HC with no register addr. Check %s setup!\n",
-			dev_name(&pdev->dev));
-		retval = -ENODEV;
-		goto fail_request_resource;
-	}
 	hcd->rsrc_start = res->start;
 	hcd->rsrc_len = resource_size(res);
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	hcd->regs = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(hcd->regs)) {
 		retval = PTR_ERR(hcd->regs);
diff --git a/drivers/usb/host/ehci-mxc.c b/drivers/usb/host/ehci-mxc.c
index c369767..04be939 100644
--- a/drivers/usb/host/ehci-mxc.c
+++ b/drivers/usb/host/ehci-mxc.c
@@ -68,16 +68,10 @@ static int ehci_mxc_drv_probe(struct platform_device *pdev)
 	if (!hcd)
 		return -ENOMEM;
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(dev, "Found HC with no register addr. Check setup!\n");
-		ret = -ENODEV;
-		goto err_alloc;
-	}
-
 	hcd->rsrc_start = res->start;
 	hcd->rsrc_len = resource_size(res);
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	hcd->regs = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(hcd->regs)) {
 		ret = PTR_ERR(hcd->regs);
diff --git a/drivers/usb/host/ehci-platform.c b/drivers/usb/host/ehci-platform.c
index f47f259..9466aea 100644
--- a/drivers/usb/host/ehci-platform.c
+++ b/drivers/usb/host/ehci-platform.c
@@ -95,11 +95,6 @@ static int ehci_platform_probe(struct platform_device *dev)
 		dev_err(&dev->dev, "no irq provided");
 		return irq;
 	}
-	res_mem = platform_get_resource(dev, IORESOURCE_MEM, 0);
-	if (!res_mem) {
-		dev_err(&dev->dev, "no memory resource provided");
-		return -ENXIO;
-	}
 
 	if (pdata->power_on) {
 		err = pdata->power_on(dev);
@@ -117,6 +112,7 @@ static int ehci_platform_probe(struct platform_device *dev)
 	hcd->rsrc_start = res_mem->start;
 	hcd->rsrc_len = resource_size(res_mem);
 
+	res_mem = platform_get_resource(dev, IORESOURCE_MEM, 0);
 	hcd->regs = devm_ioremap_resource(&dev->dev, res_mem);
 	if (IS_ERR(hcd->regs)) {
 		err = PTR_ERR(hcd->regs);
diff --git a/drivers/usb/host/ehci-sh.c b/drivers/usb/host/ehci-sh.c
index b44d716..7b7809a 100644
--- a/drivers/usb/host/ehci-sh.c
+++ b/drivers/usb/host/ehci-sh.c
@@ -86,15 +86,6 @@ static int ehci_hcd_sh_probe(struct platform_device *pdev)
 	if (usb_disabled())
 		return -ENODEV;
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev,
-			"Found HC with no register addr. Check %s setup!\n",
-			dev_name(&pdev->dev));
-		ret = -ENODEV;
-		goto fail_create_hcd;
-	}
-
 	irq = platform_get_irq(pdev, 0);
 	if (irq <= 0) {
 		dev_err(&pdev->dev,
@@ -117,6 +108,7 @@ static int ehci_hcd_sh_probe(struct platform_device *pdev)
 	hcd->rsrc_start = res->start;
 	hcd->rsrc_len = resource_size(res);
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	hcd->regs = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(hcd->regs)) {
 		ret = PTR_ERR(hcd->regs);
diff --git a/drivers/usb/host/ohci-nxp.c b/drivers/usb/host/ohci-nxp.c
index f4988fb..f303cb0 100644
--- a/drivers/usb/host/ohci-nxp.c
+++ b/drivers/usb/host/ohci-nxp.c
@@ -300,12 +300,6 @@ static int usb_hcd_nxp_probe(struct platform_device *pdev)
 	}
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "Failed to get MEM resource\n");
-		ret =  -ENOMEM;
-		goto out8;
-	}
-
 	hcd->regs = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(hcd->regs)) {
 		ret = PTR_ERR(hcd->regs);
diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c
index c3e7287..6656420 100644
--- a/drivers/usb/host/ohci-platform.c
+++ b/drivers/usb/host/ohci-platform.c
@@ -106,12 +106,6 @@ static int ohci_platform_probe(struct platform_device *dev)
 		return irq;
 	}
 
-	res_mem = platform_get_resource(dev, IORESOURCE_MEM, 0);
-	if (!res_mem) {
-		dev_err(&dev->dev, "no memory resource provided");
-		return -ENXIO;
-	}
-
 	if (pdata->power_on) {
 		err = pdata->power_on(dev);
 		if (err < 0)
@@ -128,6 +122,7 @@ static int ohci_platform_probe(struct platform_device *dev)
 	hcd->rsrc_start = res_mem->start;
 	hcd->rsrc_len = resource_size(res_mem);
 
+	res_mem = platform_get_resource(dev, IORESOURCE_MEM, 0);
 	hcd->regs = devm_ioremap_resource(&dev->dev, res_mem);
 	if (IS_ERR(hcd->regs)) {
 		err = PTR_ERR(hcd->regs);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 31/42] drivers/usb/phy: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (29 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 30/42] drivers/usb/host: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10 15:24   ` Greg Kroah-Hartman
  2013-05-10  8:17 ` [RFC 32/42] drivers/video: " Wolfram Sang
                   ` (10 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang, Felipe Balbi, Greg Kroah-Hartman, linux-usb

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/usb/phy/phy-mv-u3d-usb.c   |    5 -----
 drivers/usb/phy/phy-mxs-usb.c      |    5 -----
 drivers/usb/phy/phy-samsung-usb2.c |    5 -----
 drivers/usb/phy/phy-samsung-usb3.c |    5 -----
 4 files changed, 20 deletions(-)

diff --git a/drivers/usb/phy/phy-mv-u3d-usb.c b/drivers/usb/phy/phy-mv-u3d-usb.c
index f7838a4..1568ea6 100644
--- a/drivers/usb/phy/phy-mv-u3d-usb.c
+++ b/drivers/usb/phy/phy-mv-u3d-usb.c
@@ -278,11 +278,6 @@ static int mv_u3d_phy_probe(struct platform_device *pdev)
 	}
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(dev, "missing mem resource\n");
-		return -ENODEV;
-	}
-
 	phy_base = devm_ioremap_resource(dev, res);
 	if (IS_ERR(phy_base))
 		return PTR_ERR(phy_base);
diff --git a/drivers/usb/phy/phy-mxs-usb.c b/drivers/usb/phy/phy-mxs-usb.c
index 9d4381e..eb25dd2 100644
--- a/drivers/usb/phy/phy-mxs-usb.c
+++ b/drivers/usb/phy/phy-mxs-usb.c
@@ -130,11 +130,6 @@ static int mxs_phy_probe(struct platform_device *pdev)
 	int ret;
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "can't get device resources\n");
-		return -ENOENT;
-	}
-
 	base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(base))
 		return PTR_ERR(base);
diff --git a/drivers/usb/phy/phy-samsung-usb2.c b/drivers/usb/phy/phy-samsung-usb2.c
index 45ffe03..9d5e273 100644
--- a/drivers/usb/phy/phy-samsung-usb2.c
+++ b/drivers/usb/phy/phy-samsung-usb2.c
@@ -363,11 +363,6 @@ static int samsung_usb2phy_probe(struct platform_device *pdev)
 	int ret;
 
 	phy_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!phy_mem) {
-		dev_err(dev, "%s: missing mem resource\n", __func__);
-		return -ENODEV;
-	}
-
 	phy_base = devm_ioremap_resource(dev, phy_mem);
 	if (IS_ERR(phy_base))
 		return PTR_ERR(phy_base);
diff --git a/drivers/usb/phy/phy-samsung-usb3.c b/drivers/usb/phy/phy-samsung-usb3.c
index 133f3d0..5a9efcb 100644
--- a/drivers/usb/phy/phy-samsung-usb3.c
+++ b/drivers/usb/phy/phy-samsung-usb3.c
@@ -239,11 +239,6 @@ static int samsung_usb3phy_probe(struct platform_device *pdev)
 	int ret;
 
 	phy_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!phy_mem) {
-		dev_err(dev, "%s: missing mem resource\n", __func__);
-		return -ENODEV;
-	}
-
 	phy_base = devm_ioremap_resource(dev, phy_mem);
 	if (IS_ERR(phy_base))
 		return PTR_ERR(phy_base);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 32/42] drivers/video: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (30 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 31/42] drivers/usb/phy: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-11  5:33   ` Jingoo Han
  2013-05-10  8:17 ` [RFC 33/42] drivers/video/omap2: " Wolfram Sang
                   ` (9 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang, Florian Tobias Schandinat, linux-fbdev

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/video/mxsfb.c |    7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/video/mxsfb.c b/drivers/video/mxsfb.c
index 1b2c26d..3dc3265 100644
--- a/drivers/video/mxsfb.c
+++ b/drivers/video/mxsfb.c
@@ -883,12 +883,6 @@ static int mxsfb_probe(struct platform_device *pdev)
 	if (of_id)
 		pdev->id_entry = of_id->data;
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "Cannot get memory IO resource\n");
-		return -ENODEV;
-	}
-
 	fb_info = framebuffer_alloc(sizeof(struct mxsfb_info), &pdev->dev);
 	if (!fb_info) {
 		dev_err(&pdev->dev, "Failed to allocate fbdev\n");
@@ -897,6 +891,7 @@ static int mxsfb_probe(struct platform_device *pdev)
 
 	host = to_imxfb_host(fb_info);
 
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	host->base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(host->base)) {
 		dev_err(&pdev->dev, "ioremap failed\n");
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 33/42] drivers/video/omap2: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (31 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 32/42] drivers/video: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-11  5:37   ` Jingoo Han
  2013-05-10  8:17 ` [RFC 34/42] drivers/video/omap2/dss: " Wolfram Sang
                   ` (8 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Tomi Valkeinen, Florian Tobias Schandinat,
	linux-omap, linux-fbdev

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/video/omap2/vrfb.c |    5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/video/omap2/vrfb.c b/drivers/video/omap2/vrfb.c
index 5261229..f346b02 100644
--- a/drivers/video/omap2/vrfb.c
+++ b/drivers/video/omap2/vrfb.c
@@ -353,11 +353,6 @@ static int __init vrfb_probe(struct platform_device *pdev)
 	/* first resource is the register res, the rest are vrfb contexts */
 
 	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!mem) {
-		dev_err(&pdev->dev, "can't get vrfb base address\n");
-		return -EINVAL;
-	}
-
 	vrfb_base = devm_ioremap_resource(&pdev->dev, mem);
 	if (IS_ERR(vrfb_base))
 		return PTR_ERR(vrfb_base);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 34/42] drivers/video/omap2/dss: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (32 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 33/42] drivers/video/omap2: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-11  5:36   ` Jingoo Han
  2013-05-10  8:17 ` [RFC 35/42] drivers/w1/masters: " Wolfram Sang
                   ` (7 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Tomi Valkeinen, Florian Tobias Schandinat,
	linux-omap, linux-fbdev

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/video/omap2/dss/hdmi.c |    7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/video/omap2/dss/hdmi.c b/drivers/video/omap2/dss/hdmi.c
index 17f4d55..7bc6762 100644
--- a/drivers/video/omap2/dss/hdmi.c
+++ b/drivers/video/omap2/dss/hdmi.c
@@ -1064,13 +1064,8 @@ static int omapdss_hdmihw_probe(struct platform_device *pdev)
 	mutex_init(&hdmi.lock);
 	mutex_init(&hdmi.ip_data.lock);
 
-	res = platform_get_resource(hdmi.pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		DSSERR("can't get IORESOURCE_MEM HDMI\n");
-		return -EINVAL;
-	}
-
 	/* Base address taken from platform */
+	res = platform_get_resource(hdmi.pdev, IORESOURCE_MEM, 0);
 	hdmi.ip_data.base_wp = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(hdmi.ip_data.base_wp))
 		return PTR_ERR(hdmi.ip_data.base_wp);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 35/42] drivers/w1/masters: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (33 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 34/42] drivers/video/omap2/dss: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10  8:17 ` [RFC 36/42] drivers/watchdog: " Wolfram Sang
                   ` (6 subsequent siblings)
  41 siblings, 0 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang, Evgeniy Polyakov

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/w1/masters/omap_hdq.c |    5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/w1/masters/omap_hdq.c b/drivers/w1/masters/omap_hdq.c
index db2390a..6e94d8dd 100644
--- a/drivers/w1/masters/omap_hdq.c
+++ b/drivers/w1/masters/omap_hdq.c
@@ -555,11 +555,6 @@ static int omap_hdq_probe(struct platform_device *pdev)
 	platform_set_drvdata(pdev, hdq_data);
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_dbg(&pdev->dev, "unable to get resource\n");
-		return -ENXIO;
-	}
-
 	hdq_data->hdq_base = devm_ioremap_resource(dev, res);
 	if (IS_ERR(hdq_data->hdq_base))
 		return PTR_ERR(hdq_data->hdq_base);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 36/42] drivers/watchdog: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (34 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 35/42] drivers/w1/masters: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-12 17:23   ` Wim Van Sebroeck
  2013-05-10  8:17 ` [RFC 37/42] arch/arm/mach-tegra: " Wolfram Sang
                   ` (5 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang, Wim Van Sebroeck, linux-watchdog

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 drivers/watchdog/imx2_wdt.c |    5 -----
 1 file changed, 5 deletions(-)

diff --git a/drivers/watchdog/imx2_wdt.c b/drivers/watchdog/imx2_wdt.c
index ff90882..62946c2 100644
--- a/drivers/watchdog/imx2_wdt.c
+++ b/drivers/watchdog/imx2_wdt.c
@@ -257,11 +257,6 @@ static int __init imx2_wdt_probe(struct platform_device *pdev)
 	struct resource *res;
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "can't get device resources\n");
-		return -ENODEV;
-	}
-
 	imx2_wdt.base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(imx2_wdt.base))
 		return PTR_ERR(imx2_wdt.base);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 37/42] arch/arm/mach-tegra: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (35 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 36/42] drivers/watchdog: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10  8:17 ` [RFC 38/42] arch/arm/plat-omap: " Wolfram Sang
                   ` (4 subsequent siblings)
  41 siblings, 0 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Russell King, Stephen Warren, linux-arm-kernel,
	linux-tegra

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 arch/arm/mach-tegra/tegra2_emc.c |    5 -----
 1 file changed, 5 deletions(-)

diff --git a/arch/arm/mach-tegra/tegra2_emc.c b/arch/arm/mach-tegra/tegra2_emc.c
index 9e8bdfa..31e69a0 100644
--- a/arch/arm/mach-tegra/tegra2_emc.c
+++ b/arch/arm/mach-tegra/tegra2_emc.c
@@ -307,11 +307,6 @@ static int tegra_emc_probe(struct platform_device *pdev)
 	}
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "missing register base\n");
-		return -ENOMEM;
-	}
-
 	emc_regbase = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(emc_regbase))
 		return PTR_ERR(emc_regbase);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 38/42] arch/arm/plat-omap: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (36 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 37/42] arch/arm/mach-tegra: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10 16:46   ` Tony Lindgren
  2013-05-10  8:17 ` [RFC 39/42] arch/arm/plat-samsung: " Wolfram Sang
                   ` (3 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Tony Lindgren, Russell King, linux-arm-kernel, linux-omap

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 arch/arm/plat-omap/dmtimer.c |    7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c
index 869254c..da1a3f7 100644
--- a/arch/arm/plat-omap/dmtimer.c
+++ b/arch/arm/plat-omap/dmtimer.c
@@ -814,12 +814,6 @@ static int omap_dm_timer_probe(struct platform_device *pdev)
 		return -ENODEV;
 	}
 
-	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (unlikely(!mem)) {
-		dev_err(dev, "%s: no memory resource.\n", __func__);
-		return -ENODEV;
-	}
-
 	timer = devm_kzalloc(dev, sizeof(struct omap_dm_timer), GFP_KERNEL);
 	if (!timer) {
 		dev_err(dev, "%s: memory alloc failed!\n", __func__);
@@ -827,6 +821,7 @@ static int omap_dm_timer_probe(struct platform_device *pdev)
 	}
 
 	timer->fclk = ERR_PTR(-ENODEV);
+	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	timer->io_base = devm_ioremap_resource(dev, mem);
 	if (IS_ERR(timer->io_base))
 		return PTR_ERR(timer->io_base);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 39/42] arch/arm/plat-samsung: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (37 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 38/42] arch/arm/plat-omap: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-11  5:15   ` Jingoo Han
  2013-05-10  8:17 ` [RFC 40/42] arch/mips/lantiq/xway: " Wolfram Sang
                   ` (2 subsequent siblings)
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Ben Dooks, Kukjin Kim, Russell King,
	linux-arm-kernel, linux-samsung-soc

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 arch/arm/plat-samsung/adc.c |    5 -----
 1 file changed, 5 deletions(-)

diff --git a/arch/arm/plat-samsung/adc.c b/arch/arm/plat-samsung/adc.c
index ca07cb1..79690f2 100644
--- a/arch/arm/plat-samsung/adc.c
+++ b/arch/arm/plat-samsung/adc.c
@@ -381,11 +381,6 @@ static int s3c_adc_probe(struct platform_device *pdev)
 	}
 
 	regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!regs) {
-		dev_err(dev, "failed to find registers\n");
-		return -ENXIO;
-	}
-
 	adc->regs = devm_ioremap_resource(dev, regs);
 	if (IS_ERR(adc->regs))
 		return PTR_ERR(adc->regs);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 40/42] arch/mips/lantiq/xway: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (38 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 39/42] arch/arm/plat-samsung: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10  8:57   ` John Crispin
  2013-05-10  8:17 ` [RFC 41/42] sound/soc/fsl: " Wolfram Sang
  2013-05-10  8:17 ` [RFC 42/42] sound/soc/kirkwood: " Wolfram Sang
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel; +Cc: Wolfram Sang, Ralf Baechle, linux-mips

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 arch/mips/lantiq/xway/gptu.c |    7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/arch/mips/lantiq/xway/gptu.c b/arch/mips/lantiq/xway/gptu.c
index 9861c86..26226f0 100644
--- a/arch/mips/lantiq/xway/gptu.c
+++ b/arch/mips/lantiq/xway/gptu.c
@@ -143,13 +143,8 @@ static int gptu_probe(struct platform_device *pdev)
 		return -EINVAL;
 	}
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		dev_err(&pdev->dev, "Failed to get resource\n");
-		return -ENOMEM;
-	}
-
 	/* remap gptu register range */
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	gptu_membase = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(gptu_membase))
 		return PTR_ERR(gptu_membase);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 41/42] sound/soc/fsl: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (39 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 40/42] arch/mips/lantiq/xway: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10 10:56   ` Mark Brown
  2013-05-10  8:17 ` [RFC 42/42] sound/soc/kirkwood: " Wolfram Sang
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Liam Girdwood, Mark Brown, Jaroslav Kysela,
	Takashi Iwai, alsa-devel

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 sound/soc/fsl/imx-ssi.c |    6 ------
 1 file changed, 6 deletions(-)

diff --git a/sound/soc/fsl/imx-ssi.c b/sound/soc/fsl/imx-ssi.c
index 902fab0..c6fa03e 100644
--- a/sound/soc/fsl/imx-ssi.c
+++ b/sound/soc/fsl/imx-ssi.c
@@ -540,11 +540,6 @@ static int imx_ssi_probe(struct platform_device *pdev)
 	clk_prepare_enable(ssi->clk);
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res) {
-		ret = -ENODEV;
-		goto failed_get_resource;
-	}
-
 	ssi->base = devm_ioremap_resource(&pdev->dev, res);
 	if (IS_ERR(ssi->base)) {
 		ret = PTR_ERR(ssi->base);
@@ -633,7 +628,6 @@ failed_pdev_fiq_alloc:
 	snd_soc_unregister_component(&pdev->dev);
 failed_register:
 	release_mem_region(res->start, resource_size(res));
-failed_get_resource:
 	clk_disable_unprepare(ssi->clk);
 failed_clk:
 
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* [RFC 42/42] sound/soc/kirkwood: don't check resource with devm_ioremap_resource
       [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
                   ` (40 preceding siblings ...)
  2013-05-10  8:17 ` [RFC 41/42] sound/soc/fsl: " Wolfram Sang
@ 2013-05-10  8:17 ` Wolfram Sang
  2013-05-10 10:56   ` Mark Brown
  41 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10  8:17 UTC (permalink / raw)
  To: linux-kernel
  Cc: Wolfram Sang, Liam Girdwood, Mark Brown, Jaroslav Kysela,
	Takashi Iwai, alsa-devel

devm_ioremap_resource does sanity checks on the given resource. No need to
duplicate this in the driver.

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
---
 sound/soc/kirkwood/kirkwood-i2s.c |    5 -----
 1 file changed, 5 deletions(-)

diff --git a/sound/soc/kirkwood/kirkwood-i2s.c b/sound/soc/kirkwood/kirkwood-i2s.c
index befe68f..4c9dad3 100644
--- a/sound/soc/kirkwood/kirkwood-i2s.c
+++ b/sound/soc/kirkwood/kirkwood-i2s.c
@@ -471,11 +471,6 @@ static int kirkwood_i2s_dev_probe(struct platform_device *pdev)
 	dev_set_drvdata(&pdev->dev, priv);
 
 	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!mem) {
-		dev_err(&pdev->dev, "platform_get_resource failed\n");
-		return -ENXIO;
-	}
-
 	priv->io = devm_ioremap_resource(&pdev->dev, mem);
 	if (IS_ERR(priv->io))
 		return PTR_ERR(priv->io);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 96+ messages in thread

* Re: [RFC 40/42] arch/mips/lantiq/xway: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 40/42] arch/mips/lantiq/xway: " Wolfram Sang
@ 2013-05-10  8:57   ` John Crispin
  0 siblings, 0 replies; 96+ messages in thread
From: John Crispin @ 2013-05-10  8:57 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, Ralf Baechle, linux-mips

On 10/05/13 10:17, Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
>
> Signed-off-by: Wolfram Sang<wsa@the-dreams.de>

Acked-by: John Crispin <blogic@openwrt.org>

> ---
>   arch/mips/lantiq/xway/gptu.c |    7 +------
>   1 file changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/arch/mips/lantiq/xway/gptu.c b/arch/mips/lantiq/xway/gptu.c
> index 9861c86..26226f0 100644
> --- a/arch/mips/lantiq/xway/gptu.c
> +++ b/arch/mips/lantiq/xway/gptu.c
> @@ -143,13 +143,8 @@ static int gptu_probe(struct platform_device *pdev)
>   		return -EINVAL;
>   	}
>
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(&pdev->dev, "Failed to get resource\n");
> -		return -ENOMEM;
> -	}
> -
>   	/* remap gptu register range */
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>   	gptu_membase = devm_ioremap_resource(&pdev->dev, res);
>   	if (IS_ERR(gptu_membase))
>   		return PTR_ERR(gptu_membase);


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 23/42] drivers/spi: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 23/42] drivers/spi: " Wolfram Sang
@ 2013-05-10 10:55   ` Mark Brown
  2013-05-10 16:37   ` Stephen Warren
  2013-05-11  5:24   ` Jingoo Han
  2 siblings, 0 replies; 96+ messages in thread
From: Mark Brown @ 2013-05-10 10:55 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-kernel, Grant Likely, Ben Dooks, Kukjin Kim, Barry Song,
	Stephen Warren, spi-devel-general, linux-arm-kernel,
	linux-samsung-soc, linux-tegra

[-- Attachment #1: Type: text/plain, Size: 231 bytes --]

On Fri, May 10, 2013 at 10:17:08AM +0200, Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.

Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 41/42] sound/soc/fsl: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 41/42] sound/soc/fsl: " Wolfram Sang
@ 2013-05-10 10:56   ` Mark Brown
  0 siblings, 0 replies; 96+ messages in thread
From: Mark Brown @ 2013-05-10 10:56 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-kernel, Liam Girdwood, Jaroslav Kysela, Takashi Iwai, alsa-devel

[-- Attachment #1: Type: text/plain, Size: 231 bytes --]

On Fri, May 10, 2013 at 10:17:26AM +0200, Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.

Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 42/42] sound/soc/kirkwood: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 42/42] sound/soc/kirkwood: " Wolfram Sang
@ 2013-05-10 10:56   ` Mark Brown
  0 siblings, 0 replies; 96+ messages in thread
From: Mark Brown @ 2013-05-10 10:56 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-kernel, Liam Girdwood, Jaroslav Kysela, Takashi Iwai, alsa-devel

[-- Attachment #1: Type: text/plain, Size: 231 bytes --]

On Fri, May 10, 2013 at 10:17:27AM +0200, Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.

Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 17/42] drivers/net/ethernet/renesas: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 17/42] drivers/net/ethernet/renesas: " Wolfram Sang
@ 2013-05-10 11:07   ` Sergei Shtylyov
  2013-05-11 20:31     ` Sergei Shtylyov
  2013-05-11 20:35   ` Sergei Shtylyov
  1 sibling, 1 reply; 96+ messages in thread
From: Sergei Shtylyov @ 2013-05-10 11:07 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, netdev

Hello.

On 10-05-2013 12:17, Wolfram Sang wrote:

> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.

> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

Acked-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

WBR, Sergei


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 03/42] drivers/cpufreq: don't check resource with devm_ioremap_resource
  2013-05-10  8:16 ` [RFC 03/42] drivers/cpufreq: " Wolfram Sang
@ 2013-05-10 11:09   ` Rafael J. Wysocki
  0 siblings, 0 replies; 96+ messages in thread
From: Rafael J. Wysocki @ 2013-05-10 11:09 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, Viresh Kumar, cpufreq, linux-pm

On Friday, May 10, 2013 10:16:48 AM Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

Queued up for a post-3.10-rc1 push.

Thanks,
Rafael


> ---
>  drivers/cpufreq/kirkwood-cpufreq.c |    4 ----
>  1 file changed, 4 deletions(-)
> 
> diff --git a/drivers/cpufreq/kirkwood-cpufreq.c b/drivers/cpufreq/kirkwood-cpufreq.c
> index d36ea8d..b2644af 100644
> --- a/drivers/cpufreq/kirkwood-cpufreq.c
> +++ b/drivers/cpufreq/kirkwood-cpufreq.c
> @@ -171,10 +171,6 @@ static int kirkwood_cpufreq_probe(struct platform_device *pdev)
>  	priv.dev = &pdev->dev;
>  
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(&pdev->dev, "Cannot get memory resource\n");
> -		return -ENODEV;
> -	}
>  	priv.base = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(priv.base))
>  		return PTR_ERR(priv.base);
> 
-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 26/42] drivers/thermal: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 26/42] drivers/thermal: " Wolfram Sang
@ 2013-05-10 13:50   ` Eduardo Valentin
  2013-05-16  7:22   ` Zhang Rui
  1 sibling, 0 replies; 96+ messages in thread
From: Eduardo Valentin @ 2013-05-10 13:50 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, Zhang Rui, linux-pm, eduardo.valentin

[-- Attachment #1: Type: text/plain, Size: 4211 bytes --]

Wolfram,

On 10-05-2013 04:17, Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
> ---
>  drivers/thermal/dove_thermal.c     |   11 +----------
>  drivers/thermal/exynos_thermal.c   |    5 -----
>  drivers/thermal/kirkwood_thermal.c |    7 +------
>  drivers/thermal/rcar_thermal.c     |    6 +-----

You missed drivers/thermal/armada_thermal.c ?

For the changes below:

Acked-by: Eduardo Valentin <eduardo.valentin@ti.com>

>  4 files changed, 3 insertions(+), 26 deletions(-)
> 
> diff --git a/drivers/thermal/dove_thermal.c b/drivers/thermal/dove_thermal.c
> index 3078c40..5c53c53 100644
> --- a/drivers/thermal/dove_thermal.c
> +++ b/drivers/thermal/dove_thermal.c
> @@ -133,25 +133,16 @@ static int dove_thermal_probe(struct platform_device *pdev)
>  	struct resource *res;
>  	int ret;
>  
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(&pdev->dev, "Failed to get platform resource\n");
> -		return -ENODEV;
> -	}
> -
>  	priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
>  	if (!priv)
>  		return -ENOMEM;
>  
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	priv->sensor = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(priv->sensor))
>  		return PTR_ERR(priv->sensor);
>  
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
> -	if (!res) {
> -		dev_err(&pdev->dev, "Failed to get platform resource\n");
> -		return -ENODEV;
> -	}
>  	priv->control = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(priv->control))
>  		return PTR_ERR(priv->control);
> diff --git a/drivers/thermal/exynos_thermal.c b/drivers/thermal/exynos_thermal.c
> index b777ae6..a7bef42 100644
> --- a/drivers/thermal/exynos_thermal.c
> +++ b/drivers/thermal/exynos_thermal.c
> @@ -967,11 +967,6 @@ static int exynos_tmu_probe(struct platform_device *pdev)
>  	INIT_WORK(&data->irq_work, exynos_tmu_work);
>  
>  	data->mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!data->mem) {
> -		dev_err(&pdev->dev, "Failed to get platform resource\n");
> -		return -ENOENT;
> -	}
> -
>  	data->base = devm_ioremap_resource(&pdev->dev, data->mem);
>  	if (IS_ERR(data->base))
>  		return PTR_ERR(data->base);
> diff --git a/drivers/thermal/kirkwood_thermal.c b/drivers/thermal/kirkwood_thermal.c
> index e5500ed..e3ca1b4 100644
> --- a/drivers/thermal/kirkwood_thermal.c
> +++ b/drivers/thermal/kirkwood_thermal.c
> @@ -75,16 +75,11 @@ static int kirkwood_thermal_probe(struct platform_device *pdev)
>  	struct kirkwood_thermal_priv *priv;
>  	struct resource *res;
>  
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(&pdev->dev, "Failed to get platform resource\n");
> -		return -ENODEV;
> -	}
> -
>  	priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
>  	if (!priv)
>  		return -ENOMEM;
>  
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	priv->sensor = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(priv->sensor))
>  		return PTR_ERR(priv->sensor);
> diff --git a/drivers/thermal/rcar_thermal.c b/drivers/thermal/rcar_thermal.c
> index 2cc5b61..b2217b3 100644
> --- a/drivers/thermal/rcar_thermal.c
> +++ b/drivers/thermal/rcar_thermal.c
> @@ -385,11 +385,6 @@ static int rcar_thermal_probe(struct platform_device *pdev)
>  		 * platform has IRQ support.
>  		 * Then, drier use common register
>  		 */
> -		res = platform_get_resource(pdev, IORESOURCE_MEM, mres++);
> -		if (!res) {
> -			dev_err(dev, "Could not get platform resource\n");
> -			return -ENODEV;
> -		}
>  
>  		ret = devm_request_irq(dev, irq->start, rcar_thermal_irq, 0,
>  				       dev_name(dev), common);
> @@ -401,6 +396,7 @@ static int rcar_thermal_probe(struct platform_device *pdev)
>  		/*
>  		 * rcar_has_irq_support() will be enabled
>  		 */
> +		res = platform_get_resource(pdev, IORESOURCE_MEM, mres++);
>  		common->base = devm_ioremap_resource(dev, res);
>  		if (IS_ERR(common->base))
>  			return PTR_ERR(common->base);
> 



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 295 bytes --]

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 30/42] drivers/usb/host: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 30/42] drivers/usb/host: " Wolfram Sang
@ 2013-05-10 14:03   ` Alan Stern
  2013-05-10 18:00     ` Wolfram Sang
  2013-05-10 15:25   ` Greg Kroah-Hartman
  1 sibling, 1 reply; 96+ messages in thread
From: Alan Stern @ 2013-05-10 14:03 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, Greg Kroah-Hartman, linux-usb

On Fri, 10 May 2013, Wolfram Sang wrote:

> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
> ---
>  drivers/usb/host/ehci-atmel.c    |    9 +--------
>  drivers/usb/host/ehci-mxc.c      |    8 +-------
>  drivers/usb/host/ehci-platform.c |    6 +-----
>  drivers/usb/host/ehci-sh.c       |   10 +---------
>  drivers/usb/host/ohci-nxp.c      |    6 ------
>  drivers/usb/host/ohci-platform.c |    7 +------
>  6 files changed, 5 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c
> index 6642009..62bf3e6 100644
> --- a/drivers/usb/host/ehci-atmel.c
> +++ b/drivers/usb/host/ehci-atmel.c
> @@ -101,17 +101,10 @@ static int ehci_atmel_drv_probe(struct platform_device *pdev)
>  		goto fail_create_hcd;
>  	}
>  
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(&pdev->dev,
> -			"Found HC with no register addr. Check %s setup!\n",
> -			dev_name(&pdev->dev));
> -		retval = -ENODEV;
> -		goto fail_request_resource;
> -	}
>  	hcd->rsrc_start = res->start;
>  	hcd->rsrc_len = resource_size(res);
>  
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	hcd->regs = devm_ioremap_resource(&pdev->dev, res);

This isn't right.  You are now dereferencing an uninitialized pointer
in the assignment to hcd->rsrc_start.  The compiler won't like that.

Most of the other changes in this patch suffer from the same problem.

Alan Stern


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 18/42] drivers/pinctrl: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 18/42] drivers/pinctrl: " Wolfram Sang
@ 2013-05-10 14:30   ` Jean-Christophe PLAGNIOL-VILLARD
  2013-05-14 12:19   ` Linus Walleij
  2013-06-06  8:43   ` Jean-Christophe PLAGNIOL-VILLARD
  2 siblings, 0 replies; 96+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-05-10 14:30 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, Linus Walleij, linux-arm-kernel

On 10:17 Fri 10 May     , Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
> ---
>  drivers/pinctrl/pinctrl-at91.c       |    7 +------
for at91
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>

>  drivers/pinctrl/pinctrl-coh901.c     |    5 -----
>  drivers/pinctrl/pinctrl-exynos5440.c |    5 -----
>  drivers/pinctrl/pinctrl-samsung.c    |    5 -----
>  drivers/pinctrl/pinctrl-xway.c       |    4 ----
>  5 files changed, 1 insertion(+), 25 deletions(-)
> 
> diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c
> index 5d7529e..b90a3a0 100644
> --- a/drivers/pinctrl/pinctrl-at91.c
> +++ b/drivers/pinctrl/pinctrl-at91.c
> @@ -1543,12 +1543,6 @@ static int at91_gpio_probe(struct platform_device *pdev)
>  		goto err;
>  	}
>  
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		ret = -ENOENT;
> -		goto err;
> -	}
> -
>  	irq = platform_get_irq(pdev, 0);
>  	if (irq < 0) {
>  		ret = irq;
> @@ -1561,6 +1555,7 @@ static int at91_gpio_probe(struct platform_device *pdev)
>  		goto err;
>  	}
>  
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	at91_chip->regbase = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(at91_chip->regbase)) {
>  		ret = PTR_ERR(at91_chip->regbase);
> diff --git a/drivers/pinctrl/pinctrl-coh901.c b/drivers/pinctrl/pinctrl-coh901.c
> index edde3ac..a67af41 100644
> --- a/drivers/pinctrl/pinctrl-coh901.c
> +++ b/drivers/pinctrl/pinctrl-coh901.c
> @@ -713,11 +713,6 @@ static int __init u300_gpio_probe(struct platform_device *pdev)
>  	gpio->dev = &pdev->dev;
>  
>  	memres = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!memres) {
> -		dev_err(gpio->dev, "could not get GPIO memory resource\n");
> -		return -ENODEV;
> -	}
> -
>  	gpio->base = devm_ioremap_resource(&pdev->dev, memres);
>  	if (IS_ERR(gpio->base))
>  		return PTR_ERR(gpio->base);
> diff --git a/drivers/pinctrl/pinctrl-exynos5440.c b/drivers/pinctrl/pinctrl-exynos5440.c
> index 6038503..32a48f4 100644
> --- a/drivers/pinctrl/pinctrl-exynos5440.c
> +++ b/drivers/pinctrl/pinctrl-exynos5440.c
> @@ -1000,11 +1000,6 @@ static int exynos5440_pinctrl_probe(struct platform_device *pdev)
>  	}
>  
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(dev, "cannot find IO resource\n");
> -		return -ENOENT;
> -	}
> -
>  	priv->reg_base = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(priv->reg_base))
>  		return PTR_ERR(priv->reg_base);
> diff --git a/drivers/pinctrl/pinctrl-samsung.c b/drivers/pinctrl/pinctrl-samsung.c
> index 9763668..055d016 100644
> --- a/drivers/pinctrl/pinctrl-samsung.c
> +++ b/drivers/pinctrl/pinctrl-samsung.c
> @@ -932,11 +932,6 @@ static int samsung_pinctrl_probe(struct platform_device *pdev)
>  	drvdata->dev = dev;
>  
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(dev, "cannot find IO resource\n");
> -		return -ENOENT;
> -	}
> -
>  	drvdata->virt_base = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(drvdata->virt_base))
>  		return PTR_ERR(drvdata->virt_base);
> diff --git a/drivers/pinctrl/pinctrl-xway.c b/drivers/pinctrl/pinctrl-xway.c
> index f2977cf..e92132c 100644
> --- a/drivers/pinctrl/pinctrl-xway.c
> +++ b/drivers/pinctrl/pinctrl-xway.c
> @@ -716,10 +716,6 @@ static int pinmux_xway_probe(struct platform_device *pdev)
>  
>  	/* get and remap our register range */
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(&pdev->dev, "Failed to get resource\n");
> -		return -ENOENT;
> -	}
>  	xway_info.membase[0] = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(xway_info.membase[0]))
>  		return PTR_ERR(xway_info.membase[0]);
> -- 
> 1.7.10.4
> 

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 14/42] drivers/misc: don't check resource with devm_ioremap_resource
  2013-05-10  8:16 ` [RFC 14/42] drivers/misc: " Wolfram Sang
@ 2013-05-10 15:24   ` Greg Kroah-Hartman
  0 siblings, 0 replies; 96+ messages in thread
From: Greg Kroah-Hartman @ 2013-05-10 15:24 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, Arnd Bergmann

On Fri, May 10, 2013 at 10:16:59AM +0200, Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 31/42] drivers/usb/phy: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 31/42] drivers/usb/phy: " Wolfram Sang
@ 2013-05-10 15:24   ` Greg Kroah-Hartman
  0 siblings, 0 replies; 96+ messages in thread
From: Greg Kroah-Hartman @ 2013-05-10 15:24 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, Felipe Balbi, linux-usb

On Fri, May 10, 2013 at 10:17:16AM +0200, Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 24/42] drivers/staging/dwc2: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 24/42] drivers/staging/dwc2: " Wolfram Sang
@ 2013-05-10 15:24   ` Greg Kroah-Hartman
  0 siblings, 0 replies; 96+ messages in thread
From: Greg Kroah-Hartman @ 2013-05-10 15:24 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, devel, linux-usb, Paul Zimmerman

On Fri, May 10, 2013 at 10:17:09AM +0200, Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 25/42] drivers/staging/nvec: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 25/42] drivers/staging/nvec: " Wolfram Sang
@ 2013-05-10 15:24   ` Greg Kroah-Hartman
  2013-05-10 16:07   ` Marc Dietrich
  1 sibling, 0 replies; 96+ messages in thread
From: Greg Kroah-Hartman @ 2013-05-10 15:24 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, devel, linux-tegra, ac100

On Fri, May 10, 2013 at 10:17:10AM +0200, Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 30/42] drivers/usb/host: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 30/42] drivers/usb/host: " Wolfram Sang
  2013-05-10 14:03   ` Alan Stern
@ 2013-05-10 15:25   ` Greg Kroah-Hartman
  1 sibling, 0 replies; 96+ messages in thread
From: Greg Kroah-Hartman @ 2013-05-10 15:25 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, Alan Stern, linux-usb

On Fri, May 10, 2013 at 10:17:15AM +0200, Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

As Alan pointed out, the majority of these are all wrong, please do NOT
push this patch to Linus.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 28/42] drivers/usb/chipidea: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 28/42] drivers/usb/chipidea: " Wolfram Sang
@ 2013-05-10 15:25   ` Greg Kroah-Hartman
  0 siblings, 0 replies; 96+ messages in thread
From: Greg Kroah-Hartman @ 2013-05-10 15:25 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, Alexander Shishkin, linux-usb

On Fri, May 10, 2013 at 10:17:13AM +0200, Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 29/42] drivers/usb/gadget: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 29/42] drivers/usb/gadget: " Wolfram Sang
@ 2013-05-10 15:25   ` Greg Kroah-Hartman
  0 siblings, 0 replies; 96+ messages in thread
From: Greg Kroah-Hartman @ 2013-05-10 15:25 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, Felipe Balbi, linux-usb

On Fri, May 10, 2013 at 10:17:14AM +0200, Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 27/42] drivers/tty/serial: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 27/42] drivers/tty/serial: " Wolfram Sang
@ 2013-05-10 15:26   ` Greg Kroah-Hartman
  2013-05-10 17:58     ` Wolfram Sang
  0 siblings, 1 reply; 96+ messages in thread
From: Greg Kroah-Hartman @ 2013-05-10 15:26 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-kernel, Jiri Slaby, Stephen Warren, linux-serial, linux-tegra

On Fri, May 10, 2013 at 10:17:12AM +0200, Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
> ---
>  drivers/tty/serial/serial-tegra.c |    6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/drivers/tty/serial/serial-tegra.c b/drivers/tty/serial/serial-tegra.c
> index 9799d04..9570b55 100644
> --- a/drivers/tty/serial/serial-tegra.c
> +++ b/drivers/tty/serial/serial-tegra.c
> @@ -1295,13 +1295,9 @@ static int tegra_uart_probe(struct platform_device *pdev)
>  	tup->cdata = cdata;
>  
>  	platform_set_drvdata(pdev, tup);
> -	resource = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!resource) {
> -		dev_err(&pdev->dev, "No IO memory resource\n");
> -		return -ENODEV;
> -	}
>  
>  	u->mapbase = resource->start;
> +	resource = platform_get_resource(pdev, IORESOURCE_MEM, 0);

You need to look at your scripts, as again, this is totally wrong.

greg k-h

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 25/42] drivers/staging/nvec: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 25/42] drivers/staging/nvec: " Wolfram Sang
  2013-05-10 15:24   ` Greg Kroah-Hartman
@ 2013-05-10 16:07   ` Marc Dietrich
  1 sibling, 0 replies; 96+ messages in thread
From: Marc Dietrich @ 2013-05-10 16:07 UTC (permalink / raw)
  To: Wolfram Sang, linux-tegra
  Cc: linux-kernel, Julian Andres Klode, Greg Kroah-Hartman, devel

On Friday 10 May 2013 10:17:10 Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

Acked-by: Marc Dietrich <marvin24@gmx.de>

> ---
>  drivers/staging/nvec/nvec.c |    5 -----
>  1 file changed, 5 deletions(-)
> 
> diff --git a/drivers/staging/nvec/nvec.c b/drivers/staging/nvec/nvec.c
> index a88959f..863b22e 100644
> --- a/drivers/staging/nvec/nvec.c
> +++ b/drivers/staging/nvec/nvec.c
> @@ -800,11 +800,6 @@ static int tegra_nvec_probe(struct platform_device
> *pdev) }
> 
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(&pdev->dev, "no mem resource?\n");
> -		return -ENODEV;
> -	}
> -
>  	base = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(base))
>  		return PTR_ERR(base);

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 04/42] drivers/dma: don't check resource with devm_ioremap_resource
  2013-05-10  8:16 ` [RFC 04/42] drivers/dma: " Wolfram Sang
@ 2013-05-10 16:35   ` Stephen Warren
  2013-05-10 17:57     ` Wolfram Sang
  0 siblings, 1 reply; 96+ messages in thread
From: Stephen Warren @ 2013-05-10 16:35 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, Vinod Koul, Dan Williams, linux-tegra

On 05/10/2013 02:16 AM, Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.

> diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c

>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(&pdev->dev, "No mem resource for DMA\n");
> -		return -EINVAL;
> -	}
> -
>  	tdma->base_addr = devm_ioremap_resource(&pdev->dev, res);

One issue here is that it's not obvious just from reading the code
that's left behind that the "missing" error-checking of the
platform_get_resource() return value is OK because
devm_ioremap_resource() will check it "for us". Everyone now has to
mentally maintain a list of exceptions where it's OK not to error-check.
A similar situation exists for e.g. kzalloc already spewing an error
when allocations fail, and so drivers don't need to print a diagnostic
in that case, but it's helpful if they do in most other cases, but
that's another issue.

Would it be better to introduce a new devm_ioremap_pdev_resource(pdev,
index) that replaced both those two API calls with a single one. That
way, only the author/reader of the new devm_ioremap_pdev_resource()
would have to remember that caveat, and a single comment could be added
so people unfamiliar with the code remember, without duplicating the
comment in every driver.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 23/42] drivers/spi: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 23/42] drivers/spi: " Wolfram Sang
  2013-05-10 10:55   ` Mark Brown
@ 2013-05-10 16:37   ` Stephen Warren
  2013-05-11  5:24   ` Jingoo Han
  2 siblings, 0 replies; 96+ messages in thread
From: Stephen Warren @ 2013-05-10 16:37 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-kernel, Mark Brown, Grant Likely, Ben Dooks, Kukjin Kim,
	Barry Song, spi-devel-general, linux-arm-kernel,
	linux-samsung-soc, linux-tegra

On 05/10/2013 02:17 AM, Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.

> diff --git a/drivers/spi/spi-tegra114.c b/drivers/spi/spi-tegra114.c

> -	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!r) {
> -		dev_err(&pdev->dev, "No IO memory resource\n");
> -		ret = -ENODEV;
> -		goto exit_free_master;
> -	}
>  	tspi->phys = r->start;
> +	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);

The tspi->phy assignment is broken there now.

> diff --git a/drivers/spi/spi-tegra20-slink.c b/drivers/spi/spi-tegra20-slink.c

> -	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!r) {
> -		dev_err(&pdev->dev, "No IO memory resource\n");
> -		ret = -ENODEV;
> -		goto exit_free_master;
> -	}
>  	tspi->phys = r->start;
> +	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);

Same here.


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 38/42] arch/arm/plat-omap: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 38/42] arch/arm/plat-omap: " Wolfram Sang
@ 2013-05-10 16:46   ` Tony Lindgren
  0 siblings, 0 replies; 96+ messages in thread
From: Tony Lindgren @ 2013-05-10 16:46 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, Russell King, linux-arm-kernel, linux-omap

* Wolfram Sang <wsa@the-dreams.de> [130510 01:23]:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

Acked-by: Tony Lindgren <tony@atomide.com>

> ---
>  arch/arm/plat-omap/dmtimer.c |    7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c
> index 869254c..da1a3f7 100644
> --- a/arch/arm/plat-omap/dmtimer.c
> +++ b/arch/arm/plat-omap/dmtimer.c
> @@ -814,12 +814,6 @@ static int omap_dm_timer_probe(struct platform_device *pdev)
>  		return -ENODEV;
>  	}
>  
> -	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (unlikely(!mem)) {
> -		dev_err(dev, "%s: no memory resource.\n", __func__);
> -		return -ENODEV;
> -	}
> -
>  	timer = devm_kzalloc(dev, sizeof(struct omap_dm_timer), GFP_KERNEL);
>  	if (!timer) {
>  		dev_err(dev, "%s: memory alloc failed!\n", __func__);
> @@ -827,6 +821,7 @@ static int omap_dm_timer_probe(struct platform_device *pdev)
>  	}
>  
>  	timer->fclk = ERR_PTR(-ENODEV);
> +	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	timer->io_base = devm_ioremap_resource(dev, mem);
>  	if (IS_ERR(timer->io_base))
>  		return PTR_ERR(timer->io_base);
> -- 
> 1.7.10.4
> 

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 04/42] drivers/dma: don't check resource with devm_ioremap_resource
  2013-05-10 16:35   ` Stephen Warren
@ 2013-05-10 17:57     ` Wolfram Sang
  2013-05-10 19:25       ` Stephen Warren
  0 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10 17:57 UTC (permalink / raw)
  To: Stephen Warren; +Cc: linux-kernel, Vinod Koul, Dan Williams, linux-tegra

On Fri, May 10, 2013 at 10:35:32AM -0600, Stephen Warren wrote:
> On 05/10/2013 02:16 AM, Wolfram Sang wrote:
> > devm_ioremap_resource does sanity checks on the given resource. No need to
> > duplicate this in the driver.
> 
> > diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c
> 
> >  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> > -	if (!res) {
> > -		dev_err(&pdev->dev, "No mem resource for DMA\n");
> > -		return -EINVAL;
> > -	}
> > -
> >  	tdma->base_addr = devm_ioremap_resource(&pdev->dev, res);
> 
> One issue here is that it's not obvious just from reading the code
> that's left behind that the "missing" error-checking of the
> platform_get_resource() return value is OK because
> devm_ioremap_resource() will check it "for us". Everyone now has to
> mentally maintain a list of exceptions where it's OK not to error-check.

My goal is to make not-checking the standard case with devm.

> A similar situation exists for e.g. kzalloc already spewing an error
> when allocations fail, and so drivers don't need to print a diagnostic
> in that case, but it's helpful if they do in most other cases, but
> that's another issue.

My goal is to make drivers-not-printing-errors the standard case with devm :)

> Would it be better to introduce a new devm_ioremap_pdev_resource(pdev,
> index) that replaced both those two API calls with a single one. That
> way, only the author/reader of the new devm_ioremap_pdev_resource()
> would have to remember that caveat, and a single comment could be added
> so people unfamiliar with the code remember, without duplicating the
> comment in every driver.

I see two steps here:

1) make devm interface consistent
2) ease the devm interface with platform drivers

I am currently working on the first step.

Thanks,

   Wolfram

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 27/42] drivers/tty/serial: don't check resource with devm_ioremap_resource
  2013-05-10 15:26   ` Greg Kroah-Hartman
@ 2013-05-10 17:58     ` Wolfram Sang
  0 siblings, 0 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10 17:58 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, Jiri Slaby, Stephen Warren, linux-serial, linux-tegra

On Fri, May 10, 2013 at 08:26:36AM -0700, Greg Kroah-Hartman wrote:
> On Fri, May 10, 2013 at 10:17:12AM +0200, Wolfram Sang wrote:
> > devm_ioremap_resource does sanity checks on the given resource. No need to
> > duplicate this in the driver.
> > 
> > Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
> > ---
> >  drivers/tty/serial/serial-tegra.c |    6 +-----
> >  1 file changed, 1 insertion(+), 5 deletions(-)
> > 
> > diff --git a/drivers/tty/serial/serial-tegra.c b/drivers/tty/serial/serial-tegra.c
> > index 9799d04..9570b55 100644
> > --- a/drivers/tty/serial/serial-tegra.c
> > +++ b/drivers/tty/serial/serial-tegra.c
> > @@ -1295,13 +1295,9 @@ static int tegra_uart_probe(struct platform_device *pdev)
> >  	tup->cdata = cdata;
> >  
> >  	platform_set_drvdata(pdev, tup);
> > -	resource = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> > -	if (!resource) {
> > -		dev_err(&pdev->dev, "No IO memory resource\n");
> > -		return -ENODEV;
> > -	}
> >  
> >  	u->mapbase = resource->start;
> > +	resource = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> 
> You need to look at your scripts, as again, this is totally wrong.

Yes, brown paper bag mistake :( Will fix!


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 30/42] drivers/usb/host: don't check resource with devm_ioremap_resource
  2013-05-10 14:03   ` Alan Stern
@ 2013-05-10 18:00     ` Wolfram Sang
  0 siblings, 0 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-10 18:00 UTC (permalink / raw)
  To: Alan Stern; +Cc: linux-kernel, Greg Kroah-Hartman, linux-usb

On Fri, May 10, 2013 at 10:03:28AM -0400, Alan Stern wrote:
> On Fri, 10 May 2013, Wolfram Sang wrote:
> 
> > devm_ioremap_resource does sanity checks on the given resource. No need to
> > duplicate this in the driver.
> > 
> > Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
> > ---
> >  drivers/usb/host/ehci-atmel.c    |    9 +--------
> >  drivers/usb/host/ehci-mxc.c      |    8 +-------
> >  drivers/usb/host/ehci-platform.c |    6 +-----
> >  drivers/usb/host/ehci-sh.c       |   10 +---------
> >  drivers/usb/host/ohci-nxp.c      |    6 ------
> >  drivers/usb/host/ohci-platform.c |    7 +------
> >  6 files changed, 5 insertions(+), 41 deletions(-)
> > 
> > diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c
> > index 6642009..62bf3e6 100644
> > --- a/drivers/usb/host/ehci-atmel.c
> > +++ b/drivers/usb/host/ehci-atmel.c
> > @@ -101,17 +101,10 @@ static int ehci_atmel_drv_probe(struct platform_device *pdev)
> >  		goto fail_create_hcd;
> >  	}
> >  
> > -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> > -	if (!res) {
> > -		dev_err(&pdev->dev,
> > -			"Found HC with no register addr. Check %s setup!\n",
> > -			dev_name(&pdev->dev));
> > -		retval = -ENODEV;
> > -		goto fail_request_resource;
> > -	}
> >  	hcd->rsrc_start = res->start;
> >  	hcd->rsrc_len = resource_size(res);
> >  
> > +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> >  	hcd->regs = devm_ioremap_resource(&pdev->dev, res);
> 
> This isn't right.  You are now dereferencing an uninitialized pointer
> in the assignment to hcd->rsrc_start.  The compiler won't like that.
> 
> Most of the other changes in this patch suffer from the same problem.

I broke the detection of dereferencing and compile tested an unaffected
kernel. Thanks for pointing out. Will fix!


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 04/42] drivers/dma: don't check resource with devm_ioremap_resource
  2013-05-10 17:57     ` Wolfram Sang
@ 2013-05-10 19:25       ` Stephen Warren
  2013-05-12 16:04         ` Vinod Koul
  0 siblings, 1 reply; 96+ messages in thread
From: Stephen Warren @ 2013-05-10 19:25 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, Vinod Koul, Dan Williams, linux-tegra

On 05/10/2013 11:57 AM, Wolfram Sang wrote:
> On Fri, May 10, 2013 at 10:35:32AM -0600, Stephen Warren wrote:
>> On 05/10/2013 02:16 AM, Wolfram Sang wrote:
>>> devm_ioremap_resource does sanity checks on the given resource. No need to
>>> duplicate this in the driver.
>>
>>> diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c
>>
>>>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>>> -	if (!res) {
>>> -		dev_err(&pdev->dev, "No mem resource for DMA\n");
>>> -		return -EINVAL;
>>> -	}
>>> -
>>>  	tdma->base_addr = devm_ioremap_resource(&pdev->dev, res);
>>
>> One issue here is that it's not obvious just from reading the code
>> that's left behind that the "missing" error-checking of the
>> platform_get_resource() return value is OK because
>> devm_ioremap_resource() will check it "for us". Everyone now has to
>> mentally maintain a list of exceptions where it's OK not to error-check.
> 
> My goal is to make not-checking the standard case with devm.

OK, if no parameters passed to any devm function every need to be
error-checked, that'll certainly be a bit easier to remember.

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 39/42] arch/arm/plat-samsung: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 39/42] arch/arm/plat-samsung: " Wolfram Sang
@ 2013-05-11  5:15   ` Jingoo Han
  0 siblings, 0 replies; 96+ messages in thread
From: Jingoo Han @ 2013-05-11  5:15 UTC (permalink / raw)
  To: 'Wolfram Sang', linux-kernel
  Cc: 'Ben Dooks', 'Kukjin Kim', 'Russell King',
	linux-arm-kernel, linux-samsung-soc, Jingoo Han

On Friday, May 10, 2013 5:17 PM, Wolfram Sang wrote:
> 
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

Reviewed-by: Jingoo Han <jg1.han@samsung.com>

Best regards,
Jingoo Han

> ---
>  arch/arm/plat-samsung/adc.c |    5 -----
>  1 file changed, 5 deletions(-)
> 
> diff --git a/arch/arm/plat-samsung/adc.c b/arch/arm/plat-samsung/adc.c
> index ca07cb1..79690f2 100644
> --- a/arch/arm/plat-samsung/adc.c
> +++ b/arch/arm/plat-samsung/adc.c
> @@ -381,11 +381,6 @@ static int s3c_adc_probe(struct platform_device *pdev)
>  	}
> 
>  	regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!regs) {
> -		dev_err(dev, "failed to find registers\n");
> -		return -ENXIO;
> -	}
> -
>  	adc->regs = devm_ioremap_resource(dev, regs);
>  	if (IS_ERR(adc->regs))
>  		return PTR_ERR(adc->regs);
> --
> 1.7.10.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 09/42] drivers/i2c/busses: don't check resource with devm_ioremap_resource
  2013-05-10  8:16 ` [RFC 09/42] drivers/i2c/busses: " Wolfram Sang
@ 2013-05-11  5:18   ` Jingoo Han
  2013-06-04 18:34   ` Kevin Hilman
  1 sibling, 0 replies; 96+ messages in thread
From: Jingoo Han @ 2013-05-11  5:18 UTC (permalink / raw)
  To: 'Wolfram Sang', linux-kernel
  Cc: 'Sekhar Nori', 'Kevin Hilman',
	'Tony Lindgren', 'Ben Dooks',
	'Kukjin Kim', 'Barry Song',
	'Stephen Warren',
	davinci-linux-open-source, linux-i2c, linux-omap,
	linux-arm-kernel, linux-samsung-soc, linux-tegra, Jingoo Han

On Friday, May 10, 2013 5:17 PM, Wolfram Sang wrote:
> 
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
> ---
>  drivers/i2c/busses/i2c-davinci.c            |    6 +-----
>  drivers/i2c/busses/i2c-designware-platdrv.c |    6 +-----
>  drivers/i2c/busses/i2c-imx.c                |    6 +-----
>  drivers/i2c/busses/i2c-omap.c               |    6 +-----
>  drivers/i2c/busses/i2c-rcar.c               |    7 +------
>  drivers/i2c/busses/i2c-s3c2410.c            |    5 -----

For drivers/i2c/busses/i2c-s3c2410.c

Reviewed-by: Jingoo Han <jg1.han@samsung.com>

Best regards,
Jingoo Han


>  drivers/i2c/busses/i2c-sirf.c               |    6 ------
>  drivers/i2c/busses/i2c-tegra.c              |    5 -----
>  8 files changed, 5 insertions(+), 42 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-davinci.c b/drivers/i2c/busses/i2c-davinci.c
> index cf20e06..2ed3e7b 100644
> --- a/drivers/i2c/busses/i2c-davinci.c
> +++ b/drivers/i2c/busses/i2c-davinci.c
> @@ -647,11 +647,6 @@ static int davinci_i2c_probe(struct platform_device *pdev)
>  	int r;
> 
>  	/* NOTE: driver uses the static register mapping */
> -	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!mem) {
> -		dev_err(&pdev->dev, "no mem resource?\n");
> -		return -ENODEV;
> -	}
> 
>  	irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
>  	if (!irq) {
> @@ -697,6 +692,7 @@ static int davinci_i2c_probe(struct platform_device *pdev)
>  		return -ENODEV;
>  	clk_prepare_enable(dev->clk);
> 
> +	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	dev->base = devm_ioremap_resource(&pdev->dev, mem);
>  	if (IS_ERR(dev->base)) {
>  		r = PTR_ERR(dev->base);
> diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c
> index 8ec9133..6f3c612 100644
> --- a/drivers/i2c/busses/i2c-designware-platdrv.c
> +++ b/drivers/i2c/busses/i2c-designware-platdrv.c
> @@ -87,11 +87,6 @@ static int dw_i2c_probe(struct platform_device *pdev)
>  	int irq, r;
> 
>  	/* NOTE: driver uses the static register mapping */
> -	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!mem) {
> -		dev_err(&pdev->dev, "no mem resource?\n");
> -		return -EINVAL;
> -	}
> 
>  	irq = platform_get_irq(pdev, 0);
>  	if (irq < 0) {
> @@ -103,6 +98,7 @@ static int dw_i2c_probe(struct platform_device *pdev)
>  	if (!dev)
>  		return -ENOMEM;
> 
> +	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	dev->base = devm_ioremap_resource(&pdev->dev, mem);
>  	if (IS_ERR(dev->base))
>  		return PTR_ERR(dev->base);
> diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c
> index 82f20c6..b274ca1 100644
> --- a/drivers/i2c/busses/i2c-imx.c
> +++ b/drivers/i2c/busses/i2c-imx.c
> @@ -500,17 +500,13 @@ static int __init i2c_imx_probe(struct platform_device *pdev)
> 
>  	dev_dbg(&pdev->dev, "<%s>\n", __func__);
> 
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(&pdev->dev, "can't get device resources\n");
> -		return -ENOENT;
> -	}
>  	irq = platform_get_irq(pdev, 0);
>  	if (irq < 0) {
>  		dev_err(&pdev->dev, "can't get irq number\n");
>  		return -ENOENT;
>  	}
> 
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	base = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(base))
>  		return PTR_ERR(base);
> diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
> index e02f9e3..8498ab7 100644
> --- a/drivers/i2c/busses/i2c-omap.c
> +++ b/drivers/i2c/busses/i2c-omap.c
> @@ -1085,11 +1085,6 @@ omap_i2c_probe(struct platform_device *pdev)
>  	u16 minor, major, scheme;
> 
>  	/* NOTE: driver uses the static register mapping */
> -	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!mem) {
> -		dev_err(&pdev->dev, "no mem resource?\n");
> -		return -ENODEV;
> -	}
> 
>  	irq = platform_get_irq(pdev, 0);
>  	if (irq < 0) {
> @@ -1103,6 +1098,7 @@ omap_i2c_probe(struct platform_device *pdev)
>  		return -ENOMEM;
>  	}
> 
> +	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	dev->base = devm_ioremap_resource(&pdev->dev, mem);
>  	if (IS_ERR(dev->base))
>  		return PTR_ERR(dev->base);
> diff --git a/drivers/i2c/busses/i2c-rcar.c b/drivers/i2c/busses/i2c-rcar.c
> index 4ba4a95..0fc5858 100644
> --- a/drivers/i2c/busses/i2c-rcar.c
> +++ b/drivers/i2c/busses/i2c-rcar.c
> @@ -623,12 +623,6 @@ static int rcar_i2c_probe(struct platform_device *pdev)
>  	u32 bus_speed;
>  	int ret;
> 
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(dev, "no mmio resources\n");
> -		return -ENODEV;
> -	}
> -
>  	priv = devm_kzalloc(dev, sizeof(struct rcar_i2c_priv), GFP_KERNEL);
>  	if (!priv) {
>  		dev_err(dev, "no mem for private data\n");
> @@ -642,6 +636,7 @@ static int rcar_i2c_probe(struct platform_device *pdev)
>  	if (ret < 0)
>  		return ret;
> 
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	priv->io = devm_ioremap_resource(dev, res);
>  	if (IS_ERR(priv->io))
>  		return PTR_ERR(priv->io);
> diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
> index 6e8ee92..cab1c91 100644
> --- a/drivers/i2c/busses/i2c-s3c2410.c
> +++ b/drivers/i2c/busses/i2c-s3c2410.c
> @@ -1082,11 +1082,6 @@ static int s3c24xx_i2c_probe(struct platform_device *pdev)
>  	/* map the registers */
> 
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (res == NULL) {
> -		dev_err(&pdev->dev, "cannot find IO resource\n");
> -		return -ENOENT;
> -	}
> -
>  	i2c->regs = devm_ioremap_resource(&pdev->dev, res);
> 
>  	if (IS_ERR(i2c->regs))
> diff --git a/drivers/i2c/busses/i2c-sirf.c b/drivers/i2c/busses/i2c-sirf.c
> index 5a7ad24..a63c7d5 100644
> --- a/drivers/i2c/busses/i2c-sirf.c
> +++ b/drivers/i2c/busses/i2c-sirf.c
> @@ -303,12 +303,6 @@ static int i2c_sirfsoc_probe(struct platform_device *pdev)
>  	adap->class = I2C_CLASS_HWMON;
> 
>  	mem_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (mem_res == NULL) {
> -		dev_err(&pdev->dev, "Unable to get MEM resource\n");
> -		err = -EINVAL;
> -		goto out;
> -	}
> -
>  	siic->base = devm_ioremap_resource(&pdev->dev, mem_res);
>  	if (IS_ERR(siic->base)) {
>  		err = PTR_ERR(siic->base);
> diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
> index b60ff90..9aa1b60 100644
> --- a/drivers/i2c/busses/i2c-tegra.c
> +++ b/drivers/i2c/busses/i2c-tegra.c
> @@ -714,11 +714,6 @@ static int tegra_i2c_probe(struct platform_device *pdev)
>  	int ret = 0;
> 
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(&pdev->dev, "no mem resource\n");
> -		return -EINVAL;
> -	}
> -
>  	base = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(base))
>  		return PTR_ERR(base);
> --
> 1.7.10.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 23/42] drivers/spi: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 23/42] drivers/spi: " Wolfram Sang
  2013-05-10 10:55   ` Mark Brown
  2013-05-10 16:37   ` Stephen Warren
@ 2013-05-11  5:24   ` Jingoo Han
  2 siblings, 0 replies; 96+ messages in thread
From: Jingoo Han @ 2013-05-11  5:24 UTC (permalink / raw)
  To: 'Wolfram Sang', linux-kernel
  Cc: 'Mark Brown', 'Grant Likely', 'Ben Dooks',
	'Kukjin Kim', 'Barry Song',
	'Stephen Warren',
	spi-devel-general, linux-arm-kernel, linux-samsung-soc,
	linux-tegra, Jingoo Han

On Friday, May 10, 2013 5:17 PM, Wolfram Sang wrote:
> 
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
> ---
>  drivers/spi/spi-bcm63xx.c        |    8 +-------
>  drivers/spi/spi-ep93xx.c         |    8 +-------
>  drivers/spi/spi-omap2-mcspi.c    |    7 +------
>  drivers/spi/spi-s3c64xx.c        |    7 +------
>  drivers/spi/spi-sirf.c           |    7 +------
>  drivers/spi/spi-tegra114.c       |    7 +------
>  drivers/spi/spi-tegra20-sflash.c |    5 -----
>  drivers/spi/spi-tegra20-slink.c  |    7 +------
>  8 files changed, 7 insertions(+), 49 deletions(-)
> 

[.....]

> diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c
> index 5000586..fd763cc 100644
> --- a/drivers/spi/spi-s3c64xx.c
> +++ b/drivers/spi/spi-s3c64xx.c
> @@ -1243,12 +1243,6 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
>  		return -ENODEV;
>  	}
> 
> -	mem_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (mem_res == NULL) {
> -		dev_err(&pdev->dev, "Unable to get SPI MEM resource\n");
> -		return -ENXIO;
> -	}
> -

It breaks 'sdd->sfr_start' assignment as below:

1272         sdd->sfr_start = mem_res->start;


Best regards,
Jingoo Han

>  	irq = platform_get_irq(pdev, 0);
>  	if (irq < 0) {
>  		dev_warn(&pdev->dev, "Failed to get IRQ: %d\n", irq);
> @@ -1318,6 +1312,7 @@ static int s3c64xx_spi_probe(struct platform_device *pdev)
>  	/* the spi->mode bits understood by this driver: */
>  	master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH;
> 
> +	mem_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	sdd->regs = devm_ioremap_resource(&pdev->dev, mem_res);
>  	if (IS_ERR(sdd->regs)) {
>  		ret = PTR_ERR(sdd->regs);



^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 32/42] drivers/video: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 32/42] drivers/video: " Wolfram Sang
@ 2013-05-11  5:33   ` Jingoo Han
  2013-05-13  5:39     ` Shawn Guo
  0 siblings, 1 reply; 96+ messages in thread
From: Jingoo Han @ 2013-05-11  5:33 UTC (permalink / raw)
  To: 'Wolfram Sang', linux-kernel
  Cc: 'Florian Tobias Schandinat',
	linux-fbdev, 'Tomi Valkeinen', 'Shawn Guo',
	Fabio Estevam

On Friday, May 10, 2013 5:17 PM, Wolfram Sang wrote:
> 
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

CC'ed Tomi Valkeinen, Shawn Guo, Fabio Estevam


It looks good.
Reviewed-by: Jingoo Han <jg1.han@samsung.com>

Best regards,
Jingoo Han

> ---
>  drivers/video/mxsfb.c |    7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/drivers/video/mxsfb.c b/drivers/video/mxsfb.c
> index 1b2c26d..3dc3265 100644
> --- a/drivers/video/mxsfb.c
> +++ b/drivers/video/mxsfb.c
> @@ -883,12 +883,6 @@ static int mxsfb_probe(struct platform_device *pdev)
>  	if (of_id)
>  		pdev->id_entry = of_id->data;
> 
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(&pdev->dev, "Cannot get memory IO resource\n");
> -		return -ENODEV;
> -	}
> -
>  	fb_info = framebuffer_alloc(sizeof(struct mxsfb_info), &pdev->dev);
>  	if (!fb_info) {
>  		dev_err(&pdev->dev, "Failed to allocate fbdev\n");
> @@ -897,6 +891,7 @@ static int mxsfb_probe(struct platform_device *pdev)
> 
>  	host = to_imxfb_host(fb_info);
> 
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	host->base = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(host->base)) {
>  		dev_err(&pdev->dev, "ioremap failed\n");
> --
> 1.7.10.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 34/42] drivers/video/omap2/dss: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 34/42] drivers/video/omap2/dss: " Wolfram Sang
@ 2013-05-11  5:36   ` Jingoo Han
  0 siblings, 0 replies; 96+ messages in thread
From: Jingoo Han @ 2013-05-11  5:36 UTC (permalink / raw)
  To: 'Wolfram Sang', linux-kernel
  Cc: 'Tomi Valkeinen', 'Florian Tobias Schandinat',
	linux-omap, linux-fbdev

On Friday, May 10, 2013 5:17 PM, Wolfram Sang wrote:
> 
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

It looks good.
Reviewed-by: Jingoo Han <jg1.han@samsung.com>

Best regards,
Jingoo Han

> ---
>  drivers/video/omap2/dss/hdmi.c |    7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/drivers/video/omap2/dss/hdmi.c b/drivers/video/omap2/dss/hdmi.c
> index 17f4d55..7bc6762 100644
> --- a/drivers/video/omap2/dss/hdmi.c
> +++ b/drivers/video/omap2/dss/hdmi.c
> @@ -1064,13 +1064,8 @@ static int omapdss_hdmihw_probe(struct platform_device *pdev)
>  	mutex_init(&hdmi.lock);
>  	mutex_init(&hdmi.ip_data.lock);
> 
> -	res = platform_get_resource(hdmi.pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		DSSERR("can't get IORESOURCE_MEM HDMI\n");
> -		return -EINVAL;
> -	}
> -
>  	/* Base address taken from platform */
> +	res = platform_get_resource(hdmi.pdev, IORESOURCE_MEM, 0);
>  	hdmi.ip_data.base_wp = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(hdmi.ip_data.base_wp))
>  		return PTR_ERR(hdmi.ip_data.base_wp);
> --
> 1.7.10.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 33/42] drivers/video/omap2: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 33/42] drivers/video/omap2: " Wolfram Sang
@ 2013-05-11  5:37   ` Jingoo Han
  0 siblings, 0 replies; 96+ messages in thread
From: Jingoo Han @ 2013-05-11  5:37 UTC (permalink / raw)
  To: 'Wolfram Sang', linux-kernel
  Cc: 'Tomi Valkeinen', 'Florian Tobias Schandinat',
	linux-omap, linux-fbdev

On Friday, May 10, 2013 5:17 PM, Wolfram Sang wrote:
> 
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

Reviewed-by: Jingoo Han <jg1.han@samsung.com>

Best regards,
Jingoo Han

> ---
>  drivers/video/omap2/vrfb.c |    5 -----
>  1 file changed, 5 deletions(-)
> 
> diff --git a/drivers/video/omap2/vrfb.c b/drivers/video/omap2/vrfb.c
> index 5261229..f346b02 100644
> --- a/drivers/video/omap2/vrfb.c
> +++ b/drivers/video/omap2/vrfb.c
> @@ -353,11 +353,6 @@ static int __init vrfb_probe(struct platform_device *pdev)
>  	/* first resource is the register res, the rest are vrfb contexts */
> 
>  	mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!mem) {
> -		dev_err(&pdev->dev, "can't get vrfb base address\n");
> -		return -EINVAL;
> -	}
> -
>  	vrfb_base = devm_ioremap_resource(&pdev->dev, mem);
>  	if (IS_ERR(vrfb_base))
>  		return PTR_ERR(vrfb_base);
> --
> 1.7.10.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 17/42] drivers/net/ethernet/renesas: don't check resource with devm_ioremap_resource
  2013-05-10 11:07   ` Sergei Shtylyov
@ 2013-05-11 20:31     ` Sergei Shtylyov
  0 siblings, 0 replies; 96+ messages in thread
From: Sergei Shtylyov @ 2013-05-11 20:31 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, netdev

Hello.

On 05/10/2013 03:07 PM, Sergei Shtylyov wrote:

>
>> devm_ioremap_resource does sanity checks on the given resource. No 
>> need to
>> duplicate this in the driver.
>
>> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
>
> Acked-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

     I was too fast, I'm now withdawing my ACK.

> WBR, Sergei
>

WBR, Sergei


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 17/42] drivers/net/ethernet/renesas: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 17/42] drivers/net/ethernet/renesas: " Wolfram Sang
  2013-05-10 11:07   ` Sergei Shtylyov
@ 2013-05-11 20:35   ` Sergei Shtylyov
  2013-05-12  9:42     ` Wolfram Sang
  1 sibling, 1 reply; 96+ messages in thread
From: Sergei Shtylyov @ 2013-05-11 20:35 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, netdev

Hello.

On 05/10/2013 12:17 PM, Wolfram Sang wrote:

> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
>
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
> ---
>   drivers/net/ethernet/renesas/sh_eth.c |   14 +-------------
>   1 file changed, 1 insertion(+), 13 deletions(-)
>
> diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c
> index 33dc6f2..6175839 100644
> --- a/drivers/net/ethernet/renesas/sh_eth.c
> +++ b/drivers/net/ethernet/renesas/sh_eth.c
> @@ -2661,14 +2661,6 @@ static int sh_eth_drv_probe(struct platform_device *pdev)
>   	struct sh_eth_private *mdp = NULL;
>   	struct sh_eth_plat_data *pd = pdev->dev.platform_data;
>   
> -	/* get base addr */
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (unlikely(res == NULL)) {
> -		dev_err(&pdev->dev, "invalid resource\n");
> -		ret = -EINVAL;
> -		goto out;
> -	}
> -
>   	ndev = alloc_etherdev(sizeof(struct sh_eth_private));
>   	if (!ndev) {
>   		ret = -ENOMEM;

     There's ndev->base_addr = res->start; below this which you broke. NAK.
You should really compile-test your patches.

WBR, Sergei


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 17/42] drivers/net/ethernet/renesas: don't check resource with devm_ioremap_resource
  2013-05-11 20:35   ` Sergei Shtylyov
@ 2013-05-12  9:42     ` Wolfram Sang
  2013-05-12 15:26       ` Sergei Shtylyov
  0 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-12  9:42 UTC (permalink / raw)
  To: Sergei Shtylyov; +Cc: linux-kernel, netdev


> You should really compile-test your patches.

Easier said than done with a cleanup series touching various platforms
and architectures. If there are already solutions how to find a .config
compiling the source file modified, I am all ears.

That being said, the actual mistake I did was embarassing, I agree. I am
sorry for that and will improve. And, doing things means doing mistakes,
too.

Regards,

   Wolfram


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 19/42] drivers/pinctrl/spear: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 19/42] drivers/pinctrl/spear: " Wolfram Sang
@ 2013-05-12 15:10   ` Viresh Kumar
  2013-05-14 12:56   ` Linus Walleij
  1 sibling, 0 replies; 96+ messages in thread
From: Viresh Kumar @ 2013-05-12 15:10 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, Linus Walleij, spear-devel, linux-arm-kernel

On Fri, May 10, 2013 at 1:47 PM, Wolfram Sang <wsa@the-dreams.de> wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
>
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
> ---
>  drivers/pinctrl/spear/pinctrl-plgpio.c |    7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/drivers/pinctrl/spear/pinctrl-plgpio.c b/drivers/pinctrl/spear/pinctrl-plgpio.c
> index 3e5a887..6b090be 100644
> --- a/drivers/pinctrl/spear/pinctrl-plgpio.c
> +++ b/drivers/pinctrl/spear/pinctrl-plgpio.c
> @@ -528,18 +528,13 @@ static int plgpio_probe(struct platform_device *pdev)
>         struct resource *res;
>         int ret, irq, i;
>
> -       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -       if (!res) {
> -               dev_err(&pdev->dev, "invalid IORESOURCE_MEM\n");
> -               return -EBUSY;
> -       }
> -
>         plgpio = devm_kzalloc(&pdev->dev, sizeof(*plgpio), GFP_KERNEL);
>         if (!plgpio) {
>                 dev_err(&pdev->dev, "memory allocation fail\n");
>                 return -ENOMEM;
>         }
>
> +       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>         plgpio->base = devm_ioremap_resource(&pdev->dev, res);
>         if (IS_ERR(plgpio->base))
>                 return PTR_ERR(plgpio->base);

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 05/42] drivers/gpio: don't check resource with devm_ioremap_resource
  2013-05-10  8:16 ` [RFC 05/42] drivers/gpio: " Wolfram Sang
@ 2013-05-12 15:11   ` Viresh Kumar
  0 siblings, 0 replies; 96+ messages in thread
From: Viresh Kumar @ 2013-05-12 15:11 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-kernel, Grant Likely, Linus Walleij, Stephen Warren, linux-tegra

On Fri, May 10, 2013 at 1:46 PM, Wolfram Sang <wsa@the-dreams.de> wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
>
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
> ---
>  drivers/gpio/gpio-spear-spics.c |    7 +------

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 22/42] drivers/rtc: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 22/42] drivers/rtc: " Wolfram Sang
@ 2013-05-12 15:11   ` Viresh Kumar
  0 siblings, 0 replies; 96+ messages in thread
From: Viresh Kumar @ 2013-05-12 15:11 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-kernel, Wan ZongShun, Alessandro Zummo, Stephen Warren,
	linux-arm-kernel, rtc-linux, linux-tegra

On Fri, May 10, 2013 at 1:47 PM, Wolfram Sang <wsa@the-dreams.de> wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
>
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
> ---
>  drivers/rtc/rtc-spear.c  |    7 +------

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 20/42] drivers/pwm: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 20/42] drivers/pwm: " Wolfram Sang
@ 2013-05-12 15:12   ` Viresh Kumar
  0 siblings, 0 replies; 96+ messages in thread
From: Viresh Kumar @ 2013-05-12 15:12 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-kernel, Thierry Reding, Stephen Warren, Tony Prisk,
	linux-tegra, linux-arm-kernel

On Fri, May 10, 2013 at 1:47 PM, Wolfram Sang <wsa@the-dreams.de> wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
>
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
> ---
>  drivers/pwm/pwm-spear.c    |    7 +------

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 10/42] drivers/input/keyboard: don't check resource with devm_ioremap_resource
  2013-05-10  8:16 ` [RFC 10/42] drivers/input/keyboard: " Wolfram Sang
@ 2013-05-12 15:12   ` Viresh Kumar
  0 siblings, 0 replies; 96+ messages in thread
From: Viresh Kumar @ 2013-05-12 15:12 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-kernel, Dmitry Torokhov, Stephen Warren, linux-input, linux-tegra

On Fri, May 10, 2013 at 1:46 PM, Wolfram Sang <wsa@the-dreams.de> wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
>
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
> ---
>  drivers/input/keyboard/spear-keyboard.c

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 17/42] drivers/net/ethernet/renesas: don't check resource with devm_ioremap_resource
  2013-05-12  9:42     ` Wolfram Sang
@ 2013-05-12 15:26       ` Sergei Shtylyov
  2013-05-12 16:32         ` Wolfram Sang
  0 siblings, 1 reply; 96+ messages in thread
From: Sergei Shtylyov @ 2013-05-12 15:26 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, netdev

Hello.

On 12-05-2013 13:42, Wolfram Sang wrote:

>> You should really compile-test your patches.

> Easier said than done with a cleanup series touching various platforms
> and architectures. If there are already solutions how to find a .config
> compiling the source file modified, I am all ears.

    You can always try to do:

$ make drivers/net/ethernet/renesas/sh_eth.o

with a .config file you have. It will compile a file regardless of 
whether it's enabled in your .config or not...

> That being said, the actual mistake I did was embarassing, I agree. I am
> sorry for that and will improve. And, doing things means doing mistakes,
> too.

    Be more attentive in the future please. :-)

> Regards,

>     Wolfram

WBR, Sergei


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 04/42] drivers/dma: don't check resource with devm_ioremap_resource
  2013-05-10 19:25       ` Stephen Warren
@ 2013-05-12 16:04         ` Vinod Koul
  2013-05-12 18:28           ` Wolfram Sang
  0 siblings, 1 reply; 96+ messages in thread
From: Vinod Koul @ 2013-05-12 16:04 UTC (permalink / raw)
  To: Stephen Warren; +Cc: Wolfram Sang, linux-kernel, Dan Williams, linux-tegra

On Fri, May 10, 2013 at 01:25:36PM -0600, Stephen Warren wrote:
> On 05/10/2013 11:57 AM, Wolfram Sang wrote:
> > On Fri, May 10, 2013 at 10:35:32AM -0600, Stephen Warren wrote:
> >> On 05/10/2013 02:16 AM, Wolfram Sang wrote:
> >>> devm_ioremap_resource does sanity checks on the given resource. No need to
> >>> duplicate this in the driver.
> >>
> >>> diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c
> >>
> >>>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> >>> -	if (!res) {
> >>> -		dev_err(&pdev->dev, "No mem resource for DMA\n");
> >>> -		return -EINVAL;
> >>> -	}
> >>> -
> >>>  	tdma->base_addr = devm_ioremap_resource(&pdev->dev, res);
> >>
> >> One issue here is that it's not obvious just from reading the code
> >> that's left behind that the "missing" error-checking of the
> >> platform_get_resource() return value is OK because
> >> devm_ioremap_resource() will check it "for us". Everyone now has to
> >> mentally maintain a list of exceptions where it's OK not to error-check.
> > 
> > My goal is to make not-checking the standard case with devm.
> 
> OK, if no parameters passed to any devm function every need to be
> error-checked, that'll certainly be a bit easier to remember.
Okay to remove the log message and move to devm_ but I dont agree with this
patch not returning error above. We shouldnt supress the error..

--
~Vinod

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 17/42] drivers/net/ethernet/renesas: don't check resource with devm_ioremap_resource
  2013-05-12 15:26       ` Sergei Shtylyov
@ 2013-05-12 16:32         ` Wolfram Sang
  2013-05-12 18:33           ` Sergei Shtylyov
  0 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-12 16:32 UTC (permalink / raw)
  To: Sergei Shtylyov; +Cc: linux-kernel, netdev

Hi,

>    You can always try to do:
> 
> $ make drivers/net/ethernet/renesas/sh_eth.o
> 
> with a .config file you have. It will compile a file regardless of
> whether it's enabled in your .config or not...

Been there. This mainly works for platform independent drivers. In this case:

  CC      drivers/net/ethernet/renesas/sh_eth.o
drivers/net/ethernet/renesas/sh_eth.c: In function 'sh_eth_dev_init':
drivers/net/ethernet/renesas/sh_eth.c:1274:2: error: implicit declaration of function 'sh_eth_reset' [-Werror=implicit-function-declaration]
drivers/net/ethernet/renesas/sh_eth.c: In function 'sh_eth_drv_probe':
drivers/net/ethernet/renesas/sh_eth.c:2724:13: error: 'sh_eth_my_cpu_data' undeclared (first use in this function)
drivers/net/ethernet/renesas/sh_eth.c:2724:13: note: each undeclared identifier is reported only once for each function it appears in
drivers/net/ethernet/renesas/sh_eth.c: At top level:
drivers/net/ethernet/renesas/sh_eth.c:889:12: warning: 'sh_eth_check_reset' defined but not used [-Wunused-function]

> >That being said, the actual mistake I did was embarassing, I agree. I am
> >sorry for that and will improve. And, doing things means doing mistakes,
> >too.
> 
>    Be more attentive in the future please. :-)

Sure thing.

Regards,

   Wolfram


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 36/42] drivers/watchdog: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 36/42] drivers/watchdog: " Wolfram Sang
@ 2013-05-12 17:23   ` Wim Van Sebroeck
  0 siblings, 0 replies; 96+ messages in thread
From: Wim Van Sebroeck @ 2013-05-12 17:23 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, linux-watchdog

Hi Wolfram,

> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

Acked-by: Wim Van Sebroeck <wim@iguana.be>


> ---
>  drivers/watchdog/imx2_wdt.c |    5 -----
>  1 file changed, 5 deletions(-)
> 
> diff --git a/drivers/watchdog/imx2_wdt.c b/drivers/watchdog/imx2_wdt.c
> index ff90882..62946c2 100644
> --- a/drivers/watchdog/imx2_wdt.c
> +++ b/drivers/watchdog/imx2_wdt.c
> @@ -257,11 +257,6 @@ static int __init imx2_wdt_probe(struct platform_device *pdev)
>  	struct resource *res;
>  
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(&pdev->dev, "can't get device resources\n");
> -		return -ENODEV;
> -	}
> -
>  	imx2_wdt.base = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(imx2_wdt.base))
>  		return PTR_ERR(imx2_wdt.base);

Kind regards,
Wim.


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 04/42] drivers/dma: don't check resource with devm_ioremap_resource
  2013-05-12 16:04         ` Vinod Koul
@ 2013-05-12 18:28           ` Wolfram Sang
  2013-05-13  2:10             ` Vinod Koul
  0 siblings, 1 reply; 96+ messages in thread
From: Wolfram Sang @ 2013-05-12 18:28 UTC (permalink / raw)
  To: Vinod Koul; +Cc: Stephen Warren, linux-kernel, Dan Williams, linux-tegra

On Sun, May 12, 2013 at 09:34:40PM +0530, Vinod Koul wrote:
> On Fri, May 10, 2013 at 01:25:36PM -0600, Stephen Warren wrote:
> > On 05/10/2013 11:57 AM, Wolfram Sang wrote:
> > > On Fri, May 10, 2013 at 10:35:32AM -0600, Stephen Warren wrote:
> > >> On 05/10/2013 02:16 AM, Wolfram Sang wrote:
> > >>> devm_ioremap_resource does sanity checks on the given resource. No need to
> > >>> duplicate this in the driver.
> > >>
> > >>> diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c
> > >>
> > >>>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> > >>> -	if (!res) {
> > >>> -		dev_err(&pdev->dev, "No mem resource for DMA\n");
> > >>> -		return -EINVAL;
> > >>> -	}
> > >>> -
> > >>>  	tdma->base_addr = devm_ioremap_resource(&pdev->dev, res);
> > >>
> > >> One issue here is that it's not obvious just from reading the code
> > >> that's left behind that the "missing" error-checking of the
> > >> platform_get_resource() return value is OK because
> > >> devm_ioremap_resource() will check it "for us". Everyone now has to
> > >> mentally maintain a list of exceptions where it's OK not to error-check.
> > > 
> > > My goal is to make not-checking the standard case with devm.
> > 
> > OK, if no parameters passed to any devm function every need to be
> > error-checked, that'll certainly be a bit easier to remember.
> Okay to remove the log message and move to devm_ but I dont agree with this
> patch not returning error above. We shouldnt supress the error..

The error will be reported because devm_ioremap_resource will return an
ERR_PTR.


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 17/42] drivers/net/ethernet/renesas: don't check resource with devm_ioremap_resource
  2013-05-12 16:32         ` Wolfram Sang
@ 2013-05-12 18:33           ` Sergei Shtylyov
  0 siblings, 0 replies; 96+ messages in thread
From: Sergei Shtylyov @ 2013-05-12 18:33 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, netdev

Hello.

On 05/12/2013 08:32 PM, Wolfram Sang wrote:

>
>>     You can always try to do:
>>
>> $ make drivers/net/ethernet/renesas/sh_eth.o
>>
>> with a .config file you have. It will compile a file regardless of
>> whether it's enabled in your .config or not...
> Been there. This mainly works for platform independent drivers. In this case:
>
>    CC      drivers/net/ethernet/renesas/sh_eth.o
> drivers/net/ethernet/renesas/sh_eth.c: In function 'sh_eth_dev_init':
> drivers/net/ethernet/renesas/sh_eth.c:1274:2: error: implicit declaration of function 'sh_eth_reset' [-Werror=implicit-function-declaration]
> drivers/net/ethernet/renesas/sh_eth.c: In function 'sh_eth_drv_probe':
> drivers/net/ethernet/renesas/sh_eth.c:2724:13: error: 'sh_eth_my_cpu_data' undeclared (first use in this function)
> drivers/net/ethernet/renesas/sh_eth.c:2724:13: note: each undeclared identifier is reported only once for each function it appears in
> drivers/net/ethernet/renesas/sh_eth.c: At top level:
> drivers/net/ethernet/renesas/sh_eth.c:889:12: warning: 'sh_eth_check_reset' defined but not used [-Wunused-function]

     At least you can try to filter out errors/warning caused by your 
patch from
those that are caused by platform dependency. Concerning this driver, 
hopefully
the platform dependencies will go away in 3.11.

> Regards,
>
>     Wolfram
>

WBR, Sergei


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 04/42] drivers/dma: don't check resource with devm_ioremap_resource
  2013-05-12 18:28           ` Wolfram Sang
@ 2013-05-13  2:10             ` Vinod Koul
  2013-05-13  6:08               ` Wolfram Sang
  0 siblings, 1 reply; 96+ messages in thread
From: Vinod Koul @ 2013-05-13  2:10 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: Stephen Warren, linux-kernel, Dan Williams, linux-tegra

On Sun, May 12, 2013 at 08:28:07PM +0200, Wolfram Sang wrote:
> On Sun, May 12, 2013 at 09:34:40PM +0530, Vinod Koul wrote:
> > On Fri, May 10, 2013 at 01:25:36PM -0600, Stephen Warren wrote:
> > > On 05/10/2013 11:57 AM, Wolfram Sang wrote:
> > > > On Fri, May 10, 2013 at 10:35:32AM -0600, Stephen Warren wrote:
> > > >> On 05/10/2013 02:16 AM, Wolfram Sang wrote:
> > > >>> devm_ioremap_resource does sanity checks on the given resource. No need to
> > > >>> duplicate this in the driver.
> > > >>
> > > >>> diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c
> > > >>
> > > >>>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> > > >>> -	if (!res) {
> > > >>> -		dev_err(&pdev->dev, "No mem resource for DMA\n");
> > > >>> -		return -EINVAL;
> > > >>> -	}
> > > >>> -
> > > >>>  	tdma->base_addr = devm_ioremap_resource(&pdev->dev, res);
> > > >>
> > > >> One issue here is that it's not obvious just from reading the code
> > > >> that's left behind that the "missing" error-checking of the
> > > >> platform_get_resource() return value is OK because
> > > >> devm_ioremap_resource() will check it "for us". Everyone now has to
> > > >> mentally maintain a list of exceptions where it's OK not to error-check.
> > > > 
> > > > My goal is to make not-checking the standard case with devm.
> > > 
> > > OK, if no parameters passed to any devm function every need to be
> > > error-checked, that'll certainly be a bit easier to remember.
> > Okay to remove the log message and move to devm_ but I dont agree with this
> > patch not returning error above. We shouldnt supress the error..
> 
> The error will be reported because devm_ioremap_resource will return an
> ERR_PTR.
And this patch removed the check on 'res' pointer, so on failure we continue...

--
~Vinod
> 

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 32/42] drivers/video: don't check resource with devm_ioremap_resource
  2013-05-11  5:33   ` Jingoo Han
@ 2013-05-13  5:39     ` Shawn Guo
  0 siblings, 0 replies; 96+ messages in thread
From: Shawn Guo @ 2013-05-13  5:39 UTC (permalink / raw)
  To: Jingoo Han
  Cc: 'Wolfram Sang',
	linux-kernel, 'Florian Tobias Schandinat',
	linux-fbdev, 'Tomi Valkeinen',
	Fabio Estevam

On Sat, May 11, 2013 at 02:33:56PM +0900, Jingoo Han wrote:
> On Friday, May 10, 2013 5:17 PM, Wolfram Sang wrote:
> > 
> > devm_ioremap_resource does sanity checks on the given resource. No need to
> > duplicate this in the driver.
> > 
> > Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
> 
> CC'ed Tomi Valkeinen, Shawn Guo, Fabio Estevam

Acked-by: Shawn Guo <shawn.guo@linaro.org>


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 04/42] drivers/dma: don't check resource with devm_ioremap_resource
  2013-05-13  2:10             ` Vinod Koul
@ 2013-05-13  6:08               ` Wolfram Sang
  0 siblings, 0 replies; 96+ messages in thread
From: Wolfram Sang @ 2013-05-13  6:08 UTC (permalink / raw)
  To: Vinod Koul; +Cc: Stephen Warren, linux-kernel, Dan Williams, linux-tegra


> > > > >>> devm_ioremap_resource does sanity checks on the given resource. No need to
> > > > >>> duplicate this in the driver.
> > > > >>
> > > > >>> diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c
> > > > >>
> > > > >>>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> > > > >>> -	if (!res) {
> > > > >>> -		dev_err(&pdev->dev, "No mem resource for DMA\n");
> > > > >>> -		return -EINVAL;
> > > > >>> -	}
> > > > >>> -
> > > > >>>  	tdma->base_addr = devm_ioremap_resource(&pdev->dev, res);
> > > > >>
> > > > >> One issue here is that it's not obvious just from reading the code
> > > > >> that's left behind that the "missing" error-checking of the
> > > > >> platform_get_resource() return value is OK because
> > > > >> devm_ioremap_resource() will check it "for us". Everyone now has to
> > > > >> mentally maintain a list of exceptions where it's OK not to error-check.
> > > > > 
> > > > > My goal is to make not-checking the standard case with devm.
> > > > 
> > > > OK, if no parameters passed to any devm function every need to be
> > > > error-checked, that'll certainly be a bit easier to remember.
> > > Okay to remove the log message and move to devm_ but I dont agree with this
> > > patch not returning error above. We shouldnt supress the error..
> > 
> > The error will be reported because devm_ioremap_resource will return an
> > ERR_PTR.
> And this patch removed the check on 'res' pointer, so on failure we continue...

I don't get it. What is the difference between a manual check of res and
the directly following devm_ioremap_resource returning ERR_PTR(-EINVAL)
if res is NULL?


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 18/42] drivers/pinctrl: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 18/42] drivers/pinctrl: " Wolfram Sang
  2013-05-10 14:30   ` Jean-Christophe PLAGNIOL-VILLARD
@ 2013-05-14 12:19   ` Linus Walleij
  2013-06-06  8:43   ` Jean-Christophe PLAGNIOL-VILLARD
  2 siblings, 0 replies; 96+ messages in thread
From: Linus Walleij @ 2013-05-14 12:19 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-kernel, Jean-Christophe Plagniol-Villard, linux-arm-kernel

On Fri, May 10, 2013 at 10:17 AM, Wolfram Sang <wsa@the-dreams.de> wrote:

> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
>
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

Patch applied with Jean-Christophe's ACK.

Thanks!
Linus Walleij

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 19/42] drivers/pinctrl/spear: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 19/42] drivers/pinctrl/spear: " Wolfram Sang
  2013-05-12 15:10   ` Viresh Kumar
@ 2013-05-14 12:56   ` Linus Walleij
  1 sibling, 0 replies; 96+ messages in thread
From: Linus Walleij @ 2013-05-14 12:56 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, Viresh Kumar, spear-devel, linux-arm-kernel

On Fri, May 10, 2013 at 10:17 AM, Wolfram Sang <wsa@the-dreams.de> wrote:

> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
>
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

Patch applied with Viresh's ACK.

Thanks!
Linus Walleij

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 26/42] drivers/thermal: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 26/42] drivers/thermal: " Wolfram Sang
  2013-05-10 13:50   ` Eduardo Valentin
@ 2013-05-16  7:22   ` Zhang Rui
  1 sibling, 0 replies; 96+ messages in thread
From: Zhang Rui @ 2013-05-16  7:22 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, linux-pm

On Fri, 2013-05-10 at 10:17 +0200, Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

applied to thermal -next.

thanks,
rui
> ---
>  drivers/thermal/dove_thermal.c     |   11 +----------
>  drivers/thermal/exynos_thermal.c   |    5 -----
>  drivers/thermal/kirkwood_thermal.c |    7 +------
>  drivers/thermal/rcar_thermal.c     |    6 +-----
>  4 files changed, 3 insertions(+), 26 deletions(-)
> 
> diff --git a/drivers/thermal/dove_thermal.c b/drivers/thermal/dove_thermal.c
> index 3078c40..5c53c53 100644
> --- a/drivers/thermal/dove_thermal.c
> +++ b/drivers/thermal/dove_thermal.c
> @@ -133,25 +133,16 @@ static int dove_thermal_probe(struct platform_device *pdev)
>  	struct resource *res;
>  	int ret;
>  
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(&pdev->dev, "Failed to get platform resource\n");
> -		return -ENODEV;
> -	}
> -
>  	priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
>  	if (!priv)
>  		return -ENOMEM;
>  
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	priv->sensor = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(priv->sensor))
>  		return PTR_ERR(priv->sensor);
>  
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
> -	if (!res) {
> -		dev_err(&pdev->dev, "Failed to get platform resource\n");
> -		return -ENODEV;
> -	}
>  	priv->control = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(priv->control))
>  		return PTR_ERR(priv->control);
> diff --git a/drivers/thermal/exynos_thermal.c b/drivers/thermal/exynos_thermal.c
> index b777ae6..a7bef42 100644
> --- a/drivers/thermal/exynos_thermal.c
> +++ b/drivers/thermal/exynos_thermal.c
> @@ -967,11 +967,6 @@ static int exynos_tmu_probe(struct platform_device *pdev)
>  	INIT_WORK(&data->irq_work, exynos_tmu_work);
>  
>  	data->mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!data->mem) {
> -		dev_err(&pdev->dev, "Failed to get platform resource\n");
> -		return -ENOENT;
> -	}
> -
>  	data->base = devm_ioremap_resource(&pdev->dev, data->mem);
>  	if (IS_ERR(data->base))
>  		return PTR_ERR(data->base);
> diff --git a/drivers/thermal/kirkwood_thermal.c b/drivers/thermal/kirkwood_thermal.c
> index e5500ed..e3ca1b4 100644
> --- a/drivers/thermal/kirkwood_thermal.c
> +++ b/drivers/thermal/kirkwood_thermal.c
> @@ -75,16 +75,11 @@ static int kirkwood_thermal_probe(struct platform_device *pdev)
>  	struct kirkwood_thermal_priv *priv;
>  	struct resource *res;
>  
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(&pdev->dev, "Failed to get platform resource\n");
> -		return -ENODEV;
> -	}
> -
>  	priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
>  	if (!priv)
>  		return -ENOMEM;
>  
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	priv->sensor = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(priv->sensor))
>  		return PTR_ERR(priv->sensor);
> diff --git a/drivers/thermal/rcar_thermal.c b/drivers/thermal/rcar_thermal.c
> index 2cc5b61..b2217b3 100644
> --- a/drivers/thermal/rcar_thermal.c
> +++ b/drivers/thermal/rcar_thermal.c
> @@ -385,11 +385,6 @@ static int rcar_thermal_probe(struct platform_device *pdev)
>  		 * platform has IRQ support.
>  		 * Then, drier use common register
>  		 */
> -		res = platform_get_resource(pdev, IORESOURCE_MEM, mres++);
> -		if (!res) {
> -			dev_err(dev, "Could not get platform resource\n");
> -			return -ENODEV;
> -		}
>  
>  		ret = devm_request_irq(dev, irq->start, rcar_thermal_irq, 0,
>  				       dev_name(dev), common);
> @@ -401,6 +396,7 @@ static int rcar_thermal_probe(struct platform_device *pdev)
>  		/*
>  		 * rcar_has_irq_support() will be enabled
>  		 */
> +		res = platform_get_resource(pdev, IORESOURCE_MEM, mres++);
>  		common->base = devm_ioremap_resource(dev, res);
>  		if (IS_ERR(common->base))
>  			return PTR_ERR(common->base);



^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 13/42] drivers/mfd: don't check resource with devm_ioremap_resource
  2013-05-10  8:16 ` [RFC 13/42] drivers/mfd: " Wolfram Sang
@ 2013-05-16 22:15   ` Samuel Ortiz
  0 siblings, 0 replies; 96+ messages in thread
From: Samuel Ortiz @ 2013-05-16 22:15 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel

Hi Wolfgang,

On Fri, May 10, 2013 at 10:16:58AM +0200, Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
> ---
>  drivers/mfd/intel_msic.c |    6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
Applied to mfd-next, thanks.

Cheers,
Samuel.

-- 
Intel Open Source Technology Centre
http://oss.intel.com/

^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 09/42] drivers/i2c/busses: don't check resource with devm_ioremap_resource
  2013-05-10  8:16 ` [RFC 09/42] drivers/i2c/busses: " Wolfram Sang
  2013-05-11  5:18   ` Jingoo Han
@ 2013-06-04 18:34   ` Kevin Hilman
  1 sibling, 0 replies; 96+ messages in thread
From: Kevin Hilman @ 2013-06-04 18:34 UTC (permalink / raw)
  To: Wolfram Sang
  Cc: linux-kernel, Sekhar Nori, Tony Lindgren, Ben Dooks, Kukjin Kim,
	Barry Song, Stephen Warren, davinci-linux-open-source, linux-i2c,
	linux-omap, linux-arm-kernel, linux-samsung-soc, linux-tegra

Wolfram Sang <wsa@the-dreams.de> writes:

> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
>
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>

Acked-by: Kevin Hilman <khilman@linaro.org>  # for i2c-omap.c


^ permalink raw reply	[flat|nested] 96+ messages in thread

* Re: [RFC 18/42] drivers/pinctrl: don't check resource with devm_ioremap_resource
  2013-05-10  8:17 ` [RFC 18/42] drivers/pinctrl: " Wolfram Sang
  2013-05-10 14:30   ` Jean-Christophe PLAGNIOL-VILLARD
  2013-05-14 12:19   ` Linus Walleij
@ 2013-06-06  8:43   ` Jean-Christophe PLAGNIOL-VILLARD
  2 siblings, 0 replies; 96+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-06-06  8:43 UTC (permalink / raw)
  To: Wolfram Sang; +Cc: linux-kernel, Linus Walleij, linux-arm-kernel

On 10:17 Fri 10 May     , Wolfram Sang wrote:
> devm_ioremap_resource does sanity checks on the given resource. No need to
> duplicate this in the driver.
> 
> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
> ---
>  drivers/pinctrl/pinctrl-at91.c       |    7 +------
for at91

Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>

Best Regards,
J.
>  drivers/pinctrl/pinctrl-coh901.c     |    5 -----
>  drivers/pinctrl/pinctrl-exynos5440.c |    5 -----
>  drivers/pinctrl/pinctrl-samsung.c    |    5 -----
>  drivers/pinctrl/pinctrl-xway.c       |    4 ----
>  5 files changed, 1 insertion(+), 25 deletions(-)
> 
> diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c
> index 5d7529e..b90a3a0 100644
> --- a/drivers/pinctrl/pinctrl-at91.c
> +++ b/drivers/pinctrl/pinctrl-at91.c
> @@ -1543,12 +1543,6 @@ static int at91_gpio_probe(struct platform_device *pdev)
>  		goto err;
>  	}
>  
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		ret = -ENOENT;
> -		goto err;
> -	}
> -
>  	irq = platform_get_irq(pdev, 0);
>  	if (irq < 0) {
>  		ret = irq;
> @@ -1561,6 +1555,7 @@ static int at91_gpio_probe(struct platform_device *pdev)
>  		goto err;
>  	}
>  
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	at91_chip->regbase = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(at91_chip->regbase)) {
>  		ret = PTR_ERR(at91_chip->regbase);
> diff --git a/drivers/pinctrl/pinctrl-coh901.c b/drivers/pinctrl/pinctrl-coh901.c
> index edde3ac..a67af41 100644
> --- a/drivers/pinctrl/pinctrl-coh901.c
> +++ b/drivers/pinctrl/pinctrl-coh901.c
> @@ -713,11 +713,6 @@ static int __init u300_gpio_probe(struct platform_device *pdev)
>  	gpio->dev = &pdev->dev;
>  
>  	memres = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!memres) {
> -		dev_err(gpio->dev, "could not get GPIO memory resource\n");
> -		return -ENODEV;
> -	}
> -
>  	gpio->base = devm_ioremap_resource(&pdev->dev, memres);
>  	if (IS_ERR(gpio->base))
>  		return PTR_ERR(gpio->base);
> diff --git a/drivers/pinctrl/pinctrl-exynos5440.c b/drivers/pinctrl/pinctrl-exynos5440.c
> index 6038503..32a48f4 100644
> --- a/drivers/pinctrl/pinctrl-exynos5440.c
> +++ b/drivers/pinctrl/pinctrl-exynos5440.c
> @@ -1000,11 +1000,6 @@ static int exynos5440_pinctrl_probe(struct platform_device *pdev)
>  	}
>  
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(dev, "cannot find IO resource\n");
> -		return -ENOENT;
> -	}
> -
>  	priv->reg_base = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(priv->reg_base))
>  		return PTR_ERR(priv->reg_base);
> diff --git a/drivers/pinctrl/pinctrl-samsung.c b/drivers/pinctrl/pinctrl-samsung.c
> index 9763668..055d016 100644
> --- a/drivers/pinctrl/pinctrl-samsung.c
> +++ b/drivers/pinctrl/pinctrl-samsung.c
> @@ -932,11 +932,6 @@ static int samsung_pinctrl_probe(struct platform_device *pdev)
>  	drvdata->dev = dev;
>  
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(dev, "cannot find IO resource\n");
> -		return -ENOENT;
> -	}
> -
>  	drvdata->virt_base = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(drvdata->virt_base))
>  		return PTR_ERR(drvdata->virt_base);
> diff --git a/drivers/pinctrl/pinctrl-xway.c b/drivers/pinctrl/pinctrl-xway.c
> index f2977cf..e92132c 100644
> --- a/drivers/pinctrl/pinctrl-xway.c
> +++ b/drivers/pinctrl/pinctrl-xway.c
> @@ -716,10 +716,6 @@ static int pinmux_xway_probe(struct platform_device *pdev)
>  
>  	/* get and remap our register range */
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res) {
> -		dev_err(&pdev->dev, "Failed to get resource\n");
> -		return -ENOENT;
> -	}
>  	xway_info.membase[0] = devm_ioremap_resource(&pdev->dev, res);
>  	if (IS_ERR(xway_info.membase[0]))
>  		return PTR_ERR(xway_info.membase[0]);
> -- 
> 1.7.10.4
> 

^ permalink raw reply	[flat|nested] 96+ messages in thread

end of thread, other threads:[~2013-06-06  8:48 UTC | newest]

Thread overview: 96+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1368173847-5661-1-git-send-email-wsa@the-dreams.de>
2013-05-10  8:16 ` [RFC 01/42] drivers/ata: don't check resource with devm_ioremap_resource Wolfram Sang
2013-05-10  8:16 ` [RFC 02/42] drivers/char/hw_random: " Wolfram Sang
2013-05-10  8:16 ` [RFC 03/42] drivers/cpufreq: " Wolfram Sang
2013-05-10 11:09   ` Rafael J. Wysocki
2013-05-10  8:16 ` [RFC 04/42] drivers/dma: " Wolfram Sang
2013-05-10 16:35   ` Stephen Warren
2013-05-10 17:57     ` Wolfram Sang
2013-05-10 19:25       ` Stephen Warren
2013-05-12 16:04         ` Vinod Koul
2013-05-12 18:28           ` Wolfram Sang
2013-05-13  2:10             ` Vinod Koul
2013-05-13  6:08               ` Wolfram Sang
2013-05-10  8:16 ` [RFC 05/42] drivers/gpio: " Wolfram Sang
2013-05-12 15:11   ` Viresh Kumar
2013-05-10  8:16 ` [RFC 06/42] drivers/gpu/drm/exynos: " Wolfram Sang
2013-05-10  8:16 ` [RFC 07/42] drivers/gpu/host1x: " Wolfram Sang
2013-05-10  8:16 ` [RFC 08/42] drivers/gpu/host1x/drm: " Wolfram Sang
2013-05-10  8:16 ` [RFC 09/42] drivers/i2c/busses: " Wolfram Sang
2013-05-11  5:18   ` Jingoo Han
2013-06-04 18:34   ` Kevin Hilman
2013-05-10  8:16 ` [RFC 10/42] drivers/input/keyboard: " Wolfram Sang
2013-05-12 15:12   ` Viresh Kumar
2013-05-10  8:16 ` [RFC 11/42] drivers/input/serio: " Wolfram Sang
2013-05-10  8:16 ` [RFC 12/42] drivers/memory: " Wolfram Sang
2013-05-10  8:16 ` [RFC 13/42] drivers/mfd: " Wolfram Sang
2013-05-16 22:15   ` Samuel Ortiz
2013-05-10  8:16 ` [RFC 14/42] drivers/misc: " Wolfram Sang
2013-05-10 15:24   ` Greg Kroah-Hartman
2013-05-10  8:17 ` [RFC 15/42] drivers/mtd/maps: " Wolfram Sang
2013-05-10  8:17 ` [RFC 16/42] drivers/mtd/nand: " Wolfram Sang
2013-05-10  8:17 ` [RFC 17/42] drivers/net/ethernet/renesas: " Wolfram Sang
2013-05-10 11:07   ` Sergei Shtylyov
2013-05-11 20:31     ` Sergei Shtylyov
2013-05-11 20:35   ` Sergei Shtylyov
2013-05-12  9:42     ` Wolfram Sang
2013-05-12 15:26       ` Sergei Shtylyov
2013-05-12 16:32         ` Wolfram Sang
2013-05-12 18:33           ` Sergei Shtylyov
2013-05-10  8:17 ` [RFC 18/42] drivers/pinctrl: " Wolfram Sang
2013-05-10 14:30   ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-14 12:19   ` Linus Walleij
2013-06-06  8:43   ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-10  8:17 ` [RFC 19/42] drivers/pinctrl/spear: " Wolfram Sang
2013-05-12 15:10   ` Viresh Kumar
2013-05-14 12:56   ` Linus Walleij
2013-05-10  8:17 ` [RFC 20/42] drivers/pwm: " Wolfram Sang
2013-05-12 15:12   ` Viresh Kumar
2013-05-10  8:17 ` [RFC 21/42] drivers/remoteproc: " Wolfram Sang
2013-05-10  8:17 ` [RFC 22/42] drivers/rtc: " Wolfram Sang
2013-05-12 15:11   ` Viresh Kumar
2013-05-10  8:17 ` [RFC 23/42] drivers/spi: " Wolfram Sang
2013-05-10 10:55   ` Mark Brown
2013-05-10 16:37   ` Stephen Warren
2013-05-11  5:24   ` Jingoo Han
2013-05-10  8:17 ` [RFC 24/42] drivers/staging/dwc2: " Wolfram Sang
2013-05-10 15:24   ` Greg Kroah-Hartman
2013-05-10  8:17 ` [RFC 25/42] drivers/staging/nvec: " Wolfram Sang
2013-05-10 15:24   ` Greg Kroah-Hartman
2013-05-10 16:07   ` Marc Dietrich
2013-05-10  8:17 ` [RFC 26/42] drivers/thermal: " Wolfram Sang
2013-05-10 13:50   ` Eduardo Valentin
2013-05-16  7:22   ` Zhang Rui
2013-05-10  8:17 ` [RFC 27/42] drivers/tty/serial: " Wolfram Sang
2013-05-10 15:26   ` Greg Kroah-Hartman
2013-05-10 17:58     ` Wolfram Sang
2013-05-10  8:17 ` [RFC 28/42] drivers/usb/chipidea: " Wolfram Sang
2013-05-10 15:25   ` Greg Kroah-Hartman
2013-05-10  8:17 ` [RFC 29/42] drivers/usb/gadget: " Wolfram Sang
2013-05-10 15:25   ` Greg Kroah-Hartman
2013-05-10  8:17 ` [RFC 30/42] drivers/usb/host: " Wolfram Sang
2013-05-10 14:03   ` Alan Stern
2013-05-10 18:00     ` Wolfram Sang
2013-05-10 15:25   ` Greg Kroah-Hartman
2013-05-10  8:17 ` [RFC 31/42] drivers/usb/phy: " Wolfram Sang
2013-05-10 15:24   ` Greg Kroah-Hartman
2013-05-10  8:17 ` [RFC 32/42] drivers/video: " Wolfram Sang
2013-05-11  5:33   ` Jingoo Han
2013-05-13  5:39     ` Shawn Guo
2013-05-10  8:17 ` [RFC 33/42] drivers/video/omap2: " Wolfram Sang
2013-05-11  5:37   ` Jingoo Han
2013-05-10  8:17 ` [RFC 34/42] drivers/video/omap2/dss: " Wolfram Sang
2013-05-11  5:36   ` Jingoo Han
2013-05-10  8:17 ` [RFC 35/42] drivers/w1/masters: " Wolfram Sang
2013-05-10  8:17 ` [RFC 36/42] drivers/watchdog: " Wolfram Sang
2013-05-12 17:23   ` Wim Van Sebroeck
2013-05-10  8:17 ` [RFC 37/42] arch/arm/mach-tegra: " Wolfram Sang
2013-05-10  8:17 ` [RFC 38/42] arch/arm/plat-omap: " Wolfram Sang
2013-05-10 16:46   ` Tony Lindgren
2013-05-10  8:17 ` [RFC 39/42] arch/arm/plat-samsung: " Wolfram Sang
2013-05-11  5:15   ` Jingoo Han
2013-05-10  8:17 ` [RFC 40/42] arch/mips/lantiq/xway: " Wolfram Sang
2013-05-10  8:57   ` John Crispin
2013-05-10  8:17 ` [RFC 41/42] sound/soc/fsl: " Wolfram Sang
2013-05-10 10:56   ` Mark Brown
2013-05-10  8:17 ` [RFC 42/42] sound/soc/kirkwood: " Wolfram Sang
2013-05-10 10:56   ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).