From: Geert Uytterhoeven <geert@linux-m68k.org>
To: linux-m68k@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Subject: [PATCH 00/28 v6] m68k: Convert to genirq
Date: Sun, 11 Sep 2011 13:59:26 +0200 [thread overview]
Message-ID: <1315742394-16036-1-git-send-email-geert@linux-m68k.org> (raw)
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
next reply other threads:[~2011-09-11 12:00 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-11 11:59 Geert Uytterhoeven [this message]
2011-09-11 11:59 ` [PATCH 01/28] genirq: Add missing "else" in irq_shutdown() Geert Uytterhoeven
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-12 9:59 ` Sergei Shtylyov
2011-09-11 11:59 ` [PATCH 03/28] keyboard: " 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 ` [PATCH 05/28] m68k/irq: Kill irq_node_t typedef, always use struct irq_node 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 ` [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 17:46 ` Geert Uytterhoeven
2011-09-12 2:48 ` Finn Thain
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 ` [PATCH 09/28] m68k/irq: Extract irq_set_chip() Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 10/28] m68k/irq: Add m68k_setup_irq_controller() Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 11/28] m68k/irq: Rename {,__}m68k_handle_int() 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 ` [PATCH 13/28] m68k/irq: Add genirq support Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 14/28] m68k/atari: Convert Atari to genirq 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 ` [PATCH 16/28] m68k/amiga: Refactor amiints.c Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 17/28] m68k/amiga: Convert Amiga to genirq Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 18/28] m68k/amiga: Optimize interrupts using chain handlers Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 19/28] m68k/mac: Convert Mac to genirq Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 20/28] m68k/mac: Optimize interrupts using chain handlers 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 ` [PATCH 22/28] m68k/vme: Convert VME " Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 23/28] m68k/apollo: Convert Apollo " Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 24/28] m68k/sun3: Use the kstat_irqs_cpu() wrapper Geert Uytterhoeven
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 ` [PATCH 26/28] m68k/q40: Convert Q40/Q60 " Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 27/28] m68k/irq: Remove obsolete m68k irq framework Geert Uytterhoeven
2011-09-11 11:59 ` [PATCH 28/28] m68k/irq: Remove obsolete support for user vector interrupt fixups Geert Uytterhoeven
2011-09-13 11:11 ` [PATCH 00/28 v6] m68k: Convert to genirq Finn Thain
2011-09-13 11:18 ` Geert Uytterhoeven
2011-09-13 17:26 ` Finn Thain
2011-10-20 12:18 ` Geert Uytterhoeven
2011-10-20 13:40 ` Finn Thain
2011-10-20 15:02 ` Geert Uytterhoeven
2011-10-20 16:03 ` Geert Uytterhoeven
2011-10-20 23:30 ` Finn Thain
2011-10-23 9:49 ` Geert Uytterhoeven
2011-10-23 11:29 ` Greg Ungerer
2011-10-23 12:12 ` Geert Uytterhoeven
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1315742394-16036-1-git-send-email-geert@linux-m68k.org \
--to=geert@linux-m68k.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).