diff options
Diffstat (limited to 'drivers/mtd/nand')
-rw-r--r-- | drivers/mtd/nand/atmel_nand.c | 3 | ||||
-rw-r--r-- | drivers/mtd/nand/nand_mxs.c | 5 | ||||
-rw-r--r-- | drivers/mtd/nand/nand_orion.c | 4 |
3 files changed, 10 insertions, 2 deletions
diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c index 1e7c6c6662..524606a407 100644 --- a/drivers/mtd/nand/atmel_nand.c +++ b/drivers/mtd/nand/atmel_nand.c @@ -34,6 +34,7 @@ #include <linux/mtd/mtd.h> #include <linux/mtd/nand.h> +#include <linux/err.h> #include <io.h> #include <mach/board.h> @@ -1199,6 +1200,8 @@ static int __init atmel_nand_probe(struct device_d *dev) return -ENOMEM; host->io_base = dev_request_mem_region(dev, 0); + if (IS_ERR(host->io_base)) + return PTR_ERR(host->io_base); mtd = &host->mtd; nand_chip = &host->nand_chip; diff --git a/drivers/mtd/nand/nand_mxs.c b/drivers/mtd/nand/nand_mxs.c index 5a4449d032..8989de0272 100644 --- a/drivers/mtd/nand/nand_mxs.c +++ b/drivers/mtd/nand/nand_mxs.c @@ -1254,7 +1254,12 @@ static int mxs_nand_probe(struct device_d *dev) 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); nand_info->clk = clk_get(dev, NULL); if (IS_ERR(nand_info->clk)) diff --git a/drivers/mtd/nand/nand_orion.c b/drivers/mtd/nand/nand_orion.c index a1c77b32ce..2c9707d04f 100644 --- a/drivers/mtd/nand/nand_orion.c +++ b/drivers/mtd/nand/nand_orion.c @@ -94,8 +94,8 @@ static int orion_nand_probe(struct device_d *dev) chip = &priv->chip; io_base = dev_request_mem_region(dev, 0); - if (!io_base) - return -EBUSY; + if (IS_ERR(io_base)) + return PTR_ERR(io_base); if (!of_property_read_u32(dev_node, "cle", &val)) priv->cle = (u8)val; |