1. Migrate OMAP's iommu driver to the generic IOMMU API, and move it to the dedicated iommu folder. 2. Fix omap3isp appropriately so it doesn't break. 3. Adapt OMAP's iovmm appropriately as well, because omap3isp still relies on it. The plan is eventually to remove iovmm and replace it with the upcoming IOMMU-based generic DMA-API. Move iovmm to the iommu folder too; it belongs there more than it belongs in the OMAP folders. 4. Start cleaning up OMAP's iommu components towards the end goal, where 1) omap-iommu no longer exports public API (and instead provides its entire functionality via the generic IOMMU API). 2) omap-iovmm is removed. Tested on OMAP3 (with omap3isp) and OMAP4 (with rpmsg/remoteproc). v1->v2: 1. Added Laurent's and Hiroshi's Acked-by 2. iommu: use spinlock instead of mutex so attach/deattach can stay atomic (Joerg) 3. iovmm: remove obsolete comment (Hiroshi) 4. iommu: don't rename load_iotlb_entry directly (Hiroshi) 5. Rebase to 3.1-rc3 rfc->v1: 1. Migrate iommu, iovmm and omap3isp in a single patch for bisectibility sake. 2. Apply Laurent Pinchart's comments (thanks Laurent!) 3. Rebase to 3.1-rc2 Ohad Ben-Cohen (7): omap: iommu: migrate to the generic IOMMU API omap: iommu/iovmm: move to dedicated iommu folder omap: iommu: stop exporting local functions omap: iommu: PREFETCH_IOTLB cleanup omap: iovmm: remove unused functionality omap: iommu: remove unused exported API omap: iommu: omapify 'struct iommu' and exposed API arch/arm/mach-omap2/iommu2.c | 31 +- arch/arm/plat-omap/Kconfig | 12 - arch/arm/plat-omap/Makefile | 2 - arch/arm/plat-omap/include/plat/iommu.h | 77 ++-- arch/arm/plat-omap/include/plat/iommu2.h | 4 +- arch/arm/plat-omap/{ => include/plat}/iopgtable.h | 20 +- arch/arm/plat-omap/include/plat/iovmm.h | 30 +- drivers/iommu/Kconfig | 18 + drivers/iommu/Makefile | 3 + .../iommu/omap-iommu-debug.c | 36 +- .../iommu.c => drivers/iommu/omap-iommu.c | 511 +++++++++++++------- .../iovmm.c => drivers/iommu/omap-iovmm.c | 338 +++---------- drivers/media/video/Kconfig | 2 +- drivers/media/video/omap3isp/isp.c | 45 ++- drivers/media/video/omap3isp/isp.h | 5 +- drivers/media/video/omap3isp/ispccdc.c | 25 +- drivers/media/video/omap3isp/ispstat.c | 11 +- drivers/media/video/omap3isp/ispvideo.c | 4 +- 18 files changed, 612 insertions(+), 562 deletions(-) rename arch/arm/plat-omap/{ => include/plat}/iopgtable.h (82%) rename arch/arm/plat-omap/iommu-debug.c => drivers/iommu/omap-iommu-debug.c (91%) rename arch/arm/plat-omap/iommu.c => drivers/iommu/omap-iommu.c (61%) rename arch/arm/plat-omap/iovmm.c => drivers/iommu/omap-iovmm.c (63%) -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html