[omap] Properly handle resources for omap_devices

omap_device relies on the platform notifier callbacks managing resources
behind the scenes. The resources were not properly linked causing crashes
when removing the device.

Rework the resource modification code so that linking is performed properly,
and make sure that no resources that have no parent (which can happen for DMA
& IRQ resources) are ever left for cleanup by the core resource layer.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>

Conflicts:
	arch/arm/mach-omap2/omap_device.c
i2c-EEPROM: In kernel memory accessor interface

In kernel users need to access the EEPROM using the i2c_client
interface. Extend at24 to use it via the command interface.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Fix util_is_printable_string

The method used did not account for multi-part strings.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
fdtdump: properly handle multi-string properties

Device tree can store multiple strings in a single property.
We didn't handle that case properly.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
dtc: Dynamic symbols & fixup support

Enable the generation of symbol & fixup information for
usage with dynamic DT loading.

Passing the -@ option generates a __symbols__ node at the
root node of the resulting blob for any node labels used.

When using the /plugin/ tag all unresolved label references
be tracked in the __fixups__ node, while all local phandle
references will the tracked in the __local_fixups__ node.

This is sufficient to implement a dynamic DT object loader.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
dtc: Add DTCO rule for DTB objects

Add a rule for compiling DTS files as objects.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>

Conflicts:
	scripts/Makefile.lib
dt: Introduce DTBO targets

Add target in the Makefiles to support generation of DTBO
(Device Tree Blob Objects).

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>

Conflicts:
	arch/arm/boot/Makefile
	arch/arm/boot/dts/Makefile
firmware: update .gitignore with dtbo objects

Ignore generated dtbo files.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
OF: Introduce device tree object support

All the changes needed to implement DT object support loading.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
capemgr: Capemgr makefiles and Kconfig fragments.

Introduce a cape loader using DT overlays and dynamic
DT objects.

Makefile and Kconfig fragments.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
capemgr: Beaglebone capemanager

A cape loader based on DT overlays and DT objects.

Beaglebone cape manager implementation.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
capemgr: am33xx family DT bindings

A cape loader based on DT overlays and DT objects.

These are the DT bindings.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
bone-geiger: Geiger bone driver.

A driver for the beaglebone geiger cape.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
capemgr: firmware makefiles for DT objects

Makefile changes to support the DT cape definitions.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
capemgr: emmc2 cape definition.

Definition for a virtual eMMC cape.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
capemgr: DVI capes definitions

Definitions for the beaglebone DVI capes.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
capemgr: Geiger cape definition

Geiger Cape definition

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>
capemgr: LCD3 cape definition

Definition for the beaglebone LCD3 cape.

Signed-off-by: Pantelis Antoniou <panto@antoniou-consulting.com>