lkml.org 
[lkml]   [2011]   [Sep]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH 00/28 v6] m68k: Convert to genirq
    Date
    This patch series converts the m68k/mmu (nommu was converted before)
    architecture to the generic hardirq framework.

    - [01/28] genirq: Add missing "else" in irq_shutdown()
    - [02/28] ide-{cd,floppy,tape}: Do not include <linux/irq.>
    - [03/28] keyboard: Do not include <linux/irq.>
    - [04/28] m68k/irq: Rename irq_controller to irq_chip
    - [05/28] m68k/irq: Kill irq_node_t typedef, always use struct irq_node
    - [06/28] m68k/irq: Rename irq_node to irq_data
    - [07/28] m68k/irq: Switch irq_chip methods to "struct irq_data *data"
    - [08/28] m68k/irq: Rename setup_irq() to m68k_setup_irq() and make it static
    - [09/28] m68k/irq: Extract irq_set_chip()
    - [10/28] m68k/irq: Add m68k_setup_irq_controller()
    - [11/28] m68k/irq: Rename {,__}m68k_handle_int()
    - [12/28] m68k/irq: Remove obsolete IRQ_FLG_* definitions and users
    - [13/28] m68k/irq: Add genirq support
    - [14/28] m68k/atari: Convert Atari to genirq
    - [15/28] m68k/atari: Remove code and comments about different irq types
    - [16/28] m68k/amiga: Refactor amiints.c
    - [17/28] m68k/amiga: Convert Amiga to genirq
    - [18/28] m68k/amiga: Optimize interrupts using chain handlers
    - [19/28] m68k/mac: Convert Mac to genirq
    - [20/28] m68k/mac: Optimize interrupts using chain handlers
    - [21/28] m68k/hp300: Convert HP9000/300 and HP9000/400 to genirq
    - [22/28] m68k/vme: Convert VME to genirq
    - [23/28] m68k/apollo: Convert Apollo to genirq
    - [24/28] m68k/sun3: Use the kstat_irqs_cpu() wrapper
    - [25/28] m68k/sun3: Convert Sun3/3x to genirq
    - [26/28] m68k/q40: Convert Q40/Q60 to genirq
    - [27/28] m68k/irq: Remove obsolete m68k irq framework
    - [28/28] m68k/irq: Remove obsolete support for user vector interrupt fixups

    Overview:
    - [01] is a fix for the core genirq code,
    - [02-03] are fixes to avoid compile problems later in the conversion
    process,
    - [04-12] refactor the current m68k irq framework to match the generic
    hardirq framework more closely w.r.t. to its (platform) users,
    - [13] adds generic hardirq support to the core, which can be enabled through
    a config option, so both legacy and generic hardirq can coexist at the
    source level during the migration,
    - [14-26] convert the individual platforms to use generic hardirqs,
    - [27] removes support for the legacy m68k irq framework,
    - [28] removes a now unused feature.

    The code has received some testing on Amiga, Atari (mainly ARAnyM), and Mac.
    There are some known issues with drivers, which Finn and Michael are looking
    into.

    I will update my m68k-genirq branch as soon as master.kernel.org is available
    again.

    Thanks for your comments, feedback, and testing!

    Changelog:

    v6:
    - Add [01] genirq: Add missing "else" in irq_shutdown()
    - Add [27] m68k/irq: Remove obsolete m68k irq framework
    - Add [28] m68k/irq: Remove obsolete support for user vector interrupt
    fixups
    - Split off [02] ide-{cd,floppy,tape}: Do not include <linux/irq.>
    - Split off [03] keyboard: Do not include <linux/irq.>
    - Keep irq_canonicalize(), which is needed for ac3200, atari_91C111,
    serial_core, and 8250.
    - Correct irq args of irq_set_handler_data() calls in Mac PSC chain
    handlers, as reported by Finn

    v5:
    - Add [20] m68k/mac: Optimize interrupts using chain handlers
    - Add [26] m68k/q40: Convert Q40/Q60 to genirq
    - Keep m68k_setup_auto_interrupt(), it's still needed for Q40

    v4:
    - Add [15] m68k/atari: Remove code and comments about different irq
    types
    - Add [23] m68k/apollo: Convert Apollo to genirq
    - Add [24] m68k/sun3: Use the kstat_irqs_cpu() wrapper
    - Add [25] m68k/sun3: Convert Sun3/3x to genirq

    v3:
    - Add [11] m68k/irq: Rename {,__}m68k_handle_int()
    - Add [12] m68k/irq: Remove obsolete IRQ_FLG_* definitions and users
    - Add [19] m68k/mac: Convert Mac to genirq
    - Add [21] m68k/hp300: Convert HP9000/300 and HP9000/400 to genirq
    - Add [22] m68k/vme: Convert VME to genirq
    - Use handle_simple_irq() instead of handle_level_irq(), which also
    means we don't need the .irq_{,un}mask methods anymore, so they can
    be removed again.
    - Wrapper __m68k_handle_int() for do_IRQ() is no longer needed
    - Keep track of spurious interrupts

    v2:
    - Add [10] m68k/irq: Add m68k_setup_irq_controller()
    - Add [16] m68k/amiga: Refactor amiints.c
    - Add [17] m68k/amiga: Convert Amiga to genirq
    - Add [18] m68k/amiga: Optimize interrupts using chain handlers]
    - Add missing "irq" offset in m68k_setup_irq_controller()
    - Set up default handlers for autovector interrupts, and fill in missing
    .irq_{,un}mask methods,

    v1:
    - Initial version, acked by Thomas Gleixner

    arch/m68k/Kconfig | 4 +-
    arch/m68k/amiga/amiints.c | 168 ++++++++------------
    arch/m68k/amiga/cia.c | 39 +++--
    arch/m68k/apollo/dn_ints.c | 35 +++--
    arch/m68k/atari/ataints.c | 274 +++-----------------------------
    arch/m68k/bvme6000/config.c | 2 +-
    arch/m68k/hp300/time.c | 2 +-
    arch/m68k/include/asm/hardirq.h | 5 +
    arch/m68k/include/asm/irq.h | 82 ++--------
    arch/m68k/include/asm/q40ints.h | 3 -
    arch/m68k/kernel/Makefile_mm | 2 +-
    arch/m68k/kernel/entry_mm.S | 7 +-
    arch/m68k/kernel/ints.c | 323 ++++----------------------------------
    arch/m68k/mac/baboon.c | 14 +-
    arch/m68k/mac/iop.c | 10 +-
    arch/m68k/mac/macints.c | 19 ++-
    arch/m68k/mac/oss.c | 54 +++----
    arch/m68k/mac/psc.c | 49 +++---
    arch/m68k/mac/via.c | 74 ++++------
    arch/m68k/mvme147/config.c | 5 +-
    arch/m68k/mvme16x/config.c | 2 +-
    arch/m68k/q40/q40ints.c | 60 ++++----
    arch/m68k/sun3/sun3ints.c | 46 +++---
    drivers/ide/ide-cd.c | 1 -
    drivers/ide/ide-floppy.c | 1 -
    drivers/ide/ide-tape.c | 1 -
    drivers/macintosh/via-macii.c | 2 +-
    drivers/macintosh/via-maciisi.c | 4 +-
    drivers/net/macsonic.c | 7 +-
    drivers/scsi/mac_scsi.c | 3 +-
    drivers/tty/serial/68360serial.c | 4 +-
    drivers/tty/vt/keyboard.c | 3 +-
    kernel/irq/chip.c | 2 +-
    33 files changed, 358 insertions(+), 949 deletions(-)

    Gr{oetje,eeting}s,

    Geert

    --
    Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

    In personal conversations with technical people, I call myself a hacker. But
    when I'm talking to journalists I just say "programmer" or something like that.
    -- Linus Torvalds


    \
     
     \ /
      Last update: 2011-09-11 14:03    [W:0.027 / U:184.856 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site