Commit 84ba04f2 authored by Olof Johansson's avatar Olof Johansson

Merge tag 'gpmc-omap-v4.8-rc1' of https://github.com/rogerq/linux into fixes

OMAP-GPMC: fixes for v4.8-rc1

Allow other children of GPMC to probe even if any child fails.  This fixes
problem on Overo boards where networking device child doesn't probe due
to broken NAND child.

* tag 'gpmc-omap-v4.8-rc1' of https://github.com/rogerq/linux:
  memory: omap-gpmc: allow probe of child nodes to fail
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 2586d61f 23540d6e
...@@ -2185,7 +2185,7 @@ static int gpmc_probe_dt(struct platform_device *pdev) ...@@ -2185,7 +2185,7 @@ static int gpmc_probe_dt(struct platform_device *pdev)
return 0; return 0;
} }
static int gpmc_probe_dt_children(struct platform_device *pdev) static void gpmc_probe_dt_children(struct platform_device *pdev)
{ {
int ret; int ret;
struct device_node *child; struct device_node *child;
...@@ -2200,11 +2200,11 @@ static int gpmc_probe_dt_children(struct platform_device *pdev) ...@@ -2200,11 +2200,11 @@ static int gpmc_probe_dt_children(struct platform_device *pdev)
else else
ret = gpmc_probe_generic_child(pdev, child); ret = gpmc_probe_generic_child(pdev, child);
if (ret) if (ret) {
return ret; dev_err(&pdev->dev, "failed to probe DT child '%s': %d\n",
child->name, ret);
}
} }
return 0;
} }
#else #else
static int gpmc_probe_dt(struct platform_device *pdev) static int gpmc_probe_dt(struct platform_device *pdev)
...@@ -2212,9 +2212,8 @@ static int gpmc_probe_dt(struct platform_device *pdev) ...@@ -2212,9 +2212,8 @@ static int gpmc_probe_dt(struct platform_device *pdev)
return 0; return 0;
} }
static int gpmc_probe_dt_children(struct platform_device *pdev) static void gpmc_probe_dt_children(struct platform_device *pdev)
{ {
return 0;
} }
#endif /* CONFIG_OF */ #endif /* CONFIG_OF */
...@@ -2369,16 +2368,10 @@ static int gpmc_probe(struct platform_device *pdev) ...@@ -2369,16 +2368,10 @@ static int gpmc_probe(struct platform_device *pdev)
goto setup_irq_failed; goto setup_irq_failed;
} }
rc = gpmc_probe_dt_children(pdev); gpmc_probe_dt_children(pdev);
if (rc < 0) {
dev_err(gpmc->dev, "failed to probe DT children\n");
goto dt_children_failed;
}
return 0; return 0;
dt_children_failed:
gpmc_free_irq(gpmc);
setup_irq_failed: setup_irq_failed:
gpmc_gpio_exit(gpmc); gpmc_gpio_exit(gpmc);
gpio_init_failed: gpio_init_failed:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment