These 3 patches add a small API for the devboard CPLD registers, collect all board register data in a single place, and add a first user: a new PCMCIA socket driver for Db1xxx/Pb1xxx. #1 adds basic devboard register ("BCSR" space) API and converts all "bcsr->" invocations to use the new API. The API is slower than direct access but adds locking to register modify operations, which patch #3 can take advantage of. #2 generalizes PB1200's CPLD IRQ controller code; DB1300 can use it too. #3 replaces the current devboard PCMCIA socket code. See patch for more details. While it doesn't really belong to this series per-se, it does make use of the functions introduced by #1. As always, run-tested on the DB1200; although testers for the other boards are very welcome! (are there any left at all?) On a related note: Are there any users of the PB1000 left? Since this board is so very different from the rest, and noone seems to care about it (most code related to it doesn't build and I only have Au1200 boards to test) I'm inclined to remove it from the tree altogether. Thanks! Manuel Lauss (3): Alchemy: devboard register abstraction Alchemy: devboards: factor out PB1200 IRQ cascade code. Alchemy: new PCMCIA socket driver for devboards. arch/mips/alchemy/common/platform.c | 6 - arch/mips/alchemy/common/setup.c | 3 +- arch/mips/alchemy/devboards/Makefile | 2 +- arch/mips/alchemy/devboards/bcsr.c | 148 +++++ arch/mips/alchemy/devboards/db1x00/Makefile | 3 +- arch/mips/alchemy/devboards/db1x00/board_setup.c | 62 ++- arch/mips/alchemy/devboards/db1x00/irqmap.c | 18 +- arch/mips/alchemy/devboards/db1x00/platform.c | 164 ++++++ arch/mips/alchemy/devboards/pb1100/Makefile | 3 +- arch/mips/alchemy/devboards/pb1100/board_setup.c | 7 +- arch/mips/alchemy/devboards/pb1100/platform.c | 83 +++ arch/mips/alchemy/devboards/pb1200/board_setup.c | 49 +- arch/mips/alchemy/devboards/pb1200/irqmap.c | 67 +--- arch/mips/alchemy/devboards/pb1200/platform.c | 240 ++++++++- arch/mips/alchemy/devboards/pb1500/Makefile | 3 +- arch/mips/alchemy/devboards/pb1500/board_setup.c | 10 +- arch/mips/alchemy/devboards/pb1500/platform.c | 83 +++ arch/mips/alchemy/devboards/pb1550/Makefile | 3 +- arch/mips/alchemy/devboards/pb1550/board_setup.c | 17 +- arch/mips/alchemy/devboards/pb1550/platform.c | 126 +++++ arch/mips/include/asm/mach-au1x00/au1000.h | 14 + arch/mips/include/asm/mach-db1x00/bcsr.h | 235 ++++++++ arch/mips/include/asm/mach-db1x00/db1200.h | 122 ---- arch/mips/include/asm/mach-db1x00/db1x00.h | 100 ---- arch/mips/include/asm/mach-pb1x00/pb1100.h | 56 -- arch/mips/include/asm/mach-pb1x00/pb1200.h | 121 +---- arch/mips/include/asm/mach-pb1x00/pb1500.h | 20 - arch/mips/include/asm/mach-pb1x00/pb1550.h | 96 ---- drivers/mtd/nand/au1550nd.c | 4 +- drivers/net/irda/au1k_ir.c | 14 +- drivers/pcmcia/Kconfig | 17 +- drivers/pcmcia/Makefile | 9 +- drivers/pcmcia/au1000_db1x00.c | 305 ---------- drivers/pcmcia/db1xxx_ss.c | 649 ++++++++++++++++++++++ 34 files changed, 1860 insertions(+), 999 deletions(-) create mode 100644 arch/mips/alchemy/devboards/bcsr.c create mode 100644 arch/mips/alchemy/devboards/db1x00/platform.c create mode 100644 arch/mips/alchemy/devboards/pb1100/platform.c create mode 100644 arch/mips/alchemy/devboards/pb1500/platform.c create mode 100644 arch/mips/alchemy/devboards/pb1550/platform.c create mode 100644 arch/mips/include/asm/mach-db1x00/bcsr.h delete mode 100644 drivers/pcmcia/au1000_db1x00.c create mode 100644 drivers/pcmcia/db1xxx_ss.c