summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2016-02-18 11:38:58 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2016-03-07 08:57:56 +0100
commit3bd69ad077a955b469baa90d938fd83510297335 (patch)
tree94d314d51fd295e6cb7de9f682582c29fdd50eed
parentfe7855bb4f2d82ac4559c46c586c2f29e9f123e2 (diff)
downloadbarebox-3bd69ad077a955b469baa90d938fd83510297335.tar.gz
barebox-3bd69ad077a955b469baa90d938fd83510297335.tar.xz
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>
-rw-r--r--arch/arm/mach-at91/sam9_smc.c8
-rw-r--r--arch/arm/mach-imx/clk-imx1.c8
-rw-r--r--arch/arm/mach-imx/clk-imx21.c8
-rw-r--r--arch/arm/mach-imx/clk-imx25.c8
-rw-r--r--arch/arm/mach-imx/clk-imx27.c8
-rw-r--r--arch/arm/mach-imx/clk-imx31.c8
-rw-r--r--arch/arm/mach-imx/clk-imx35.c8
-rw-r--r--arch/arm/mach-imx/clk-imx5.c14
-rw-r--r--arch/arm/mach-imx/clk-imx6.c8
-rw-r--r--arch/arm/mach-imx/clk-imx6sx.c8
-rw-r--r--arch/arm/mach-imx/clocksource.c8
-rw-r--r--arch/arm/mach-imx/esdctl.c8
-rw-r--r--arch/arm/mach-imx/iim.c8
-rw-r--r--arch/arm/mach-imx/ocotp.c8
-rw-r--r--arch/arm/mach-mxs/ocotp.c8
-rw-r--r--arch/arm/mach-tegra/tegra20-pmc.c8
-rw-r--r--arch/arm/mach-tegra/tegra20-timer.c8
-rw-r--r--arch/arm/mach-zynq/clk-zynq7000.c8
-rw-r--r--arch/mips/mach-ar231x/ar231x_reset.c8
-rw-r--r--drivers/ata/ahci.c8
-rw-r--r--drivers/ata/intf_platform_ide.c11
-rw-r--r--drivers/ata/pata-imx.c8
-rw-r--r--drivers/ata/sata-imx.c8
-rw-r--r--drivers/bus/imx-weim.c8
-rw-r--r--drivers/clk/clk-ar933x.c8
-rw-r--r--drivers/clk/mvebu/common.c16
-rw-r--r--drivers/clk/mvebu/corediv.c8
-rw-r--r--drivers/clk/mxs/clk-imx23.c8
-rw-r--r--drivers/clk/mxs/clk-imx28.c8
-rw-r--r--drivers/clk/socfpga.c8
-rw-r--r--drivers/clk/tegra/clk-tegra124.c8
-rw-r--r--drivers/clk/tegra/clk-tegra20.c8
-rw-r--r--drivers/clk/tegra/clk-tegra30.c8
-rw-r--r--drivers/clocksource/arm_smp_twd.c8
-rw-r--r--drivers/clocksource/bcm2835.c8
-rw-r--r--drivers/clocksource/clps711x.c8
-rw-r--r--drivers/clocksource/digic.c8
-rw-r--r--drivers/clocksource/mvebu.c8
-rw-r--r--drivers/clocksource/nomadik.c8
-rw-r--r--drivers/clocksource/orion.c8
-rw-r--r--drivers/clocksource/uemd.c8
-rw-r--r--drivers/dma/apbh_dma.c8
-rw-r--r--drivers/firmware/socfpga.c15
-rw-r--r--drivers/gpio/gpio-ath79.c8
-rw-r--r--drivers/gpio/gpio-bcm2835.c6
-rw-r--r--drivers/gpio/gpio-clps711x.c22
-rw-r--r--drivers/gpio/gpio-davinci.c8
-rw-r--r--drivers/gpio/gpio-digic.c6
-rw-r--r--drivers/gpio/gpio-dw.c8
-rw-r--r--drivers/gpio/gpio-imx.c6
-rw-r--r--drivers/gpio/gpio-jz4740.c8
-rw-r--r--drivers/gpio/gpio-malta-fpga-i2c.c8
-rw-r--r--drivers/gpio/gpio-omap.c8
-rw-r--r--drivers/gpio/gpio-orion.c8
-rw-r--r--drivers/gpio/gpio-tegra.c8
-rw-r--r--drivers/i2c/busses/i2c-at91.c6
-rw-r--r--drivers/i2c/busses/i2c-designware.c8
-rw-r--r--drivers/i2c/busses/i2c-imx.c8
-rw-r--r--drivers/i2c/busses/i2c-mv64xxx.c8
-rw-r--r--drivers/i2c/busses/i2c-omap.c8
-rw-r--r--drivers/i2c/busses/i2c-tegra.c8
-rw-r--r--drivers/i2c/busses/i2c-versatile.c8
-rw-r--r--drivers/input/imx_keypad.c8
-rw-r--r--drivers/mci/atmel_mci.c8
-rw-r--r--drivers/mci/dw_mmc.c8
-rw-r--r--drivers/mci/imx-esdhc.c8
-rw-r--r--drivers/mci/imx.c8
-rw-r--r--drivers/mci/mci-bcm2835.c8
-rw-r--r--drivers/mci/mxs.c8
-rw-r--r--drivers/mci/omap_hsmmc.c8
-rw-r--r--drivers/mci/pxamci.c8
-rw-r--r--drivers/mci/s3c.c8
-rw-r--r--drivers/mci/tegra-sdmmc.c8
-rw-r--r--drivers/misc/sram.c8
-rw-r--r--drivers/mtd/devices/docg3.c6
-rw-r--r--drivers/mtd/devices/mtdram.c8
-rw-r--r--drivers/mtd/nand/atmel_nand.c32
-rw-r--r--drivers/mtd/nand/nand_denali_dt.c16
-rw-r--r--drivers/mtd/nand/nand_imx.c22
-rw-r--r--drivers/mtd/nand/nand_mrvl_nfc.c6
-rw-r--r--drivers/mtd/nand/nand_mxs.c17
-rw-r--r--drivers/mtd/nand/nand_omap_gpmc.c6
-rw-r--r--drivers/mtd/nand/nand_orion.c8
-rw-r--r--drivers/mtd/nand/nand_s3c24xx.c6
-rw-r--r--drivers/mtd/nor/cfi_flash.c8
-rw-r--r--drivers/mtd/spi-nor/cadence-quadspi.c11
-rw-r--r--drivers/net/altera_tse.c30
-rw-r--r--drivers/net/ar231x.c15
-rw-r--r--drivers/net/arc_emac.c8
-rw-r--r--drivers/net/cpsw.c8
-rw-r--r--drivers/net/cs8900.c6
-rw-r--r--drivers/net/davinci_emac.c24
-rw-r--r--drivers/net/designware.c8
-rw-r--r--drivers/net/dm9k.c15
-rw-r--r--drivers/net/ethoc.c8
-rw-r--r--drivers/net/fec_imx.c6
-rw-r--r--drivers/net/fec_mpc5200.c8
-rw-r--r--drivers/net/ks8851_mll.c16
-rw-r--r--drivers/net/macb.c8
-rw-r--r--drivers/net/smc91111.c8
-rw-r--r--drivers/net/smc911x.c6
-rw-r--r--drivers/net/xgmac.c6
-rw-r--r--drivers/pci/pci-imx6.c8
-rw-r--r--drivers/pinctrl/imx-iomux-v2.c8
-rw-r--r--drivers/pinctrl/imx-iomux-v3.c6
-rw-r--r--drivers/pinctrl/mvebu/armada-370.c8
-rw-r--r--drivers/pinctrl/mvebu/armada-xp.c8
-rw-r--r--drivers/pinctrl/mvebu/dove.c16
-rw-r--r--drivers/pinctrl/mvebu/kirkwood.c8
-rw-r--r--drivers/pinctrl/pinctrl-single.c6
-rw-r--r--drivers/pinctrl/pinctrl-tegra-xusb.c8
-rw-r--r--drivers/pinctrl/pinctrl-tegra20.c8
-rw-r--r--drivers/pinctrl/pinctrl-tegra30.c8
-rw-r--r--drivers/pwm/pwm-imx.c8
-rw-r--r--drivers/pwm/pwm-mxs.c8
-rw-r--r--drivers/pwm/pxa_pwm.c6
-rw-r--r--drivers/rtc/rtc-jz4740.c8
-rw-r--r--drivers/serial/serial_altera.c6
-rw-r--r--drivers/serial/serial_altera_jtag.c6
-rw-r--r--drivers/serial/serial_ar933x.c8
-rw-r--r--drivers/serial/serial_auart.c8
-rw-r--r--drivers/serial/serial_cadence.c8
-rw-r--r--drivers/serial/serial_digic.c6
-rw-r--r--drivers/serial/serial_imx.c6
-rw-r--r--drivers/serial/serial_mpc5xxx.c8
-rw-r--r--drivers/serial/serial_netx.c6
-rw-r--r--drivers/serial/serial_ns16550.c8
-rw-r--r--drivers/serial/serial_pl010.c6
-rw-r--r--drivers/serial/serial_pxa.c6
-rw-r--r--drivers/serial/serial_s3c.c6
-rw-r--r--drivers/serial/stm-serial.c8
-rw-r--r--drivers/spi/altera_spi.c8
-rw-r--r--drivers/spi/ath79_spi.c6
-rw-r--r--drivers/spi/atmel_spi.c6
-rw-r--r--drivers/spi/imx_spi.c6
-rw-r--r--drivers/spi/mvebu_spi.c8
-rw-r--r--drivers/spi/mxs_spi.c8
-rw-r--r--drivers/spi/omap3_spi.c6
-rw-r--r--drivers/usb/gadget/at91_udc.c6
-rw-r--r--drivers/usb/gadget/pxa27x_udc.c8
-rw-r--r--drivers/usb/host/ehci-atmel.c6
-rw-r--r--drivers/usb/host/ehci-hcd.c16
-rw-r--r--drivers/usb/host/ohci-hcd.c8
-rw-r--r--drivers/usb/host/xhci-hcd.c6
-rw-r--r--drivers/usb/imx/chipidea-imx.c8
-rw-r--r--drivers/usb/imx/imx-usb-misc.c8
-rw-r--r--drivers/usb/imx/imx-usb-phy.c8
-rw-r--r--drivers/usb/musb/musb_dsps.c15
-rw-r--r--drivers/usb/musb/phy-am335x-control.c15
-rw-r--r--drivers/usb/musb/phy-am335x.c8
-rw-r--r--drivers/video/atmel_lcdfb_core.c8
-rw-r--r--drivers/video/imx-ipu-fb.c8
-rw-r--r--drivers/video/imx-ipu-v3/imx-hdmi.c8
-rw-r--r--drivers/video/imx-ipu-v3/ipu-common.c8
-rw-r--r--drivers/video/imx.c8
-rw-r--r--drivers/video/pxa.c8
-rw-r--r--drivers/video/s3c24xx.c6
-rw-r--r--drivers/video/stm.c6
-rw-r--r--drivers/watchdog/davinci_wdt.c8
-rw-r--r--drivers/watchdog/im28wd.c8
-rw-r--r--drivers/watchdog/imxwd.c8
-rw-r--r--drivers/watchdog/jz4740.c8
-rw-r--r--drivers/watchdog/omap_wdt.c8
163 files changed, 946 insertions, 480 deletions
diff --git a/arch/arm/mach-at91/sam9_smc.c b/arch/arm/mach-at91/sam9_smc.c
index 6346bb440c..d2b075e3e8 100644
--- a/arch/arm/mach-at91/sam9_smc.c
+++ b/arch/arm/mach-at91/sam9_smc.c
@@ -173,6 +173,7 @@ void sama5_smc_configure(int id, int cs, struct sam9_smc_config *config)
static int at91sam9_smc_probe(struct device_d *dev)
{
+ struct resource *iores;
int id = dev->id;
if (id < 0) {
@@ -182,11 +183,12 @@ static int at91sam9_smc_probe(struct device_d *dev)
return -EIO;
}
- smc_base_addr[id] = dev_request_mem_region(dev, 0);
- if (IS_ERR(smc_base_addr[id])) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
dev_err(dev, "Impossible to request smc.%d\n", id);
- return PTR_ERR(smc_base_addr[id]);
+ return PTR_ERR(iores);
}
+ smc_base_addr[id] = IOMEM(iores->start);
return 0;
}
diff --git a/arch/arm/mach-imx/clk-imx1.c b/arch/arm/mach-imx/clk-imx1.c
index bb1318f3bf..5f600a9da3 100644
--- a/arch/arm/mach-imx/clk-imx1.c
+++ b/arch/arm/mach-imx/clk-imx1.c
@@ -87,11 +87,13 @@ int __init mx1_clocks_init(void __iomem *regs, unsigned long fref)
static int imx1_ccm_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *regs;
- regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(regs))
- return PTR_ERR(regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ regs = IOMEM(iores->start);
mx1_clocks_init(regs, 32000);
diff --git a/arch/arm/mach-imx/clk-imx21.c b/arch/arm/mach-imx/clk-imx21.c
index b48bb8ccd3..546461b8ee 100644
--- a/arch/arm/mach-imx/clk-imx21.c
+++ b/arch/arm/mach-imx/clk-imx21.c
@@ -107,13 +107,15 @@ static const char *spll_sel_clks[] = {
static int imx21_ccm_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *base;
unsigned long lref = 32768;
unsigned long href = 26000000;
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base))
- return PTR_ERR(base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ base = IOMEM(iores->start);
writel(PCCR0_UART1_EN | PCCR0_UART2_EN | PCCR0_UART3_EN | PCCR0_UART4_EN |
PCCR0_CSPI1_EN | PCCR0_CSPI2_EN | PCCR0_SDHC1_EN |
diff --git a/arch/arm/mach-imx/clk-imx25.c b/arch/arm/mach-imx/clk-imx25.c
index 7d10078376..fccea7fafe 100644
--- a/arch/arm/mach-imx/clk-imx25.c
+++ b/arch/arm/mach-imx/clk-imx25.c
@@ -85,11 +85,13 @@ static const char *per_sel_clks[] = {
static int imx25_ccm_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *base;
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base))
- return PTR_ERR(base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ base = IOMEM(iores->start);
writel((1 << 3) | (1 << 4) | (1 << 5) | (1 << 6) | (1 << 8) | (1 << 9) |
(1 << 10) | (1 << 15) | (1 << 19) | (1 << 21) | (1 << 22) |
diff --git a/arch/arm/mach-imx/clk-imx27.c b/arch/arm/mach-imx/clk-imx27.c
index bd1753ab8a..4b63244211 100644
--- a/arch/arm/mach-imx/clk-imx27.c
+++ b/arch/arm/mach-imx/clk-imx27.c
@@ -156,11 +156,13 @@ static const char *clko_sel_clks[] = {
static int imx27_ccm_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *base;
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base))
- return PTR_ERR(base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ base = IOMEM(iores->start);
writel(PCCR0_SDHC3_EN | PCCR0_SDHC2_EN | PCCR0_SDHC1_EN |
PCCR0_PWM_EN | PCCR0_KPP_EN | PCCR0_IIM_EN |
diff --git a/arch/arm/mach-imx/clk-imx31.c b/arch/arm/mach-imx/clk-imx31.c
index eb9bb095e0..8d135c9a1f 100644
--- a/arch/arm/mach-imx/clk-imx31.c
+++ b/arch/arm/mach-imx/clk-imx31.c
@@ -80,11 +80,13 @@ static const char *per_sel[] = {
static int imx31_ccm_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *base;
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base))
- return PTR_ERR(base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ base = IOMEM(iores->start);
writel(0xffffffff, base + CCM_CGR0);
writel(0xffffffff, base + CCM_CGR1);
diff --git a/arch/arm/mach-imx/clk-imx35.c b/arch/arm/mach-imx/clk-imx35.c
index dde23395a1..2433d73cb6 100644
--- a/arch/arm/mach-imx/clk-imx35.c
+++ b/arch/arm/mach-imx/clk-imx35.c
@@ -90,14 +90,16 @@ static const char *ipg_per_sel[] = {
static int imx35_ccm_probe(struct device_d *dev)
{
+ struct resource *iores;
u32 pdr0, consumer_sel, hsp_sel;
struct arm_ahb_div *aad;
unsigned char *hsp_div;
void __iomem *base;
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base))
- return PTR_ERR(base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ base = IOMEM(iores->start);
writel(0xffffffff, base + CCM_CGR0);
writel(0xffffffff, base + CCM_CGR1);
diff --git a/arch/arm/mach-imx/clk-imx5.c b/arch/arm/mach-imx/clk-imx5.c
index 70db31c18e..51a6460c9e 100644
--- a/arch/arm/mach-imx/clk-imx5.c
+++ b/arch/arm/mach-imx/clk-imx5.c
@@ -304,11 +304,13 @@ int __init mx51_clocks_init(struct device_d *dev, void __iomem *regs)
static int imx51_ccm_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *regs;
- regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(regs))
- return PTR_ERR(regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ regs = IOMEM(iores->start);
mx51_clocks_init(dev, regs);
@@ -392,9 +394,13 @@ int __init mx53_clocks_init(struct device_d *dev, void __iomem *regs)
static int imx53_ccm_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *regs;
- regs = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ regs = IOMEM(iores->start);
mx53_clocks_init(dev, regs);
diff --git a/arch/arm/mach-imx/clk-imx6.c b/arch/arm/mach-imx/clk-imx6.c
index 597e502050..068f2690f2 100644
--- a/arch/arm/mach-imx/clk-imx6.c
+++ b/arch/arm/mach-imx/clk-imx6.c
@@ -337,12 +337,14 @@ static void imx6_add_video_clks(void __iomem *anab, void __iomem *cb)
static int imx6_ccm_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *base, *anatop_base, *ccm_base;
anatop_base = (void *)MX6_ANATOP_BASE_ADDR;
- ccm_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(ccm_base))
- return PTR_ERR(ccm_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ ccm_base = IOMEM(iores->start);
base = anatop_base;
diff --git a/arch/arm/mach-imx/clk-imx6sx.c b/arch/arm/mach-imx/clk-imx6sx.c
index e88e240202..d758957d4d 100644
--- a/arch/arm/mach-imx/clk-imx6sx.c
+++ b/arch/arm/mach-imx/clk-imx6sx.c
@@ -118,15 +118,17 @@ static struct clk_div_table video_div_table[] = {
static int imx6sx_ccm_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *base, *anatop_base, *ccm_base;
struct device_node *ccm_node = dev->device_node;
clks[IMX6SX_CLK_DUMMY] = clk_fixed("dummy", 0);
anatop_base = (void *)MX6_ANATOP_BASE_ADDR;
- ccm_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(ccm_base))
- return PTR_ERR(ccm_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ ccm_base = IOMEM(iores->start);
base = anatop_base;
diff --git a/arch/arm/mach-imx/clocksource.c b/arch/arm/mach-imx/clocksource.c
index 8766e39b0e..66dcea4cfb 100644
--- a/arch/arm/mach-imx/clocksource.c
+++ b/arch/arm/mach-imx/clocksource.c
@@ -91,6 +91,7 @@ static struct notifier_block imx_clock_notifier = {
static int imx_gpt_probe(struct device_d *dev)
{
+ struct resource *iores;
int i;
int ret;
unsigned long rate;
@@ -103,9 +104,10 @@ static int imx_gpt_probe(struct device_d *dev)
if (ret)
return ret;
- timer_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(timer_base))
- return PTR_ERR(timer_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ timer_base = IOMEM(iores->start);
/* setup GP Timer 1 */
writel(TCTL_SWR, timer_base + GPT_TCTL);
diff --git a/arch/arm/mach-imx/esdctl.c b/arch/arm/mach-imx/esdctl.c
index 2f9f5e971e..e633b62993 100644
--- a/arch/arm/mach-imx/esdctl.c
+++ b/arch/arm/mach-imx/esdctl.c
@@ -308,6 +308,7 @@ static void imx6_mmdc_add_mem(void *mmdcbase, struct imx_esdctl_data *data)
static int imx_esdctl_probe(struct device_d *dev)
{
+ struct resource *iores;
struct imx_esdctl_data *data;
int ret;
void *base;
@@ -316,9 +317,10 @@ static int imx_esdctl_probe(struct device_d *dev)
if (ret)
return ret;
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base))
- return PTR_ERR(base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ base = IOMEM(iores->start);
if (imx_esdctl_disabled)
return 0;
diff --git a/arch/arm/mach-imx/iim.c b/arch/arm/mach-imx/iim.c
index c16a6c6879..dbd8ccf054 100644
--- a/arch/arm/mach-imx/iim.c
+++ b/arch/arm/mach-imx/iim.c
@@ -389,6 +389,7 @@ static inline void imx_iim_init_dt(struct device_d *dev, struct iim_priv *iim)
static int imx_iim_probe(struct device_d *dev)
{
+ struct resource *iores;
struct iim_priv *iim;
int i, ret;
struct imx_iim_drvdata *drvdata = NULL;
@@ -414,9 +415,10 @@ static int imx_iim_probe(struct device_d *dev)
iim->fuse_supply = ERR_PTR(-ENODEV);
- iim->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(iim->base))
- return PTR_ERR(iim->base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ iim->base = IOMEM(iores->start);
for (i = 0; i < IIM_NUM_BANKS; i++) {
ret = imx_iim_add_bank(iim, i);
diff --git a/arch/arm/mach-imx/ocotp.c b/arch/arm/mach-imx/ocotp.c
index e2f10e12a0..1dc9108a2b 100644
--- a/arch/arm/mach-imx/ocotp.c
+++ b/arch/arm/mach-imx/ocotp.c
@@ -371,6 +371,7 @@ static struct regmap_bus imx_ocotp_regmap_bus = {
static int imx_ocotp_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *base;
struct ocotp_priv *priv;
int ret = 0;
@@ -380,9 +381,10 @@ static int imx_ocotp_probe(struct device_d *dev)
if (ret)
return ret;
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base))
- return PTR_ERR(base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ base = IOMEM(iores->start);
imx_ocotp_init_dt(dev, base);
diff --git a/arch/arm/mach-mxs/ocotp.c b/arch/arm/mach-mxs/ocotp.c
index 00758450cc..72f3e8240b 100644
--- a/arch/arm/mach-mxs/ocotp.c
+++ b/arch/arm/mach-mxs/ocotp.c
@@ -179,12 +179,14 @@ static struct file_operations mxs_ocotp_ops = {
static int mxs_ocotp_probe(struct device_d *dev)
{
+ struct resource *iores;
int err;
struct ocotp_priv *priv = xzalloc(sizeof (*priv));
- priv->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(priv->base))
- return PTR_ERR(priv->base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->base = IOMEM(iores->start);
priv->clk = clk_get(dev, NULL);
if (IS_ERR(priv->clk))
diff --git a/arch/arm/mach-tegra/tegra20-pmc.c b/arch/arm/mach-tegra/tegra20-pmc.c
index 02f0bf7499..f7c7ac918f 100644
--- a/arch/arm/mach-tegra/tegra20-pmc.c
+++ b/arch/arm/mach-tegra/tegra20-pmc.c
@@ -202,11 +202,13 @@ static void tegra20_pmc_detect_reset_cause(void)
static int tegra20_pmc_probe(struct device_d *dev)
{
- pmc_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(pmc_base)) {
+ struct resource *iores;
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
dev_err(dev, "could not get memory region\n");
- return PTR_ERR(pmc_base);
+ return PTR_ERR(iores);
}
+ pmc_base = IOMEM(iores->start);
tegra_powergate_init();
diff --git a/arch/arm/mach-tegra/tegra20-timer.c b/arch/arm/mach-tegra/tegra20-timer.c
index a8e4d7b53d..2ba58bd65e 100644
--- a/arch/arm/mach-tegra/tegra20-timer.c
+++ b/arch/arm/mach-tegra/tegra20-timer.c
@@ -45,17 +45,19 @@ static struct clocksource cs = {
static int tegra20_timer_probe(struct device_d *dev)
{
+ struct resource *iores;
u32 reg;
/* use only one timer */
if (timer_base)
return -EBUSY;
- timer_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(timer_base)) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
dev_err(dev, "could not get memory region\n");
- return PTR_ERR(timer_base);
+ return PTR_ERR(iores);
}
+ timer_base = IOMEM(iores->start);
/*
* calibrate timer to run at 1MHz
diff --git a/arch/arm/mach-zynq/clk-zynq7000.c b/arch/arm/mach-zynq/clk-zynq7000.c
index 2b9260ba1d..cd49d8478f 100644
--- a/arch/arm/mach-zynq/clk-zynq7000.c
+++ b/arch/arm/mach-zynq/clk-zynq7000.c
@@ -359,12 +359,14 @@ static struct clk *zynq_cpu_subclk(const char *name,
static int zynq_clock_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *slcr_base;
unsigned long ps_clk_rate = 33333330;
- slcr_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(slcr_base))
- return PTR_ERR(slcr_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ slcr_base = IOMEM(iores->start);
clks[ps_clk] = clk_fixed("ps_clk", ps_clk_rate);
diff --git a/arch/mips/mach-ar231x/ar231x_reset.c b/arch/mips/mach-ar231x/ar231x_reset.c
index 318f772108..7c322d87b6 100644
--- a/arch/mips/mach-ar231x/ar231x_reset.c
+++ b/arch/mips/mach-ar231x/ar231x_reset.c
@@ -54,11 +54,13 @@ EXPORT_SYMBOL(ar231x_reset_bit);
static int ar231x_reset_probe(struct device_d *dev)
{
- reset_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(reset_base)) {
+ struct resource *iores;
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
dev_err(dev, "could not get memory region\n");
- return PTR_ERR(reset_base);
+ return PTR_ERR(iores);
}
+ reset_base = IOMEM(iores->start);
return 0;
}
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 4e42180d9e..c31b337ba2 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -659,15 +659,17 @@ int ahci_add_host(struct ahci_device *ahci)
static int ahci_probe(struct device_d *dev)
{
+ struct resource *iores;
struct ahci_device *ahci;
void __iomem *regs;
int ret;
ahci = xzalloc(sizeof(*ahci));
- regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(regs))
- return PTR_ERR(regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ regs = IOMEM(iores->start);
ahci->dev = dev;
ahci->mmio_base = regs;
diff --git a/drivers/ata/intf_platform_ide.c b/drivers/ata/intf_platform_ide.c
index d0f7984a2c..6e74bfb089 100644
--- a/drivers/ata/intf_platform_ide.c
+++ b/drivers/ata/intf_platform_ide.c
@@ -80,6 +80,7 @@ static void platform_ide_setup_port(void *reg_base, void *alt_base,
static int platform_ide_probe(struct device_d *dev)
{
+ struct resource *iores;
int rc;
struct ide_port_info *pdata = dev->platform_data;
struct ide_port *ide;
@@ -102,11 +103,17 @@ static int platform_ide_probe(struct device_d *dev)
return -EINVAL;
}
- reg_base = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ reg_base = IOMEM(iores->start);
if (!IS_ERR(reg_base)) {
mmio = 1;
- alt_base = dev_request_mem_region(dev, 1);
+ iores = dev_request_mem_resource(dev, 1);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ alt_base = IOMEM(iores->start);
if (IS_ERR(alt_base))
alt_base = NULL;
} else {
diff --git a/drivers/ata/pata-imx.c b/drivers/ata/pata-imx.c
index d8deba1461..842957331e 100644
--- a/drivers/ata/pata-imx.c
+++ b/drivers/ata/pata-imx.c
@@ -153,6 +153,7 @@ static int pata_imx_detect(struct device_d *dev)
static int imx_pata_probe(struct device_d *dev)
{
+ struct resource *iores;
struct ide_port *ide;
struct clk *clk;
void __iomem *base;
@@ -160,9 +161,10 @@ static int imx_pata_probe(struct device_d *dev)
const char *devname = NULL;
ide = xzalloc(sizeof(*ide));
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base))
- return PTR_ERR(base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ base = IOMEM(iores->start);
clk = clk_get(dev, NULL);
if (IS_ERR(clk)) {
diff --git a/drivers/ata/sata-imx.c b/drivers/ata/sata-imx.c
index 612762e229..6a601956db 100644
--- a/drivers/ata/sata-imx.c
+++ b/drivers/ata/sata-imx.c
@@ -84,6 +84,7 @@ static int imx_sata_init_1ms(struct imx_ahci *imx_ahci)
static int imx_sata_probe(struct device_d *dev)
{
+ struct resource *iores;
struct imx_ahci *imx_ahci;
struct imx_sata_data *data;
int ret;
@@ -100,9 +101,10 @@ static int imx_sata_probe(struct device_d *dev)
goto err_free;
}
- imx_ahci->ahci.mmio_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(imx_ahci->ahci.mmio_base))
- return PTR_ERR(imx_ahci->ahci.mmio_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ imx_ahci->ahci.mmio_base = IOMEM(iores->start);
data->init(imx_ahci);
diff --git a/drivers/bus/imx-weim.c b/drivers/bus/imx-weim.c
index bc090cf191..c62e948f5b 100644
--- a/drivers/bus/imx-weim.c
+++ b/drivers/bus/imx-weim.c
@@ -130,6 +130,7 @@ static int weim_parse_dt(struct imx_weim *weim)
static int weim_probe(struct device_d *dev)
{
+ struct resource *iores;
struct imx_weim_devtype *devtype;
struct imx_weim *weim;
int ret;
@@ -144,11 +145,12 @@ static int weim_probe(struct device_d *dev)
weim->devtype = devtype;
/* get the resource */
- weim->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(weim->base)) {
- ret = PTR_ERR(weim->base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
+ ret = PTR_ERR(iores);
goto weim_err;
}
+ weim->base = IOMEM(iores->start);
/* parse the device node */
ret = weim_parse_dt(weim);
diff --git a/drivers/clk/clk-ar933x.c b/drivers/clk/clk-ar933x.c
index 79b257133c..373f8cc085 100644
--- a/drivers/clk/clk-ar933x.c
+++ b/drivers/clk/clk-ar933x.c
@@ -137,11 +137,13 @@ static void ar933x_pll_init(void __iomem *base)
static int ar933x_clk_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *base;
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base))
- return PTR_ERR(base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ base = IOMEM(iores->start);
ar933x_ref_clk_init(base);
ar933x_pll_init(base);
diff --git a/drivers/clk/mvebu/common.c b/drivers/clk/mvebu/common.c
index 1eded90378..a06b29f4e7 100644
--- a/drivers/clk/mvebu/common.c
+++ b/drivers/clk/mvebu/common.c
@@ -42,6 +42,7 @@ static struct of_device_id mvebu_coreclk_ids[] = {
int mvebu_coreclk_probe(struct device_d *dev)
{
+ struct resource *iores;
struct device_node *np = dev->device_node;
const struct of_device_id *match;
const struct coreclk_soc_desc *desc;
@@ -57,9 +58,10 @@ int mvebu_coreclk_probe(struct device_d *dev)
desc = (const struct coreclk_soc_desc *)match->data;
/* Get SAR base address */
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base))
- return PTR_ERR(base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ base = IOMEM(iores->start);
/* Allocate struct for TCLK, cpu clk, and core ratio clocks */
clk_data.clk_num = 2 + desc->num_ratios;
@@ -151,6 +153,7 @@ static struct of_device_id mvebu_clk_gating_ids[] = {
int mvebu_clk_gating_probe(struct device_d *dev)
{
+ struct resource *iores;
struct device_node *np = dev->device_node;
const struct of_device_id *match;
const struct clk_gating_soc_desc *desc;
@@ -166,9 +169,10 @@ int mvebu_clk_gating_probe(struct device_d *dev)
return -EINVAL;
desc = (const struct clk_gating_soc_desc *)match->data;
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base))
- return PTR_ERR(base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ base = IOMEM(iores->start);
clk = of_clk_get(np, 0);
if (IS_ERR(clk))
diff --git a/drivers/clk/mvebu/corediv.c b/drivers/clk/mvebu/corediv.c
index 55f6e6ad62..87b1f8bd7c 100644
--- a/drivers/clk/mvebu/corediv.c
+++ b/drivers/clk/mvebu/corediv.c
@@ -199,6 +199,7 @@ static struct of_device_id mvebu_corediv_clk_ids[] = {
static int mvebu_corediv_clk_probe(struct device_d *dev)
{
+ struct resource *iores;
struct device_node *np = dev->device_node;
const struct of_device_id *match;
const struct clk_corediv_soc_desc *soc_desc;
@@ -212,9 +213,10 @@ static int mvebu_corediv_clk_probe(struct device_d *dev)
return -EINVAL;
soc_desc = (const struct clk_corediv_soc_desc *)match->data;
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base))
- return PTR_ERR(base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ base = IOMEM(iores->start);
parent = of_clk_get(np, 0);
if (IS_ERR(parent))
diff --git a/drivers/clk/mxs/clk-imx23.c b/drivers/clk/mxs/clk-imx23.c
index 8bf27c1c07..e28dae12f1 100644
--- a/drivers/clk/mxs/clk-imx23.c
+++ b/drivers/clk/mxs/clk-imx23.c
@@ -126,11 +126,13 @@ int __init mx23_clocks_init(void __iomem *regs)
static int imx23_ccm_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *regs;
- regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(regs))
- return PTR_ERR(regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ regs = IOMEM(iores->start);
mx23_clocks_init(regs);
diff --git a/drivers/clk/mxs/clk-imx28.c b/drivers/clk/mxs/clk-imx28.c
index a408044264..ffe03c8668 100644
--- a/drivers/clk/mxs/clk-imx28.c
+++ b/drivers/clk/mxs/clk-imx28.c
@@ -167,11 +167,13 @@ int __init mx28_clocks_init(void __iomem *regs)
static int imx28_ccm_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *regs;
- regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(regs))
- return PTR_ERR(regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ regs = IOMEM(iores->start);
mx28_clocks_init(regs);
diff --git a/drivers/clk/socfpga.c b/drivers/clk/socfpga.c
index 5952efb336..37ed038be8 100644
--- a/drivers/clk/socfpga.c
+++ b/drivers/clk/socfpga.c
@@ -374,12 +374,14 @@ static void socfpga_register_clocks(struct device_d *dev, struct device_node *no
static int socfpga_ccm_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *regs;
struct device_node *clknode;
- regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(regs))
- return PTR_ERR(regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ regs = IOMEM(iores->start);
clk_mgr_base_addr = regs;
diff --git a/drivers/clk/tegra/clk-tegra124.c b/drivers/clk/tegra/clk-tegra124.c
index 7a2f7c081f..cec7b5f803 100644
--- a/drivers/clk/tegra/clk-tegra124.c
+++ b/drivers/clk/tegra/clk-tegra124.c
@@ -335,9 +335,11 @@ static struct tegra_clk_init_table init_table[] = {
static int tegra124_car_probe(struct device_d *dev)
{
- car_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(car_base))
- return PTR_ERR(car_base);
+ struct resource *iores;
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ car_base = IOMEM(iores->start);
tegra124_osc_clk_init();
tegra124_pll_init();
diff --git a/drivers/clk/tegra/clk-tegra20.c b/drivers/clk/tegra/clk-tegra20.c
index 2ff42d8bdb..2f843bb9ac 100644
--- a/drivers/clk/tegra/clk-tegra20.c
+++ b/drivers/clk/tegra/clk-tegra20.c
@@ -338,9 +338,11 @@ static struct tegra_clk_init_table init_table[] = {
static int tegra20_car_probe(struct device_d *dev)
{
- car_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(car_base))
- return PTR_ERR(car_base);
+ struct resource *iores;
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ car_base = IOMEM(iores->start);
tegra20_osc_clk_init();
tegra20_pll_init();
diff --git a/drivers/clk/tegra/clk-tegra30.c b/drivers/clk/tegra/clk-tegra30.c
index 46fd6dddea..77f31d213e 100644
--- a/drivers/clk/tegra/clk-tegra30.c
+++ b/drivers/clk/tegra/clk-tegra30.c
@@ -366,9 +366,11 @@ static struct tegra_clk_init_table init_table[] = {
static int tegra30_car_probe(struct device_d *dev)
{
- car_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(car_base))
- return PTR_ERR(car_base);
+ struct resource *iores;
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ car_base = IOMEM(iores->start);
tegra30_osc_clk_init();
tegra30_pll_init();
diff --git a/drivers/clocksource/arm_smp_twd.c b/drivers/clocksource/arm_smp_twd.c
index c0296cdfd8..226150aa42 100644
--- a/drivers/clocksource/arm_smp_twd.c
+++ b/drivers/clocksource/arm_smp_twd.c
@@ -42,6 +42,7 @@ static struct clocksource smp_twd_clksrc = {
static int smp_twd_probe(struct device_d *dev)
{
+ struct resource *iores;
u32 tick_rate;
u32 val;
int ret;
@@ -61,9 +62,10 @@ static int smp_twd_probe(struct device_d *dev)
return ret;
}
- twd_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(twd_base))
- return PTR_ERR(twd_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ twd_base = IOMEM(iores->start);
tick_rate = clk_get_rate(twd_clk);
if (tick_rate > SMP_TWD_MAX_FREQ) {
diff --git a/drivers/clocksource/bcm2835.c b/drivers/clocksource/bcm2835.c
index 0cb8e57993..b5831d5f10 100644
--- a/drivers/clocksource/bcm2835.c
+++ b/drivers/clocksource/bcm2835.c
@@ -42,6 +42,7 @@ static struct clocksource bcm2835_stc = {
static int bcm2835_cs_probe(struct device_d *dev)
{
+ struct resource *iores;
static struct clk *stc_clk;
u32 rate;
int ret;
@@ -61,9 +62,10 @@ static int bcm2835_cs_probe(struct device_d *dev)
}
rate = clk_get_rate(stc_clk);
- stc_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(stc_base))
- return PTR_ERR(stc_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ stc_base = IOMEM(iores->start);
clocks_calc_mult_shift(&bcm2835_stc.mult, &bcm2835_stc.shift, rate, NSEC_PER_SEC, 60);
diff --git a/drivers/clocksource/clps711x.c b/drivers/clocksource/clps711x.c
index a49853f2b5..f6399e9300 100644
--- a/drivers/clocksource/clps711x.c
+++ b/drivers/clocksource/clps711x.c
@@ -29,6 +29,7 @@ static struct clocksource clps711x_cs = {
static int clps711x_cs_probe(struct device_d *dev)
{
+ struct resource *iores;
u32 rate;
struct clk *timer_clk;
@@ -37,11 +38,12 @@ static int clps711x_cs_probe(struct device_d *dev)
return PTR_ERR(timer_clk);
rate = clk_get_rate(timer_clk);
- clps711x_timer_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(clps711x_timer_base)) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
clk_put(timer_clk);
- return PTR_ERR(clps711x_timer_base);
+ return PTR_ERR(iores);
}
+ clps711x_timer_base = IOMEM(iores->start);
clocks_calc_mult_shift(&clps711x_cs.mult, &clps711x_cs.shift, rate,
NSEC_PER_SEC, 10);
diff --git a/drivers/clocksource/digic.c b/drivers/clocksource/digic.c
index 277bb02b63..1ecd839160 100644
--- a/drivers/clocksource/digic.c
+++ b/drivers/clocksource/digic.c
@@ -40,15 +40,17 @@ static struct clocksource digic_cs = {
static int digic_timer_probe(struct device_d *dev)
{
+ struct resource *iores;
/* use only one timer */
if (timer_base)
return -EBUSY;
- timer_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(timer_base)) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
dev_err(dev, "could not get memory region\n");
- return PTR_ERR(timer_base);
+ return PTR_ERR(iores);
}
+ timer_base = IOMEM(iores->start);
clocks_calc_mult_shift(&digic_cs.mult, &digic_cs.shift,
DIGIC_TIMER_CLOCK, NSEC_PER_SEC, 1);
diff --git a/drivers/clocksource/mvebu.c b/drivers/clocksource/mvebu.c
index 88db0b06c3..cf80571263 100644
--- a/drivers/clocksource/mvebu.c
+++ b/drivers/clocksource/mvebu.c
@@ -56,12 +56,14 @@ static struct clocksource cs = {
static int mvebu_timer_probe(struct device_d *dev)
{
+ struct resource *iores;
struct clk *clk;
u32 rate, div, val;
- timer_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(timer_base))
- return PTR_ERR(timer_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ timer_base = IOMEM(iores->start);
val = __raw_readl(timer_base + TIMER_CTRL_OFF);
val &= ~(TIMER0_25MHZ | TIMER0_DIV_MASK);
diff --git a/drivers/clocksource/nomadik.c b/drivers/clocksource/nomadik.c
index 48f4715c8f..9b20cbc946 100644
--- a/drivers/clocksource/nomadik.c
+++ b/drivers/clocksource/nomadik.c
@@ -94,6 +94,7 @@ static void nmdk_timer_reset(void)
static int nmdk_mtu_probe(struct device_d *dev)
{
+ struct resource *iores;
static struct clk *mtu_clk;
u32 rate;
int ret;
@@ -123,9 +124,10 @@ static int nmdk_mtu_probe(struct device_d *dev)
nmdk_cycle = (rate + 1000 / 2) / 1000;
/* Save global pointer to mtu, used by functions above */
- mtu_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(mtu_base))
- return PTR_ERR(mtu_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ mtu_base = IOMEM(iores->start);
/* Init the timer and register clocksource */
nmdk_timer_reset();
diff --git a/drivers/clocksource/orion.c b/drivers/clocksource/orion.c
index 2e40b49ee7..97008dabab 100644
--- a/drivers/clocksource/orion.c
+++ b/drivers/clocksource/orion.c
@@ -45,12 +45,14 @@ static struct clocksource clksrc = {
static int orion_timer_probe(struct device_d *dev)
{
+ struct resource *iores;
struct clk *tclk;
uint32_t val;
- timer_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(timer_base))
- return PTR_ERR(timer_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ timer_base = IOMEM(iores->start);
tclk = clk_get(dev, NULL);
diff --git a/drivers/clocksource/uemd.c b/drivers/clocksource/uemd.c
index d4291dd736..b80908f3b0 100644
--- a/drivers/clocksource/uemd.c
+++ b/drivers/clocksource/uemd.c
@@ -66,6 +66,7 @@ static struct clocksource uemd_cs = {
static int uemd_timer_probe(struct device_d *dev)
{
+ struct resource *iores;
int mode;
struct clk *timer_clk;
@@ -73,11 +74,12 @@ static int uemd_timer_probe(struct device_d *dev)
if (timer_base)
return -EBUSY;
- timer_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(timer_base)) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
dev_err(dev, "could not get memory region\n");
- return PTR_ERR(timer_base);
+ return PTR_ERR(iores);
}
+ timer_base = IOMEM(iores->start);
timer_clk = clk_get(dev, NULL);
if (IS_ERR(timer_clk)) {
diff --git a/drivers/dma/apbh_dma.c b/drivers/dma/apbh_dma.c
index bd0017b6c1..64f4326514 100644
--- a/drivers/dma/apbh_dma.c
+++ b/drivers/dma/apbh_dma.c
@@ -588,6 +588,7 @@ int mxs_dma_go(int chan)
*/
static int apbh_dma_probe(struct device_d *dev)
{
+ struct resource *iores;
struct apbh_dma *apbh;
struct mxs_dma_chan *pchan;
enum mxs_dma_id id;
@@ -598,9 +599,10 @@ static int apbh_dma_probe(struct device_d *dev)
return ret;
apbh_dma = apbh = xzalloc(sizeof(*apbh));
- apbh->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(apbh->regs))
- return PTR_ERR(apbh->regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ apbh->regs = IOMEM(iores->start);
apbh->id = id;
diff --git a/drivers/firmware/socfpga.c b/drivers/firmware/socfpga.c
index 79c63eb77c..a0cd2011cb 100644
--- a/drivers/firmware/socfpga.c
+++ b/drivers/firmware/socfpga.c
@@ -395,6 +395,7 @@ static int programmed_get(struct param_d *p, void *priv)
static int fpgamgr_probe(struct device_d *dev)
{
+ struct resource *iores;
struct fpgamgr *mgr;
struct firmware_handler *fh;
const char *alias = of_alias_get(dev->device_node);
@@ -407,17 +408,19 @@ static int fpgamgr_probe(struct device_d *dev)
mgr = xzalloc(sizeof(*mgr));
fh = &mgr->fh;
- mgr->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(mgr->regs)) {
- ret = PTR_ERR(mgr->regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
+ ret = PTR_ERR(iores);
goto out;
}
+ mgr->regs = IOMEM(iores->start);
- mgr->regs_data = dev_request_mem_region(dev, 1);
- if (IS_ERR(mgr->regs_data)) {
- ret = PTR_ERR(mgr->regs_data);
+ iores = dev_request_mem_resource(dev, 1);
+ if (IS_ERR(iores)) {
+ ret = PTR_ERR(iores);
goto out;
}
+ mgr->regs_data = IOMEM(iores->start);
if (alias)
fh->id = xstrdup(alias);
diff --git a/drivers/gpio/gpio-ath79.c b/drivers/gpio/gpio-ath79.c
index a1e42c417d..d08d743b54 100644
--- a/drivers/gpio/gpio-ath79.c
+++ b/drivers/gpio/gpio-ath79.c
@@ -107,6 +107,7 @@ static const struct of_device_id ath79_gpio_of_match[] = {
static int ath79_gpio_probe(struct device_d *dev)
{
+ struct resource *iores;
struct device_node *np = dev->device_node;
int err;
@@ -125,11 +126,12 @@ static int ath79_gpio_probe(struct device_d *dev)
return -EINVAL;
}
- ath79_gpio_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(ath79_gpio_base)) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
dev_err(dev, "could not get memory region\n");
- return PTR_ERR(ath79_gpio_base);
+ return PTR_ERR(iores);
}
+ ath79_gpio_base = IOMEM(iores->start);
ath79_gpio_chip.dev = dev;
ath79_gpio_chip.ngpio = ath79_gpio_count;
diff --git a/drivers/gpio/gpio-bcm2835.c b/drivers/gpio/gpio-bcm2835.c
index cec15c98b1..1802ab7ccb 100644
--- a/drivers/gpio/gpio-bcm2835.c
+++ b/drivers/gpio/gpio-bcm2835.c
@@ -112,11 +112,15 @@ static struct gpio_ops bcm2835_gpio_ops = {
static int bcm2835_gpio_probe(struct device_d *dev)
{
+ struct resource *iores;
struct bcm2835_gpio_chip *bcmgpio;
int ret;
bcmgpio = xzalloc(sizeof(*bcmgpio));
- bcmgpio->base = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ bcmgpio->base = IOMEM(iores->start);
bcmgpio->chip.ops = &bcm2835_gpio_ops;
bcmgpio->chip.base = 0;
bcmgpio->chip.ngpio = 54;
diff --git a/drivers/gpio/gpio-clps711x.c b/drivers/gpio/gpio-clps711x.c
index 43268b6bbf..d71c606690 100644
--- a/drivers/gpio/gpio-clps711x.c
+++ b/drivers/gpio/gpio-clps711x.c
@@ -15,6 +15,7 @@
static int clps711x_gpio_probe(struct device_d *dev)
{
+ struct resource *iores;
int err, id = dev->id;
void __iomem *dat, *dir = NULL, *dir_inv = NULL;
struct bgpio_chip *bgc;
@@ -25,20 +26,23 @@ static int clps711x_gpio_probe(struct device_d *dev)
if (id < 0 || id > 4)
return -ENODEV;
- dat = dev_request_mem_region(dev, 0);
- if (IS_ERR(dat))
- return PTR_ERR(dat);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ dat = IOMEM(iores->start);
switch (id) {
case 3:
- dir_inv = dev_request_mem_region(dev, 1);
- if (IS_ERR(dir_inv))
- return PTR_ERR(dir_inv);
+ iores = dev_request_mem_resource(dev, 1);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ dir_inv = IOMEM(iores->start);
break;
default:
- dir = dev_request_mem_region(dev, 1);
- if (IS_ERR(dir))
- return PTR_ERR(dir);
+ iores = dev_request_mem_resource(dev, 1);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ dir = IOMEM(iores->start);
break;
}
diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c
index 61c6e7e68c..7c060a09b1 100644
--- a/drivers/gpio/gpio-davinci.c
+++ b/drivers/gpio/gpio-davinci.c
@@ -142,6 +142,7 @@ static struct gpio_ops davinci_gpio_ops = {
static int davinci_gpio_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *gpio_base;
int ret;
u32 val;
@@ -162,11 +163,12 @@ static int davinci_gpio_probe(struct device_d *dev)
chips = xzalloc((ngpio / 32 + 1) * sizeof(*chips));
- gpio_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(gpio_base)) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
dev_err(dev, "could not get memory region\n");
- return PTR_ERR(gpio_base);
+ return PTR_ERR(iores);
}
+ gpio_base = IOMEM(iores->start);
for (i = 0, base = 0; base < ngpio; i++, base += 32) {
struct davinci_gpio_regs __iomem *regs;
diff --git a/drivers/gpio/gpio-digic.c b/drivers/gpio/gpio-digic.c
index 468aaa79ab..714e3b4a1d 100644
--- a/drivers/gpio/gpio-digic.c
+++ b/drivers/gpio/gpio-digic.c
@@ -122,6 +122,7 @@ static struct gpio_ops digic_gpio_ops = {
static int digic_gpio_probe(struct device_d *dev)
{
+ struct resource *iores;
struct digic_gpio_chip *chip;
struct resource *res;
resource_size_t rsize;
@@ -136,7 +137,10 @@ static int digic_gpio_probe(struct device_d *dev)
rsize = resource_size(res);
chip->gc.ngpio = rsize / sizeof(int32_t);
- chip->base = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ chip->base = IOMEM(iores->start);
chip->gc.ops = &digic_gpio_ops;
chip->gc.base = 0;
diff --git a/drivers/gpio/gpio-dw.c b/drivers/gpio/gpio-dw.c
index 258e43b84e..f145c01232 100644
--- a/drivers/gpio/gpio-dw.c
+++ b/drivers/gpio/gpio-dw.c
@@ -164,14 +164,16 @@ static int dw_gpio_add_port(struct device_d *dev, struct device_node *node,
static int dw_gpio_probe(struct device_d *dev)
{
+ struct resource *iores;
struct dw_gpio *gpio;
struct device_node *node;
gpio = xzalloc(sizeof(*gpio));
- gpio->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(gpio->regs))
- return PTR_ERR(gpio->regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ gpio->regs = IOMEM(iores->start);
for_each_child_of_node(dev->device_node, node)
dw_gpio_add_port(dev, node, gpio);
diff --git a/drivers/gpio/gpio-imx.c b/drivers/gpio/gpio-imx.c
index 6311db22fe..bfb0119c84 100644
--- a/drivers/gpio/gpio-imx.c
+++ b/drivers/gpio/gpio-imx.c
@@ -132,6 +132,7 @@ static struct gpio_ops imx_gpio_ops = {
static int imx_gpio_probe(struct device_d *dev)
{
+ struct resource *iores;
struct imx_gpio_chip *imxgpio;
struct imx_gpio_regs *regs;
int ret;
@@ -141,7 +142,10 @@ static int imx_gpio_probe(struct device_d *dev)
return ret;
imxgpio = xzalloc(sizeof(*imxgpio));
- imxgpio->base = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ imxgpio->base = IOMEM(iores->start);
imxgpio->chip.ops = &imx_gpio_ops;
if (dev->id < 0) {
imxgpio->chip.base = of_alias_get_id(dev->device_node, "gpio");
diff --git a/drivers/gpio/gpio-jz4740.c b/drivers/gpio/gpio-jz4740.c
index f7e6781dc1..87e0716b06 100644
--- a/drivers/gpio/gpio-jz4740.c
+++ b/drivers/gpio/gpio-jz4740.c
@@ -90,15 +90,17 @@ static struct gpio_ops jz4740_gpio_ops = {
static int jz4740_gpio_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *base;
struct jz4740_gpio_chip *jz4740_gpio;
int ret;
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base)) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
dev_err(dev, "could not get memory region\n");
- return PTR_ERR(base);
+ return PTR_ERR(iores);
}
+ base = IOMEM(iores->start);
jz4740_gpio = xzalloc(sizeof(*jz4740_gpio));
jz4740_gpio->base = base;
diff --git a/drivers/gpio/gpio-malta-fpga-i2c.c b/drivers/gpio/gpio-malta-fpga-i2c.c
index ff77b8c7ef..0188e51af2 100644
--- a/drivers/gpio/gpio-malta-fpga-i2c.c
+++ b/drivers/gpio/gpio-malta-fpga-i2c.c
@@ -133,15 +133,17 @@ static struct gpio_ops malta_i2c_gpio_ops = {
static int malta_i2c_gpio_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *gpio_base;
struct malta_i2c_gpio *sc;
int ret;
- gpio_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(gpio_base)) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
dev_err(dev, "could not get memory region\n");
- return PTR_ERR(gpio_base);
+ return PTR_ERR(iores);
}
+ gpio_base = IOMEM(iores->start);
sc = xzalloc(sizeof(*sc));
sc->base = gpio_base;
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index 43449df45b..b00766a6aa 100644
--- a/drivers/gpio/gpio-omap.c
+++ b/drivers/gpio/gpio-omap.c
@@ -141,15 +141,17 @@ static struct gpio_ops omap_gpio_ops = {
static int omap_gpio_probe(struct device_d *dev)
{
+ struct resource *iores;
struct omap_gpio_chip *omapgpio;
struct omap_gpio_drvdata *drvdata = NULL;
dev_get_drvdata(dev, (const void **)&drvdata);
omapgpio = xzalloc(sizeof(*omapgpio));
- omapgpio->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(omapgpio->base))
- return PTR_ERR(omapgpio->base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ omapgpio->base = IOMEM(iores->start);
if (drvdata)
omapgpio->base += drvdata->regofs;
diff --git a/drivers/gpio/gpio-orion.c b/drivers/gpio/gpio-orion.c
index 5348395d58..63ef966edf 100644
--- a/drivers/gpio/gpio-orion.c
+++ b/drivers/gpio/gpio-orion.c
@@ -89,6 +89,7 @@ static struct gpio_ops orion_gpio_ops = {
static int orion_gpio_probe(struct device_d *dev)
{
+ struct resource *iores;
struct orion_gpio_chip *gpio;
dev->id = of_alias_get_id(dev->device_node, "gpio");
@@ -96,11 +97,12 @@ static int orion_gpio_probe(struct device_d *dev)
return dev->id;
gpio = xzalloc(sizeof(*gpio));
- gpio->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(gpio->regs)) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
free(gpio);
- return PTR_ERR(gpio->regs);
+ return PTR_ERR(iores);
}
+ gpio->regs = IOMEM(iores->start);
gpio->chip.dev = dev;
gpio->chip.ops = &orion_gpio_ops;
gpio->chip.base = dev->id * 32;
diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c
index e2cc3f4a8c..56808b57e4 100644
--- a/drivers/gpio/gpio-tegra.c
+++ b/drivers/gpio/gpio-tegra.c
@@ -140,6 +140,7 @@ static struct gpio_chip tegra_gpio_chip = {
static int tegra_gpio_probe(struct device_d *dev)
{
+ struct resource *iores;
int i, j, ret;
ret = dev_get_drvdata(dev, (const void **)&config);
@@ -148,11 +149,12 @@ static int tegra_gpio_probe(struct device_d *dev)
return ret;
}
- gpio_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(gpio_base)) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
dev_err(dev, "could not get memory region\n");
- return PTR_ERR(gpio_base);
+ return PTR_ERR(iores);
}
+ gpio_base = IOMEM(iores->start);
for (i = 0; i < config->bank_count; i++) {
for (j = 0; j < 4; j++) {
diff --git a/drivers/i2c/busses/i2c-at91.c b/drivers/i2c/busses/i2c-at91.c
index 6db724334e..76bb51bf30 100644
--- a/drivers/i2c/busses/i2c-at91.c
+++ b/drivers/i2c/busses/i2c-at91.c
@@ -410,6 +410,7 @@ static struct of_device_id at91_twi_dt_ids[] = {
static int at91_twi_probe(struct device_d *dev)
{
+ struct resource *iores;
struct at91_twi_dev *i2c_at91;
struct at91_twi_pdata *i2c_data;
int rc = 0;
@@ -425,7 +426,10 @@ static int at91_twi_probe(struct device_d *dev)
i2c_at91->pdata = i2c_data;
- i2c_at91->base = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ i2c_at91->base = IOMEM(iores->start);
if (IS_ERR(i2c_at91->base)) {
dev_err(dev, "could not get memory region\n");
rc = PTR_ERR(i2c_at91->base);
diff --git a/drivers/i2c/busses/i2c-designware.c b/drivers/i2c/busses/i2c-designware.c
index a51439f2d5..0b022afd30 100644
--- a/drivers/i2c/busses/i2c-designware.c
+++ b/drivers/i2c/busses/i2c-designware.c
@@ -472,6 +472,7 @@ static int i2c_dw_xfer(struct i2c_adapter *adapter,
static int i2c_dw_probe(struct device_d *pdev)
{
+ struct resource *iores;
struct dw_i2c_dev *dw;
struct i2c_platform_data *pdata;
int ret, bitrate;
@@ -494,11 +495,12 @@ static int i2c_dw_probe(struct device_d *pdev)
dw->adapter.dev.parent = pdev;
dw->adapter.dev.device_node = pdev->device_node;
- dw->base = dev_request_mem_region(pdev, 0);
- if (IS_ERR(dw->base)) {
- ret = PTR_ERR(dw->base);
+ iores = dev_request_mem_resource(pdev, 0);
+ if (IS_ERR(iores)) {
+ ret = PTR_ERR(iores);
goto fail;
}
+ dw->base = IOMEM(iores->start);
ic_comp_type_value = readl(dw->base + DW_IC_COMP_TYPE);
if (ic_comp_type_value != DW_IC_COMP_TYPE_VALUE) {
diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c
index affc277164..e407896394 100644
--- a/drivers/i2c/busses/i2c-imx.c
+++ b/drivers/i2c/busses/i2c-imx.c
@@ -584,6 +584,7 @@ static void i2c_fsl_init_recovery(struct fsl_i2c_struct *i2c_fsl, struct device_
static int __init i2c_fsl_probe(struct device_d *pdev)
{
+ struct resource *iores;
struct fsl_i2c_struct *i2c_fsl;
struct i2c_platform_data *pdata;
int ret;
@@ -604,11 +605,12 @@ static int __init i2c_fsl_probe(struct device_d *pdev)
i2c_fsl->adapter.nr = pdev->id;
i2c_fsl->adapter.dev.parent = pdev;
i2c_fsl->adapter.dev.device_node = pdev->device_node;
- i2c_fsl->base = dev_request_mem_region(pdev, 0);
- if (IS_ERR(i2c_fsl->base)) {
- ret = PTR_ERR(i2c_fsl->base);
+ iores = dev_request_mem_resource(pdev, 0);
+ if (IS_ERR(iores)) {
+ ret = PTR_ERR(iores);
goto fail;
}
+ i2c_fsl->base = IOMEM(iores->start);
i2c_fsl_init_recovery(i2c_fsl, pdev);
diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c
index 0c38e64145..9b9e6c953f 100644
--- a/drivers/i2c/busses/i2c-mv64xxx.c
+++ b/drivers/i2c/busses/i2c-mv64xxx.c
@@ -595,6 +595,7 @@ out:
static int
mv64xxx_i2c_probe(struct device_d *pd)
{
+ struct resource *iores;
struct mv64xxx_i2c_data *drv_data;
int rc;
@@ -603,9 +604,10 @@ mv64xxx_i2c_probe(struct device_d *pd)
drv_data = xzalloc(sizeof(*drv_data));
- drv_data->reg_base = dev_request_mem_region(pd, 0);
- if (IS_ERR(drv_data->reg_base))
- return PTR_ERR(drv_data->reg_base);
+ iores = dev_request_mem_resource(pd, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ drv_data->reg_base = IOMEM(iores->start);
drv_data->clk = clk_get(pd, NULL);
if (IS_ERR(drv_data->clk))
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 48c55daeda..bdb34ca1b4 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -1070,6 +1070,7 @@ static struct i2c_bus_recovery_info omap_i2c_bus_recovery_info = {
static int __init
i2c_omap_probe(struct device_d *pdev)
{
+ struct resource *iores;
struct omap_i2c_struct *i2c_omap;
struct omap_i2c_driver_data *i2c_data;
int r;
@@ -1109,9 +1110,10 @@ i2c_omap_probe(struct device_d *pdev)
speed = 100; /* Default speed */
i2c_omap->speed = speed;
- i2c_omap->base = dev_request_mem_region(pdev, 0);
- if (IS_ERR(i2c_omap->base))
- return PTR_ERR(i2c_omap->base);
+ iores = dev_request_mem_resource(pdev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ i2c_omap->base = IOMEM(iores->start);
/*
* Read the Rev hi bit-[15:14] ie scheme this is 1 indicates ver2.
diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
index a6c6596f63..d56c0def65 100644
--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -605,16 +605,18 @@ static const struct tegra_i2c_hw_feature tegra114_i2c_hw = {
static int tegra_i2c_probe(struct device_d *dev)
{
+ struct resource *iores;
struct tegra_i2c_dev *i2c_dev;
struct clk *div_clk, *fast_clk;
void __iomem *base;
int ret = 0;
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base)) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
dev_err(dev, "could not get iomem region\n");
- return PTR_ERR(base);
+ return PTR_ERR(iores);
}
+ base = IOMEM(iores->start);
div_clk = clk_get(dev, "div-clk");
if (IS_ERR(div_clk)) {
diff --git a/drivers/i2c/busses/i2c-versatile.c b/drivers/i2c/busses/i2c-versatile.c
index bfabc78312..6a00c2a2eb 100644
--- a/drivers/i2c/busses/i2c-versatile.c
+++ b/drivers/i2c/busses/i2c-versatile.c
@@ -66,6 +66,7 @@ static struct i2c_algo_bit_data i2c_versatile_algo = {
static int i2c_versatile_probe(struct device_d *dev)
{
+ struct resource *iores;
struct i2c_versatile *i2c;
int ret;
@@ -75,11 +76,12 @@ static int i2c_versatile_probe(struct device_d *dev)
goto err_release;
}
- i2c->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(i2c->base)) {
- ret = PTR_ERR(i2c->base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
+ ret = PTR_ERR(iores);
goto err_free;
}
+ i2c->base = IOMEM(iores->start);
writel(SCL | SDA, i2c->base + I2C_CONTROLS);
diff --git a/drivers/input/imx_keypad.c b/drivers/input/imx_keypad.c
index 000e17626b..44ff9b7856 100644
--- a/drivers/input/imx_keypad.c
+++ b/drivers/input/imx_keypad.c
@@ -364,6 +364,7 @@ static void imx_keypad_inhibit(struct imx_keypad *keypad)
static int __init imx_keypad_probe(struct device_d *dev)
{
+ struct resource *iores;
struct imx_keypad *keypad;
const struct matrix_keymap_data *keymap_data = dev->platform_data;
int i, ret, row, col;
@@ -371,9 +372,10 @@ static int __init imx_keypad_probe(struct device_d *dev)
keypad = xzalloc(sizeof(struct imx_keypad));
keypad->dev = dev;
- keypad->mmio_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(keypad->mmio_base))
- return PTR_ERR(keypad->mmio_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ keypad->mmio_base = IOMEM(iores->start);
ret = matrix_keypad_build_keymap(dev, keymap_data, MATRIX_ROW_SHIFT,
keypad->keycodes);
diff --git a/drivers/mci/atmel_mci.c b/drivers/mci/atmel_mci.c
index 10e769ea13..2a0ddb052b 100644
--- a/drivers/mci/atmel_mci.c
+++ b/drivers/mci/atmel_mci.c
@@ -533,6 +533,7 @@ static void atmci_get_cap(struct atmel_mci *host)
static int atmci_probe(struct device_d *hw_dev)
{
+ struct resource *iores;
struct atmel_mci *host;
struct atmel_mci_platform_data *pd = hw_dev->platform_data;
int ret;
@@ -572,9 +573,10 @@ static int atmci_probe(struct device_d *hw_dev)
host->mci.host_caps |= MMC_CAP_8_BIT_DATA;
host->slot_b = pd->slot_b;
- host->regs = dev_request_mem_region(hw_dev, 0);
- if (IS_ERR(host->regs))
- return PTR_ERR(host->regs);
+ iores = dev_request_mem_resource(hw_dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ host->regs = IOMEM(iores->start);
host->hw_dev = hw_dev;
hw_dev->priv = host;
host->clk = clk_get(hw_dev, "mci_clk");
diff --git a/drivers/mci/dw_mmc.c b/drivers/mci/dw_mmc.c
index cbd3f00646..0e004abe31 100644
--- a/drivers/mci/dw_mmc.c
+++ b/drivers/mci/dw_mmc.c
@@ -675,6 +675,7 @@ static int dw_mmc_detect(struct device_d *dev)
static int dw_mmc_probe(struct device_d *dev)
{
+ struct resource *iores;
struct dwmci_host *host;
struct dw_mmc_platform_data *pdata = dev->platform_data;
@@ -692,9 +693,10 @@ static int dw_mmc_probe(struct device_d *dev)
clk_enable(host->clk_ciu);
host->dev = dev;
- host->ioaddr = dev_request_mem_region(dev, 0);
- if (IS_ERR(host->ioaddr))
- return PTR_ERR(host->ioaddr);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ host->ioaddr = IOMEM(iores->start);
host->idmac = dma_alloc_coherent(sizeof(*host->idmac) * DW_MMC_NUM_IDMACS,
DMA_ADDRESS_BROKEN);
diff --git a/drivers/mci/imx-esdhc.c b/drivers/mci/imx-esdhc.c
index 6caf165616..282887ba78 100644
--- a/drivers/mci/imx-esdhc.c
+++ b/drivers/mci/imx-esdhc.c
@@ -545,6 +545,7 @@ static int fsl_esdhc_detect(struct device_d *dev)
static int fsl_esdhc_probe(struct device_d *dev)
{
+ struct resource *iores;
struct fsl_esdhc_host *host;
struct mci_host *mci;
u32 caps;
@@ -560,9 +561,10 @@ static int fsl_esdhc_probe(struct device_d *dev)
return PTR_ERR(host->clk);
host->dev = dev;
- host->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(host->regs))
- return PTR_ERR(host->regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ host->regs = IOMEM(iores->start);
/* First reset the eSDHC controller */
ret = esdhc_reset(host);
diff --git a/drivers/mci/imx.c b/drivers/mci/imx.c
index 9c8c1b1e27..2788fb9d9d 100644
--- a/drivers/mci/imx.c
+++ b/drivers/mci/imx.c
@@ -492,6 +492,7 @@ static int mxcmci_init(struct mci_host *mci, struct device_d *dev)
static int mxcmci_probe(struct device_d *dev)
{
+ struct resource *iores;
struct mxcmci_host *host;
unsigned long rate;
@@ -507,9 +508,10 @@ static int mxcmci_probe(struct device_d *dev)
host->mci.host_caps = MMC_CAP_4_BIT_DATA;
host->mci.hw_dev = dev;
- host->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(host->base))
- return PTR_ERR(host->base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ host->base = IOMEM(iores->start);
host->mci.voltages = MMC_VDD_32_33 | MMC_VDD_33_34;
diff --git a/drivers/mci/mci-bcm2835.c b/drivers/mci/mci-bcm2835.c
index 59c667f5c9..c7a8cf972a 100644
--- a/drivers/mci/mci-bcm2835.c
+++ b/drivers/mci/mci-bcm2835.c
@@ -480,6 +480,7 @@ static int bcm2835_mci_detect(struct device_d *dev)
static int bcm2835_mci_probe(struct device_d *hw_dev)
{
+ struct resource *iores;
struct bcm2835_mci_host *host;
static struct clk *clk;
int ret;
@@ -505,11 +506,12 @@ static int bcm2835_mci_probe(struct device_d *hw_dev)
host->mci.hw_dev = hw_dev;
host->hw_dev = hw_dev;
host->max_clock = clk_get_rate(clk);
- host->regs = dev_request_mem_region(hw_dev, 0);
- if (IS_ERR(host->regs)) {
+ iores = dev_request_mem_resource(hw_dev, 0);
+ if (IS_ERR(iores)) {
dev_err(host->hw_dev, "Failed request mem region, aborting...\n");
- return PTR_ERR(host->regs);
+ return PTR_ERR(iores);
}
+ host->regs = IOMEM(iores->start);
host->mci.host_caps |= MMC_CAP_4_BIT_DATA | MMC_CAP_SD_HIGHSPEED |
MMC_CAP_MMC_HIGHSPEED;
diff --git a/drivers/mci/mxs.c b/drivers/mci/mxs.c
index b36fb13254..2355651022 100644
--- a/drivers/mci/mxs.c
+++ b/drivers/mci/mxs.c
@@ -544,6 +544,7 @@ static void mxs_mci_info(struct device_d *hw_dev)
static int mxs_mci_probe(struct device_d *hw_dev)
{
+ struct resource *iores;
struct mxs_mci_platform_data *pd = hw_dev->platform_data;
struct mxs_mci_host *mxs_mci;
struct mci_host *host;
@@ -557,9 +558,10 @@ static int mxs_mci_probe(struct device_d *hw_dev)
host->send_cmd = mxs_mci_request;
host->set_ios = mxs_mci_set_ios;
host->init = mxs_mci_initialize;
- mxs_mci->regs = dev_request_mem_region(hw_dev, 0);
- if (IS_ERR(mxs_mci->regs))
- return PTR_ERR(mxs_mci->regs);
+ iores = dev_request_mem_resource(hw_dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ mxs_mci->regs = IOMEM(iores->start);
/* feed forward the platform specific values */
if (pd) {
diff --git a/drivers/mci/omap_hsmmc.c b/drivers/mci/omap_hsmmc.c
index 752787aa43..180afb16c9 100644
--- a/drivers/mci/omap_hsmmc.c
+++ b/drivers/mci/omap_hsmmc.c
@@ -584,6 +584,7 @@ static int omap_mmc_detect(struct device_d *dev)
static int omap_mmc_probe(struct device_d *dev)
{
+ struct resource *iores;
struct omap_hsmmc *hsmmc;
struct omap_hsmmc_platform_data *pdata;
struct omap_mmc_driver_data *drvdata;
@@ -604,9 +605,10 @@ static int omap_mmc_probe(struct device_d *dev)
MMC_CAP_MMC_HIGHSPEED | MMC_CAP_8_BIT_DATA;
hsmmc->mci.hw_dev = dev;
- hsmmc->iobase = dev_request_mem_region(dev, 0);
- if (IS_ERR(hsmmc->iobase))
- return PTR_ERR(hsmmc->iobase);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ hsmmc->iobase = IOMEM(iores->start);
hsmmc->base = hsmmc->iobase + reg_ofs;
hsmmc->mci.voltages = MMC_VDD_32_33 | MMC_VDD_33_34;
diff --git a/drivers/mci/pxamci.c b/drivers/mci/pxamci.c
index 6b14aba509..1a33661d0f 100644
--- a/drivers/mci/pxamci.c
+++ b/drivers/mci/pxamci.c
@@ -334,14 +334,16 @@ static int pxamci_init(struct mci_host *mci, struct device_d *dev)
static int pxamci_probe(struct device_d *dev)
{
+ struct resource *iores;
struct pxamci_host *host;
int gpio_power = -1;
clk_enable();
host = xzalloc(sizeof(*host));
- host->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(host->base))
- return PTR_ERR(host->base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ host->base = IOMEM(iores->start);
host->mci.init = pxamci_init;
host->mci.send_cmd = pxamci_request;
diff --git a/drivers/mci/s3c.c b/drivers/mci/s3c.c
index 3afd61e491..86a83b63fa 100644
--- a/drivers/mci/s3c.c
+++ b/drivers/mci/s3c.c
@@ -723,6 +723,7 @@ static void s3c_info(struct device_d *hw_dev)
static int s3c_mci_probe(struct device_d *hw_dev)
{
+ struct resource *iores;
struct s3c_mci_host *s3c_host;
struct s3c_mci_platform_data *pd = hw_dev->platform_data;
@@ -741,9 +742,10 @@ static int s3c_mci_probe(struct device_d *hw_dev)
}
hw_dev->priv = s3c_host;
- s3c_host->base = dev_request_mem_region(hw_dev, 0);
- if (IS_ERR(s3c_host->base))
- return PTR_ERR(s3c_host->base);
+ iores = dev_request_mem_resource(hw_dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ s3c_host->base = IOMEM(iores->start);
s3c_host->host.hw_dev = hw_dev;
diff --git a/drivers/mci/tegra-sdmmc.c b/drivers/mci/tegra-sdmmc.c
index 14c230483f..e465d891a2 100644
--- a/drivers/mci/tegra-sdmmc.c
+++ b/drivers/mci/tegra-sdmmc.c
@@ -422,6 +422,7 @@ static void tegra_sdmmc_parse_dt(struct tegra_sdmmc_host *host)
static int tegra_sdmmc_probe(struct device_d *dev)
{
+ struct resource *iores;
struct tegra_sdmmc_host *host;
struct mci_host *mci;
int ret;
@@ -437,11 +438,12 @@ static int tegra_sdmmc_probe(struct device_d *dev)
if (IS_ERR(host->reset))
return PTR_ERR(host->reset);
- host->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(host->regs)) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
dev_err(dev, "could not get iomem region\n");
- return PTR_ERR(host->regs);
+ return PTR_ERR(iores);
}
+ host->regs = IOMEM(iores->start);
mci->hw_dev = dev;
mci->f_max = 48000000;
diff --git a/drivers/misc/sram.c b/drivers/misc/sram.c
index 9769325338..58b574157a 100644
--- a/drivers/misc/sram.c
+++ b/drivers/misc/sram.c
@@ -34,14 +34,16 @@ static struct file_operations memops = {
static int sram_probe(struct device_d *dev)
{
+ struct resource *iores;
struct sram *sram;
struct resource *res;
void __iomem *base;
int ret;
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base))
- return PTR_ERR(base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ base = IOMEM(iores->start);
sram = xzalloc(sizeof(*sram));
diff --git a/drivers/mtd/devices/docg3.c b/drivers/mtd/devices/docg3.c
index 9ae606b3d8..3ff7ddfb09 100644
--- a/drivers/mtd/devices/docg3.c
+++ b/drivers/mtd/devices/docg3.c
@@ -1146,11 +1146,15 @@ nomem1:
static int __init docg3_probe(struct device_d *dev)
{
+ struct resource *iores;
struct mtd_info *mtd;
void __iomem *base;
int ret, floor, found = 0;
- base = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ base = IOMEM(iores->start);
ret = -ENOMEM;
docg3_bch = init_bch(DOC_ECC_BCH_M, DOC_ECC_BCH_T,
diff --git a/drivers/mtd/devices/mtdram.c b/drivers/mtd/devices/mtdram.c
index fbcccd0398..acaf002258 100644
--- a/drivers/mtd/devices/mtdram.c
+++ b/drivers/mtd/devices/mtdram.c
@@ -49,6 +49,7 @@ static int ram_read(struct mtd_info *mtd, loff_t from, size_t len, size_t *retle
static int mtdram_probe(struct device_d *dev)
{
+ struct resource *iores;
void __iomem *base;
int device_id;
struct mtd_info *mtd;
@@ -70,11 +71,12 @@ static int mtdram_probe(struct device_d *dev)
mtd->name = "mtdram";
}
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base)) {
- ret = PTR_ERR(base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
+ ret = PTR_ERR(iores);
goto nobase;
}
+ base = IOMEM(iores->start);
res = dev_get_resource(dev, IORESOURCE_MEM, 0);
size = (unsigned long) resource_size(res);
diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c
index 48d1783a96..299cc15c3d 100644
--- a/drivers/mtd/nand/atmel_nand.c
+++ b/drivers/mtd/nand/atmel_nand.c
@@ -862,6 +862,7 @@ static int pmecc_build_galois_table(unsigned int mm, int16_t *index_of,
static int __init atmel_pmecc_nand_init_params(struct device_d *dev,
struct atmel_nand_host *host)
{
+ struct resource *iores;
struct mtd_info *mtd = &host->mtd;
struct nand_chip *nand_chip = &host->nand_chip;
int cap, sector_size, err_no;
@@ -872,20 +873,27 @@ static int __init atmel_pmecc_nand_init_params(struct device_d *dev,
dev_info(host->dev, "Initialize PMECC params, cap: %d, sector: %d\n",
cap, sector_size);
- host->ecc = dev_request_mem_region(dev, 1);
+ iores = dev_request_mem_resource(dev, 1);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ host->ecc = IOMEM(iores->start);
if (IS_ERR(host->ecc)) {
dev_err(host->dev, "ioremap failed\n");
return -EIO;
}
- host->pmerrloc_base = dev_request_mem_region(dev, 2);
- if (IS_ERR(host->pmerrloc_base)) {
+ iores = dev_request_mem_resource(dev, 2);
+ if (IS_ERR(iores)) {
dev_err(host->dev,
"Can not get I/O resource for PMECC ERRLOC controller!\n");
- return PTR_ERR(host->pmerrloc_base);
+ return PTR_ERR(iores);
}
+ host->pmerrloc_base = IOMEM(iores->start);
- host->pmecc_rom_base = dev_request_mem_region(dev, 3);
+ iores = dev_request_mem_resource(dev, 3);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ host->pmecc_rom_base = IOMEM(iores->start);
if (IS_ERR(host->pmecc_rom_base)) {
/* Set pmecc_rom_base as the begin of gf table */
int size = sector_size == 512 ? 0x2000 : 0x4000;
@@ -1245,10 +1253,14 @@ static int atmel_nand_of_init(struct atmel_nand_host *host, struct device_node *
static int atmel_hw_nand_init_params(struct device_d *dev,
struct atmel_nand_host *host)
{
+ struct resource *iores;
struct mtd_info *mtd = &host->mtd;
struct nand_chip *nand_chip = &host->nand_chip;
- host->ecc = dev_request_mem_region(dev, 1);
+ iores = dev_request_mem_resource(dev, 1);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ host->ecc = IOMEM(iores->start);
if (IS_ERR(host->ecc)) {
dev_err(host->dev, "ioremap failed\n");
return -EIO;
@@ -1297,6 +1309,7 @@ static int atmel_hw_nand_init_params(struct device_d *dev,
*/
static int __init atmel_nand_probe(struct device_d *dev)
{
+ struct resource *iores;
struct atmel_nand_data *pdata = NULL;
struct atmel_nand_host *host;
struct mtd_info *mtd;
@@ -1312,9 +1325,10 @@ static int __init atmel_nand_probe(struct device_d *dev)
if (!pdata)
return -ENOMEM;
- host->io_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(host->io_base))
- return PTR_ERR(host->io_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ host->io_base = IOMEM(iores->start);
mtd = &host->mtd;
nand_chip = &host->nand_chip;
diff --git a/drivers/mtd/nand/nand_denali_dt.c b/drivers/mtd/nand/nand_denali_dt.c
index 6a3aee1415..2c6b188094 100644
--- a/drivers/mtd/nand/nand_denali_dt.c
+++ b/drivers/mtd/nand/nand_denali_dt.c
@@ -36,6 +36,7 @@ struct denali_dt {
static int denali_dt_probe(struct device_d *ofdev)
{
+ struct resource *iores;
struct denali_dt *dt;
struct denali_nand_info *denali;
int ret;
@@ -51,12 +52,15 @@ static int denali_dt_probe(struct device_d *ofdev)
denali->platform = DT;
denali->dev = ofdev;
- denali->flash_mem = dev_request_mem_region(ofdev, 0);
- if (IS_ERR(denali->flash_mem))
- return PTR_ERR(denali->flash_mem);
- denali->flash_reg = dev_request_mem_region(ofdev, 1);
- if (IS_ERR(denali->flash_reg))
- return PTR_ERR(denali->flash_reg);
+ iores = dev_request_mem_resource(ofdev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ denali->flash_mem = IOMEM(iores->start);
+
+ iores = dev_request_mem_resource(ofdev, 1);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ denali->flash_reg = IOMEM(iores->start);
dt->clk = clk_get(ofdev, NULL);
if (IS_ERR(dt->clk)) {
diff --git a/drivers/mtd/nand/nand_imx.c b/drivers/mtd/nand/nand_imx.c
index 6cabae06a9..6ea82a110d 100644
--- a/drivers/mtd/nand/nand_imx.c
+++ b/drivers/mtd/nand/nand_imx.c
@@ -1105,6 +1105,7 @@ static int __init mxcnd_probe_dt(struct imx_nand_host *host)
static int __init imxnd_probe(struct device_d *dev)
{
+ struct resource *iores;
struct nand_chip *this;
struct mtd_info *mtd;
struct imx_nand_host *host;
@@ -1146,7 +1147,10 @@ static int __init imxnd_probe(struct device_d *dev)
}
if (nfc_is_v21()) {
- host->base = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ host->base = IOMEM(iores->start);
host->main_area0 = host->base;
host->regs = host->base + 0x1e00;
host->spare0 = host->base + 0x1000;
@@ -1155,7 +1159,10 @@ static int __init imxnd_probe(struct device_d *dev)
oob_largepage = &nandv2_hw_eccoob_largepage;
oob_4kpage = &nandv2_hw_eccoob_4k; /* FIXME : to check */
} else if (nfc_is_v1()) {
- host->base = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ host->base = IOMEM(iores->start);
host->main_area0 = host->base;
host->regs = host->base + 0xe00;
host->spare0 = host->base + 0x800;
@@ -1164,8 +1171,15 @@ static int __init imxnd_probe(struct device_d *dev)
oob_largepage = &nandv1_hw_eccoob_largepage;
oob_4kpage = &nandv1_hw_eccoob_smallpage; /* FIXME : to check */
} else if (nfc_is_v3_2()) {
- host->regs_ip = dev_request_mem_region(dev, 0);
- host->base = dev_request_mem_region(dev, 1);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ host->regs_ip = IOMEM(iores->start);
+
+ iores = dev_request_mem_resource(dev, 1);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ host->base = IOMEM(iores->start);
host->main_area0 = host->base;
if (IS_ERR(host->regs_ip)) {
diff --git a/drivers/mtd/nand/nand_mrvl_nfc.c b/drivers/mtd/nand/nand_mrvl_nfc.c
index f160d15ab5..578790da26 100644
--- a/drivers/mtd/nand/nand_mrvl_nfc.c
+++ b/drivers/mtd/nand/nand_mrvl_nfc.c
@@ -1105,6 +1105,7 @@ static int mrvl_nand_scan(struct mtd_info *mtd)
static struct mrvl_nand_host *alloc_nand_resource(struct device_d *dev)
{
+ struct resource *iores;
struct mrvl_nand_platform_data *pdata;
struct mrvl_nand_host *host;
struct nand_chip *chip = NULL;
@@ -1135,7 +1136,10 @@ static struct mrvl_nand_host *alloc_nand_resource(struct device_d *dev)
chip->chip_delay = CHIP_DELAY_TIMEOUT_US;
host->dev = dev;
- host->mmio_base = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ host->mmio_base = IOMEM(iores->start);
if (IS_ERR(host->mmio_base)) {
free(host);
return host->mmio_base;
diff --git a/drivers/mtd/nand/nand_mxs.c b/drivers/mtd/nand/nand_mxs.c
index 7635e2a418..20bda14b62 100644
--- a/drivers/mtd/nand/nand_mxs.c
+++ b/drivers/mtd/nand/nand_mxs.c
@@ -1274,6 +1274,7 @@ static void mxs_nand_probe_dt(struct device_d *dev, struct mxs_nand_info *nand_i
static int mxs_nand_probe(struct device_d *dev)
{
+ struct resource *iores;
struct mxs_nand_info *nand_info;
struct nand_chip *nand;
struct mtd_info *mtd;
@@ -1293,13 +1294,15 @@ static int mxs_nand_probe(struct device_d *dev)
mxs_nand_probe_dt(dev, nand_info);
nand_info->type = type;
- nand_info->io_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(nand_info->io_base))
- return PTR_ERR(nand_info->io_base);
-
- nand_info->bch_base = dev_request_mem_region(dev, 1);
- if (IS_ERR(nand_info->bch_base))
- return PTR_ERR(nand_info->bch_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ nand_info->io_base = IOMEM(iores->start);
+
+ iores = dev_request_mem_resource(dev, 1);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ nand_info->bch_base = IOMEM(iores->start);
nand_info->clk = clk_get(dev, NULL);
if (IS_ERR(nand_info->clk))
diff --git a/drivers/mtd/nand/nand_omap_gpmc.c b/drivers/mtd/nand/nand_omap_gpmc.c
index 9d9d27e964..a920522939 100644
--- a/drivers/mtd/nand/nand_omap_gpmc.c
+++ b/drivers/mtd/nand/nand_omap_gpmc.c
@@ -846,6 +846,7 @@ static int gpmc_set_buswidth(struct nand_chip *chip, int buswidth)
*/
static int gpmc_nand_probe(struct device_d *pdev)
{
+ struct resource *iores;
struct gpmc_nand_info *oinfo;
struct gpmc_nand_platform_data *pdata;
struct nand_chip *nand;
@@ -881,7 +882,10 @@ static int gpmc_nand_probe(struct device_d *pdev)
}
/* Setup register specific data */
oinfo->gpmc_cs = pdata->cs;
- oinfo->gpmc_base = dev_request_mem_region(pdev, 0);
+ iores = dev_request_mem_resource(pdev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ oinfo->gpmc_base = IOMEM(iores->start);
cs_base = oinfo->gpmc_base + GPMC_CONFIG1_0 +
(pdata->cs * GPMC_CONFIG_CS_SIZE);
oinfo->gpmc_command = (void *)(cs_base + GPMC_CS_NAND_COMMAND);
diff --git a/drivers/mtd/nand/nand_orion.c b/drivers/mtd/nand/nand_orion.c
index fe06ef7912..881ffeec05 100644
--- a/drivers/mtd/nand/nand_orion.c
+++ b/drivers/mtd/nand/nand_orion.c
@@ -80,6 +80,7 @@ static void orion_nand_read_buf(struct mtd_info *mtd, uint8_t *buf, int len)
static int orion_nand_probe(struct device_d *dev)
{
+ struct resource *iores;
struct device_node *dev_node = dev->device_node;
struct orion_nand *priv;
struct mtd_info *mtd;
@@ -93,9 +94,10 @@ static int orion_nand_probe(struct device_d *dev)
mtd = &priv->mtd;
chip = &priv->chip;
- io_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(io_base))
- return PTR_ERR(io_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ io_base = IOMEM(iores->start);
if (!of_property_read_u32(dev_node, "cle", &val))
priv->cle = (u8)val;
diff --git a/drivers/mtd/nand/nand_s3c24xx.c b/drivers/mtd/nand/nand_s3c24xx.c
index 37bba39260..83d45172b1 100644
--- a/drivers/mtd/nand/nand_s3c24xx.c
+++ b/drivers/mtd/nand/nand_s3c24xx.c
@@ -408,6 +408,7 @@ static int s3c24x0_nand_inithw(struct s3c24x0_nand_host *host)
static int s3c24x0_nand_probe(struct device_d *dev)
{
+ struct resource *iores;
struct nand_chip *chip;
struct s3c24x0_nand_platform_data *pdata = dev->platform_data;
struct mtd_info *mtd;
@@ -420,7 +421,10 @@ static int s3c24x0_nand_probe(struct device_d *dev)
return -ENOMEM;
host->dev = dev;
- host->base = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ host->base = IOMEM(iores->start);
/* structures must be linked */
chip = &host->nand;
diff --git a/drivers/mtd/nor/cfi_flash.c b/drivers/mtd/nor/cfi_flash.c
index feffbd04ac..e50f0e667f 100644
--- a/drivers/mtd/nor/cfi_flash.c
+++ b/drivers/mtd/nor/cfi_flash.c
@@ -966,13 +966,15 @@ static void cfi_init_mtd(struct flash_info *info)
static int cfi_probe_one(struct flash_info *info, int num)
{
+ struct resource *iores;
int ret;
info->flash_id = FLASH_UNKNOWN;
info->cmd_reset = FLASH_CMD_RESET;
- info->base = dev_request_mem_region(info->dev, num);
- if (IS_ERR(info->base))
- return PTR_ERR(info->base);
+ iores = dev_request_mem_resource(info->dev, num);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ info->base = IOMEM(iores->start);
ret = flash_detect_size(info);
if (ret) {
diff --git a/drivers/mtd/spi-nor/cadence-quadspi.c b/drivers/mtd/spi-nor/cadence-quadspi.c
index ff7bb7a5d8..680f30f707 100644
--- a/drivers/mtd/spi-nor/cadence-quadspi.c
+++ b/drivers/mtd/spi-nor/cadence-quadspi.c
@@ -1109,6 +1109,7 @@ static void cqspi_controller_init(struct cqspi_st *cqspi)
static int cqspi_probe(struct device_d *dev)
{
+ struct resource *iores;
struct device_node *np = dev->device_node;
struct cqspi_st *cqspi;
struct cadence_qspi_platform_data *pdata = dev->platform_data;
@@ -1142,14 +1143,20 @@ static int cqspi_probe(struct device_d *dev)
clk_enable(cqspi->qspi_clk);
- cqspi->iobase = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ cqspi->iobase = IOMEM(iores->start);
if (IS_ERR(cqspi->iobase)) {
dev_err(dev, "dev_request_mem_region 0 failed\n");
ret = PTR_ERR(cqspi->iobase);
goto probe_failed;
}
- cqspi->ahb_base = dev_request_mem_region(dev, 1);
+ iores = dev_request_mem_resource(dev, 1);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ cqspi->ahb_base = IOMEM(iores->start);
if (IS_ERR(cqspi->ahb_base)) {
dev_err(dev, "dev_request_mem_region 0 failed\n");
ret = PTR_ERR(cqspi->ahb_base);
diff --git a/drivers/net/altera_tse.c b/drivers/net/altera_tse.c
index a1863655fa..1e67c7a8e7 100644
--- a/drivers/net/altera_tse.c
+++ b/drivers/net/altera_tse.c
@@ -492,6 +492,7 @@ static int tse_init_dev(struct eth_device *edev)
static int tse_probe(struct device_d *dev)
{
+ struct resource *iores;
struct altera_tse_priv *priv;
struct mii_bus *miibus;
struct eth_device *edev;
@@ -516,9 +517,10 @@ static int tse_probe(struct device_d *dev)
edev->parent = dev;
#ifdef CONFIG_TSE_USE_DEDICATED_DESC_MEM
- tx_desc = dev_request_mem_region(dev, 3);
- if (IS_ERR(tx_desc))
- return PTR_ERR(tx_desc);
+ iores = dev_request_mem_resource(dev, 3);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ tx_desc = IOMEM(iores->start);
rx_desc = tx_desc + 2;
#else
tx_desc = dma_alloc_coherent(sizeof(*tx_desc) * (3 + PKTBUFSRX), (dma_addr_t *)&dma_handle);
@@ -534,15 +536,19 @@ static int tse_probe(struct device_d *dev)
memset(rx_desc, 0, (sizeof *rx_desc) * (PKTBUFSRX + 1));
memset(tx_desc, 0, (sizeof *tx_desc) * 2);
- priv->tse_regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(priv->tse_regs))
- return PTR_ERR(priv->tse_regs);
- priv->sgdma_rx_regs = dev_request_mem_region(dev, 1);
- if (IS_ERR(priv->sgdma_rx_regs))
- return PTR_ERR(priv->sgdma_rx_regs);
- priv->sgdma_tx_regs = dev_request_mem_region(dev, 2);
- if (IS_ERR(priv->sgdma_tx_regs))
- return PTR_ERR(priv->sgdma_tx_regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->tse_regs = IOMEM(iores->start);
+ iores = dev_request_mem_resource(dev, 1);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->sgdma_rx_regs = IOMEM(iores->start);
+
+ iores = dev_request_mem_resource(dev, 2);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->sgdma_tx_regs = IOMEM(iores->start);
priv->rx_desc = rx_desc;
priv->tx_desc = tx_desc;
diff --git a/drivers/net/ar231x.c b/drivers/net/ar231x.c
index 7447c4484d..1ef9ce8154 100644
--- a/drivers/net/ar231x.c
+++ b/drivers/net/ar231x.c
@@ -363,6 +363,7 @@ static int ar231x_mdiibus_reset(struct mii_bus *bus)
static int ar231x_eth_probe(struct device_d *dev)
{
+ struct resource *iores;
struct ar231x_eth_priv *priv;
struct eth_device *edev;
struct mii_bus *miibus;
@@ -384,20 +385,22 @@ static int ar231x_eth_probe(struct device_d *dev)
priv->mac = pdata->mac;
priv->reset_bit = pdata->reset_bit;
- priv->eth_regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(priv->eth_regs)) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
dev_err(dev, "No eth_regs!!\n");
- return PTR_ERR(priv->eth_regs);
+ return PTR_ERR(iores);
}
+ priv->eth_regs = IOMEM(iores->start);
/* we have 0x100000 for eth, part of it are dma regs.
* So they are already requested */
priv->dma_regs = (void *)(priv->eth_regs + 0x1000);
- priv->phy_regs = dev_request_mem_region(dev, 1);
- if (IS_ERR(priv->phy_regs)) {
+ iores = dev_request_mem_resource(dev, 1);
+ if (IS_ERR(iores)) {
dev_err(dev, "No phy_regs!!\n");
- return PTR_ERR(priv->phy_regs);
+ return PTR_ERR(iores);
}
+ priv->phy_regs = IOMEM(iores->start);
priv->cfg = pdata;
edev->init = ar231x_eth_init;
diff --git a/drivers/net/arc_emac.c b/drivers/net/arc_emac.c
index 3dc54cd22b..2155349e21 100644
--- a/drivers/net/arc_emac.c
+++ b/drivers/net/arc_emac.c
@@ -391,6 +391,7 @@ static int arc_emac_mdio_write(struct mii_bus *bus, int phy_addr, int reg_num,
static int arc_emac_probe(struct device_d *dev)
{
+ struct resource *iores;
struct eth_device *edev;
struct arc_emac_priv *priv;
unsigned long clock_frequency;
@@ -406,9 +407,10 @@ static int arc_emac_probe(struct device_d *dev)
miibus = xzalloc(sizeof(struct mii_bus));
priv = edev->priv;
- priv->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(priv->regs))
- return PTR_ERR(priv->regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->regs = IOMEM(iores->start);
priv->bus = miibus;
priv->clk = clk_get(dev, "hclk");
diff --git a/drivers/net/cpsw.c b/drivers/net/cpsw.c
index 4d6b7b2e78..d11ca33f70 100644
--- a/drivers/net/cpsw.c
+++ b/drivers/net/cpsw.c
@@ -1126,6 +1126,7 @@ static int cpsw_probe_dt(struct cpsw_priv *priv)
int cpsw_probe(struct device_d *dev)
{
+ struct resource *iores;
struct cpsw_platform_data *data = (struct cpsw_platform_data *)dev->platform_data;
struct cpsw_priv *priv;
void __iomem *regs;
@@ -1136,9 +1137,10 @@ int cpsw_probe(struct device_d *dev)
dev_dbg(dev, "* %s\n", __func__);
- regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(regs))
- return PTR_ERR(regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ regs = IOMEM(iores->start);
priv = xzalloc(sizeof(*priv));
priv->dev = dev;
diff --git a/drivers/net/cs8900.c b/drivers/net/cs8900.c
index a4a5dcaf7f..1be49e86fe 100644
--- a/drivers/net/cs8900.c
+++ b/drivers/net/cs8900.c
@@ -435,13 +435,17 @@ static int cs8900_check_id(struct cs8900_priv *priv)
static int cs8900_probe(struct device_d *dev)
{
+ struct resource *iores;
struct eth_device *edev;
struct cs8900_priv *priv;
debug("cs8900_init()\n");
priv = (struct cs8900_priv *)xmalloc(sizeof(*priv));
- priv->regs = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->regs = IOMEM(iores->start);
if (cs8900_check_id(priv)) {
free(priv);
return -1;
diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c
index 9f8f0e1fa7..3dc4b16b67 100644
--- a/drivers/net/davinci_emac.c
+++ b/drivers/net/davinci_emac.c
@@ -516,6 +516,7 @@ out:
static int davinci_emac_probe(struct device_d *dev)
{
+ struct resource *iores;
struct davinci_emac_platform_data *pdata;
struct davinci_emac_priv *priv;
uint64_t start;
@@ -534,10 +535,25 @@ static int davinci_emac_probe(struct device_d *dev)
priv->dev = dev;
- priv->adap_emac = dev_request_mem_region(dev, 0);
- priv->adap_ewrap = dev_request_mem_region(dev, 1);
- priv->adap_mdio = dev_request_mem_region(dev, 2);
- priv->emac_desc_base = dev_request_mem_region(dev, 3);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->adap_emac = IOMEM(iores->start);
+
+ iores = dev_request_mem_resource(dev, 1);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->adap_ewrap = IOMEM(iores->start);
+
+ iores = dev_request_mem_resource(dev, 2);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->adap_mdio = IOMEM(iores->start);
+
+ iores = dev_request_mem_resource(dev, 3);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->emac_desc_base = IOMEM(iores->start);
/* EMAC descriptors */
priv->emac_rx_desc = priv->emac_desc_base + EMAC_RX_DESC_BASE;
diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index 966f64f7b6..3b21244478 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -445,6 +445,7 @@ static int dwc_probe_dt(struct device_d *dev, struct dw_eth_dev *priv)
static int dwc_ether_probe(struct device_d *dev)
{
+ struct resource *iores;
struct dw_eth_dev *priv;
struct eth_device *edev;
struct mii_bus *miibus;
@@ -471,9 +472,10 @@ static int dwc_ether_probe(struct device_d *dev)
return ret;
}
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base))
- return PTR_ERR(base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ base = IOMEM(iores->start);
priv->mac_regs_p = base;
dwc_version(dev, readl(&priv->mac_regs_p->version));
diff --git a/drivers/net/dm9k.c b/drivers/net/dm9k.c
index d813c8c275..ad402e3efc 100644
--- a/drivers/net/dm9k.c
+++ b/drivers/net/dm9k.c
@@ -785,6 +785,7 @@ static int dm9000_parse_pdata(struct device_d *dev, struct dm9k *priv)
static int dm9k_probe(struct device_d *dev)
{
+ struct resource *iores;
unsigned io_mode;
struct eth_device *edev;
struct dm9k *priv;
@@ -808,17 +809,19 @@ static int dm9k_probe(struct device_d *dev)
if (ret)
goto err;
- priv->iodata = dev_request_mem_region(dev, 1);
- if (IS_ERR(priv->iodata)) {
- ret = PTR_ERR(priv->iodata);
+ iores = dev_request_mem_resource(dev, 1);
+ if (IS_ERR(iores)) {
+ ret = PTR_ERR(iores);
goto err;
}
+ priv->iodata = IOMEM(iores->start);
- priv->iobase = dev_request_mem_region(dev, 0);
- if (IS_ERR(priv->iobase)) {
- ret = PTR_ERR(priv->iobase);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
+ ret = PTR_ERR(iores);
goto err;
}
+ priv->iobase = IOMEM(iores->start);
edev->init = dm9k_init_dev;
edev->open = dm9k_eth_open;
diff --git a/drivers/net/ethoc.c b/drivers/net/ethoc.c
index 6bae7d68a6..1cb9fc2859 100644
--- a/drivers/net/ethoc.c
+++ b/drivers/net/ethoc.c
@@ -534,6 +534,7 @@ static int ethoc_mdio_write(struct mii_bus *bus, int phy, int reg, u16 val)
static int ethoc_probe(struct device_d *dev)
{
+ struct resource *iores;
struct eth_device *edev;
struct ethoc *priv;
@@ -542,9 +543,10 @@ static int ethoc_probe(struct device_d *dev)
edev->priv = (struct ethoc *)(edev + 1);
priv = edev->priv;
- priv->iobase = dev_request_mem_region(dev, 0);
- if (IS_ERR(priv->iobase))
- return PTR_ERR(priv->iobase);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->iobase = IOMEM(iores->start);
priv->miibus.read = ethoc_mdio_read;
priv->miibus.write = ethoc_mdio_write;
diff --git a/drivers/net/fec_imx.c b/drivers/net/fec_imx.c
index 5418034129..de31ec48bd 100644
--- a/drivers/net/fec_imx.c
+++ b/drivers/net/fec_imx.c
@@ -647,6 +647,7 @@ static int fec_probe_dt(struct device_d *dev, struct fec_priv *fec)
#endif
static int fec_probe(struct device_d *dev)
{
+ struct resource *iores;
struct fec_platform_data *pdata = (struct fec_platform_data *)dev->platform_data;
struct eth_device *edev;
struct fec_priv *fec;
@@ -681,7 +682,10 @@ static int fec_probe(struct device_d *dev)
clk_enable(fec->clk);
- fec->regs = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ fec->regs = IOMEM(iores->start);
phy_reset = of_get_named_gpio(dev->device_node, "phy-reset-gpios", 0);
if (gpio_is_valid(phy_reset)) {
diff --git a/drivers/net/fec_mpc5200.c b/drivers/net/fec_mpc5200.c
index 30be8f77dc..bb57c34502 100644
--- a/drivers/net/fec_mpc5200.c
+++ b/drivers/net/fec_mpc5200.c
@@ -638,6 +638,7 @@ static int mpc5xxx_fec_recv(struct eth_device *dev)
int mpc5xxx_fec_probe(struct device_d *dev)
{
+ struct resource *iores;
struct fec_platform_data *pdata = dev->platform_data;
struct eth_device *edev;
mpc5xxx_fec_priv *fec;
@@ -655,9 +656,10 @@ int mpc5xxx_fec_probe(struct device_d *dev)
edev->set_ethaddr = mpc5xxx_fec_set_ethaddr;
edev->parent = dev;
- fec->eth = dev_request_mem_region(dev, 0);
- if (IS_ERR(fec->eth))
- return PTR_ERR(fec->eth);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ fec->eth = IOMEM(iores->start);
fec->tbdBase = (FEC_TBD *)FEC_BD_BASE;
fec->rbdBase = (FEC_RBD *)(FEC_BD_BASE + FEC_TBD_NUM * sizeof(FEC_TBD));
diff --git a/drivers/net/ks8851_mll.c b/drivers/net/ks8851_mll.c
index 854a666bfc..39e1654ca6 100644
--- a/drivers/net/ks8851_mll.c
+++ b/drivers/net/ks8851_mll.c
@@ -809,6 +809,7 @@ static void ks8851_eth_halt(struct eth_device *edev)
static int ks8851_probe(struct device_d *dev)
{
+ struct resource *iores;
struct eth_device *edev;
struct ks_net *ks;
u16 id;
@@ -823,13 +824,16 @@ static int ks8851_probe(struct device_d *dev)
return -ENODEV;
}
- ks->hw_addr = dev_request_mem_region(dev, 0);
- if (IS_ERR(ks->hw_addr))
- return PTR_ERR(ks->hw_addr);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ ks->hw_addr = IOMEM(iores->start);
+
+ iores = dev_request_mem_resource(dev, 1);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ ks->hw_addr_cmd = IOMEM(iores->start);
- ks->hw_addr_cmd = dev_request_mem_region(dev, 1);
- if (IS_ERR(ks->hw_addr_cmd))
- return PTR_ERR(ks->hw_addr_cmd);
ks->bus_width = dev->resource[0].flags & IORESOURCE_MEM_TYPE_MASK;
edev->init = ks8851_init_dev;
diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index 6d4973fa2f..5f2e5e5131 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -612,6 +612,7 @@ static void macb_init_rx_buffer_size(struct macb_device *bp, size_t size)
static int macb_probe(struct device_d *dev)
{
+ struct resource *iores;
struct eth_device *edev;
struct macb_device *macb;
u32 ncfgr;
@@ -649,9 +650,10 @@ static int macb_probe(struct device_d *dev)
macb->phy_flags = pdata->phy_flags;
- macb->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(macb->regs))
- return PTR_ERR(macb->regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ macb->regs = IOMEM(iores->start);
/*
* Do some basic initialization so that we at least can talk
diff --git a/drivers/net/smc91111.c b/drivers/net/smc91111.c
index 1199b372b6..b7055910eb 100644
--- a/drivers/net/smc91111.c
+++ b/drivers/net/smc91111.c
@@ -1444,6 +1444,7 @@ static int smc91c111_init_dev(struct eth_device *edev)
static int smc91c111_probe(struct device_d *dev)
{
+ struct resource *iores;
struct eth_device *edev;
struct smc91c111_priv *priv;
@@ -1481,9 +1482,10 @@ static int smc91c111_probe(struct device_d *dev)
priv->miibus.write = smc91c111_phy_write;
priv->miibus.priv = priv;
priv->miibus.parent = dev;
- priv->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(priv->base))
- return PTR_ERR(priv->base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->base = IOMEM(iores->start);
smc91c111_reset(edev);
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index 60cf36ea4a..9b1a38ae21 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -494,6 +494,7 @@ static int smc911x_init_dev(struct eth_device *edev)
static int smc911x_probe(struct device_d *dev)
{
+ struct resource *iores;
struct eth_device *edev;
struct smc911x_priv *priv;
uint32_t val;
@@ -506,7 +507,10 @@ static int smc911x_probe(struct device_d *dev)
is_32bit = 1;
else
is_32bit = is_32bit == IORESOURCE_MEM_32BIT;
- priv->base = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->base = IOMEM(iores->start);
if (pdata) {
priv->shift = pdata->shift;
diff --git a/drivers/net/xgmac.c b/drivers/net/xgmac.c
index 7cc4d4888f..47ab6e72eb 100644
--- a/drivers/net/xgmac.c
+++ b/drivers/net/xgmac.c
@@ -689,11 +689,15 @@ static int xgmac_set_ethaddr(struct eth_device *dev, const unsigned char *addr)
static int hb_xgmac_probe(struct device_d *dev)
{
+ struct resource *iores;
struct eth_device *edev;
struct xgmac_priv *priv;
void __iomem *base;
- base = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ base = IOMEM(iores->start);
/* check hardware version */
if (readl(base + XGMAC_VERSION) != 0x1012)
diff --git a/drivers/pci/pci-imx6.c b/drivers/pci/pci-imx6.c
index d32bd2b4ce..46483b4cc8 100644
--- a/drivers/pci/pci-imx6.c
+++ b/drivers/pci/pci-imx6.c
@@ -555,6 +555,7 @@ static int __init imx6_add_pcie_port(struct pcie_port *pp,
static int __init imx6_pcie_probe(struct device_d *dev)
{
+ struct resource *iores;
struct imx6_pcie *imx6_pcie;
struct pcie_port *pp;
struct device_node *np = dev->device_node;
@@ -567,9 +568,10 @@ static int __init imx6_pcie_probe(struct device_d *dev)
pp = &imx6_pcie->pp;
pp->dev = dev;
- pp->dbi_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(pp->dbi_base))
- return PTR_ERR(pp->dbi_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ pp->dbi_base = IOMEM(iores->start);
/* Fetch GPIOs */
imx6_pcie->reset_gpio = of_get_named_gpio(np, "reset-gpio", 0);
diff --git a/drivers/pinctrl/imx-iomux-v2.c b/drivers/pinctrl/imx-iomux-v2.c
index 1e0e8e9fd6..0c985a69d3 100644
--- a/drivers/pinctrl/imx-iomux-v2.c
+++ b/drivers/pinctrl/imx-iomux-v2.c
@@ -118,9 +118,11 @@ int imx_iomux_setup_multiple_pins(const unsigned int *pin_list, unsigned count)
static int imx_iomux_probe(struct device_d *dev)
{
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base))
- return PTR_ERR(base);
+ struct resource *iores;
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ base = IOMEM(iores->start);
return 0;
}
diff --git a/drivers/pinctrl/imx-iomux-v3.c b/drivers/pinctrl/imx-iomux-v3.c
index 62a352ba50..66443b7e7b 100644
--- a/drivers/pinctrl/imx-iomux-v3.c
+++ b/drivers/pinctrl/imx-iomux-v3.c
@@ -171,12 +171,16 @@ static int imx_pinctrl_dt(struct device_d *dev, void __iomem *base)
static int imx_iomux_v3_probe(struct device_d *dev)
{
+ struct resource *iores;
int ret = 0;
if (iomuxv3_base)
return -EBUSY;
- iomuxv3_base = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ iomuxv3_base = IOMEM(iores->start);
iomuxv3_dev = dev;
if (IS_ENABLED(CONFIG_PINCTRL) && dev->device_node)
diff --git a/drivers/pinctrl/mvebu/armada-370.c b/drivers/pinctrl/mvebu/armada-370.c
index 7ad8d04308..1c79bd62af 100644
--- a/drivers/pinctrl/mvebu/armada-370.c
+++ b/drivers/pinctrl/mvebu/armada-370.c
@@ -391,14 +391,16 @@ static struct of_device_id armada_370_pinctrl_of_match[] = {
static int armada_370_pinctrl_probe(struct device_d *dev)
{
+ struct resource *iores;
const struct of_device_id *match =
of_match_node(armada_370_pinctrl_of_match, dev->device_node);
struct mvebu_pinctrl_soc_info *soc =
(struct mvebu_pinctrl_soc_info *)match->data;
- mpp_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(mpp_base))
- return PTR_ERR(mpp_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ mpp_base = IOMEM(iores->start);
return mvebu_pinctrl_probe(dev, soc);
}
diff --git a/drivers/pinctrl/mvebu/armada-xp.c b/drivers/pinctrl/mvebu/armada-xp.c
index 51db35d068..f1bc8b498a 100644
--- a/drivers/pinctrl/mvebu/armada-xp.c
+++ b/drivers/pinctrl/mvebu/armada-xp.c
@@ -370,13 +370,15 @@ static struct of_device_id armada_xp_pinctrl_of_match[] = {
static int armada_xp_pinctrl_probe(struct device_d *dev)
{
+ struct resource *iores;
const struct of_device_id *match =
of_match_node(armada_xp_pinctrl_of_match, dev->device_node);
struct mvebu_pinctrl_soc_info *soc = &armada_xp_pinctrl_info;
- mpp_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(mpp_base))
- return PTR_ERR(mpp_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ mpp_base = IOMEM(iores->start);
soc->variant = (enum armada_xp_variant)match->data;
diff --git a/drivers/pinctrl/mvebu/dove.c b/drivers/pinctrl/mvebu/dove.c
index 6e0ce84d72..8de01e74d6 100644
--- a/drivers/pinctrl/mvebu/dove.c
+++ b/drivers/pinctrl/mvebu/dove.c
@@ -696,6 +696,7 @@ static struct of_device_id dove_pinctrl_of_match[] = {
static int dove_pinctrl_probe(struct device_d *dev)
{
+ struct resource *iores;
const struct of_device_id *match =
of_match_node(dove_pinctrl_of_match, dev->device_node);
struct mvebu_pinctrl_soc_info *soc =
@@ -706,12 +707,15 @@ static int dove_pinctrl_probe(struct device_d *dev)
clk = clk_get(dev, NULL);
clk_enable(clk);
- mpp_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(mpp_base))
- return PTR_ERR(mpp_base);
- mpp4_base = dev_request_mem_region(dev, 1);
- if (IS_ERR(mpp4_base))
- return PTR_ERR(mpp4_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ mpp_base = IOMEM(iores->start);
+
+ iores = dev_request_mem_resource(dev, 1);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ mpp4_base = IOMEM(iores->start);
/*
* Dove PMU does not have a stable binding, yet.
diff --git a/drivers/pinctrl/mvebu/kirkwood.c b/drivers/pinctrl/mvebu/kirkwood.c
index e2ac559668..4b2618cd2e 100644
--- a/drivers/pinctrl/mvebu/kirkwood.c
+++ b/drivers/pinctrl/mvebu/kirkwood.c
@@ -432,14 +432,16 @@ static struct of_device_id kirkwood_pinctrl_of_match[] = {
static int kirkwood_pinctrl_probe(struct device_d *dev)
{
+ struct resource *iores;
const struct of_device_id *match =
of_match_node(kirkwood_pinctrl_of_match, dev->device_node);
struct mvebu_pinctrl_soc_info *soc =
(struct mvebu_pinctrl_soc_info *)match->data;
- mpp_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(mpp_base))
- return PTR_ERR(mpp_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ mpp_base = IOMEM(iores->start);
return mvebu_pinctrl_probe(dev, soc);
}
diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c
index 5c60c70b17..15b74cc1df 100644
--- a/drivers/pinctrl/pinctrl-single.c
+++ b/drivers/pinctrl/pinctrl-single.c
@@ -98,12 +98,16 @@ static struct pinctrl_ops pcs_ops = {
static int pcs_probe(struct device_d *dev)
{
+ struct resource *iores;
struct pinctrl_single *pcs;
struct device_node *np = dev->device_node;
int ret = 0;
pcs = xzalloc(sizeof(*pcs));
- pcs->base = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ pcs->base = IOMEM(iores->start);
pcs->pinctrl.dev = dev;
pcs->pinctrl.ops = &pcs_ops;
diff --git a/drivers/pinctrl/pinctrl-tegra-xusb.c b/drivers/pinctrl/pinctrl-tegra-xusb.c
index d567754fd7..a7a75bb9c5 100644
--- a/drivers/pinctrl/pinctrl-tegra-xusb.c
+++ b/drivers/pinctrl/pinctrl-tegra-xusb.c
@@ -378,6 +378,7 @@ static struct pinctrl_ops pinctrl_tegra_xusb_ops = {
static int pinctrl_tegra_xusb_probe(struct device_d *dev)
{
+ struct resource *iores;
struct tegra_xusb_padctl *padctl;
struct phy *phy;
int err;
@@ -389,11 +390,12 @@ static int pinctrl_tegra_xusb_probe(struct device_d *dev)
dev_get_drvdata(dev, (const void **)&padctl->soc);
- padctl->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(padctl->regs)) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
dev_err(dev, "Could not get iomem region\n");
- return PTR_ERR(padctl->regs);
+ return PTR_ERR(iores);
}
+ padctl->regs = IOMEM(iores->start);
padctl->rst = reset_control_get(dev, NULL);
if (IS_ERR(padctl->rst))
diff --git a/drivers/pinctrl/pinctrl-tegra20.c b/drivers/pinctrl/pinctrl-tegra20.c
index be9d8a996d..eaaba9e7a7 100644
--- a/drivers/pinctrl/pinctrl-tegra20.c
+++ b/drivers/pinctrl/pinctrl-tegra20.c
@@ -295,6 +295,7 @@ static struct pinctrl_ops pinctrl_tegra20_ops = {
static int pinctrl_tegra20_probe(struct device_d *dev)
{
+ struct resource *iores;
struct pinctrl_tegra20 *ctrl;
int i, ret;
u32 **regs;
@@ -309,11 +310,12 @@ static int pinctrl_tegra20_probe(struct device_d *dev)
*/
regs = (u32 **)&ctrl->regs;
for (i = 0; i <= 2; i++) {
- regs[i] = dev_request_mem_region(dev, i);
- if (IS_ERR(regs[i])) {
+ iores = dev_request_mem_resource(dev, i);
+ if (IS_ERR(iores)) {
dev_err(dev, "Could not get iomem region %d\n", i);
- return PTR_ERR(regs[i]);
+ return PTR_ERR(iores);
}
+ regs[i] = IOMEM(iores->start);
}
ctrl->pinctrl.dev = dev;
diff --git a/drivers/pinctrl/pinctrl-tegra30.c b/drivers/pinctrl/pinctrl-tegra30.c
index 145a1a821e..4b271dd0b6 100644
--- a/drivers/pinctrl/pinctrl-tegra30.c
+++ b/drivers/pinctrl/pinctrl-tegra30.c
@@ -870,6 +870,7 @@ static struct pinctrl_ops pinctrl_tegra30_ops = {
static int pinctrl_tegra30_probe(struct device_d *dev)
{
+ struct resource *iores;
struct pinctrl_tegra30 *ctrl;
int i, ret;
u32 **regs;
@@ -884,11 +885,12 @@ static int pinctrl_tegra30_probe(struct device_d *dev)
*/
regs = (u32 **)&ctrl->regs;
for (i = 0; i <= 1; i++) {
- regs[i] = dev_request_mem_region(dev, i);
- if (IS_ERR(regs[i])) {
+ iores = dev_request_mem_resource(dev, i);
+ if (IS_ERR(iores)) {
dev_err(dev, "Could not get iomem region %d\n", i);
- return PTR_ERR(regs[i]);
+ return PTR_ERR(iores);
}
+ regs[i] = IOMEM(iores->start);
}
dev_get_drvdata(dev, (const void **)&ctrl->drvdata);
diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c
index bd99cf3198..0845c234fe 100644
--- a/drivers/pwm/pwm-imx.c
+++ b/drivers/pwm/pwm-imx.c
@@ -212,6 +212,7 @@ static struct of_device_id imx_pwm_dt_ids[] = {
static int imx_pwm_probe(struct device_d *dev)
{
+ struct resource *iores;
const struct imx_pwm_data *data;
struct imx_chip *imx;
int ret = 0;
@@ -226,9 +227,10 @@ static int imx_pwm_probe(struct device_d *dev)
if (IS_ERR(imx->clk_per))
return PTR_ERR(imx->clk_per);
- imx->mmio_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(imx->mmio_base))
- return PTR_ERR(imx->mmio_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ imx->mmio_base = IOMEM(iores->start);
imx->chip.ops = &imx_pwm_ops;
if (dev->device_node) {
diff --git a/drivers/pwm/pwm-mxs.c b/drivers/pwm/pwm-mxs.c
index e66744288b..011d9002ba 100644
--- a/drivers/pwm/pwm-mxs.c
+++ b/drivers/pwm/pwm-mxs.c
@@ -110,6 +110,7 @@ static struct pwm_ops mxs_pwm_ops = {
static int mxs_pwm_probe(struct device_d *dev)
{
+ struct resource *iores;
struct device_node *np = dev->device_node;
struct mxs_pwm *mxs;
int ret, i;
@@ -117,9 +118,10 @@ static int mxs_pwm_probe(struct device_d *dev)
mxs = xzalloc(sizeof(*mxs));
- mxs->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(mxs->base))
- return PTR_ERR(mxs->base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ mxs->base = IOMEM(iores->start);
mxs->clk = clk_get(dev, NULL);
if (IS_ERR(mxs->clk))
diff --git a/drivers/pwm/pxa_pwm.c b/drivers/pwm/pxa_pwm.c
index 8b2ebe4f6f..e399d03efd 100644
--- a/drivers/pwm/pxa_pwm.c
+++ b/drivers/pwm/pxa_pwm.c
@@ -130,12 +130,16 @@ static struct pwm_ops pxa_pwm_ops = {
static int pxa_pwm_probe(struct device_d *dev)
{
+ struct resource *iores;
struct pxa_pwm_chip *chip;
chip = xzalloc(sizeof(*chip));
chip->chip.devname = asprintf("pwm%d", dev->id);
chip->chip.ops = &pxa_pwm_ops;
- chip->iobase = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ chip->iobase = IOMEM(iores->start);
chip->id = dev->id;
dev->priv = chip;
diff --git a/drivers/rtc/rtc-jz4740.c b/drivers/rtc/rtc-jz4740.c
index 762f35624b..95885357d9 100644
--- a/drivers/rtc/rtc-jz4740.c
+++ b/drivers/rtc/rtc-jz4740.c
@@ -113,16 +113,18 @@ static struct rtc_class_ops jz4740_rtc_ops = {
static int jz4740_rtc_probe(struct device_d *dev)
{
+ struct resource *iores;
int ret;
struct jz4740_rtc *rtc;
uint32_t scratchpad;
void __iomem *base;
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base)) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
dev_err(dev, "could not get memory region\n");
- return PTR_ERR(base);
+ return PTR_ERR(iores);
}
+ base = IOMEM(iores->start);
rtc = xzalloc(sizeof(*rtc));
diff --git a/drivers/serial/serial_altera.c b/drivers/serial/serial_altera.c
index d519a87928..10d1506bca 100644
--- a/drivers/serial/serial_altera.c
+++ b/drivers/serial/serial_altera.c
@@ -78,13 +78,17 @@ static int altera_serial_getc(struct console_device *cdev)
static int altera_serial_probe(struct device_d *dev)
{
+ struct resource *iores;
struct console_device *cdev;
struct altera_serial_priv *priv;
priv = xzalloc(sizeof(*priv));
cdev = &priv->cdev;
- priv->regs = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->regs = IOMEM(iores->start);
cdev->dev = dev;
cdev->tstc = altera_serial_tstc;
cdev->putc = altera_serial_putc;
diff --git a/drivers/serial/serial_altera_jtag.c b/drivers/serial/serial_altera_jtag.c
index 4219a4bbb9..0164ea5eff 100644
--- a/drivers/serial/serial_altera_jtag.c
+++ b/drivers/serial/serial_altera_jtag.c
@@ -82,6 +82,7 @@ static int altera_serial_jtag_getc(struct console_device *cdev)
}
static int altera_serial_jtag_probe(struct device_d *dev) {
+ struct resource *iores;
struct console_device *cdev;
struct altera_serial_jtag_priv *priv;
@@ -89,7 +90,10 @@ static int altera_serial_jtag_probe(struct device_d *dev) {
priv = xzalloc(sizeof(*priv));
cdev = &priv->cdev;
- priv->regs = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->regs = IOMEM(iores->start);
cdev->dev = dev;
cdev->tstc = altera_serial_jtag_tstc;
cdev->putc = altera_serial_jtag_putc;
diff --git a/drivers/serial/serial_ar933x.c b/drivers/serial/serial_ar933x.c
index 59bb5b2ecf..676b9fadf8 100644
--- a/drivers/serial/serial_ar933x.c
+++ b/drivers/serial/serial_ar933x.c
@@ -156,15 +156,17 @@ static int ar933x_serial_getc(struct console_device *cdev)
static int ar933x_serial_probe(struct device_d *dev)
{
+ struct resource *iores;
struct console_device *cdev;
struct ar933x_uart_priv *priv;
u32 uart_cs;
cdev = xzalloc(sizeof(struct console_device));
priv = xzalloc(sizeof(struct ar933x_uart_priv));
- priv->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(priv->base))
- return PTR_ERR(priv->base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->base = IOMEM(iores->start);
dev->priv = priv;
diff --git a/drivers/serial/serial_auart.c b/drivers/serial/serial_auart.c
index 87b2e33ca3..9bef576cd7 100644
--- a/drivers/serial/serial_auart.c
+++ b/drivers/serial/serial_auart.c
@@ -180,6 +180,7 @@ static void auart_serial_init_port(struct auart_priv *priv)
static int auart_serial_probe(struct device_d *dev)
{
+ struct resource *iores;
struct auart_priv *priv;
struct console_device *cdev;
@@ -194,9 +195,10 @@ static int auart_serial_probe(struct device_d *dev)
cdev->dev = dev;
dev->priv = priv;
- priv->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(priv->base))
- return PTR_ERR(priv->base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->base = IOMEM(iores->start);
priv->clk = clk_get(dev, NULL);
if (IS_ERR(priv->clk))
return PTR_ERR(priv->clk);
diff --git a/drivers/serial/serial_cadence.c b/drivers/serial/serial_cadence.c
index 6b48a48d1f..36dfa20841 100644
--- a/drivers/serial/serial_cadence.c
+++ b/drivers/serial/serial_cadence.c
@@ -216,6 +216,7 @@ static int cadence_clocksource_clock_change(struct notifier_block *nb,
static int cadence_serial_probe(struct device_d *dev)
{
+ struct resource *iores;
struct console_device *cdev;
struct cadence_serial_priv *priv;
struct cadence_serial_devtype_data *devtype;
@@ -239,11 +240,12 @@ static int cadence_serial_probe(struct device_d *dev)
if (devtype->mode & CADENCE_MODE_CLK_REF_DIV)
clk_set_rate(priv->clk, clk_get_rate(priv->clk) / 8);
- priv->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(priv->regs)) {
- ret = PTR_ERR(priv->regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
+ ret = PTR_ERR(iores);
goto err_free;
}
+ priv->regs = IOMEM(iores->start);
cdev->dev = dev;
cdev->tstc = cadence_serial_tstc;
diff --git a/drivers/serial/serial_digic.c b/drivers/serial/serial_digic.c
index 235ea0ff47..06b6e15e0c 100644
--- a/drivers/serial/serial_digic.c
+++ b/drivers/serial/serial_digic.c
@@ -101,10 +101,14 @@ static int digic_serial_tstc(struct console_device *cdev)
static int digic_serial_probe(struct device_d *dev)
{
+ struct resource *iores;
struct console_device *cdev;
cdev = xzalloc(sizeof(struct console_device));
- dev->priv = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ dev->priv = IOMEM(iores->start);
cdev->dev = dev;
cdev->tstc = &digic_serial_tstc;
cdev->putc = &digic_serial_putc;
diff --git a/drivers/serial/serial_imx.c b/drivers/serial/serial_imx.c
index 68b438b0bb..3d08e13647 100644
--- a/drivers/serial/serial_imx.c
+++ b/drivers/serial/serial_imx.c
@@ -202,6 +202,7 @@ static int imx_clocksource_clock_change(struct notifier_block *nb,
static int imx_serial_probe(struct device_d *dev)
{
+ struct resource *iores;
struct console_device *cdev;
struct imx_serial_priv *priv;
uint32_t val;
@@ -224,7 +225,10 @@ static int imx_serial_probe(struct device_d *dev)
goto err_free;
}
- priv->regs = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->regs = IOMEM(iores->start);
cdev->dev = dev;
cdev->tstc = imx_serial_tstc;
cdev->putc = imx_serial_putc;
diff --git a/drivers/serial/serial_mpc5xxx.c b/drivers/serial/serial_mpc5xxx.c
index 711163cefd..cc63a84c68 100644
--- a/drivers/serial/serial_mpc5xxx.c
+++ b/drivers/serial/serial_mpc5xxx.c
@@ -145,12 +145,14 @@ static int mpc5xxx_serial_tstc (struct console_device *cdev)
static int mpc5xxx_serial_probe(struct device_d *dev)
{
+ struct resource *iores;
struct console_device *cdev;
cdev = xzalloc(sizeof(struct console_device));
- dev->priv = dev_request_mem_region(dev, 0);
- if (IS_ERR(dev->priv))
- return PTR_ERR(dev->priv);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ dev->priv = IOMEM(iores->start);
cdev->dev = dev;
cdev->tstc = mpc5xxx_serial_tstc;
cdev->putc = mpc5xxx_serial_putc;
diff --git a/drivers/serial/serial_netx.c b/drivers/serial/serial_netx.c
index c659cfaaf3..55ed89bf92 100644
--- a/drivers/serial/serial_netx.c
+++ b/drivers/serial/serial_netx.c
@@ -133,10 +133,14 @@ static int netx_serial_tstc(struct console_device *cdev)
static int netx_serial_probe(struct device_d *dev)
{
+ struct resource *iores;
struct console_device *cdev;
cdev = xzalloc(sizeof(struct console_device));
- dev->priv = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ dev->priv = IOMEM(iores->start);
cdev->dev = dev;
cdev->tstc = netx_serial_tstc;
cdev->putc = netx_serial_putc;
diff --git a/drivers/serial/serial_ns16550.c b/drivers/serial/serial_ns16550.c
index 1af226a76a..4ad52ea79c 100644
--- a/drivers/serial/serial_ns16550.c
+++ b/drivers/serial/serial_ns16550.c
@@ -321,6 +321,7 @@ static __maybe_unused struct ns16550_drvdata tegra_drvdata = {
static int ns16550_init_iomem(struct device_d *dev, struct ns16550_priv *priv)
{
+ struct resource *iores;
struct resource *res;
int width;
@@ -328,9 +329,10 @@ static int ns16550_init_iomem(struct device_d *dev, struct ns16550_priv *priv)
if (IS_ERR(res))
return PTR_ERR(res);
- priv->mmiobase = dev_request_mem_region(dev, 0);
- if (IS_ERR(priv->mmiobase))
- return PTR_ERR(priv->mmiobase);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->mmiobase = IOMEM(iores->start);
width = res->flags & IORESOURCE_MEM_TYPE_MASK;
switch (width) {
diff --git a/drivers/serial/serial_pl010.c b/drivers/serial/serial_pl010.c
index 81cea776a6..06f9d2dcdc 100644
--- a/drivers/serial/serial_pl010.c
+++ b/drivers/serial/serial_pl010.c
@@ -135,10 +135,14 @@ static int pl010_tstc(struct console_device *cdev)
static int pl010_probe(struct device_d *dev)
{
+ struct resource *iores;
struct console_device *cdev;
cdev = xzalloc(sizeof(struct console_device));
- dev->priv = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ dev->priv = IOMEM(iores->start);
cdev->dev = dev;
cdev->tstc = pl010_tstc;
cdev->putc = pl010_putc;
diff --git a/drivers/serial/serial_pxa.c b/drivers/serial/serial_pxa.c
index 20ac4beb96..1a4d7b4303 100644
--- a/drivers/serial/serial_pxa.c
+++ b/drivers/serial/serial_pxa.c
@@ -161,12 +161,16 @@ static int pxa_serial_setbaudrate(struct console_device *cdev, int baudrate)
static int pxa_serial_probe(struct device_d *dev)
{
+ struct resource *iores;
struct console_device *cdev;
struct pxa_serial_priv *priv;
priv = xzalloc(sizeof(*priv));
cdev = &priv->cdev;
- priv->regs = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->regs = IOMEM(iores->start);
dev->priv = priv;
cdev->dev = dev;
diff --git a/drivers/serial/serial_s3c.c b/drivers/serial/serial_s3c.c
index 038193dcf4..0a6e22d971 100644
--- a/drivers/serial/serial_s3c.c
+++ b/drivers/serial/serial_s3c.c
@@ -176,12 +176,16 @@ static void s3c_serial_flush(struct console_device *cdev)
static int s3c_serial_probe(struct device_d *dev)
{
+ struct resource *iores;
struct s3c_uart *priv;
struct console_device *cdev;
priv = xzalloc(sizeof(struct s3c_uart));
cdev = &priv->cdev;
- priv->regs = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->regs = IOMEM(iores->start);
dev->priv = priv;
cdev->dev = dev;
cdev->tstc = s3c_serial_tstc;
diff --git a/drivers/serial/stm-serial.c b/drivers/serial/stm-serial.c
index 8bb242b14d..83328f4550 100644
--- a/drivers/serial/stm-serial.c
+++ b/drivers/serial/stm-serial.c
@@ -145,6 +145,7 @@ static int stm_serial_init_port(struct stm_priv *priv)
static int stm_serial_probe(struct device_d *dev)
{
+ struct resource *iores;
struct stm_priv *priv;
struct console_device *cdev;
@@ -160,9 +161,10 @@ static int stm_serial_probe(struct device_d *dev)
cdev->dev = dev;
dev->priv = priv;
- priv->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(priv->base))
- return PTR_ERR(priv->base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->base = IOMEM(iores->start);
priv->clk = clk_get(dev, NULL);
if (IS_ERR(priv->clk))
return PTR_ERR(priv->clk);
diff --git a/drivers/spi/altera_spi.c b/drivers/spi/altera_spi.c
index bf1add81fe..4506e2741d 100644
--- a/drivers/spi/altera_spi.c
+++ b/drivers/spi/altera_spi.c
@@ -206,6 +206,7 @@ static int altera_spi_transfer(struct spi_device *spi, struct spi_message *mesg)
static int altera_spi_probe(struct device_d *dev)
{
+ struct resource *iores;
struct spi_master *master;
struct altera_spi *altera_spi;
struct spi_altera_master *pdata = dev->platform_data;
@@ -221,9 +222,10 @@ static int altera_spi_probe(struct device_d *dev)
master->num_chipselect = pdata->num_chipselect;
master->bus_num = pdata->bus_num;
- altera_spi->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(altera_spi->regs))
- return PTR_ERR(altera_spi->regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ altera_spi->regs = IOMEM(iores->start);
altera_spi->databits = pdata->databits;
altera_spi->speed = pdata->speed;
diff --git a/drivers/spi/ath79_spi.c b/drivers/spi/ath79_spi.c
index bdb39ef0cb..68b4c7c48e 100644
--- a/drivers/spi/ath79_spi.c
+++ b/drivers/spi/ath79_spi.c
@@ -233,6 +233,7 @@ static void ath79_spi_disable(struct ath79_spi *sp)
static int ath79_spi_probe(struct device_d *dev)
{
+ struct resource *iores;
struct spi_master *master;
struct ath79_spi *ath79_spi;
@@ -263,7 +264,10 @@ static int ath79_spi_probe(struct device_d *dev)
master->num_chipselect = num_cs;
}
- ath79_spi->regs = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ ath79_spi->regs = IOMEM(iores->start);
/* enable gpio mode */
ath79_spi_enable(ath79_spi);
diff --git a/drivers/spi/atmel_spi.c b/drivers/spi/atmel_spi.c
index 0bf9d08b83..3f2c527d14 100644
--- a/drivers/spi/atmel_spi.c
+++ b/drivers/spi/atmel_spi.c
@@ -371,6 +371,7 @@ err:
static int atmel_spi_probe(struct device_d *dev)
{
+ struct resource *iores;
int ret = 0;
int i;
struct spi_master *master;
@@ -399,7 +400,10 @@ static int atmel_spi_probe(struct device_d *dev)
master->transfer = atmel_spi_transfer;
master->num_chipselect = pdata->num_chipselect;
as->cs_pins = pdata->chipselect;
- as->regs = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ as->regs = IOMEM(iores->start);
for (i = 0; i < master->num_chipselect; i++) {
ret = gpio_request(as->cs_pins[i], dev_name(dev));
diff --git a/drivers/spi/imx_spi.c b/drivers/spi/imx_spi.c
index 2e489674d8..5bd1845fbb 100644
--- a/drivers/spi/imx_spi.c
+++ b/drivers/spi/imx_spi.c
@@ -538,6 +538,7 @@ static int imx_spi_dt_probe(struct imx_spi *imx)
static int imx_spi_probe(struct device_d *dev)
{
+ struct resource *iores;
struct spi_master *master;
struct imx_spi *imx;
struct spi_imx_master *pdata = dev->platform_data;
@@ -574,7 +575,10 @@ static int imx_spi_probe(struct device_d *dev)
imx->chipselect = devdata->chipselect;
imx->xchg_single = devdata->xchg_single;
imx->do_transfer = devdata->do_transfer;
- imx->regs = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ imx->regs = IOMEM(iores->start);
if (devdata->init)
devdata->init(imx);
diff --git a/drivers/spi/mvebu_spi.c b/drivers/spi/mvebu_spi.c
index bc0655f6a0..c679e64c42 100644
--- a/drivers/spi/mvebu_spi.c
+++ b/drivers/spi/mvebu_spi.c
@@ -332,6 +332,7 @@ static struct of_device_id mvebu_spi_dt_ids[] = {
static int mvebu_spi_probe(struct device_d *dev)
{
+ struct resource *iores;
struct spi_master *master;
struct mvebu_spi *priv;
const struct of_device_id *match;
@@ -342,11 +343,12 @@ static int mvebu_spi_probe(struct device_d *dev)
return -EINVAL;
priv = xzalloc(sizeof(*priv));
- priv->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(priv->base)) {
- ret = PTR_ERR(priv->base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
+ ret = PTR_ERR(iores);
goto err_free;
}
+ priv->base = IOMEM(iores->start);
priv->set_baudrate = (void *)match->data;
priv->clk = clk_get(dev, NULL);
if (IS_ERR(priv->clk)) {
diff --git a/drivers/spi/mxs_spi.c b/drivers/spi/mxs_spi.c
index 9fe2fd4eaf..420d122b55 100644
--- a/drivers/spi/mxs_spi.c
+++ b/drivers/spi/mxs_spi.c
@@ -250,6 +250,7 @@ static int mxs_spi_transfer(struct spi_device *spi, struct spi_message *mesg)
static int mxs_spi_probe(struct device_d *dev)
{
+ struct resource *iores;
struct spi_master *master;
struct mxs_spi *mxs;
@@ -264,9 +265,10 @@ static int mxs_spi_probe(struct device_d *dev)
master->num_chipselect = 3;
mxs->mode = SPI_CPOL | SPI_CPHA;
- mxs->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(mxs->regs))
- return PTR_ERR(mxs->regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ mxs->regs = IOMEM(iores->start);
mxs->clk = clk_get(dev, NULL);
if (IS_ERR(mxs->clk))
diff --git a/drivers/spi/omap3_spi.c b/drivers/spi/omap3_spi.c
index 8e29fde0bb..f63039718f 100644
--- a/drivers/spi/omap3_spi.c
+++ b/drivers/spi/omap3_spi.c
@@ -358,6 +358,7 @@ static int omap3_spi_probe_dt(struct device_d *dev, struct omap3_spi_master *oma
static int omap3_spi_probe(struct device_d *dev)
{
+ struct resource *iores;
struct spi_master *master;
struct omap3_spi_master *omap3_master;
struct omap_spi_drvdata *devtype;
@@ -399,7 +400,10 @@ static int omap3_spi_probe(struct device_d *dev)
master->setup = omap3_spi_setup;
master->transfer = omap3_spi_transfer;
- omap3_master->base = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ omap3_master->base = IOMEM(iores->start);
omap3_master->regs = omap3_master->base;
omap3_master->regs += devtype->register_offset;
diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c
index b36ef19c8a..5f6bebc733 100644
--- a/drivers/usb/gadget/at91_udc.c
+++ b/drivers/usb/gadget/at91_udc.c
@@ -1379,6 +1379,7 @@ static void at91_udc_gadget_poll(struct usb_gadget *gadget)
static int __init at91udc_probe(struct device_d *dev)
{
+ struct resource *iores;
struct at91_udc *udc = &controller;
int retval;
@@ -1422,7 +1423,10 @@ static int __init at91udc_probe(struct device_d *dev)
udc->ep[3].maxpacket = 64;
}
- udc->udp_baseaddr = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ udc->udp_baseaddr = IOMEM(iores->start);
if (IS_ERR(udc->udp_baseaddr)) {
retval = PTR_ERR(udc->udp_baseaddr);
goto fail0a;
diff --git a/drivers/usb/gadget/pxa27x_udc.c b/drivers/usb/gadget/pxa27x_udc.c
index 831fbde462..372c07b418 100644
--- a/drivers/usb/gadget/pxa27x_udc.c
+++ b/drivers/usb/gadget/pxa27x_udc.c
@@ -1449,12 +1449,14 @@ static struct pxa_udc memory = {
static int __init pxa_udc_probe(struct device_d *dev)
{
+ struct resource *iores;
struct pxa_udc *udc = &memory;
int gpio, ret;
- udc->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(udc->regs))
- return PTR_ERR(udc->regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ udc->regs = IOMEM(iores->start);
udc->dev = dev;
udc->mach = dev->platform_data;
diff --git a/drivers/usb/host/ehci-atmel.c b/drivers/usb/host/ehci-atmel.c
index 11b1a894e1..cc9636c4b7 100644
--- a/drivers/usb/host/ehci-atmel.c
+++ b/drivers/usb/host/ehci-atmel.c
@@ -46,6 +46,7 @@ static void atmel_stop_clock(void)
static int atmel_ehci_probe(struct device_d *dev)
{
+ struct resource *iores;
struct ehci_data data;
iclk = clk_get(dev, "ehci_clk");
@@ -67,7 +68,10 @@ static int atmel_ehci_probe(struct device_d *dev)
data.flags = 0;
- data.hccr = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ data.hccr = IOMEM(iores->start);
ehci_register(dev, &data);
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index 91c6d73c30..8ea26e3591 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -1334,6 +1334,7 @@ int ehci_register(struct device_d *dev, struct ehci_data *data)
static int ehci_probe(struct device_d *dev)
{
+ struct resource *iores;
struct ehci_data data = {};
struct ehci_platform_data *pdata = dev->platform_data;
struct device_node *dn = dev->device_node;
@@ -1350,12 +1351,17 @@ static int ehci_probe(struct device_d *dev)
*/
data.flags = EHCI_HAS_TT;
- data.hccr = dev_request_mem_region(dev, 0);
- if (IS_ERR(data.hccr))
- return PTR_ERR(data.hccr);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ data.hccr = IOMEM(iores->start);
- if (dev->num_resources > 1)
- data.hcor = dev_request_mem_region(dev, 1);
+ if (dev->num_resources > 1) {
+ iores = dev_request_mem_resource(dev, 1);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ data.hcor = IOMEM(iores->start);
+ }
else
data.hcor = NULL;
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index 1d511b7563..612c3a1033 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -1793,6 +1793,7 @@ static int ohci_init(struct usb_host *host)
static int ohci_probe(struct device_d *dev)
{
+ struct resource *iores;
struct usb_host *host;
struct ohci *ohci;
@@ -1818,9 +1819,10 @@ static int ohci_probe(struct device_d *dev)
usb_register_host(host);
- ohci->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(ohci->regs))
- return PTR_ERR(ohci->regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ ohci->regs = IOMEM(iores->start);
return 0;
}
diff --git a/drivers/usb/host/xhci-hcd.c b/drivers/usb/host/xhci-hcd.c
index a44a1a4dff..2b808cc875 100644
--- a/drivers/usb/host/xhci-hcd.c
+++ b/drivers/usb/host/xhci-hcd.c
@@ -1509,9 +1509,13 @@ int xhci_register(struct device_d *dev, struct xhci_data *data)
static int xhci_probe(struct device_d *dev)
{
+ struct resource *iores;
struct xhci_data data = {};
- data.regs = dev_request_mem_region(dev, 0);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ data.regs = IOMEM(iores->start);
return xhci_register(dev, &data);
}
diff --git a/drivers/usb/imx/chipidea-imx.c b/drivers/usb/imx/chipidea-imx.c
index a1c36cf644..a799abe4ee 100644
--- a/drivers/usb/imx/chipidea-imx.c
+++ b/drivers/usb/imx/chipidea-imx.c
@@ -216,6 +216,7 @@ static int ci_register_otg_device(struct imx_chipidea *ci)
static int imx_chipidea_probe(struct device_d *dev)
{
+ struct resource *iores;
struct imxusb_platformdata *pdata = dev->platform_data;
int ret;
void __iomem *base;
@@ -245,9 +246,10 @@ static int imx_chipidea_probe(struct device_d *dev)
if (!IS_ERR(ci->vbus))
regulator_enable(ci->vbus);
- base = dev_request_mem_region(dev, 0);
- if (IS_ERR(base))
- return PTR_ERR(base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ base = IOMEM(iores->start);
ci->base = base;
diff --git a/drivers/usb/imx/imx-usb-misc.c b/drivers/usb/imx/imx-usb-misc.c
index 576dc9a2f9..d938a2cd87 100644
--- a/drivers/usb/imx/imx-usb-misc.c
+++ b/drivers/usb/imx/imx-usb-misc.c
@@ -545,6 +545,7 @@ int imx_usbmisc_port_post_init(int port, unsigned flags)
static int imx_usbmisc_probe(struct device_d *dev)
{
+ struct resource *iores;
struct imx_usb_misc_data *devtype;
int ret;
@@ -552,9 +553,10 @@ static int imx_usbmisc_probe(struct device_d *dev)
if (ret)
return ret;
- usbmisc_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(usbmisc_base))
- return PTR_ERR(usbmisc_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ usbmisc_base = IOMEM(iores->start);
imxusbmisc_data = devtype;
diff --git a/drivers/usb/imx/imx-usb-phy.c b/drivers/usb/imx/imx-usb-phy.c
index 8ea08144d4..33e27da64c 100644
--- a/drivers/usb/imx/imx-usb-phy.c
+++ b/drivers/usb/imx/imx-usb-phy.c
@@ -65,16 +65,18 @@ static int imx_usbphy_enable(struct imx_usbphy *imxphy)
static int imx_usbphy_probe(struct device_d *dev)
{
+ struct resource *iores;
int ret;
struct imx_usbphy *imxphy;
imxphy = xzalloc(sizeof(*imxphy));
- imxphy->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(imxphy->base)) {
- ret = PTR_ERR(imxphy->base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
+ ret = PTR_ERR(iores);
goto err_free;
}
+ imxphy->base = IOMEM(iores->start);
imxphy->clk = clk_get(dev, NULL);
if (IS_ERR(imxphy->clk)) {
diff --git a/drivers/usb/musb/musb_dsps.c b/drivers/usb/musb/musb_dsps.c
index 958aeec685..431b97ea9b 100644
--- a/drivers/usb/musb/musb_dsps.c
+++ b/drivers/usb/musb/musb_dsps.c
@@ -349,6 +349,7 @@ static int dsps_register_otg_device(struct dsps_glue *glue)
static int dsps_probe(struct device_d *dev)
{
+ struct resource *iores;
struct musb_hdrc_platform_data *pdata;
struct musb_hdrc_config *config;
struct device_node *dn = dev->device_node;
@@ -378,13 +379,15 @@ static int dsps_probe(struct device_d *dev)
pdata = &glue->pdata;
- glue->musb.mregs = dev_request_mem_region(dev, 0);
- if (IS_ERR(glue->musb.mregs))
- return PTR_ERR(glue->musb.mregs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ glue->musb.mregs = IOMEM(iores->start);
- glue->musb.ctrl_base = dev_request_mem_region(dev, 1);
- if (IS_ERR(glue->musb.ctrl_base))
- return PTR_ERR(glue->musb.ctrl_base);
+ iores = dev_request_mem_resource(dev, 1);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ glue->musb.ctrl_base = IOMEM(iores->start);
glue->musb.controller = dev;
diff --git a/drivers/usb/musb/phy-am335x-control.c b/drivers/usb/musb/phy-am335x-control.c
index 809c5182c0..5fd8802b3a 100644
--- a/drivers/usb/musb/phy-am335x-control.c
+++ b/drivers/usb/musb/phy-am335x-control.c
@@ -129,6 +129,7 @@ EXPORT_SYMBOL(am335x_get_phy_control);
static int am335x_control_usb_probe(struct device_d *dev)
{
+ struct resource *iores;
/*struct resource *res;*/
struct am335x_control_usb *ctrl_usb;
const struct phy_control *phy_ctrl;
@@ -146,13 +147,15 @@ static int am335x_control_usb_probe(struct device_d *dev)
ctrl_usb->dev = dev;
- ctrl_usb->phy_reg = dev_request_mem_region(dev, 0);
- if (IS_ERR(ctrl_usb->phy_reg))
- return PTR_ERR(ctrl_usb->phy_reg);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ ctrl_usb->phy_reg = IOMEM(iores->start);
- ctrl_usb->wkup = dev_request_mem_region(dev, 1);
- if (IS_ERR(ctrl_usb->wkup))
- return PTR_ERR(ctrl_usb->wkup);
+ iores = dev_request_mem_resource(dev, 1);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ ctrl_usb->wkup = IOMEM(iores->start);
spin_lock_init(&ctrl_usb->lock);
ctrl_usb->phy_ctrl = *phy_ctrl;
diff --git a/drivers/usb/musb/phy-am335x.c b/drivers/usb/musb/phy-am335x.c
index 0a0b01dd27..204e51054d 100644
--- a/drivers/usb/musb/phy-am335x.c
+++ b/drivers/usb/musb/phy-am335x.c
@@ -30,17 +30,19 @@ static int am335x_init(struct usb_phy *phy)
static int am335x_phy_probe(struct device_d *dev)
{
+ struct resource *iores;
int ret;
am_usbphy = xzalloc(sizeof(*am_usbphy));
if (!am_usbphy)
return -ENOMEM;
- am_usbphy->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(am_usbphy->base)) {
- ret = PTR_ERR(am_usbphy->base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
+ ret = PTR_ERR(iores);
goto err_free;
}
+ am_usbphy->base = IOMEM(iores->start);
am_usbphy->phy_ctrl = am335x_get_phy_control(dev);
if (!am_usbphy->phy_ctrl)
diff --git a/drivers/video/atmel_lcdfb_core.c b/drivers/video/atmel_lcdfb_core.c
index 76116af1da..555799ea4b 100644
--- a/drivers/video/atmel_lcdfb_core.c
+++ b/drivers/video/atmel_lcdfb_core.c
@@ -245,6 +245,7 @@ static struct fb_ops atmel_lcdc_ops = {
int atmel_lcdc_register(struct device_d *dev, struct atmel_lcdfb_devdata *data)
{
+ struct resource *iores;
struct atmel_lcdfb_info *sinfo;
struct atmel_lcdfb_platform_data *pdata = dev->platform_data;
int ret = 0;
@@ -257,9 +258,10 @@ int atmel_lcdc_register(struct device_d *dev, struct atmel_lcdfb_devdata *data)
sinfo = xzalloc(sizeof(*sinfo));
sinfo->pdata = pdata;
- sinfo->mmio = dev_request_mem_region(dev, 0);
- if (IS_ERR(sinfo->mmio))
- return PTR_ERR(sinfo->mmio);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ sinfo->mmio = IOMEM(iores->start);
sinfo->dev_data = data;
diff --git a/drivers/video/imx-ipu-fb.c b/drivers/video/imx-ipu-fb.c
index 03d191a331..7c3a800149 100644
--- a/drivers/video/imx-ipu-fb.c
+++ b/drivers/video/imx-ipu-fb.c
@@ -988,6 +988,7 @@ static int sdc_fb_register_overlay(struct ipu_fb_info *fbi, void *fb)
static int imxfb_probe(struct device_d *dev)
{
+ struct resource *iores;
struct ipu_fb_info *fbi;
struct fb_info *info;
const struct imx_ipu_fb_platform_data *pdata = dev->platform_data;
@@ -1003,9 +1004,10 @@ static int imxfb_probe(struct device_d *dev)
if (IS_ERR(fbi->clk))
return PTR_ERR(fbi->clk);
- fbi->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(fbi->regs))
- return PTR_ERR(fbi->regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ fbi->regs = IOMEM(iores->start);
fbi->dev = dev;
fbi->enable = pdata->enable;
fbi->disp_data_fmt = pdata->disp_data_fmt;
diff --git a/drivers/video/imx-ipu-v3/imx-hdmi.c b/drivers/video/imx-ipu-v3/imx-hdmi.c
index 49cbca16e6..8b251a52ea 100644
--- a/drivers/video/imx-ipu-v3/imx-hdmi.c
+++ b/drivers/video/imx-ipu-v3/imx-hdmi.c
@@ -1271,6 +1271,7 @@ static int dw_hdmi_ioctl(struct vpl *vpl, unsigned int port,
static int dw_hdmi_probe(struct device_d *dev)
{
+ struct resource *iores;
struct device_node *np = dev->device_node;
struct dw_hdmi *hdmi;
int ret;
@@ -1293,9 +1294,10 @@ static int dw_hdmi_probe(struct device_d *dev)
hdmi->ddc_node = of_parse_phandle(np, "ddc-i2c-bus", 0);
- hdmi->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(hdmi->regs))
- return PTR_ERR(hdmi->regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ hdmi->regs = IOMEM(iores->start);
hdmi->isfr_clk = clk_get(hdmi->dev, "isfr");
if (IS_ERR(hdmi->isfr_clk)) {
diff --git a/drivers/video/imx-ipu-v3/ipu-common.c b/drivers/video/imx-ipu-v3/ipu-common.c
index 398eefbd5b..1811e50227 100644
--- a/drivers/video/imx-ipu-v3/ipu-common.c
+++ b/drivers/video/imx-ipu-v3/ipu-common.c
@@ -751,6 +751,7 @@ err_register:
static int ipu_probe(struct device_d *dev)
{
+ struct resource *iores;
struct ipu_soc *ipu;
void __iomem *ipu_base;
int i, ret;
@@ -760,9 +761,10 @@ static int ipu_probe(struct device_d *dev)
if (ret)
return ret;
- ipu_base = dev_request_mem_region(dev, 0);
- if (IS_ERR(ipu_base))
- return PTR_ERR(ipu_base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ ipu_base = IOMEM(iores->start);
ipu = xzalloc(sizeof(*ipu));
diff --git a/drivers/video/imx.c b/drivers/video/imx.c
index 11d49c6cfb..78cb5c0ca2 100644
--- a/drivers/video/imx.c
+++ b/drivers/video/imx.c
@@ -539,6 +539,7 @@ static int imxfb_register_overlay(struct imxfb_info *fbi, void *fb)
static int imxfb_probe(struct device_d *dev)
{
+ struct resource *iores;
struct imxfb_info *fbi;
struct fb_info *info;
struct imx_fb_platform_data *pdata = dev->platform_data;
@@ -573,9 +574,10 @@ static int imxfb_probe(struct device_d *dev)
return PTR_ERR(fbi->ipg_clk);
fbi->mode = pdata->mode;
- fbi->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(fbi->regs))
- return PTR_ERR(fbi->regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ fbi->regs = IOMEM(iores->start);
fbi->pcr = pdata->mode->pcr;
fbi->pwmr = pdata->pwmr;
diff --git a/drivers/video/pxa.c b/drivers/video/pxa.c
index e76404d9c9..d444e0981f 100644
--- a/drivers/video/pxa.c
+++ b/drivers/video/pxa.c
@@ -487,6 +487,7 @@ static struct fb_ops pxafb_ops = {
static int pxafb_probe(struct device_d *dev)
{
+ struct resource *iores;
struct pxafb_platform_data *pdata = dev->platform_data;
struct pxafb_info *fbi;
struct fb_info *info;
@@ -499,9 +500,10 @@ static int pxafb_probe(struct device_d *dev)
info = &fbi->info;
fbi->mode = pdata->mode;
- fbi->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(fbi->regs))
- return PTR_ERR(fbi->regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ fbi->regs = IOMEM(iores->start);
fbi->dev = dev;
fbi->lcd_power = pdata->lcd_power;
diff --git a/drivers/video/s3c24xx.c b/drivers/video/s3c24xx.c
index b1883e232c..84ed0aee39 100644
--- a/drivers/video/s3c24xx.c
+++ b/drivers/video/s3c24xx.c
@@ -358,13 +358,17 @@ static struct s3cfb_info fbi = {
static int s3cfb_probe(struct device_d *hw_dev)
{
+ struct resource *iores;
struct s3c_fb_platform_data *pdata = hw_dev->platform_data;
int ret;
if (! pdata)
return -ENODEV;
- fbi.base = dev_request_mem_region(hw_dev, 0);
+ iores = dev_request_mem_resource(hw_dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ fbi.base = IOMEM(iores->start);
writel(0, fbi.base + LCDCON1);
writel(0, fbi.base + LCDCON5); /* FIXME not 0 for some displays */
diff --git a/drivers/video/stm.c b/drivers/video/stm.c
index e5c1ef3974..0c190d36ae 100644
--- a/drivers/video/stm.c
+++ b/drivers/video/stm.c
@@ -505,6 +505,7 @@ static struct imxfb_info fbi = {
static int stmfb_probe(struct device_d *hw_dev)
{
+ struct resource *iores;
struct imx_fb_platformdata *pdata = hw_dev->platform_data;
int ret;
@@ -513,7 +514,10 @@ static int stmfb_probe(struct device_d *hw_dev)
/* add runtime hardware info */
fbi.hw_dev = hw_dev;
- fbi.base = dev_request_mem_region(hw_dev, 0);
+ iores = dev_request_mem_resource(hw_dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ fbi.base = IOMEM(iores->start);
fbi.clk = clk_get(hw_dev, NULL);
if (IS_ERR(fbi.clk))
return PTR_ERR(fbi.clk);
diff --git a/drivers/watchdog/davinci_wdt.c b/drivers/watchdog/davinci_wdt.c
index dfabee230c..03dc83408e 100644
--- a/drivers/watchdog/davinci_wdt.c
+++ b/drivers/watchdog/davinci_wdt.c
@@ -131,14 +131,16 @@ static int davinci_wdt_set_timeout(struct watchdog *wd, unsigned timeout)
static int davinci_wdt_probe(struct device_d *dev)
{
+ struct resource *iores;
int ret = 0;
struct davinci_wdt *davinci_wdt;
davinci_wdt = xzalloc(sizeof(*davinci_wdt));
- davinci_wdt->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(davinci_wdt->base))
- return PTR_ERR(davinci_wdt->base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ davinci_wdt->base = IOMEM(iores->start);
davinci_wdt->clk = clk_get(dev, NULL);
if (WARN_ON(IS_ERR(davinci_wdt->clk)))
diff --git a/drivers/watchdog/im28wd.c b/drivers/watchdog/im28wd.c
index 3510776a3a..1956fdb73d 100644
--- a/drivers/watchdog/im28wd.c
+++ b/drivers/watchdog/im28wd.c
@@ -189,13 +189,15 @@ static void __maybe_unused imx28_detect_reset_source(const struct imx28_wd *p)
static int imx28_wd_probe(struct device_d *dev)
{
+ struct resource *iores;
struct imx28_wd *priv;
int rc;
priv = xzalloc(sizeof(struct imx28_wd));
- priv->regs = dev_request_mem_region(dev, 0);
- if (IS_ERR(priv->regs))
- return PTR_ERR(priv->regs);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores))
+ return PTR_ERR(iores);
+ priv->regs = IOMEM(iores->start);
priv->wd.set_timeout = imx28_watchdog_set_timeout;
priv->wd.dev = dev;
diff --git a/drivers/watchdog/imxwd.c b/drivers/watchdog/imxwd.c
index 14588947f0..03e116ea20 100644
--- a/drivers/watchdog/imxwd.c
+++ b/drivers/watchdog/imxwd.c
@@ -173,6 +173,7 @@ static int imx21_wd_init(struct imx_wd *priv)
static int imx_wd_probe(struct device_d *dev)
{
+ struct resource *iores;
struct imx_wd *priv;
void *ops;
int ret;
@@ -182,11 +183,12 @@ static int imx_wd_probe(struct device_d *dev)
return ret;
priv = xzalloc(sizeof(struct imx_wd));
- priv->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(priv->base)) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
dev_err(dev, "could not get memory region\n");
- return PTR_ERR(priv->base);
+ return PTR_ERR(iores);
}
+ priv->base = IOMEM(iores->start);
priv->ops = ops;
priv->wd.set_timeout = imx_watchdog_set_timeout;
priv->wd.dev = dev;
diff --git a/drivers/watchdog/jz4740.c b/drivers/watchdog/jz4740.c
index 85a1c1d1e9..f28bb9177a 100644
--- a/drivers/watchdog/jz4740.c
+++ b/drivers/watchdog/jz4740.c
@@ -67,14 +67,16 @@ static void __noreturn jz4740_reset_soc(struct restart_handler *rst)
static int jz4740_wdt_probe(struct device_d *dev)
{
+ struct resource *iores;
struct jz4740_wdt_drvdata *priv;
priv = xzalloc(sizeof(struct jz4740_wdt_drvdata));
- priv->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(priv->base)) {
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
dev_err(dev, "could not get memory region\n");
- return PTR_ERR(priv->base);
+ return PTR_ERR(iores);
}
+ priv->base = IOMEM(iores->start);
dev->priv = priv;
diff --git a/drivers/watchdog/omap_wdt.c b/drivers/watchdog/omap_wdt.c
index 06301b3b9e..27fdfd13a0 100644
--- a/drivers/watchdog/omap_wdt.c
+++ b/drivers/watchdog/omap_wdt.c
@@ -154,6 +154,7 @@ static int omap_wdt_set_timeout(struct watchdog *wdog,
static int omap_wdt_probe(struct device_d *dev)
{
+ struct resource *iores;
struct omap_wdt_dev *wdev;
int ret;
@@ -162,11 +163,12 @@ static int omap_wdt_probe(struct device_d *dev)
wdev->wdt_trgr_pattern = 0x1234;
/* reserve static register mappings */
- wdev->base = dev_request_mem_region(dev, 0);
- if (IS_ERR(wdev->base)) {
- ret = PTR_ERR(wdev->base);
+ iores = dev_request_mem_resource(dev, 0);
+ if (IS_ERR(iores)) {
+ ret = PTR_ERR(iores);
goto error;
}
+ wdev->base = IOMEM(iores->start);
wdev->timeout = TIMER_MARGIN_DEFAULT;