Here's another round of Alchemy IRQ changes, intended to be applied on top of the alchemy pcmcia changes in Ralf's linux-queue.git tree. Major theme is to stop the name-sharing of certain Alchemy interrupt sources. Some parts of the alchemy core code currently rely on specially-named irq constants in order to save code (platform.c, and time.c for instance); however the au1000.h header is full of compile-time checks for a certain CPU subtype. Eventually I'd like to get rid of all CONFIG_SOC_AU1??? checks in au1000.h altogether (for easier Au1300 integration); preferably also in the vast majority of the alchemy common code. But I'm not really convinced any more that it is at all possible. Patch overview: #1 tries to get rid of the special case for the usb device interrupt, rather than adding #ifdefs for each cpu subtype with this particular usb device ip, i opted to use the hardware to do the prioritization. I'm not sure whether this really is equivalent to the previous solution since I neither have the hardware nor a driver for the Au1000 UDC. #2 changes the rtcmatch2 (system timer) irq priority to high. not strictly related, but it fit into the irq upddate theme. #3 re-introduces the alchemy cpu subtype detector, it's required by changes in #4. #4 does the constant renaming: irq sources are prefixed with a cpu subtype string, and gpio int sources get the "_INT" postfix (they're interrupt sources, not gpio numbers after all). Run-tested on the DB1200, and known to build for all db1x00/pb1x00, xxs1500, mtx-1. Please apply (and test if you have any of the other boards). Thanks! Manuel Lauss Manuel Lauss (4): Alchemy: remove USB_DEV_REQ_INT prioritization hack Alchemy: higher priority for system timer. Alchemy: simple cpu subtype detector Alchemy: Stop IRQ name sharing arch/mips/alchemy/common/dbdma.c | 61 ++- arch/mips/alchemy/common/dma.c | 36 +- arch/mips/alchemy/common/irq.c | 322 +++++----- arch/mips/alchemy/common/platform.c | 8 +- arch/mips/alchemy/common/time.c | 35 +- arch/mips/alchemy/devboards/db1x00/board_setup.c | 64 ++- arch/mips/alchemy/devboards/db1x00/platform.c | 52 +- arch/mips/alchemy/devboards/pb1000/board_setup.c | 2 +- arch/mips/alchemy/devboards/pb1100/board_setup.c | 8 +- arch/mips/alchemy/devboards/pb1100/platform.c | 6 +- arch/mips/alchemy/devboards/pb1200/board_setup.c | 4 +- arch/mips/alchemy/devboards/pb1500/board_setup.c | 20 +- arch/mips/alchemy/devboards/pb1500/platform.c | 6 +- arch/mips/alchemy/devboards/pb1550/board_setup.c | 10 +- arch/mips/alchemy/devboards/pb1550/platform.c | 8 +- arch/mips/alchemy/mtx-1/board_setup.c | 26 +- arch/mips/alchemy/xxs1500/board_setup.c | 24 +- arch/mips/include/asm/mach-au1x00/au1000.h | 704 +++++++++++----------- arch/mips/include/asm/mach-au1x00/gpio-au1000.h | 76 +-- 19 files changed, 788 insertions(+), 684 deletions(-)