[PATCH 00/12] ARM: OMAP2+: hwmod: remove link arrays

Paul Walmsley paul at pwsan.com
Wed Mar 7 21:38:21 EST 2012


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(-)




More information about the linux-arm-kernel mailing list