diff --git a/drivers/base/driver.c b/drivers/base/driver.c index 23f31ce..e61c6c5 100644 --- a/drivers/base/driver.c +++ b/drivers/base/driver.c @@ -308,11 +308,11 @@ res = dev_get_resource_by_name(dev, IORESOURCE_MEM, name); if (IS_ERR(res)) - return NULL; + return ERR_CAST(res); res = request_iomem_region(dev_name(dev), res->start, res->end); if (IS_ERR(res)) - return NULL; + return ERR_CAST(res); return (void __force __iomem *)res->start; } diff --git a/drivers/mtd/nand/nomadik_nand.c b/drivers/mtd/nand/nomadik_nand.c index fbd8ecd..8f37345 100644 --- a/drivers/mtd/nand/nomadik_nand.c +++ b/drivers/mtd/nand/nomadik_nand.c @@ -26,6 +26,7 @@ #include #include +#include #include #include #include @@ -190,7 +191,11 @@ } host->cmd_va = dev_request_mem_region_by_name(dev, "nand_cmd"); + if (IS_ERR(host->cmd_va)) + return PTR_ERR(host->cmd_va); host->addr_va = dev_request_mem_region_by_name(dev, "nand_addr"); + if (IS_ERR(host->addr_va)) + return PTR_ERR(host->addr_va); /* Link all private pointers */ mtd = &host->mtd; @@ -200,6 +205,8 @@ mtd->parent = dev; nand->IO_ADDR_W = nand->IO_ADDR_R = dev_request_mem_region_by_name(dev, "nand_data"); + if (IS_ERR(nand->IO_ADDR_W)) + return PTR_ERR(nand->IO_ADDR_W); nand->cmd_ctrl = nomadik_cmd_ctrl; nand->ecc.mode = NAND_ECC_HW; diff --git a/drivers/video/omap.c b/drivers/video/omap.c index 485cc75..bd66c92 100644 --- a/drivers/video/omap.c +++ b/drivers/video/omap.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -442,7 +443,7 @@ fbi->dss = dev_request_mem_region_by_name(dev, "omap4_dss"); fbi->dispc = dev_request_mem_region_by_name(dev, "omap4_dispc"); - if (!fbi->dss || !fbi->dispc) { + if (IS_ERR(fbi->dss) || IS_ERR(fbi->dispc)) { dev_err(dev, "Insufficient register description\n"); rc = -EINVAL; goto out;