linux/arch/arm/plat-omap
Ohad Ben-Cohen 993e4fbd78 ARM: OMAP: omap_device: Expose omap_device_{alloc, delete, register}
Expose omap_device_{alloc, delete, register} so we can use them outside
of omap_device.c.

This approach allows users, which need to manipulate an archdata member
of a device before it is registered, to do so. This is also useful
for users who have their devices created very early so they can be used
at ->reserve() time to reserve CMA memory.

The immediate use case for this is to set the private iommu archdata
member, which binds a device to its associated iommu controller.
This way, generic code will be able to attach omap devices to their
iommus, without calling any omap-specific API.

With this in hand, we can further clean the existing mainline OMAP iommu
driver and its mainline users, and focus on generic IOMMU approaches
for future users (rpmsg/remoteproc and the upcoming generic DMA API).

This patch is still considered an interim solution until DT fully materializes
for omap; at that point, this functionality will be removed as DT will
take care of creating the devices and configuring them correctly.

Tested on OMAP4 with a generic rpmsg/remoteproc that doesn't use any
omap-specific IOMMU API anymore.

Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-02-20 10:00:39 -08:00
..
include/plat ARM: OMAP: omap_device: Expose omap_device_{alloc, delete, register} 2012-02-20 10:00:39 -08:00
clock.c arm: Add export.h to ARM specific files as required. 2011-10-31 19:30:50 -04:00
common.c ARM: OMAP: PM: Add support to allocate the memory for secure RAM 2011-12-08 11:29:00 -08:00
counter_32k.c ARM: 7205/2: sched_clock: allow sched_clock to be selected at runtime 2011-12-18 23:00:26 +00:00
debug-devices.c ARM: gpio: convert includes of mach/gpio.h and asm/gpio.h to linux/gpio.h 2011-08-08 14:27:41 +01:00
debug-leds.c ARM: gpio: convert includes of mach/gpio.h and asm/gpio.h to linux/gpio.h 2011-08-08 14:27:41 +01:00
devices.c ARM: Add arm_memblock_steal() to allocate memory away from the kernel 2012-01-13 15:02:35 +00:00
dma.c ARM: OMAP2+: DMA: Workaround for invalid destination position 2011-12-09 13:38:00 -08:00
dmtimer.c ARM: OMAP: dmtimer: Include linux/module.h 2011-11-04 17:41:06 -07:00
fb.c Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux 2010-10-26 10:02:39 -07:00
fb.h OMAP: plat-omap: Fix static function warnings 2010-10-08 10:12:38 -07:00
i2c.c ARM: OMAP: I2C: Fix omap_register_i2c_bus() return value on success 2011-11-04 17:41:07 -07:00
Kconfig ARM: GIC: Make MULTI_IRQ_HANDLER mandatory 2011-11-15 18:14:02 +00:00
mailbox.c arm: fix implicit module.h users by adding it to arch/arm as required. 2011-10-31 19:30:50 -04:00
Makefile ARM: OMAP: am33xx: Update common OMAP machine specific sources 2011-12-13 10:46:43 -08:00
mcbsp.c ARM: OMAP: mcbsp: Start generalize signal muxing functions 2011-09-26 17:49:07 -07:00
mux.c omap: mux: Remove old mux code 2010-07-05 16:31:40 +03:00
ocpi.c
omap_device.c ARM: OMAP: omap_device: Expose omap_device_{alloc, delete, register} 2012-02-20 10:00:39 -08:00
omap-pm-noop.c ARM: OMAP: change get_context_loss_count ret value to int 2011-11-04 17:41:07 -07:00
sram.c power management changes for omap and imx 2012-01-09 14:39:59 -08:00
sram.h OMAP: plat-omap: Fix static function warnings 2010-10-08 10:12:38 -07:00
usb.c omap: Move omap1 USB platform init code into mach-omap1/usb.c 2010-07-05 16:31:30 +03:00