linux/arch
Paul Walmsley c0718df4d6 OMAP2+: voltage: reorganize, split code from data
This is a first pass at reorganizing mach-omap2/voltage.c:

- Separate almost all of the data from the code of mach-omap2/voltage.c.
  The code remains in mach-omap2/voltage.c.  The data goes into one
  of several places, depending on what type of data it is:

  - Silicon process/validation data: mach-omap2/opp*_data.c
  - VC (Voltage Controller) data: mach-omap2/vc*_data.c
  - VP (Voltage Processor) data: mach-omap2/vp*_data.c
  - Voltage domain data: mach-omap2/voltagedomains*_data.c

  The ultimate goal is for all this data to be autogenerated, the same
  way we autogenerate the rest of our data.

- Separate VC and VP common data from VDD-specific VC and VP data.

- Separate common voltage.c code from SoC-specific code; reuse common code.

- Reorganize structures to avoid unnecessary memory loss due to unpacked
  fields.

There is much left to be done.  VC code and VP code should be separated out
into vc*.c and vp*.c files.  Many fields in the existing structures are
superfluous, and should be removed.  Some code in voltage.c seems to be
duplicated; that code should be moved into functions of its own.  Proper
voltage domain code should be created, as was done with the powerdomain
and clockdomains, and powerdomains should reference voltagedomains.

Thanks to Shweta Gulati <shweta.gulati@ti.com> for comments.  Thanks
to Rajendra Nayak <rnayak@ti.com> for finding and fixing some bugs
that prevented OMAP4 from booting:

   https://patchwork.kernel.org/patch/587311/

His patch has been folded into this one to avoid breaking OMAP4
between patches.  Thanks also to Kevin Hilman <khilman@ti.com> for
finding and fixing a compile problem when !CONFIG_PM:

   http://www.spinics.net/lists/arm-kernel/msg118067.html

His patch has also been folded into this one to avoid breaking
!CONFIG_PM builds.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Shweta Gulati <shweta.gulati@ti.com>
Cc: Rajendra Nayak <rnayak@ti.com>
Cc: Kevin Hilman <khilman@ti.com>
2011-03-10 22:17:45 -07:00
..
alpha alpha: Use generic irq Kconfig 2011-01-21 11:55:31 +01:00
arm OMAP2+: voltage: reorganize, split code from data 2011-03-10 22:17:45 -07:00
avr32 avr32: add missing include causing undefined pgtable_page_* references 2011-01-26 12:35:15 +01:00
blackfin serial: bfin_5xx: split uart RX lock from uart port lock to avoid deadlock 2011-02-03 14:44:54 -08:00
cris cris: Use generic irq Kconfig 2011-01-21 11:55:25 +01:00
frv frv: Use generic irq Kconfig 2011-01-21 11:55:32 +01:00
h8300 h8300: Use generic irq Kconfig 2011-01-21 11:55:24 +01:00
ia64 ia64: Use generic irq Kconfig 2011-01-21 11:55:32 +01:00
m32r m32r: Fixup last __do_IRQ leftover 2011-02-05 21:46:35 +01:00
m68k m68knommu: add optimize memmove() function 2011-02-16 09:43:16 +10:00
m68knommu m68knommu: set flow handler for secondary interrupt controller of 5249 2011-02-16 09:43:46 +10:00
microblaze microblaze: Fix msr instruction detection 2011-02-07 19:13:01 +01:00
mips genirq: Remove __do_IRQ 2011-01-21 11:55:31 +01:00
mn10300 mn10300: Use generic irq Kconfig 2011-01-21 11:55:33 +01:00
parisc console: rename acquire/release_console_sem() to console_lock/unlock() 2011-01-26 10:50:06 +10:00
powerpc powerpc: Fix hcall tracepoint recursion 2011-02-07 13:06:08 +11:00
s390 s390: remove task_show_regs 2011-02-15 07:34:16 -08:00
score score: Use generic irq Kconfig 2011-01-21 11:55:34 +01:00
sh Merge branch 'sh-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2011-01-26 09:00:17 +10:00
sparc sparc: Use generic irq Kconfig 2011-01-21 11:55:34 +01:00
tile tile: Use generic irq Kconfig 2011-01-21 11:55:34 +01:00
um um: Use generic irq Kconfig 2011-01-21 11:55:35 +01:00
x86 Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-02-15 10:18:48 -08:00
xtensa kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
.gitignore
Kconfig [S390] mutex: Introduce arch_mutex_cpu_relax() 2011-01-05 12:47:31 +01:00