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