LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [patch 0/8] genirq: Remove the last __do_IRQ() leftovers
@ 2011-02-03  0:46 Thomas Gleixner
  2011-02-03  0:46 ` [patch 1/8] frv: Remove stale irq_chip.end Thomas Gleixner
                   ` (8 more replies)
  0 siblings, 9 replies; 11+ messages in thread
From: Thomas Gleixner @ 2011-02-03  0:46 UTC (permalink / raw)
  To: LKML
  Cc: Ingo Molnar, Peter Zijlstra, Benjamin Herrenschmidt,
	Ralf Baechle, Tony Luck, David Howells, Michal Simek

There are still a few irq chips which implement the .end function,
which is not relevant anymore since __do_IRQ() is gone. This series
removes the leftovers.

I'd like to push this through the irq tree if there are no objections
from the affected maintainers.

Thanks,

	tglx

 arch/frv/kernel/irq-mb93093.c                |    1 -
 arch/frv/kernel/irq.c                        |    6 ------
 arch/ia64/hp/sim/hpsim_irq.c                 |    1 -
 arch/ia64/kernel/iosapic.c                   |    2 --
 arch/ia64/kernel/irq_lsapic.c                |    1 -
 arch/ia64/sn/kernel/irq.c                    |   23 -----------------------
 arch/microblaze/kernel/intc.c                |   13 -------------
 arch/mips/dec/ioasic-irq.c                   |    8 --------
 arch/mips/kernel/irq-msc01.c                 |   11 -----------
 arch/mips/pnx833x/common/interrupts.c        |   11 -----------
 arch/mips/sgi-ip32/ip32-irq.c                |   22 ----------------------
 arch/mips/sibyte/bcm1480/irq.c               |   12 ------------
 arch/mips/sibyte/sb1250/irq.c                |   12 ------------
 arch/mips/sni/a20r.c                         |    9 ---------
 arch/mips/sni/pcimt.c                        |    7 -------
 arch/mips/sni/pcit.c                         |    7 -------
 arch/mips/sni/rm200.c                        |    7 -------
 arch/mn10300/kernel/mn10300-serial.c         |    5 -----
 arch/powerpc/platforms/82xx/pq2ads-pci-pic.c |    1 -
 arch/powerpc/sysdev/tsi108_pci.c             |   13 -------------
 arch/um/kernel/irq.c                         |    2 --
 include/linux/irq.h                          |    2 --
 kernel/irq/chip.c                            |    3 ---
 kernel/irq/dummychip.c                       |    9 ---------
 kernel/irq/internals.h                       |   10 ----------
 kernel/irq/spurious.c                        |    6 ------
 26 files changed, 204 deletions(-)


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

* [patch 1/8] frv:  Remove stale irq_chip.end
  2011-02-03  0:46 [patch 0/8] genirq: Remove the last __do_IRQ() leftovers Thomas Gleixner
@ 2011-02-03  0:46 ` Thomas Gleixner
  2011-02-03  0:46 ` [patch 2/8] ia64: " Thomas Gleixner
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Thomas Gleixner @ 2011-02-03  0:46 UTC (permalink / raw)
  To: LKML
  Cc: Ingo Molnar, Peter Zijlstra, Benjamin Herrenschmidt,
	Ralf Baechle, Tony Luck, David Howells, Michal Simek

[-- Attachment #1: frv-remove-stale-irq-end.patch --]
[-- Type: text/plain, Size: 1373 bytes --]

irq_chip.end got obsolete with the removal of __do_IRQ().

irq-mb93093.c even lacks an implementation, but nobody noticed that
it's broken since commit 88d6e1 in 2006.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: David Howells <dhowells@redhat.com>
---
 arch/frv/kernel/irq-mb93093.c |    1 -
 arch/frv/kernel/irq.c         |    6 ------
 2 files changed, 7 deletions(-)

Index: linux-2.6-tip/arch/frv/kernel/irq-mb93093.c
===================================================================
--- linux-2.6-tip.orig/arch/frv/kernel/irq-mb93093.c
+++ linux-2.6-tip/arch/frv/kernel/irq-mb93093.c
@@ -73,7 +73,6 @@ static struct irq_chip frv_fpga_pic = {
 	.mask		= frv_fpga_mask,
 	.mask_ack	= frv_fpga_mask_ack,
 	.unmask		= frv_fpga_unmask,
-	.end		= frv_fpga_end,
 };
 
 /*
Index: linux-2.6-tip/arch/frv/kernel/irq.c
===================================================================
--- linux-2.6-tip.orig/arch/frv/kernel/irq.c
+++ linux-2.6-tip/arch/frv/kernel/irq.c
@@ -118,18 +118,12 @@ static void frv_cpupic_unmask(unsigned i
 	__clr_MASK(irqlevel);
 }
 
-static void frv_cpupic_end(unsigned int irqlevel)
-{
-	__clr_MASK(irqlevel);
-}
-
 static struct irq_chip frv_cpu_pic = {
 	.name		= "cpu",
 	.ack		= frv_cpupic_ack,
 	.mask		= frv_cpupic_mask,
 	.mask_ack	= frv_cpupic_mask_ack,
 	.unmask		= frv_cpupic_unmask,
-	.end		= frv_cpupic_end,
 };
 
 /*



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

* [patch 2/8] ia64: Remove stale irq_chip.end
  2011-02-03  0:46 [patch 0/8] genirq: Remove the last __do_IRQ() leftovers Thomas Gleixner
  2011-02-03  0:46 ` [patch 1/8] frv: Remove stale irq_chip.end Thomas Gleixner
@ 2011-02-03  0:46 ` Thomas Gleixner
  2011-02-03  0:46 ` [patch 3/8] microblaze: " Thomas Gleixner
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Thomas Gleixner @ 2011-02-03  0:46 UTC (permalink / raw)
  To: LKML
  Cc: Ingo Molnar, Peter Zijlstra, Benjamin Herrenschmidt,
	Ralf Baechle, Tony Luck, David Howells, Michal Simek

[-- Attachment #1: ia64-remove-stale-irq_chip-end.pach --]
[-- Type: text/plain, Size: 3315 bytes --]

irq_chip.end got obsolete with the removal of __do_IRQ().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Tony Luck <tony.luck@intel.com>
---
 arch/ia64/hp/sim/hpsim_irq.c  |    1 -
 arch/ia64/kernel/iosapic.c    |    2 --
 arch/ia64/kernel/irq_lsapic.c |    1 -
 arch/ia64/sn/kernel/irq.c     |   23 -----------------------
 4 files changed, 27 deletions(-)

Index: linux-2.6-tip/arch/ia64/hp/sim/hpsim_irq.c
===================================================================
--- linux-2.6-tip.orig/arch/ia64/hp/sim/hpsim_irq.c
+++ linux-2.6-tip/arch/ia64/hp/sim/hpsim_irq.c
@@ -34,7 +34,6 @@ static struct irq_chip irq_type_hp_sim =
 	.enable =	hpsim_irq_noop,
 	.disable =	hpsim_irq_noop,
 	.ack =		hpsim_irq_noop,
-	.end =		hpsim_irq_noop,
 	.set_affinity =	hpsim_set_affinity_noop,
 };
 
Index: linux-2.6-tip/arch/ia64/kernel/iosapic.c
===================================================================
--- linux-2.6-tip.orig/arch/ia64/kernel/iosapic.c
+++ linux-2.6-tip/arch/ia64/kernel/iosapic.c
@@ -460,7 +460,6 @@ iosapic_ack_edge_irq (unsigned int irq)
 
 #define iosapic_enable_edge_irq		unmask_irq
 #define iosapic_disable_edge_irq	nop
-#define iosapic_end_edge_irq		nop
 
 static struct irq_chip irq_type_iosapic_edge = {
 	.name =		"IO-SAPIC-edge",
@@ -469,7 +468,6 @@ static struct irq_chip irq_type_iosapic_
 	.enable =	iosapic_enable_edge_irq,
 	.disable =	iosapic_disable_edge_irq,
 	.ack =		iosapic_ack_edge_irq,
-	.end =		iosapic_end_edge_irq,
 	.mask =		mask_irq,
 	.unmask =	unmask_irq,
 	.set_affinity =	iosapic_set_affinity
Index: linux-2.6-tip/arch/ia64/kernel/irq_lsapic.c
===================================================================
--- linux-2.6-tip.orig/arch/ia64/kernel/irq_lsapic.c
+++ linux-2.6-tip/arch/ia64/kernel/irq_lsapic.c
@@ -40,6 +40,5 @@ struct irq_chip irq_type_ia64_lsapic = {
 	.enable =	lsapic_noop,
 	.disable =	lsapic_noop,
 	.ack =		lsapic_noop,
-	.end =		lsapic_noop,
 	.retrigger =	lsapic_retrigger,
 };
Index: linux-2.6-tip/arch/ia64/sn/kernel/irq.c
===================================================================
--- linux-2.6-tip.orig/arch/ia64/sn/kernel/irq.c
+++ linux-2.6-tip/arch/ia64/sn/kernel/irq.c
@@ -114,28 +114,6 @@ static void sn_ack_irq(unsigned int irq)
 	move_native_irq(irq);
 }
 
-static void sn_end_irq(unsigned int irq)
-{
-	int ivec;
-	u64 event_occurred;
-
-	ivec = irq & 0xff;
-	if (ivec == SGI_UART_VECTOR) {
-		event_occurred = HUB_L((u64*)LOCAL_MMR_ADDR (SH_EVENT_OCCURRED));
-		/* If the UART bit is set here, we may have received an
-		 * interrupt from the UART that the driver missed.  To
-		 * make sure, we IPI ourselves to force us to look again.
-		 */
-		if (event_occurred & SH_EVENT_OCCURRED_UART_INT_MASK) {
-			platform_send_ipi(smp_processor_id(), SGI_UART_VECTOR,
-					  IA64_IPI_DM_INT, 0);
-		}
-	}
-	__clear_bit(ivec, (volatile void *)pda->sn_in_service_ivecs);
-	if (sn_force_interrupt_flag)
-		force_interrupt(irq);
-}
-
 static void sn_irq_info_free(struct rcu_head *head);
 
 struct sn_irq_info *sn_retarget_vector(struct sn_irq_info *sn_irq_info,
@@ -275,7 +253,6 @@ struct irq_chip irq_type_sn = {
 	.enable		= sn_enable_irq,
 	.disable	= sn_disable_irq,
 	.ack		= sn_ack_irq,
-	.end		= sn_end_irq,
 	.mask		= sn_mask_irq,
 	.unmask		= sn_unmask_irq,
 	.set_affinity	= sn_set_affinity_irq



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

* [patch 3/8] microblaze: Remove stale irq_chip.end
  2011-02-03  0:46 [patch 0/8] genirq: Remove the last __do_IRQ() leftovers Thomas Gleixner
  2011-02-03  0:46 ` [patch 1/8] frv: Remove stale irq_chip.end Thomas Gleixner
  2011-02-03  0:46 ` [patch 2/8] ia64: " Thomas Gleixner
@ 2011-02-03  0:46 ` Thomas Gleixner
  2011-02-03 13:06   ` Michal Simek
  2011-02-03  0:46 ` [patch 4/8] mips: " Thomas Gleixner
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 11+ messages in thread
From: Thomas Gleixner @ 2011-02-03  0:46 UTC (permalink / raw)
  To: LKML
  Cc: Ingo Molnar, Peter Zijlstra, Benjamin Herrenschmidt,
	Ralf Baechle, Tony Luck, David Howells, Michal Simek

[-- Attachment #1: microblaze-remove-stale-irq_chip-end.patch --]
[-- Type: text/plain, Size: 1136 bytes --]

irq_chip.end got obsolete with the removal of __do_IRQ().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Michal Simek <monstr@monstr.eu>
---
 arch/microblaze/kernel/intc.c |   13 -------------
 1 file changed, 13 deletions(-)

Index: linux-2.6-tip/arch/microblaze/kernel/intc.c
===================================================================
--- linux-2.6-tip.orig/arch/microblaze/kernel/intc.c
+++ linux-2.6-tip/arch/microblaze/kernel/intc.c
@@ -74,25 +74,12 @@ static void intc_mask_ack(unsigned int i
 	out_be32(INTC_BASE + IAR, mask);
 }
 
-static void intc_end(unsigned int irq)
-{
-	unsigned long mask = 1 << irq;
-	pr_debug("end: %d\n", irq);
-	if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) {
-		out_be32(INTC_BASE + SIE, mask);
-		/* ack level sensitive intr */
-		if (irq_desc[irq].status & IRQ_LEVEL)
-			out_be32(INTC_BASE + IAR, mask);
-	}
-}
-
 static struct irq_chip intc_dev = {
 	.name = "Xilinx INTC",
 	.unmask = intc_enable_or_unmask,
 	.mask = intc_disable_or_mask,
 	.ack = intc_ack,
 	.mask_ack = intc_mask_ack,
-	.end = intc_end,
 };
 
 unsigned int get_irq(struct pt_regs *regs)



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

* [patch 4/8] mips: Remove stale irq_chip.end
  2011-02-03  0:46 [patch 0/8] genirq: Remove the last __do_IRQ() leftovers Thomas Gleixner
                   ` (2 preceding siblings ...)
  2011-02-03  0:46 ` [patch 3/8] microblaze: " Thomas Gleixner
@ 2011-02-03  0:46 ` Thomas Gleixner
  2011-02-03  0:46 ` [patch 5/8] mn10300: " Thomas Gleixner
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Thomas Gleixner @ 2011-02-03  0:46 UTC (permalink / raw)
  To: LKML
  Cc: Ingo Molnar, Peter Zijlstra, Benjamin Herrenschmidt,
	Ralf Baechle, Tony Luck, David Howells, Michal Simek

[-- Attachment #1: mips-remove-stale-irq_chip-end.pach --]
[-- Type: text/plain, Size: 10502 bytes --]

irq_chip.end got obsolete with the removal of __do_IRQ().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Ralf Baechle <ralf@linux-mips.org>
---
 arch/mips/dec/ioasic-irq.c            |    8 --------
 arch/mips/kernel/irq-msc01.c          |   11 -----------
 arch/mips/pnx833x/common/interrupts.c |   11 -----------
 arch/mips/sgi-ip32/ip32-irq.c         |   22 ----------------------
 arch/mips/sibyte/bcm1480/irq.c        |   12 ------------
 arch/mips/sibyte/sb1250/irq.c         |   12 ------------
 arch/mips/sni/a20r.c                  |    9 ---------
 arch/mips/sni/pcimt.c                 |    7 -------
 arch/mips/sni/pcit.c                  |    7 -------
 arch/mips/sni/rm200.c                 |    7 -------
 10 files changed, 106 deletions(-)

Index: linux-2.6-tip/arch/mips/dec/ioasic-irq.c
===================================================================
--- linux-2.6-tip.orig/arch/mips/dec/ioasic-irq.c
+++ linux-2.6-tip/arch/mips/dec/ioasic-irq.c
@@ -74,20 +74,12 @@ static struct irq_chip ioasic_irq_type =
 
 #define ack_ioasic_dma_irq ack_ioasic_irq
 
-static inline void end_ioasic_dma_irq(unsigned int irq)
-{
-	clear_ioasic_irq(irq);
-	fast_iob();
-	end_ioasic_irq(irq);
-}
-
 static struct irq_chip ioasic_dma_irq_type = {
 	.name = "IO-ASIC-DMA",
 	.ack = ack_ioasic_dma_irq,
 	.mask = mask_ioasic_dma_irq,
 	.mask_ack = ack_ioasic_dma_irq,
 	.unmask = unmask_ioasic_dma_irq,
-	.end = end_ioasic_dma_irq,
 };
 
 
Index: linux-2.6-tip/arch/mips/kernel/irq-msc01.c
===================================================================
--- linux-2.6-tip.orig/arch/mips/kernel/irq-msc01.c
+++ linux-2.6-tip/arch/mips/kernel/irq-msc01.c
@@ -75,15 +75,6 @@ static void edge_mask_and_ack_msc_irq(un
 }
 
 /*
- * End IRQ processing
- */
-static void end_msc_irq(unsigned int irq)
-{
-	if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS)))
-		unmask_msc_irq(irq);
-}
-
-/*
  * Interrupt handler for interrupts coming from SOC-it.
  */
 void ll_msc_irq(void)
@@ -112,7 +103,6 @@ static struct irq_chip msc_levelirq_type
 	.mask_ack = level_mask_and_ack_msc_irq,
 	.unmask = unmask_msc_irq,
 	.eoi = unmask_msc_irq,
-	.end = end_msc_irq,
 };
 
 static struct irq_chip msc_edgeirq_type = {
@@ -122,7 +112,6 @@ static struct irq_chip msc_edgeirq_type 
 	.mask_ack = edge_mask_and_ack_msc_irq,
 	.unmask = unmask_msc_irq,
 	.eoi = unmask_msc_irq,
-	.end = end_msc_irq,
 };
 
 
Index: linux-2.6-tip/arch/mips/pnx833x/common/interrupts.c
===================================================================
--- linux-2.6-tip.orig/arch/mips/pnx833x/common/interrupts.c
+++ linux-2.6-tip/arch/mips/pnx833x/common/interrupts.c
@@ -254,15 +254,6 @@ static void pnx833x_ack_gpio_irq(unsigne
 {
 }
 
-static void pnx833x_end_gpio_irq(unsigned int irq)
-{
-	int pin = irq - PNX833X_GPIO_IRQ_BASE;
-	unsigned long flags;
-	raw_spin_lock_irqsave(&pnx833x_gpio_pnx833x_irq_lock, flags);
-	pnx833x_gpio_clear_irq(pin);
-	raw_spin_unlock_irqrestore(&pnx833x_gpio_pnx833x_irq_lock, flags);
-}
-
 static int pnx833x_set_type_gpio_irq(unsigned int irq, unsigned int flow_type)
 {
 	int pin = irq - PNX833X_GPIO_IRQ_BASE;
@@ -301,7 +292,6 @@ static struct irq_chip pnx833x_pic_irq_t
 	.enable = pnx833x_enable_pic_irq,
 	.disable = pnx833x_disable_pic_irq,
 	.ack = pnx833x_ack_pic_irq,
-	.end = pnx833x_end_pic_irq
 };
 
 static struct irq_chip pnx833x_gpio_irq_type = {
@@ -311,7 +301,6 @@ static struct irq_chip pnx833x_gpio_irq_
 	.enable = pnx833x_enable_gpio_irq,
 	.disable = pnx833x_disable_gpio_irq,
 	.ack = pnx833x_ack_gpio_irq,
-	.end = pnx833x_end_gpio_irq,
 	.set_type = pnx833x_set_type_gpio_irq
 };
 
Index: linux-2.6-tip/arch/mips/sgi-ip32/ip32-irq.c
===================================================================
--- linux-2.6-tip.orig/arch/mips/sgi-ip32/ip32-irq.c
+++ linux-2.6-tip/arch/mips/sgi-ip32/ip32-irq.c
@@ -222,19 +222,12 @@ static void disable_macepci_irq(unsigned
 	flush_mace_bus();
 }
 
-static void end_macepci_irq(unsigned int irq)
-{
-	if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS)))
-		enable_macepci_irq(irq);
-}
-
 static struct irq_chip ip32_macepci_interrupt = {
 	.name = "IP32 MACE PCI",
 	.ack = disable_macepci_irq,
 	.mask = disable_macepci_irq,
 	.mask_ack = disable_macepci_irq,
 	.unmask = enable_macepci_irq,
-	.end = end_macepci_irq,
 };
 
 /* This is used for MACE ISA interrupts.  That means bits 4-6 in the
@@ -330,19 +323,12 @@ static void mask_and_ack_maceisa_irq(uns
 	disable_maceisa_irq(irq);
 }
 
-static void end_maceisa_irq(unsigned irq)
-{
-	if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS)))
-		enable_maceisa_irq(irq);
-}
-
 static struct irq_chip ip32_maceisa_level_interrupt = {
 	.name		= "IP32 MACE ISA",
 	.ack		= disable_maceisa_irq,
 	.mask		= disable_maceisa_irq,
 	.mask_ack	= disable_maceisa_irq,
 	.unmask		= enable_maceisa_irq,
-	.end		= end_maceisa_irq,
 };
 
 static struct irq_chip ip32_maceisa_edge_interrupt = {
@@ -351,7 +337,6 @@ static struct irq_chip ip32_maceisa_edge
 	.mask		= disable_maceisa_irq,
 	.mask_ack	= mask_and_ack_maceisa_irq,
 	.unmask		= enable_maceisa_irq,
-	.end		= end_maceisa_irq,
 };
 
 /* This is used for regular non-ISA, non-PCI MACE interrupts.  That means
@@ -375,19 +360,12 @@ static void disable_mace_irq(unsigned in
 	flush_crime_bus();
 }
 
-static void end_mace_irq(unsigned int irq)
-{
-	if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS)))
-		enable_mace_irq(irq);
-}
-
 static struct irq_chip ip32_mace_interrupt = {
 	.name = "IP32 MACE",
 	.ack = disable_mace_irq,
 	.mask = disable_mace_irq,
 	.mask_ack = disable_mace_irq,
 	.unmask = enable_mace_irq,
-	.end = end_mace_irq,
 };
 
 static void ip32_unknown_interrupt(void)
Index: linux-2.6-tip/arch/mips/sibyte/bcm1480/irq.c
===================================================================
--- linux-2.6-tip.orig/arch/mips/sibyte/bcm1480/irq.c
+++ linux-2.6-tip/arch/mips/sibyte/bcm1480/irq.c
@@ -44,8 +44,6 @@
  * for interrupt lines
  */
 
-
-static void end_bcm1480_irq(unsigned int irq);
 static void enable_bcm1480_irq(unsigned int irq);
 static void disable_bcm1480_irq(unsigned int irq);
 static void ack_bcm1480_irq(unsigned int irq);
@@ -63,7 +61,6 @@ static struct irq_chip bcm1480_irq_type 
 	.mask = disable_bcm1480_irq,
 	.mask_ack = ack_bcm1480_irq,
 	.unmask = enable_bcm1480_irq,
-	.end = end_bcm1480_irq,
 #ifdef CONFIG_SMP
 	.set_affinity = bcm1480_set_affinity
 #endif
@@ -217,15 +214,6 @@ static void ack_bcm1480_irq(unsigned int
 	bcm1480_mask_irq(bcm1480_irq_owner[irq], irq);
 }
 
-
-static void end_bcm1480_irq(unsigned int irq)
-{
-	if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) {
-		bcm1480_unmask_irq(bcm1480_irq_owner[irq], irq);
-	}
-}
-
-
 void __init init_bcm1480_irqs(void)
 {
 	int i;
Index: linux-2.6-tip/arch/mips/sibyte/sb1250/irq.c
===================================================================
--- linux-2.6-tip.orig/arch/mips/sibyte/sb1250/irq.c
+++ linux-2.6-tip/arch/mips/sibyte/sb1250/irq.c
@@ -43,8 +43,6 @@
  * for interrupt lines
  */
 
-
-static void end_sb1250_irq(unsigned int irq);
 static void enable_sb1250_irq(unsigned int irq);
 static void disable_sb1250_irq(unsigned int irq);
 static void ack_sb1250_irq(unsigned int irq);
@@ -62,7 +60,6 @@ static struct irq_chip sb1250_irq_type =
 	.mask = disable_sb1250_irq,
 	.mask_ack = ack_sb1250_irq,
 	.unmask = enable_sb1250_irq,
-	.end = end_sb1250_irq,
 #ifdef CONFIG_SMP
 	.set_affinity = sb1250_set_affinity
 #endif
@@ -199,15 +196,6 @@ static void ack_sb1250_irq(unsigned int 
 	sb1250_mask_irq(sb1250_irq_owner[irq], irq);
 }
 
-
-static void end_sb1250_irq(unsigned int irq)
-{
-	if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) {
-		sb1250_unmask_irq(sb1250_irq_owner[irq], irq);
-	}
-}
-
-
 void __init init_sb1250_irqs(void)
 {
 	int i;
Index: linux-2.6-tip/arch/mips/sni/a20r.c
===================================================================
--- linux-2.6-tip.orig/arch/mips/sni/a20r.c
+++ linux-2.6-tip/arch/mips/sni/a20r.c
@@ -180,21 +180,12 @@ static inline void mask_a20r_irq(unsigne
 	irq_disable_hazard();
 }
 
-static void end_a20r_irq(unsigned int irq)
-{
-	if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) {
-		a20r_ack_hwint();
-		unmask_a20r_irq(irq);
-	}
-}
-
 static struct irq_chip a20r_irq_type = {
 	.name		= "A20R",
 	.ack		= mask_a20r_irq,
 	.mask		= mask_a20r_irq,
 	.mask_ack	= mask_a20r_irq,
 	.unmask		= unmask_a20r_irq,
-	.end		= end_a20r_irq,
 };
 
 /*
Index: linux-2.6-tip/arch/mips/sni/pcimt.c
===================================================================
--- linux-2.6-tip.orig/arch/mips/sni/pcimt.c
+++ linux-2.6-tip/arch/mips/sni/pcimt.c
@@ -208,19 +208,12 @@ void disable_pcimt_irq(unsigned int irq)
 	*(volatile u8 *) PCIMT_IRQSEL &= mask;
 }
 
-static void end_pcimt_irq(unsigned int irq)
-{
-	if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS)))
-		enable_pcimt_irq(irq);
-}
-
 static struct irq_chip pcimt_irq_type = {
 	.name = "PCIMT",
 	.ack = disable_pcimt_irq,
 	.mask = disable_pcimt_irq,
 	.mask_ack = disable_pcimt_irq,
 	.unmask = enable_pcimt_irq,
-	.end = end_pcimt_irq,
 };
 
 /*
Index: linux-2.6-tip/arch/mips/sni/pcit.c
===================================================================
--- linux-2.6-tip.orig/arch/mips/sni/pcit.c
+++ linux-2.6-tip/arch/mips/sni/pcit.c
@@ -170,19 +170,12 @@ void disable_pcit_irq(unsigned int irq)
 	*(volatile u32 *)SNI_PCIT_INT_REG &= ~mask;
 }
 
-void end_pcit_irq(unsigned int irq)
-{
-	if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS)))
-		enable_pcit_irq(irq);
-}
-
 static struct irq_chip pcit_irq_type = {
 	.name = "PCIT",
 	.ack = disable_pcit_irq,
 	.mask = disable_pcit_irq,
 	.mask_ack = disable_pcit_irq,
 	.unmask = enable_pcit_irq,
-	.end = end_pcit_irq,
 };
 
 static void pcit_hwint1(void)
Index: linux-2.6-tip/arch/mips/sni/rm200.c
===================================================================
--- linux-2.6-tip.orig/arch/mips/sni/rm200.c
+++ linux-2.6-tip/arch/mips/sni/rm200.c
@@ -443,19 +443,12 @@ void disable_rm200_irq(unsigned int irq)
 	*(volatile u8 *)SNI_RM200_INT_ENA_REG |= mask;
 }
 
-void end_rm200_irq(unsigned int irq)
-{
-	if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS)))
-		enable_rm200_irq(irq);
-}
-
 static struct irq_chip rm200_irq_type = {
 	.name = "RM200",
 	.ack = disable_rm200_irq,
 	.mask = disable_rm200_irq,
 	.mask_ack = disable_rm200_irq,
 	.unmask = enable_rm200_irq,
-	.end = end_rm200_irq,
 };
 
 static void sni_rm200_hwint(void)



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

* [patch 5/8] mn10300: Remove stale irq_chip.end
  2011-02-03  0:46 [patch 0/8] genirq: Remove the last __do_IRQ() leftovers Thomas Gleixner
                   ` (3 preceding siblings ...)
  2011-02-03  0:46 ` [patch 4/8] mips: " Thomas Gleixner
@ 2011-02-03  0:46 ` Thomas Gleixner
  2011-02-03  0:46 ` [patch 6/8] powerpc: " Thomas Gleixner
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Thomas Gleixner @ 2011-02-03  0:46 UTC (permalink / raw)
  To: LKML
  Cc: Ingo Molnar, Peter Zijlstra, Benjamin Herrenschmidt,
	Ralf Baechle, Tony Luck, David Howells, Michal Simek

[-- Attachment #1: mn10300-remove-stale-irq_chip-end.patch --]
[-- Type: text/plain, Size: 893 bytes --]

irq_chip.end got obsolete with the remnoval of __do_IRQ().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: David Howells <dhowells@redhat.com>
---
 arch/mn10300/kernel/mn10300-serial.c |    5 -----
 1 file changed, 5 deletions(-)

Index: linux-2.6-tip/arch/mn10300/kernel/mn10300-serial.c
===================================================================
--- linux-2.6-tip.orig/arch/mn10300/kernel/mn10300-serial.c
+++ linux-2.6-tip/arch/mn10300/kernel/mn10300-serial.c
@@ -384,17 +384,12 @@ static void mn10300_serial_mask_ack(unsi
 	arch_local_irq_restore(flags);
 }
 
-static void mn10300_serial_nop(unsigned int irq)
-{
-}
-
 static struct irq_chip mn10300_serial_pic = {
 	.name		= "mnserial",
 	.ack		= mn10300_serial_mask_ack,
 	.mask		= mn10300_serial_mask_ack,
 	.mask_ack	= mn10300_serial_mask_ack,
 	.unmask		= mn10300_serial_nop,
-	.end		= mn10300_serial_nop,
 };
 
 



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

* [patch 6/8] powerpc: Remove stale irq_chip.end
  2011-02-03  0:46 [patch 0/8] genirq: Remove the last __do_IRQ() leftovers Thomas Gleixner
                   ` (4 preceding siblings ...)
  2011-02-03  0:46 ` [patch 5/8] mn10300: " Thomas Gleixner
@ 2011-02-03  0:46 ` Thomas Gleixner
  2011-02-03  0:47 ` [patch 7/8] um: " Thomas Gleixner
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 11+ messages in thread
From: Thomas Gleixner @ 2011-02-03  0:46 UTC (permalink / raw)
  To: LKML
  Cc: Ingo Molnar, Peter Zijlstra, Benjamin Herrenschmidt,
	Ralf Baechle, Tony Luck, David Howells, Michal Simek

[-- Attachment #1: powerpc-remove-stale-irq_chip-end.patch --]
[-- Type: text/plain, Size: 1780 bytes --]

irq_chip.end got obsolete with the removal of __do_IRQ()

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
 arch/powerpc/platforms/82xx/pq2ads-pci-pic.c |    1 -
 arch/powerpc/sysdev/tsi108_pci.c             |   13 -------------
 2 files changed, 14 deletions(-)

Index: linux-2.6-tip/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c
===================================================================
--- linux-2.6-tip.orig/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c
+++ linux-2.6-tip/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c
@@ -71,7 +71,6 @@ static void pq2ads_pci_unmask_irq(unsign
 
 static struct irq_chip pq2ads_pci_ic = {
 	.name = "PQ2 ADS PCI",
-	.end = pq2ads_pci_unmask_irq,
 	.mask = pq2ads_pci_mask_irq,
 	.mask_ack = pq2ads_pci_mask_irq,
 	.ack = pq2ads_pci_mask_irq,
Index: linux-2.6-tip/arch/powerpc/sysdev/tsi108_pci.c
===================================================================
--- linux-2.6-tip.orig/arch/powerpc/sysdev/tsi108_pci.c
+++ linux-2.6-tip/arch/powerpc/sysdev/tsi108_pci.c
@@ -358,18 +358,6 @@ static void tsi108_pci_irq_ack(u_int irq
 	tsi108_pci_int_mask(irq);
 }
 
-static void tsi108_pci_irq_end(u_int irq)
-{
-	tsi108_pci_int_unmask(irq);
-
-	/* Enable interrupts from PCI block */
-	tsi108_write_reg(TSI108_PCI_OFFSET + TSI108_PCI_IRP_ENABLE,
-			 tsi108_read_reg(TSI108_PCI_OFFSET +
-					 TSI108_PCI_IRP_ENABLE) |
-			 TSI108_PCI_IRP_ENABLE_P_INT);
-	mb();
-}
-
 /*
  * Interrupt controller descriptor for cascaded PCI interrupt controller.
  */
@@ -378,7 +366,6 @@ static struct irq_chip tsi108_pci_irq = 
 	.name = "tsi108_PCI_int",
 	.mask = tsi108_pci_irq_disable,
 	.ack = tsi108_pci_irq_ack,
-	.end = tsi108_pci_irq_end,
 	.unmask = tsi108_pci_irq_enable,
 };
 



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

* [patch 7/8] um: Remove stale irq_chip.end
  2011-02-03  0:46 [patch 0/8] genirq: Remove the last __do_IRQ() leftovers Thomas Gleixner
                   ` (5 preceding siblings ...)
  2011-02-03  0:46 ` [patch 6/8] powerpc: " Thomas Gleixner
@ 2011-02-03  0:47 ` Thomas Gleixner
  2011-02-03  0:47 ` [patch 8/8] genirq-remove-stale-irq-end.patch Thomas Gleixner
  2011-02-09 15:28 ` [patch 5/8] mn10300: Remove stale irq_chip.end David Howells
  8 siblings, 0 replies; 11+ messages in thread
From: Thomas Gleixner @ 2011-02-03  0:47 UTC (permalink / raw)
  To: LKML
  Cc: Ingo Molnar, Peter Zijlstra, Benjamin Herrenschmidt,
	Ralf Baechle, Tony Luck, David Howells, Michal Simek

[-- Attachment #1: um-remove-stale-irq_chip-end.patch --]
[-- Type: text/plain, Size: 725 bytes --]

irq_chip.end got obsolete with the remnoval of __do_IRQ().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 arch/um/kernel/irq.c |    2 --
 1 file changed, 2 deletions(-)

Index: linux-2.6-tip/arch/um/kernel/irq.c
===================================================================
--- linux-2.6-tip.orig/arch/um/kernel/irq.c
+++ linux-2.6-tip/arch/um/kernel/irq.c
@@ -374,7 +374,6 @@ static struct irq_chip normal_irq_type =
 	.disable = dummy,
 	.enable = dummy,
 	.ack = dummy,
-	.end = dummy
 };
 
 static struct irq_chip SIGVTALRM_irq_type = {
@@ -384,7 +383,6 @@ static struct irq_chip SIGVTALRM_irq_typ
 	.disable = dummy,
 	.enable = dummy,
 	.ack = dummy,
-	.end = dummy
 };
 
 void __init init_IRQ(void)



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

* [patch 8/8] genirq-remove-stale-irq-end.patch
  2011-02-03  0:46 [patch 0/8] genirq: Remove the last __do_IRQ() leftovers Thomas Gleixner
                   ` (6 preceding siblings ...)
  2011-02-03  0:47 ` [patch 7/8] um: " Thomas Gleixner
@ 2011-02-03  0:47 ` Thomas Gleixner
  2011-02-09 15:28 ` [patch 5/8] mn10300: Remove stale irq_chip.end David Howells
  8 siblings, 0 replies; 11+ messages in thread
From: Thomas Gleixner @ 2011-02-03  0:47 UTC (permalink / raw)
  To: LKML
  Cc: Ingo Molnar, Peter Zijlstra, Benjamin Herrenschmidt,
	Ralf Baechle, Tony Luck, David Howells, Michal Simek

[-- Attachment #1: genirq-remove-stale-irq-end.patch --]
[-- Type: text/plain, Size: 3611 bytes --]

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 include/linux/irq.h    |    2 --
 kernel/irq/chip.c      |    3 ---
 kernel/irq/dummychip.c |    9 ---------
 kernel/irq/internals.h |   10 ----------
 kernel/irq/spurious.c  |    6 ------
 5 files changed, 30 deletions(-)

Index: linux-2.6-tip/include/linux/irq.h
===================================================================
--- linux-2.6-tip.orig/include/linux/irq.h
+++ linux-2.6-tip/include/linux/irq.h
@@ -126,7 +126,6 @@ struct irq_data {
  * @mask_ack:		deprecated, replaced by irq_mask_ack
  * @unmask:		deprecated, replaced by irq_unmask
  * @eoi:		deprecated, replaced by irq_eoi
- * @end:		deprecated, will go away with __do_IRQ()
  * @set_affinity:	deprecated, replaced by irq_set_affinity
  * @retrigger:		deprecated, replaced by irq_retrigger
  * @set_type:		deprecated, replaced by irq_set_type
@@ -166,7 +165,6 @@ struct irq_chip {
 	void		(*unmask)(unsigned int irq);
 	void		(*eoi)(unsigned int irq);
 
-	void		(*end)(unsigned int irq);
 	int		(*set_affinity)(unsigned int irq,
 					const struct cpumask *dest);
 	int		(*retrigger)(unsigned int irq);
Index: linux-2.6-tip/kernel/irq/chip.c
===================================================================
--- linux-2.6-tip.orig/kernel/irq/chip.c
+++ linux-2.6-tip/kernel/irq/chip.c
@@ -348,9 +348,6 @@ void irq_chip_set_defaults(struct irq_ch
 			chip->irq_disable : default_shutdown;
 
 #ifndef CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED
-	if (!chip->end)
-		chip->end = dummy_irq_chip.end;
-
 	/*
 	 * Now fix up the remaining compat handlers
 	 */
Index: linux-2.6-tip/kernel/irq/dummychip.c
===================================================================
--- linux-2.6-tip.orig/kernel/irq/dummychip.c
+++ linux-2.6-tip/kernel/irq/dummychip.c
@@ -31,13 +31,6 @@ static unsigned int noop_ret(struct irq_
 	return 0;
 }
 
-#ifndef CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED
-static void compat_noop(unsigned int irq) { }
-#define END_INIT .end = compat_noop
-#else
-#define END_INIT
-#endif
-
 /*
  * Generic no controller implementation
  */
@@ -48,7 +41,6 @@ struct irq_chip no_irq_chip = {
 	.irq_enable	= noop,
 	.irq_disable	= noop,
 	.irq_ack	= ack_bad,
-	END_INIT
 };
 
 /*
@@ -64,5 +56,4 @@ struct irq_chip dummy_irq_chip = {
 	.irq_ack	= noop,
 	.irq_mask	= noop,
 	.irq_unmask	= noop,
-	END_INIT
 };
Index: linux-2.6-tip/kernel/irq/internals.h
===================================================================
--- linux-2.6-tip.orig/kernel/irq/internals.h
+++ linux-2.6-tip/kernel/irq/internals.h
@@ -41,16 +41,6 @@ extern int irq_select_affinity_usr(unsig
 
 extern void irq_set_thread_affinity(struct irq_desc *desc);
 
-#ifndef CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED
-static inline void irq_end(unsigned int irq, struct irq_desc *desc)
-{
-	if (desc->irq_data.chip && desc->irq_data.chip->end)
-		desc->irq_data.chip->end(irq);
-}
-#else
-static inline void irq_end(unsigned int irq, struct irq_desc *desc) { }
-#endif
-
 /* Inline functions for support of irq chips on slow busses */
 static inline void chip_bus_lock(struct irq_desc *desc)
 {
Index: linux-2.6-tip/kernel/irq/spurious.c
===================================================================
--- linux-2.6-tip.orig/kernel/irq/spurious.c
+++ linux-2.6-tip/kernel/irq/spurious.c
@@ -76,12 +76,6 @@ static int try_one_irq(int irq, struct i
 		desc->status &= ~IRQ_PENDING;
 	}
 	desc->status &= ~IRQ_INPROGRESS;
-	/*
-	 * If we did actual work for the real IRQ line we must let the
-	 * IRQ controller clean up too
-	 */
-	if (work)
-		irq_end(irq, desc);
 	raw_spin_unlock(&desc->lock);
 
 	return ok;



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

* Re: [patch 3/8] microblaze: Remove stale irq_chip.end
  2011-02-03  0:46 ` [patch 3/8] microblaze: " Thomas Gleixner
@ 2011-02-03 13:06   ` Michal Simek
  0 siblings, 0 replies; 11+ messages in thread
From: Michal Simek @ 2011-02-03 13:06 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: LKML, Ingo Molnar, Peter Zijlstra, Benjamin Herrenschmidt,
	Ralf Baechle, Tony Luck, David Howells

irq_chip.end got obsolete with the removal of __do_IRQ().

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Michal Simek <monstr@monstr.eu>
---
  arch/microblaze/kernel/intc.c |   13 -------------
  1 file changed, 13 deletions(-)


Tested-by: Michal Simek <monstr@monstr.eu>

M

-- 
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian

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

* Re: [patch 5/8] mn10300: Remove stale irq_chip.end
  2011-02-03  0:46 [patch 0/8] genirq: Remove the last __do_IRQ() leftovers Thomas Gleixner
                   ` (7 preceding siblings ...)
  2011-02-03  0:47 ` [patch 8/8] genirq-remove-stale-irq-end.patch Thomas Gleixner
@ 2011-02-09 15:28 ` David Howells
  8 siblings, 0 replies; 11+ messages in thread
From: David Howells @ 2011-02-09 15:28 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: dhowells, LKML, Ingo Molnar, Peter Zijlstra,
	Benjamin Herrenschmidt, Ralf Baechle, Tony Luck, Michal Simek

Thomas Gleixner <tglx@linutronix.de> wrote:

> -static void mn10300_serial_nop(unsigned int irq)
> -{
> -}
> -
>  static struct irq_chip mn10300_serial_pic = {
>  	.name		= "mnserial",
>  	.ack		= mn10300_serial_mask_ack,
>  	.mask		= mn10300_serial_mask_ack,
>  	.mask_ack	= mn10300_serial_mask_ack,
>  	.unmask		= mn10300_serial_nop,
> -	.end		= mn10300_serial_nop,
>  };

This doesn't compile.  .unmask still refers to that function.

David

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

end of thread, other threads:[~2011-02-09 15:28 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-03  0:46 [patch 0/8] genirq: Remove the last __do_IRQ() leftovers Thomas Gleixner
2011-02-03  0:46 ` [patch 1/8] frv: Remove stale irq_chip.end Thomas Gleixner
2011-02-03  0:46 ` [patch 2/8] ia64: " Thomas Gleixner
2011-02-03  0:46 ` [patch 3/8] microblaze: " Thomas Gleixner
2011-02-03 13:06   ` Michal Simek
2011-02-03  0:46 ` [patch 4/8] mips: " Thomas Gleixner
2011-02-03  0:46 ` [patch 5/8] mn10300: " Thomas Gleixner
2011-02-03  0:46 ` [patch 6/8] powerpc: " Thomas Gleixner
2011-02-03  0:47 ` [patch 7/8] um: " Thomas Gleixner
2011-02-03  0:47 ` [patch 8/8] genirq-remove-stale-irq-end.patch Thomas Gleixner
2011-02-09 15:28 ` [patch 5/8] mn10300: Remove stale irq_chip.end David Howells

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