driver: replace dev_request_mem_region with dev_request_mem_resource
dev_request_mem_region doesn't work properly one some SoCs on which
PTR_ERR() values clash with valid return values from dev_request_mem_region.
Replace them with dev_request_mem_resource where possible.

This patch has been generated with the following semantic patch:

// <smpl>
@@
expression d;
expression n;
expression io;
identifier func;
@@
func(...) {
+struct resource *iores;
<+...
-io = dev_request_mem_region(d, n);
-if (IS_ERR(io)) {
+iores = dev_request_mem_resource(d, n);
+if (IS_ERR(iores)) {
...
-	return PTR_ERR(io);
-}
+	return PTR_ERR(iores);
+}
+io = IOMEM(iores->start);
...+>
}

@@
expression d;
expression n;
expression io;
identifier func;
@@
func(...) {
+struct resource *iores;
<+...
-io = dev_request_mem_region(d, n);
-if (IS_ERR(io)) {
+iores = dev_request_mem_resource(d, n);
+if (IS_ERR(iores))
-	return PTR_ERR(io);
-}
+	return PTR_ERR(iores);
+io = IOMEM(iores->start);
...+>
}

@@
expression d;
expression n;
expression io;
identifier func;
@@
func(...) {
+struct resource *iores;
<+...
-io = dev_request_mem_region(d, n);
-if (IS_ERR(io)) {
-	ret = PTR_ERR(io);
+iores = dev_request_mem_resource(d, n);
+if (IS_ERR(iores)) {
+	ret = PTR_ERR(iores);
...
}
+io = IOMEM(iores->start);
...+>
}

@@
expression d;
expression n;
expression io;
identifier func;
@@
func(...) {
+struct resource *iores;
<+...
-io = dev_request_mem_region(d, n);
+iores = dev_request_mem_resource(d, n);
+if (IS_ERR(iores))
+	return PTR_ERR(iores);
+io = IOMEM(iores->start);
...+>
}

@@
identifier func;
@@
func(...) {
<+...
struct resource *iores;
-struct resource *iores;
...+>
}
// </smpl>

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
1 parent fe7855b commit 3bd69ad077a955b469baa90d938fd83510297335
@Sascha Hauer Sascha Hauer authored on 18 Feb 2016
Showing 163 changed files
View
arch/arm/mach-at91/sam9_smc.c
Too large (Show diff)
View
arch/arm/mach-imx/clk-imx1.c
Too large (Show diff)
View
arch/arm/mach-imx/clk-imx21.c
Too large (Show diff)
View
arch/arm/mach-imx/clk-imx25.c
Too large (Show diff)
View
arch/arm/mach-imx/clk-imx27.c
Too large (Show diff)
View
arch/arm/mach-imx/clk-imx31.c
Too large (Show diff)
View
arch/arm/mach-imx/clk-imx35.c
Too large (Show diff)
View
arch/arm/mach-imx/clk-imx5.c
Too large (Show diff)
View
arch/arm/mach-imx/clk-imx6.c
Too large (Show diff)
View
arch/arm/mach-imx/clk-imx6sx.c
Too large (Show diff)
View
arch/arm/mach-imx/clocksource.c
Too large (Show diff)
View
arch/arm/mach-imx/esdctl.c
Too large (Show diff)
View
arch/arm/mach-imx/iim.c
Too large (Show diff)
View
arch/arm/mach-imx/ocotp.c
Too large (Show diff)
View
arch/arm/mach-mxs/ocotp.c
Too large (Show diff)
View
arch/arm/mach-tegra/tegra20-pmc.c
Too large (Show diff)
View
arch/arm/mach-tegra/tegra20-timer.c
Too large (Show diff)
View
arch/arm/mach-zynq/clk-zynq7000.c
Too large (Show diff)
View
arch/mips/mach-ar231x/ar231x_reset.c
Too large (Show diff)
View
drivers/ata/ahci.c
Too large (Show diff)
View
drivers/ata/intf_platform_ide.c
Too large (Show diff)
View
drivers/ata/pata-imx.c
Too large (Show diff)
View
drivers/ata/sata-imx.c
Too large (Show diff)
View
drivers/bus/imx-weim.c
Too large (Show diff)
View
drivers/clk/clk-ar933x.c
Too large (Show diff)
View
drivers/clk/mvebu/common.c
Too large (Show diff)
View
drivers/clk/mvebu/corediv.c
Too large (Show diff)
View
drivers/clk/mxs/clk-imx23.c
Too large (Show diff)
View
drivers/clk/mxs/clk-imx28.c
Too large (Show diff)
View
drivers/clk/socfpga.c
Too large (Show diff)
View
drivers/clk/tegra/clk-tegra124.c
Too large (Show diff)
View
drivers/clk/tegra/clk-tegra20.c
Too large (Show diff)
View
drivers/clk/tegra/clk-tegra30.c
Too large (Show diff)
View
drivers/clocksource/arm_smp_twd.c
Too large (Show diff)
View
drivers/clocksource/bcm2835.c
Too large (Show diff)
View
drivers/clocksource/clps711x.c
Too large (Show diff)
View
drivers/clocksource/digic.c
Too large (Show diff)
View
drivers/clocksource/mvebu.c
Too large (Show diff)
View
drivers/clocksource/nomadik.c
Too large (Show diff)
View
drivers/clocksource/orion.c
Too large (Show diff)
View
drivers/clocksource/uemd.c
Too large (Show diff)
View
drivers/dma/apbh_dma.c
Too large (Show diff)
View
drivers/firmware/socfpga.c
Too large (Show diff)
View
drivers/gpio/gpio-ath79.c
Too large (Show diff)
View
drivers/gpio/gpio-bcm2835.c
Too large (Show diff)
View
drivers/gpio/gpio-clps711x.c
Too large (Show diff)
View
drivers/gpio/gpio-davinci.c
Too large (Show diff)
View
drivers/gpio/gpio-digic.c
Too large (Show diff)
View
drivers/gpio/gpio-dw.c
Too large (Show diff)
View
drivers/gpio/gpio-imx.c
Too large (Show diff)
View
drivers/gpio/gpio-jz4740.c
Too large (Show diff)
View
drivers/gpio/gpio-malta-fpga-i2c.c
Too large (Show diff)
View
drivers/gpio/gpio-omap.c
Too large (Show diff)
View
drivers/gpio/gpio-orion.c
Too large (Show diff)
View
drivers/gpio/gpio-tegra.c
Too large (Show diff)
View
drivers/i2c/busses/i2c-at91.c
Too large (Show diff)
View
drivers/i2c/busses/i2c-designware.c
Too large (Show diff)
View
drivers/i2c/busses/i2c-imx.c
Too large (Show diff)
View
drivers/i2c/busses/i2c-mv64xxx.c
Too large (Show diff)
View
drivers/i2c/busses/i2c-omap.c
Too large (Show diff)
View
drivers/i2c/busses/i2c-tegra.c
Too large (Show diff)
View
drivers/i2c/busses/i2c-versatile.c
Too large (Show diff)
View
drivers/input/imx_keypad.c
Too large (Show diff)
View
drivers/mci/atmel_mci.c
Too large (Show diff)
View
drivers/mci/dw_mmc.c
Too large (Show diff)
View
drivers/mci/imx-esdhc.c
Too large (Show diff)
View
drivers/mci/imx.c
Too large (Show diff)
View
drivers/mci/mci-bcm2835.c
Too large (Show diff)
View
drivers/mci/mxs.c
Too large (Show diff)
View
drivers/mci/omap_hsmmc.c
Too large (Show diff)
View
drivers/mci/pxamci.c
Too large (Show diff)
View
drivers/mci/s3c.c
Too large (Show diff)
View
drivers/mci/tegra-sdmmc.c
Too large (Show diff)
View
drivers/misc/sram.c
Too large (Show diff)
View
drivers/mtd/devices/docg3.c
Too large (Show diff)
View
drivers/mtd/devices/mtdram.c
Too large (Show diff)
View
drivers/mtd/nand/atmel_nand.c
Too large (Show diff)
View
drivers/mtd/nand/nand_denali_dt.c
Too large (Show diff)
View
drivers/mtd/nand/nand_imx.c
Too large (Show diff)
View
drivers/mtd/nand/nand_mrvl_nfc.c
Too large (Show diff)
View
drivers/mtd/nand/nand_mxs.c
Too large (Show diff)
View
drivers/mtd/nand/nand_omap_gpmc.c
Too large (Show diff)
View
drivers/mtd/nand/nand_orion.c
Too large (Show diff)
View
drivers/mtd/nand/nand_s3c24xx.c
Too large (Show diff)
View
drivers/mtd/nor/cfi_flash.c
Too large (Show diff)
View
drivers/mtd/spi-nor/cadence-quadspi.c
Too large (Show diff)
View
drivers/net/altera_tse.c
Too large (Show diff)
View
drivers/net/ar231x.c
Too large (Show diff)
View
drivers/net/arc_emac.c
Too large (Show diff)
View
drivers/net/cpsw.c
Too large (Show diff)
View
drivers/net/cs8900.c
Too large (Show diff)
View
drivers/net/davinci_emac.c
Too large (Show diff)
View
drivers/net/designware.c
Too large (Show diff)
View
drivers/net/dm9k.c
Too large (Show diff)
View
drivers/net/ethoc.c
Too large (Show diff)
View
drivers/net/fec_imx.c
Too large (Show diff)
View
drivers/net/fec_mpc5200.c
Too large (Show diff)
View
drivers/net/ks8851_mll.c
Too large (Show diff)
View
drivers/net/macb.c
Too large (Show diff)
View
drivers/net/smc91111.c
Too large (Show diff)
View
drivers/net/smc911x.c
Too large (Show diff)
View
drivers/net/xgmac.c
Too large (Show diff)
View
drivers/pci/pci-imx6.c
Too large (Show diff)
View
drivers/pinctrl/imx-iomux-v2.c
Too large (Show diff)
View
drivers/pinctrl/imx-iomux-v3.c
Too large (Show diff)
View
drivers/pinctrl/mvebu/armada-370.c
Too large (Show diff)
View
drivers/pinctrl/mvebu/armada-xp.c
Too large (Show diff)
View
drivers/pinctrl/mvebu/dove.c
Too large (Show diff)
View
drivers/pinctrl/mvebu/kirkwood.c
Too large (Show diff)
View
drivers/pinctrl/pinctrl-single.c
Too large (Show diff)
View
drivers/pinctrl/pinctrl-tegra-xusb.c
Too large (Show diff)
View
drivers/pinctrl/pinctrl-tegra20.c
Too large (Show diff)
View
drivers/pinctrl/pinctrl-tegra30.c
Too large (Show diff)
View
drivers/pwm/pwm-imx.c
Too large (Show diff)
View
drivers/pwm/pwm-mxs.c
Too large (Show diff)
View
drivers/pwm/pxa_pwm.c
Too large (Show diff)
View
drivers/rtc/rtc-jz4740.c
Too large (Show diff)
View
drivers/serial/serial_altera.c
Too large (Show diff)
View
drivers/serial/serial_altera_jtag.c
Too large (Show diff)
View
drivers/serial/serial_ar933x.c
Too large (Show diff)
View
drivers/serial/serial_auart.c
Too large (Show diff)
View
drivers/serial/serial_cadence.c
Too large (Show diff)
View
drivers/serial/serial_digic.c
Too large (Show diff)
View
drivers/serial/serial_imx.c
Too large (Show diff)
View
drivers/serial/serial_mpc5xxx.c
Too large (Show diff)
View
drivers/serial/serial_netx.c
Too large (Show diff)
View
drivers/serial/serial_ns16550.c
Too large (Show diff)
View
drivers/serial/serial_pl010.c
Too large (Show diff)
View
drivers/serial/serial_pxa.c
Too large (Show diff)
View
drivers/serial/serial_s3c.c
Too large (Show diff)
View
drivers/serial/stm-serial.c
Too large (Show diff)
View
drivers/spi/altera_spi.c
Too large (Show diff)
View
drivers/spi/ath79_spi.c
Too large (Show diff)
View
drivers/spi/atmel_spi.c
Too large (Show diff)
View
drivers/spi/imx_spi.c
Too large (Show diff)
View
drivers/spi/mvebu_spi.c
Too large (Show diff)
View
drivers/spi/mxs_spi.c
Too large (Show diff)
View
drivers/spi/omap3_spi.c
Too large (Show diff)
View
drivers/usb/gadget/at91_udc.c
Too large (Show diff)
View
drivers/usb/gadget/pxa27x_udc.c
Too large (Show diff)
View
drivers/usb/host/ehci-atmel.c
Too large (Show diff)
View
drivers/usb/host/ehci-hcd.c
Too large (Show diff)
View
drivers/usb/host/ohci-hcd.c
Too large (Show diff)
View
drivers/usb/host/xhci-hcd.c
Too large (Show diff)
View
drivers/usb/imx/chipidea-imx.c
Too large (Show diff)
View
drivers/usb/imx/imx-usb-misc.c
Too large (Show diff)
View
drivers/usb/imx/imx-usb-phy.c
Too large (Show diff)
View
drivers/usb/musb/musb_dsps.c
Too large (Show diff)
View
drivers/usb/musb/phy-am335x-control.c
Too large (Show diff)
View
drivers/usb/musb/phy-am335x.c
Too large (Show diff)
View
drivers/video/atmel_lcdfb_core.c
Too large (Show diff)
View
drivers/video/imx-ipu-fb.c
Too large (Show diff)
View
drivers/video/imx-ipu-v3/imx-hdmi.c
Too large (Show diff)
View
drivers/video/imx-ipu-v3/ipu-common.c
Too large (Show diff)
View
drivers/video/imx.c
Too large (Show diff)
View
drivers/video/pxa.c
Too large (Show diff)
View
drivers/video/s3c24xx.c
Too large (Show diff)
View
drivers/video/stm.c
Too large (Show diff)
View
drivers/watchdog/davinci_wdt.c
Too large (Show diff)
View
drivers/watchdog/im28wd.c
Too large (Show diff)
View
drivers/watchdog/imxwd.c
Too large (Show diff)
View
drivers/watchdog/jz4740.c
Too large (Show diff)
View
drivers/watchdog/omap_wdt.c
Too large (Show diff)