All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/28 v6] m68k: Convert to genirq
@ 2011-09-11 11:59 ` Geert Uytterhoeven
  0 siblings, 0 replies; 99+ messages in thread
From: Geert Uytterhoeven @ 2011-09-11 11:59 UTC (permalink / raw)
  To: linux-m68k; +Cc: linux-kernel

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

^ permalink raw reply	[flat|nested] 99+ messages in thread

end of thread, other threads:[~2011-10-23 12:12 UTC | newest]

Thread overview: 99+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-11 11:59 [PATCH 00/28 v6] m68k: Convert to genirq Geert Uytterhoeven
2011-09-11 11:59 ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 01/28] genirq: Add missing "else" in irq_shutdown() Geert Uytterhoeven
2011-09-11 11:59   ` Geert Uytterhoeven
2011-09-12  7:53   ` Thomas Gleixner
2011-09-12  7:53     ` Thomas Gleixner
2011-09-11 11:59 ` [PATCH 02/28] ide-{cd,floppy,tape}: Do not include <linux/irq.> Geert Uytterhoeven
2011-09-11 11:59   ` Geert Uytterhoeven
2011-09-12  9:59   ` Sergei Shtylyov
2011-09-12  9:59     ` Sergei Shtylyov
2011-09-12  9:59   ` Sergei Shtylyov
2011-09-11 11:59 ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 03/28] keyboard: " Geert Uytterhoeven
2011-09-11 11:59   ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 04/28] m68k/irq: Rename irq_controller to irq_chip Geert Uytterhoeven
2011-09-11 11:59   ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 05/28] m68k/irq: Kill irq_node_t typedef, always use struct irq_node Geert Uytterhoeven
2011-09-11 11:59   ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 06/28] m68k/irq: Rename irq_node to irq_data Geert Uytterhoeven
2011-09-11 11:59 ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 07/28] m68k/irq: Switch irq_chip methods to "struct irq_data *data" Geert Uytterhoeven
2011-09-11 13:40   ` Finn Thain
2011-09-11 13:40     ` Finn Thain
2011-09-11 17:46     ` Geert Uytterhoeven
2011-09-11 17:46     ` Geert Uytterhoeven
2011-09-12  2:48       ` Finn Thain
2011-09-12  2:48         ` Finn Thain
2011-09-11 11:59 ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 08/28] m68k/irq: Rename setup_irq() to m68k_setup_irq() and make it static Geert Uytterhoeven
2011-09-11 11:59 ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 09/28] m68k/irq: Extract irq_set_chip() Geert Uytterhoeven
2011-09-11 11:59 ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 10/28] m68k/irq: Add m68k_setup_irq_controller() Geert Uytterhoeven
2011-09-11 11:59 ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 11/28] m68k/irq: Rename {,__}m68k_handle_int() Geert Uytterhoeven
2011-09-11 11:59 ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 12/28] m68k/irq: Remove obsolete IRQ_FLG_* definitions and users Geert Uytterhoeven
2011-09-11 11:59   ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 13/28] m68k/irq: Add genirq support Geert Uytterhoeven
2011-09-11 11:59 ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 14/28] m68k/atari: Convert Atari to genirq Geert Uytterhoeven
2011-09-11 11:59   ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 15/28] m68k/atari: Remove code and comments about different irq types Geert Uytterhoeven
2011-09-11 11:59   ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 16/28] m68k/amiga: Refactor amiints.c Geert Uytterhoeven
2011-09-11 11:59   ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 17/28] m68k/amiga: Convert Amiga to genirq Geert Uytterhoeven
2011-09-11 11:59 ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 18/28] m68k/amiga: Optimize interrupts using chain handlers Geert Uytterhoeven
2011-09-11 11:59 ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 19/28] m68k/mac: Convert Mac to genirq Geert Uytterhoeven
2011-09-11 11:59 ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 20/28] m68k/mac: Optimize interrupts using chain handlers Geert Uytterhoeven
2011-09-11 11:59 ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 21/28] m68k/hp300: Convert HP9000/300 and HP9000/400 to genirq Geert Uytterhoeven
2011-09-11 11:59   ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 22/28] m68k/vme: Convert VME " Geert Uytterhoeven
2011-09-11 11:59 ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 23/28] m68k/apollo: Convert Apollo " Geert Uytterhoeven
2011-09-11 11:59 ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 24/28] m68k/sun3: Use the kstat_irqs_cpu() wrapper Geert Uytterhoeven
2011-09-11 11:59   ` Geert Uytterhoeven
2011-09-12 17:38   ` Sam Creasey
2011-09-12 17:38     ` Sam Creasey
2011-09-11 11:59 ` [PATCH 25/28] m68k/sun3: Convert Sun3/3x to genirq Geert Uytterhoeven
2011-09-11 11:59 ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 26/28] m68k/q40: Convert Q40/Q60 " Geert Uytterhoeven
2011-09-11 11:59 ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 27/28] m68k/irq: Remove obsolete m68k irq framework Geert Uytterhoeven
2011-09-11 11:59   ` Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 28/28] m68k/irq: Remove obsolete support for user vector interrupt fixups Geert Uytterhoeven
2011-09-11 11:59 ` Geert Uytterhoeven
2011-09-13 11:11 ` [PATCH 00/28 v6] m68k: Convert to genirq Finn Thain
2011-09-13 11:11   ` Finn Thain
2011-09-13 11:18   ` Geert Uytterhoeven
2011-09-13 17:26     ` Finn Thain
2011-09-13 17:26       ` Finn Thain
2011-09-13 11:18   ` Geert Uytterhoeven
2011-10-20 12:18 ` Geert Uytterhoeven
2011-10-20 12:18   ` Geert Uytterhoeven
2011-10-20 13:40   ` Finn Thain
2011-10-20 13:40     ` Finn Thain
2011-10-20 15:02     ` Geert Uytterhoeven
2011-10-20 15:02     ` Geert Uytterhoeven
2011-10-20 15:02       ` Geert Uytterhoeven
2011-10-20 16:03       ` Geert Uytterhoeven
2011-10-20 16:03         ` Geert Uytterhoeven
2011-10-20 23:30         ` Finn Thain
2011-10-20 23:30           ` Finn Thain
2011-10-23  9:49   ` Geert Uytterhoeven
2011-10-23  9:49   ` Geert Uytterhoeven
2011-10-23  9:49     ` Geert Uytterhoeven
2011-10-23 11:29     ` Greg Ungerer
2011-10-23 11:29       ` Greg Ungerer
2011-10-23 11:29       ` Greg Ungerer
2011-10-23 12:12       ` Geert Uytterhoeven
2011-10-23 12:12       ` Geert Uytterhoeven
2011-10-23 12:12         ` Geert Uytterhoeven
2011-10-20 12:18 ` Geert Uytterhoeven

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.