Hello, This is a new and updated patchset which aims to improve alchemy support. All patches have been run-tested on Au1200(db1200 and a custom au1250 platform) and compile-tested on all other in-kernel alchemy boards. They can be roughly grouped into 3 sections: #1-#3: devboard code move and consolidation, #4-#6: alchemy irq updates, #7-#14: cleanups, timer and pm updates (the previous 5 incarnations of this patchset). Patch overview: #1-#3: move alchemy devboards to a common subdirectoy, share some code, and move the parts which amend the commandline out of common/. #4: update core alchemy irq code (see patch for details). #5: update the pb1200 cpld irq handler, #6: print the handler name in /proc/interrupts. #7: remove unused function, #8: remove cpu_table (it's more or less unused and unmaintained), #9: make r4k csrc/cevt available as fallback solution #10: alchemy csrc/cevt support #11: cleanup, #12: core PM updates and compile fixes for Au1200/Au1550 #13: DBDMA PM support (again, for Au1200/Au1550) #14: new userspace PM interface for alchemy devboards. As always, comments and testers welcome! Thanks and regards, Manuel Lauss --- Changes V5->V6: - added patches #1-#6 (code move and irq updates) - alchemy cevt now works with hrtimers - xxs1500 and mtx-1 are now without suspend/resume support. If anyone is inconvenienced by this, please speak up. Changes V4->V5: - rediffed against 2.6.27-rc2+ - again minor refinements. Changes V3->V4: - rediffed against 2.6.27-rc1 - add patch #10. Changes V2->V3: - swap patches 1 and 2 - minor refinements, no function changes. Changes V1->V2: - address Sergei's comments wrt. config[OD] handling - change TOY clocksource to RTC clocksource - add another patch (#5) Manuel Lauss (14): Alchemy: move development board code to common subdirectory Alchemy: devboards: consolidate files Alchemy: move commandline mangling out of common code Alchemy: update core interrupt code. Alchemy: pb1200: update CPLD cascade irq handler. MIPS: print irq handler description Alchemy: remove get/set_au1x00_lcd_clock(). Alchemy: remove cpu_table. MIPS: make cp0 counter clocksource/event usable as fallback. Alchemy: RTC counter clocksource / clockevent support. Alchemy: move calc_clock function. Alchemy: Fix up PM code on Au1550/Au1200 Alchemy: dbdma suspend/resume support. Alchemy: new userspace suspend interface for development boards. arch/mips/Kconfig | 8 + arch/mips/Makefile | 24 +- arch/mips/alchemy/Kconfig | 5 +- arch/mips/alchemy/common/Makefile | 4 +- arch/mips/alchemy/common/au1xxx_irqmap.c | 205 ------ arch/mips/alchemy/common/clocks.c | 65 ++- arch/mips/alchemy/common/cputable.c | 52 -- arch/mips/alchemy/common/dbdma.c | 65 ++ arch/mips/alchemy/common/irq.c | 745 +++++++++++----------- arch/mips/alchemy/common/power.c | 406 +++---------- arch/mips/alchemy/common/reset.c | 2 - arch/mips/alchemy/common/setup.c | 71 +-- arch/mips/alchemy/common/sleeper.S | 118 ++-- arch/mips/alchemy/common/time.c | 311 +++------ arch/mips/alchemy/db1x00/Makefile | 8 - arch/mips/alchemy/db1x00/board_setup.c | 108 ---- arch/mips/alchemy/db1x00/init.c | 62 -- arch/mips/alchemy/db1x00/irqmap.c | 86 --- arch/mips/alchemy/devboards/Makefile | 18 + arch/mips/alchemy/devboards/db1x00/Makefile | 8 + arch/mips/alchemy/devboards/db1x00/board_setup.c | 145 +++++ arch/mips/alchemy/devboards/db1x00/irqmap.c | 90 +++ arch/mips/alchemy/devboards/pb1000/Makefile | 8 + arch/mips/alchemy/devboards/pb1000/board_setup.c | 191 ++++++ arch/mips/alchemy/devboards/pb1100/Makefile | 8 + arch/mips/alchemy/devboards/pb1100/board_setup.c | 156 +++++ arch/mips/alchemy/devboards/pb1200/Makefile | 7 + arch/mips/alchemy/devboards/pb1200/board_setup.c | 164 +++++ arch/mips/alchemy/devboards/pb1200/irqmap.c | 134 ++++ arch/mips/alchemy/devboards/pb1200/platform.c | 166 +++++ arch/mips/alchemy/devboards/pb1500/Makefile | 8 + arch/mips/alchemy/devboards/pb1500/board_setup.c | 163 +++++ arch/mips/alchemy/devboards/pb1550/Makefile | 8 + arch/mips/alchemy/devboards/pb1550/board_setup.c | 92 +++ arch/mips/alchemy/devboards/pm.c | 229 +++++++ arch/mips/alchemy/devboards/prom.c | 62 ++ arch/mips/alchemy/mtx-1/board_setup.c | 12 + arch/mips/alchemy/mtx-1/irqmap.c | 18 +- arch/mips/alchemy/pb1000/Makefile | 8 - arch/mips/alchemy/pb1000/board_setup.c | 165 ----- arch/mips/alchemy/pb1000/init.c | 57 -- arch/mips/alchemy/pb1000/irqmap.c | 38 -- arch/mips/alchemy/pb1100/Makefile | 8 - arch/mips/alchemy/pb1100/board_setup.c | 109 ---- arch/mips/alchemy/pb1100/init.c | 60 -- arch/mips/alchemy/pb1100/irqmap.c | 40 -- arch/mips/alchemy/pb1200/Makefile | 8 - arch/mips/alchemy/pb1200/board_setup.c | 162 ----- arch/mips/alchemy/pb1200/init.c | 58 -- arch/mips/alchemy/pb1200/irqmap.c | 160 ----- arch/mips/alchemy/pb1200/platform.c | 166 ----- arch/mips/alchemy/pb1500/Makefile | 8 - arch/mips/alchemy/pb1500/board_setup.c | 119 ---- arch/mips/alchemy/pb1500/init.c | 58 -- arch/mips/alchemy/pb1500/irqmap.c | 46 -- arch/mips/alchemy/pb1550/Makefile | 8 - arch/mips/alchemy/pb1550/board_setup.c | 58 -- arch/mips/alchemy/pb1550/init.c | 58 -- arch/mips/alchemy/pb1550/irqmap.c | 43 -- arch/mips/alchemy/xxs1500/board_setup.c | 12 + arch/mips/alchemy/xxs1500/irqmap.c | 31 +- arch/mips/include/asm/mach-au1x00/au1000.h | 89 ++- arch/mips/include/asm/mach-au1x00/au1xxx_dbdma.h | 5 + arch/mips/include/asm/time.h | 24 +- arch/mips/kernel/Makefile | 4 +- arch/mips/kernel/cevt-r4k.c | 2 +- arch/mips/kernel/cpu-probe.c | 6 +- arch/mips/kernel/csrc-r4k.c | 2 +- arch/mips/kernel/irq.c | 1 + 69 files changed, 2571 insertions(+), 3074 deletions(-) delete mode 100644 arch/mips/alchemy/common/au1xxx_irqmap.c delete mode 100644 arch/mips/alchemy/common/cputable.c delete mode 100644 arch/mips/alchemy/db1x00/Makefile delete mode 100644 arch/mips/alchemy/db1x00/board_setup.c delete mode 100644 arch/mips/alchemy/db1x00/init.c delete mode 100644 arch/mips/alchemy/db1x00/irqmap.c create mode 100644 arch/mips/alchemy/devboards/Makefile create mode 100644 arch/mips/alchemy/devboards/db1x00/Makefile create mode 100644 arch/mips/alchemy/devboards/db1x00/board_setup.c create mode 100644 arch/mips/alchemy/devboards/db1x00/irqmap.c create mode 100644 arch/mips/alchemy/devboards/pb1000/Makefile create mode 100644 arch/mips/alchemy/devboards/pb1000/board_setup.c create mode 100644 arch/mips/alchemy/devboards/pb1100/Makefile create mode 100644 arch/mips/alchemy/devboards/pb1100/board_setup.c create mode 100644 arch/mips/alchemy/devboards/pb1200/Makefile create mode 100644 arch/mips/alchemy/devboards/pb1200/board_setup.c create mode 100644 arch/mips/alchemy/devboards/pb1200/irqmap.c create mode 100644 arch/mips/alchemy/devboards/pb1200/platform.c create mode 100644 arch/mips/alchemy/devboards/pb1500/Makefile create mode 100644 arch/mips/alchemy/devboards/pb1500/board_setup.c create mode 100644 arch/mips/alchemy/devboards/pb1550/Makefile create mode 100644 arch/mips/alchemy/devboards/pb1550/board_setup.c create mode 100644 arch/mips/alchemy/devboards/pm.c create mode 100644 arch/mips/alchemy/devboards/prom.c delete mode 100644 arch/mips/alchemy/pb1000/Makefile delete mode 100644 arch/mips/alchemy/pb1000/board_setup.c delete mode 100644 arch/mips/alchemy/pb1000/init.c delete mode 100644 arch/mips/alchemy/pb1000/irqmap.c delete mode 100644 arch/mips/alchemy/pb1100/Makefile delete mode 100644 arch/mips/alchemy/pb1100/board_setup.c delete mode 100644 arch/mips/alchemy/pb1100/init.c delete mode 100644 arch/mips/alchemy/pb1100/irqmap.c delete mode 100644 arch/mips/alchemy/pb1200/Makefile delete mode 100644 arch/mips/alchemy/pb1200/board_setup.c delete mode 100644 arch/mips/alchemy/pb1200/init.c delete mode 100644 arch/mips/alchemy/pb1200/irqmap.c delete mode 100644 arch/mips/alchemy/pb1200/platform.c delete mode 100644 arch/mips/alchemy/pb1500/Makefile delete mode 100644 arch/mips/alchemy/pb1500/board_setup.c delete mode 100644 arch/mips/alchemy/pb1500/init.c delete mode 100644 arch/mips/alchemy/pb1500/irqmap.c delete mode 100644 arch/mips/alchemy/pb1550/Makefile delete mode 100644 arch/mips/alchemy/pb1550/board_setup.c delete mode 100644 arch/mips/alchemy/pb1550/init.c delete mode 100644 arch/mips/alchemy/pb1550/irqmap.c