[PATCH -queue 0/4] Alchemy: another round of IRQ changes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux