The hwmod code and data format was originally designed to minimize boot time and for autogenerated data files. Compactness was traded for precomputation. Now that the emphasis is on reducing the number of lines in the OMAP source tree, this trade can be reversed. This series removes the precomputed "link arrays" from the hwmod data, and converts the code to register IP blocks by their interconnects, rather than directly. This results in a significant reduction in lines of source, at the cost of some additional boot time. The change also makes it easier to share more IP block data across SoCs. This series has a dependency on the 'hwmod_data_cleanup_3.4' branch posted earlier. This series is also available via git://git.pwsan.com/linux-2.6 in the "hwmod_remove_link_arrays_cleanup_3.4" branch. Boot-tested on N800. Boot and suspend-tested on OMAP35xx Beagleboard and OMAP44xx Pandaboard. - Paul --- hwmod_remove_link_arrays_cleanup_3.4 text data bss dec hex filename 3831449 297100 5382832 9511381 9121d5 vmlinux.omap2plus_defconfig.orig 3832257 297708 5382864 9512829 91277d vmlinux.omap2plus_defconfig Paul Walmsley (12): ARM: OMAP2+: hwmod: add _find_mpu_rt_port() ARM: OMAP2+: hwmod: add function to iterate over struct omap_hwmod_ocp_if ARM: OMAP2+: hwmod: consolidate finding the MPU port index and storing it ARM: OMAP2+: hwmod: add support for link registration ARM: OMAP2+: hwmod data: convert to link registration ARM: OMAP: hwmod: remove code support for direct hwmod registration ARM: OMAP2+: hwmod data: remove forward declarations, reorganize ARM: OMAP2xxx: hwmod data: share common hwmods between OMAP2420 and OMAP2430 ARM: OMAP2xxx: hwmod data: share common interface data ARM: OMAP3: hwmod data: fix IVA interface clock ARM: OMAP3: hwmod data: add IVA hard reset lines, main clock, clockdomain ARM: OMAP2xxx: hwmod data: start to fix the IVA1, IVA2 and DSP arch/arm/mach-omap2/omap_hwmod.c | 410 +- arch/arm/mach-omap2/omap_hwmod_2420_data.c | 1563 +----- arch/arm/mach-omap2/omap_hwmod_2430_data.c | 2316 ++------- .../mach-omap2/omap_hwmod_2xxx_interconnect_data.c | 266 + arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 562 ++ arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 5047 +++++++++----------- arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 4882 ++++++++----------- arch/arm/mach-omap2/omap_hwmod_common_data.h | 71 arch/arm/plat-omap/include/plat/omap_hwmod.h | 31 9 files changed, 6324 insertions(+), 8824 deletions(-) -- 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