diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-07-31 09:02:47 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-09-16 08:32:10 +0200 |
commit | 29b7f95f3bd244a4b4d036e1b3a94a7bfbe3581c (patch) | |
tree | 282c0036b7127af4ecb76e6fb214de8a2077bcfb /drivers/net | |
parent | 9d518ba397712add7fa06ff3ab056a26a3c46de6 (diff) | |
download | barebox-29b7f95f3bd244a4b4d036e1b3a94a7bfbe3581c.tar.gz barebox-29b7f95f3bd244a4b4d036e1b3a94a7bfbe3581c.tar.xz |
resource: Let dev_get_mem_region return an error pointer
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/gianfar.c | 11 | ||||
-rw-r--r-- | drivers/net/orion-gbe.c | 5 | ||||
-rw-r--r-- | drivers/net/phy/mdio-mvebu.c | 5 |
3 files changed, 15 insertions, 6 deletions
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c index a308035ff2..5e47c64e0f 100644 --- a/drivers/net/gianfar.c +++ b/drivers/net/gianfar.c @@ -21,6 +21,7 @@ #include <errno.h> #include <asm/io.h> #include <linux/phy.h> +#include <linux/err.h> #include "gianfar.h" /* 2 seems to be the minimum number of TX descriptors to make it work. */ @@ -489,6 +490,8 @@ static int gfar_probe(struct device_d *dev) priv->mdiobus_tbi = gfar_info->mdiobus_tbi; priv->regs = dev_get_mem_region(dev, 0); + if (IS_ERR(priv->regs)) + return PTR_ERR(priv->regs); priv->phyaddr = gfar_info->phyaddr; priv->tbicr = gfar_info->tbicr; priv->tbiana = gfar_info->tbiana; @@ -553,8 +556,8 @@ static int gfar_phy_probe(struct device_d *dev) phy = xzalloc(sizeof(*phy)); phy->dev = dev; phy->regs = dev_get_mem_region(dev, 0); - if (!phy->regs) - return -ENOMEM; + if (IS_ERR(phy->regs)) + return PTR_ERR(phy->regs); phy->miibus.read = gfar_miiphy_read; phy->miibus.write = gfar_miiphy_write; @@ -584,8 +587,8 @@ static int gfar_tbiphy_probe(struct device_d *dev) phy = xzalloc(sizeof(*phy)); phy->dev = dev; phy->regs = dev_get_mem_region(dev, 0); - if (!phy->regs) - return -ENOMEM; + if (IS_ERR(phy->regs)) + return PTR_ERR(phy->regs); phy->miibus.read = gfar_miiphy_read; phy->miibus.write = gfar_miiphy_write; diff --git a/drivers/net/orion-gbe.c b/drivers/net/orion-gbe.c index 991c8a80de..ab761ad2e0 100644 --- a/drivers/net/orion-gbe.c +++ b/drivers/net/orion-gbe.c @@ -415,6 +415,8 @@ static int port_probe(struct device_d *parent, struct port_priv *port) port->intf = PHY_INTERFACE_MODE_RGMII; port->regs = dev_get_mem_region(parent, 0) + PORTn_REGS(port->portno); + if (IS_ERR(port->regs)) + return PTR_ERR(port->regs); /* allocate rx/tx descriptors and buffers */ port->txdesc = dma_alloc_coherent(ALIGN(sizeof(*port->txdesc), 16)); @@ -490,6 +492,9 @@ static int orion_gbe_probe(struct device_d *dev) dev->priv = gbe; gbe->regs = dev_get_mem_region(dev, 0); + if (IS_ERR(gbe->regs)) + return PTR_ERR(gbe->regs); + gbe->clk = clk_get(dev, 0); if (!IS_ERR(gbe->clk)) clk_enable(gbe->clk); diff --git a/drivers/net/phy/mdio-mvebu.c b/drivers/net/phy/mdio-mvebu.c index b90e28102c..460e2b4131 100644 --- a/drivers/net/phy/mdio-mvebu.c +++ b/drivers/net/phy/mdio-mvebu.c @@ -28,6 +28,7 @@ #include <io.h> #include <of.h> #include <linux/clk.h> +#include <linux/err.h> #include <linux/phy.h> #define SMI_DATA_SHIFT 0 @@ -113,8 +114,8 @@ static int mvebu_mdio_probe(struct device_d *dev) dev->priv = priv; priv->regs = dev_get_mem_region(dev, 0); - if (!priv->regs) - return -ENOMEM; + if (IS_ERR(priv->regs)) + return PTR_ERR(priv->regs); priv->clk = clk_get(dev, NULL); if (IS_ERR(priv->clk)) |