aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2/gpmc.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-05-09 14:54:36 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2013-05-09 14:54:36 -0700
commitfc72053bb497e3054d6e4d13ab425fc2311442d4 (patch)
treefd85d369bcf6743d8eed8e07dc9866630d558b72 /arch/arm/mach-omap2/gpmc.c
parentc61c48dfe00907007df3b87e4ed271a5c143bdda (diff)
parentc58c1a4c118ba2ed49f72de9b42ef13bc8ee71e5 (diff)
Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC fixes and straggler patches from Olof Johansson: "A collection of fixes for fall out from 3.10 merge window, some build fixes and warning cleanups and a small handful of patches that were small and contained and made sense to still include in 3.10 (some of these have also been in -next since the merge window opened). Largest continous series is for OMAP, but there's a handful for other platforms. For i.MX, one of the patches are framebuffer fixups due to fallout during the merge window, and the other removes some stale and broken code." * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (34 commits) ARM: exynos: dts: Fixed vbus-gpios ARM: EXYNOS5: Fix kernel dump in AFTR idle mode ARM: ux500: Rid ignored return value of regulator_enable() compiler warning ARM: ux500: read the correct soc_id number ARM: exynos: dts: cros5250: add cyapa trackpad video: mxsfb: Adapt to new videomode API ARM: imx: Select GENERIC_ALLOCATOR ARM: imx: compile fix for hotplug.c ARM: dts: don't assume boards are using twl4030 for omap3 ARM: OMAP2+: Remove bogus IS_ERR_OR_NULL checking from id.c ARM: dts: Configure and fix the McSPI pins for 4430sdp ARM: dts: AM33XX: Add GPMC node ARM: dts: OMAP4460: Fix CPU OPP voltages ARM: dts: OMAP36xx: Fix CPU OPP voltages ARM: OMAP4+: omap2plus_defconfig: Enable audio via TWL6040 as module ARM: OMAP2: AM33XX: id: Add support for new AM335x PG2.1 Si omap: mux: add AM/DM37x gpios ARM: OMAP1: DMA: fix error handling in omap1_system_dma_init() ARM: OMAP2+: omap_device: use late_initcall_sync ARM: OMAP: RX-51: change probe order of touchscreen and panel SPI devices ...
Diffstat (limited to 'arch/arm/mach-omap2/gpmc.c')
-rw-r--r--arch/arm/mach-omap2/gpmc.c38
1 files changed, 12 insertions, 26 deletions
diff --git a/arch/arm/mach-omap2/gpmc.c b/arch/arm/mach-omap2/gpmc.c
index ed946df5ad8..6c4da1254f5 100644
--- a/arch/arm/mach-omap2/gpmc.c
+++ b/arch/arm/mach-omap2/gpmc.c
@@ -1520,36 +1520,22 @@ static int gpmc_probe_dt(struct platform_device *pdev)
return ret;
}
- for_each_node_by_name(child, "nand") {
- ret = gpmc_probe_nand_child(pdev, child);
- if (ret < 0) {
- of_node_put(child);
- return ret;
- }
- }
+ for_each_child_of_node(pdev->dev.of_node, child) {
- for_each_node_by_name(child, "onenand") {
- ret = gpmc_probe_onenand_child(pdev, child);
- if (ret < 0) {
- of_node_put(child);
- return ret;
- }
- }
+ if (!child->name)
+ continue;
- for_each_node_by_name(child, "nor") {
- ret = gpmc_probe_generic_child(pdev, child);
- if (ret < 0) {
- of_node_put(child);
- return ret;
- }
- }
+ if (of_node_cmp(child->name, "nand") == 0)
+ ret = gpmc_probe_nand_child(pdev, child);
+ else if (of_node_cmp(child->name, "onenand") == 0)
+ ret = gpmc_probe_onenand_child(pdev, child);
+ else if (of_node_cmp(child->name, "ethernet") == 0 ||
+ of_node_cmp(child->name, "nor") == 0)
+ ret = gpmc_probe_generic_child(pdev, child);
- for_each_node_by_name(child, "ethernet") {
- ret = gpmc_probe_generic_child(pdev, child);
- if (ret < 0) {
+ if (WARN(ret < 0, "%s: probing gpmc child %s failed\n",
+ __func__, child->full_name))
of_node_put(child);
- return ret;
- }
}
return 0;