* [RFC 00/42] devm improvement series, part #1
@ 2013-05-10 8:16 Wolfram Sang
2013-05-10 8:16 ` [RFC 09/42] drivers/i2c/busses: don't check resource with devm_ioremap_resource Wolfram Sang
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Wolfram Sang @ 2013-05-10 8:16 UTC (permalink / raw)
To: linux-kernel
Cc: Wan ZongShun, linux-mips, alsa-devel, linux-usb, Kevin Hilman,
Wolfram Sang, Alexander Shishkin, Viresh Kumar, Linus Walleij,
Matt Mackall, Sekhar Nori, linux-fbdev, dri-devel,
Jaroslav Kysela, linux-ide, Wim Van Sebroeck, netdev, linux-mtd,
linux-i2c, Evgeniy Polyakov, Jiri Slaby, ac100, devel, Kukjin Kim,
Russell King, Herbert Xu, Florian
Lately, I have been experimenting how to improve the devm interface to make
writing device drivers easier and less error prone while also getting rid of
its subtle issues. I think it has more potential but still needs work and
definately conistency, especiall in its usage.
The first thing I come up with is a low hanging fruit regarding
devm_ioremap_resouce(). This function already checks if the passed resource is
valid and gives an error message if not. So, we can remove similar checks from
the drivers and get rid of a bit of code and a number of inconsistent error
strings.
If generally accepted, I'd suggest I rerun my scripts again when rc1 is out and
ask Linus to pull this branch [1] directly? This series is merely to show what
I am up to.
Thanks,
Wolfram
[1] git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git devm_no_resource_check
Wolfram Sang (42):
drivers/ata: don't check resource with devm_ioremap_resource
drivers/char/hw_random: don't check resource with
devm_ioremap_resource
drivers/cpufreq: don't check resource with devm_ioremap_resource
drivers/dma: don't check resource with devm_ioremap_resource
drivers/gpio: don't check resource with devm_ioremap_resource
drivers/gpu/drm/exynos: don't check resource with
devm_ioremap_resource
drivers/gpu/host1x: don't check resource with devm_ioremap_resource
drivers/gpu/host1x/drm: don't check resource with
devm_ioremap_resource
drivers/i2c/busses: don't check resource with devm_ioremap_resource
drivers/input/keyboard: don't check resource with
devm_ioremap_resource
drivers/input/serio: don't check resource with devm_ioremap_resource
drivers/memory: don't check resource with devm_ioremap_resource
drivers/mfd: don't check resource with devm_ioremap_resource
drivers/misc: don't check resource with devm_ioremap_resource
drivers/mtd/maps: don't check resource with devm_ioremap_resource
drivers/mtd/nand: don't check resource with devm_ioremap_resource
drivers/net/ethernet/renesas: don't check resource with
devm_ioremap_resource
drivers/pinctrl: don't check resource with devm_ioremap_resource
drivers/pinctrl/spear: don't check resource with
devm_ioremap_resource
drivers/pwm: don't check resource with devm_ioremap_resource
drivers/remoteproc: don't check resource with devm_ioremap_resource
drivers/rtc: don't check resource with devm_ioremap_resource
drivers/spi: don't check resource with devm_ioremap_resource
drivers/staging/dwc2: don't check resource with devm_ioremap_resource
drivers/staging/nvec: don't check resource with devm_ioremap_resource
drivers/thermal: don't check resource with devm_ioremap_resource
drivers/tty/serial: don't check resource with devm_ioremap_resource
drivers/usb/chipidea: don't check resource with devm_ioremap_resource
drivers/usb/gadget: don't check resource with devm_ioremap_resource
drivers/usb/host: don't check resource with devm_ioremap_resource
drivers/usb/phy: don't check resource with devm_ioremap_resource
drivers/video: don't check resource with devm_ioremap_resource
drivers/video/omap2: don't check resource with devm_ioremap_resource
drivers/video/omap2/dss: don't check resource with
devm_ioremap_resource
drivers/w1/masters: don't check resource with devm_ioremap_resource
drivers/watchdog: don't check resource with devm_ioremap_resource
arch/arm/mach-tegra: don't check resource with devm_ioremap_resource
arch/arm/plat-omap: don't check resource with devm_ioremap_resource
arch/arm/plat-samsung: don't check resource with
devm_ioremap_resource
arch/mips/lantiq/xway: don't check resource with
devm_ioremap_resource
sound/soc/fsl: don't check resource with devm_ioremap_resource
sound/soc/kirkwood: don't check resource with devm_ioremap_resource
arch/arm/mach-tegra/tegra2_emc.c | 5 -----
arch/arm/plat-omap/dmtimer.c | 7 +------
arch/arm/plat-samsung/adc.c | 5 -----
arch/mips/lantiq/xway/gptu.c | 7 +------
drivers/ata/pata_ep93xx.c | 5 -----
drivers/char/hw_random/mxc-rnga.c | 6 ------
drivers/char/hw_random/omap-rng.c | 5 -----
drivers/cpufreq/kirkwood-cpufreq.c | 4 ----
drivers/dma/tegra20-apb-dma.c | 5 -----
drivers/gpio/gpio-mvebu.c | 12 +-----------
drivers/gpio/gpio-spear-spics.c | 7 +------
drivers/gpio/gpio-tegra.c | 5 -----
drivers/gpu/drm/exynos/exynos_hdmi.c | 5 -----
drivers/gpu/host1x/dev.c | 7 +------
drivers/gpu/host1x/drm/dc.c | 5 -----
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 -----
drivers/input/keyboard/imx_keypad.c | 7 +------
drivers/input/keyboard/spear-keyboard.c | 7 +------
drivers/input/keyboard/tegra-kbc.c | 7 +------
drivers/input/serio/arc_ps2.c | 7 +------
drivers/memory/emif.c | 6 ------
drivers/mfd/intel_msic.c | 6 +-----
drivers/misc/atmel-ssc.c | 5 -----
drivers/mtd/maps/autcpu12-nvram.c | 7 +------
drivers/mtd/maps/lantiq-flash.c | 8 +-------
drivers/mtd/nand/lpc32xx_mlc.c | 5 -----
drivers/mtd/nand/lpc32xx_slc.c | 7 +------
drivers/net/ethernet/renesas/sh_eth.c | 14 +-------------
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 ----
drivers/pinctrl/spear/pinctrl-plgpio.c | 7 +------
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 -----
drivers/remoteproc/da8xx_remoteproc.c | 14 +-------------
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 ------
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 +------
drivers/staging/dwc2/platform.c | 5 -----
drivers/staging/nvec/nvec.c | 5 -----
drivers/thermal/dove_thermal.c | 11 +----------
drivers/thermal/exynos_thermal.c | 5 -----
drivers/thermal/kirkwood_thermal.c | 7 +------
drivers/thermal/rcar_thermal.c | 6 +-----
drivers/tty/serial/serial-tegra.c | 6 +-----
drivers/usb/chipidea/core.c | 5 -----
drivers/usb/gadget/bcm63xx_udc.c | 10 ----------
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 +------
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 -----
drivers/video/mxsfb.c | 7 +------
drivers/video/omap2/dss/hdmi.c | 7 +------
drivers/video/omap2/vrfb.c | 5 -----
drivers/w1/masters/omap_hdq.c | 5 -----
drivers/watchdog/imx2_wdt.c | 5 -----
sound/soc/fsl/imx-ssi.c | 6 ------
sound/soc/kirkwood/kirkwood-i2s.c | 5 -----
90 files changed, 43 insertions(+), 525 deletions(-)
--
1.7.10.4
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/
^ permalink raw reply [flat|nested] 10+ messages in thread* [RFC 09/42] drivers/i2c/busses: don't check resource with devm_ioremap_resource 2013-05-10 8:16 [RFC 00/42] devm improvement series, part #1 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:17 ` [RFC 23/42] drivers/spi: " Wolfram Sang 2013-05-10 8:17 ` [RFC 39/42] arch/arm/plat-samsung: " Wolfram Sang 2 siblings, 2 replies; 10+ 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] 10+ 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: don't check resource with devm_ioremap_resource Wolfram Sang @ 2013-05-11 5:18 ` Jingoo Han 2013-06-04 18:34 ` Kevin Hilman 1 sibling, 0 replies; 10+ 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] 10+ 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: don't check resource with devm_ioremap_resource Wolfram Sang 2013-05-11 5:18 ` Jingoo Han @ 2013-06-04 18:34 ` Kevin Hilman 1 sibling, 0 replies; 10+ 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] 10+ messages in thread
* [RFC 23/42] drivers/spi: don't check resource with devm_ioremap_resource 2013-05-10 8:16 [RFC 00/42] devm improvement series, part #1 Wolfram Sang 2013-05-10 8:16 ` [RFC 09/42] drivers/i2c/busses: don't check resource with devm_ioremap_resource Wolfram Sang @ 2013-05-10 8:17 ` Wolfram Sang [not found] ` <1368173847-5661-24-git-send-email-wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org> ` (2 more replies) 2013-05-10 8:17 ` [RFC 39/42] arch/arm/plat-samsung: " Wolfram Sang 2 siblings, 3 replies; 10+ 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] 10+ messages in thread
[parent not found: <1368173847-5661-24-git-send-email-wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>]
* Re: [RFC 23/42] drivers/spi: don't check resource with devm_ioremap_resource [not found] ` <1368173847-5661-24-git-send-email-wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org> @ 2013-05-10 10:55 ` Mark Brown 0 siblings, 0 replies; 10+ messages in thread From: Mark Brown @ 2013-05-10 10:55 UTC (permalink / raw) To: Wolfram Sang Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA, Grant Likely, Ben Dooks, Kukjin Kim, Barry Song, Stephen Warren, spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA, linux-tegra-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 264 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-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org> [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 10+ 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 [not found] ` <1368173847-5661-24-git-send-email-wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org> @ 2013-05-10 16:37 ` Stephen Warren 2013-05-11 5:24 ` Jingoo Han 2 siblings, 0 replies; 10+ 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] 10+ 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 [not found] ` <1368173847-5661-24-git-send-email-wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org> 2013-05-10 16:37 ` Stephen Warren @ 2013-05-11 5:24 ` Jingoo Han 2 siblings, 0 replies; 10+ 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] 10+ messages in thread
* [RFC 39/42] arch/arm/plat-samsung: don't check resource with devm_ioremap_resource 2013-05-10 8:16 [RFC 00/42] devm improvement series, part #1 Wolfram Sang 2013-05-10 8:16 ` [RFC 09/42] drivers/i2c/busses: don't check resource with devm_ioremap_resource Wolfram Sang 2013-05-10 8:17 ` [RFC 23/42] drivers/spi: " Wolfram Sang @ 2013-05-10 8:17 ` Wolfram Sang 2013-05-11 5:15 ` Jingoo Han 2 siblings, 1 reply; 10+ 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] 10+ 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; 10+ 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] 10+ messages in thread
end of thread, other threads:[~2013-06-04 18:34 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-10 8:16 [RFC 00/42] devm improvement series, part #1 Wolfram Sang
2013-05-10 8:16 ` [RFC 09/42] drivers/i2c/busses: don't check resource with devm_ioremap_resource Wolfram Sang
2013-05-11 5:18 ` Jingoo Han
2013-06-04 18:34 ` Kevin Hilman
2013-05-10 8:17 ` [RFC 23/42] drivers/spi: " Wolfram Sang
[not found] ` <1368173847-5661-24-git-send-email-wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
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 39/42] arch/arm/plat-samsung: " Wolfram Sang
2013-05-11 5:15 ` Jingoo Han
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox