* __do_IRQ() going away
@ 2009-03-11 11:28 Ralf Baechle
2009-03-11 23:23 ` Markus Gothe
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Ralf Baechle @ 2009-03-11 11:28 UTC (permalink / raw)
To: linux-mips; +Cc: Thomas Gleixner
__do_IRQ() is deprecated since a long time and there are plans to remove
it for 2.6.30. The MIPS platforms seem to fall into three classes:
o Platforms setting CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ to explicitly disable
__do_IRQ():
capcella_defconfig, cobalt_defconfig, e55_defconfig,
fulong_defconfig, ip27_defconfig, jazz_defconfig, jmr3927_defconfig,
lasat_defconfig, mpc30x_defconfig, pnx8335-stb225_defconfig,
pnx8550-jbs_defconfig, pnx8550-stb810_defconfig, rb532_defconfig,
rbtx49xx_defconfig, tb0219_defconfig, tb0226_defconfig,
tb0287_defconfig and workpad_defconfig.
o Platforms that don't set CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ but don't
seem to use __do_IRQ():
bcm47xx_defconfig, cavium-octeon_defconfig, excite_defconfig,
ip22_defconfig, ip28_defconfig, msp71xx_defconfig, wrppmc_defconfig,
o Platforms that still seem to rely on __do_IRQ():
o All Sibyte platforms:
bigsur_defconfig and sb1250-swarm_defconfig
o All Alchemy platforms:
db1000_defconfig, db1100_defconfig, db1200_defconfig, db1500_defconfig,
db1550_defconfig, mtx1_defconfig, pb1100_defconfig, pb1500_defconfig
and pb1550_defconfig
o malta_defconfig. The platform code itself is ok but irq-gic.c,
irq-msc01.c, irq-msc01.c and irq_cpu.c are still using set_irq_chip
and need fixing.
o And the rest:
decstation_defconfig, emma2rh_defconfig, ip32_defconfig,
yosemite_defconfig, mipssim_defconfig and rm200_defconfig.
For now I've checked in the following patch into linux-queue.
Ralf
MIPS: Enable GENERIC_HARDIRQS_NO__DO_IRQ for all platforms
__do_IRQ() is deprecated and will go away.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/Kconfig | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -77,7 +77,6 @@ config MIPS_COBALT
select SYS_SUPPORTS_32BIT_KERNEL
select SYS_SUPPORTS_64BIT_KERNEL
select SYS_SUPPORTS_LITTLE_ENDIAN
- select GENERIC_HARDIRQS_NO__DO_IRQ
config MACH_DECSTATION
bool "DECstations"
@@ -132,7 +131,6 @@ config MACH_JAZZ
select SYS_SUPPORTS_32BIT_KERNEL
select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
select SYS_SUPPORTS_100HZ
- select GENERIC_HARDIRQS_NO__DO_IRQ
help
This a family of machines based on the MIPS R4030 chipset which was
used by several vendors to build RISC/os and Windows NT workstations.
@@ -154,7 +152,6 @@ config LASAT
select SYS_SUPPORTS_32BIT_KERNEL
select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
select SYS_SUPPORTS_LITTLE_ENDIAN
- select GENERIC_HARDIRQS_NO__DO_IRQ
config LEMOTE_FULONG
bool "Lemote Fulong mini-PC"
@@ -175,7 +172,6 @@ config LEMOTE_FULONG
select SYS_SUPPORTS_LITTLE_ENDIAN
select SYS_SUPPORTS_HIGHMEM
select SYS_HAS_EARLY_PRINTK
- select GENERIC_HARDIRQS_NO__DO_IRQ
select GENERIC_ISA_DMA_SUPPORT_BROKEN
select CPU_HAS_WB
help
@@ -246,7 +242,6 @@ config MACH_VR41XX
select CEVT_R4K
select CSRC_R4K
select SYS_HAS_CPU_VR41XX
- select GENERIC_HARDIRQS_NO__DO_IRQ
config NXP_STB220
bool "NXP STB220 board"
@@ -360,7 +355,6 @@ config SGI_IP27
select SYS_SUPPORTS_BIG_ENDIAN
select SYS_SUPPORTS_NUMA
select SYS_SUPPORTS_SMP
- select GENERIC_HARDIRQS_NO__DO_IRQ
help
This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
workstations. To compile a Linux kernel that runs on these, say Y
@@ -559,7 +553,6 @@ config MIKROTIK_RB532
select CEVT_R4K
select CSRC_R4K
select DMA_NONCOHERENT
- select GENERIC_HARDIRQS_NO__DO_IRQ
select HW_HAS_PCI
select IRQ_CPU
select SYS_HAS_CPU_MIPS32_R1
@@ -697,8 +690,7 @@ config SCHED_OMIT_FRAME_POINTER
default y
config GENERIC_HARDIRQS_NO__DO_IRQ
- bool
- default n
+ def_bool y
#
# Select some configuration options automatically based on user selections.
@@ -905,7 +897,6 @@ config SOC_PNX833X
select SYS_SUPPORTS_32BIT_KERNEL
select SYS_SUPPORTS_LITTLE_ENDIAN
select SYS_SUPPORTS_BIG_ENDIAN
- select GENERIC_HARDIRQS_NO__DO_IRQ
select GENERIC_GPIO
select CPU_MIPSR2_IRQ_VI
@@ -924,7 +915,6 @@ config SOC_PNX8550
select SYS_HAS_CPU_MIPS32_R1
select SYS_HAS_EARLY_PRINTK
select SYS_SUPPORTS_32BIT_KERNEL
- select GENERIC_HARDIRQS_NO__DO_IRQ
select GENERIC_GPIO
config SWAP_IO_SPACE
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: __do_IRQ() going away
2009-03-11 11:28 __do_IRQ() going away Ralf Baechle
@ 2009-03-11 23:23 ` Markus Gothe
2009-03-12 7:26 ` Manuel Lauss
2009-03-13 15:31 ` MIPS: EMMA2RH: Use handle_edge_irq() handler for GPIO interrupts Shinya Kuribayashi
2 siblings, 0 replies; 7+ messages in thread
From: Markus Gothe @ 2009-03-11 23:23 UTC (permalink / raw)
To: Ralf Baechle; +Cc: linux-mips, Thomas Gleixner
[-- Attachment #1: Type: text/plain, Size: 4532 bytes --]
I'll have a quick look at the NEC EMMA2 code, for review...
//Markus
On 11 Mar 2009, at 12:28, Ralf Baechle wrote:
> __do_IRQ() is deprecated since a long time and there are plans to
> remove
> it for 2.6.30. The MIPS platforms seem to fall into three classes:
>
> o Platforms setting CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ to explicitly
> disable
> __do_IRQ():
> capcella_defconfig, cobalt_defconfig, e55_defconfig,
> fulong_defconfig, ip27_defconfig, jazz_defconfig, jmr3927_defconfig,
> lasat_defconfig, mpc30x_defconfig, pnx8335-stb225_defconfig,
> pnx8550-jbs_defconfig, pnx8550-stb810_defconfig, rb532_defconfig,
> rbtx49xx_defconfig, tb0219_defconfig, tb0226_defconfig,
> tb0287_defconfig and workpad_defconfig.
>
> o Platforms that don't set CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ but
> don't
> seem to use __do_IRQ():
>
> bcm47xx_defconfig, cavium-octeon_defconfig, excite_defconfig,
> ip22_defconfig, ip28_defconfig, msp71xx_defconfig, wrppmc_defconfig,
>
> o Platforms that still seem to rely on __do_IRQ():
> o All Sibyte platforms:
> bigsur_defconfig and sb1250-swarm_defconfig
>
> o All Alchemy platforms:
> db1000_defconfig, db1100_defconfig, db1200_defconfig,
> db1500_defconfig,
> db1550_defconfig, mtx1_defconfig, pb1100_defconfig, pb1500_defconfig
> and pb1550_defconfig
>
> o malta_defconfig. The platform code itself is ok but irq-gic.c,
> irq-msc01.c, irq-msc01.c and irq_cpu.c are still using set_irq_chip
> and need fixing.
>
> o And the rest:
> decstation_defconfig, emma2rh_defconfig, ip32_defconfig,
> yosemite_defconfig, mipssim_defconfig and rm200_defconfig.
>
> For now I've checked in the following patch into linux-queue.
>
> Ralf
>
> MIPS: Enable GENERIC_HARDIRQS_NO__DO_IRQ for all platforms
>
> __do_IRQ() is deprecated and will go away.
>
> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
>
> arch/mips/Kconfig | 12 +-----------
> 1 file changed, 1 insertion(+), 11 deletions(-)
>
> --- a/arch/mips/Kconfig
> +++ b/arch/mips/Kconfig
> @@ -77,7 +77,6 @@ config MIPS_COBALT
> select SYS_SUPPORTS_32BIT_KERNEL
> select SYS_SUPPORTS_64BIT_KERNEL
> select SYS_SUPPORTS_LITTLE_ENDIAN
> - select GENERIC_HARDIRQS_NO__DO_IRQ
>
> config MACH_DECSTATION
> bool "DECstations"
> @@ -132,7 +131,6 @@ config MACH_JAZZ
> select SYS_SUPPORTS_32BIT_KERNEL
> select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
> select SYS_SUPPORTS_100HZ
> - select GENERIC_HARDIRQS_NO__DO_IRQ
> help
> This a family of machines based on the MIPS R4030 chipset which was
> used by several vendors to build RISC/os and Windows NT
> workstations.
> @@ -154,7 +152,6 @@ config LASAT
> select SYS_SUPPORTS_32BIT_KERNEL
> select SYS_SUPPORTS_64BIT_KERNEL if BROKEN
> select SYS_SUPPORTS_LITTLE_ENDIAN
> - select GENERIC_HARDIRQS_NO__DO_IRQ
>
> config LEMOTE_FULONG
> bool "Lemote Fulong mini-PC"
> @@ -175,7 +172,6 @@ config LEMOTE_FULONG
> select SYS_SUPPORTS_LITTLE_ENDIAN
> select SYS_SUPPORTS_HIGHMEM
> select SYS_HAS_EARLY_PRINTK
> - select GENERIC_HARDIRQS_NO__DO_IRQ
> select GENERIC_ISA_DMA_SUPPORT_BROKEN
> select CPU_HAS_WB
> help
> @@ -246,7 +242,6 @@ config MACH_VR41XX
> select CEVT_R4K
> select CSRC_R4K
> select SYS_HAS_CPU_VR41XX
> - select GENERIC_HARDIRQS_NO__DO_IRQ
>
> config NXP_STB220
> bool "NXP STB220 board"
> @@ -360,7 +355,6 @@ config SGI_IP27
> select SYS_SUPPORTS_BIG_ENDIAN
> select SYS_SUPPORTS_NUMA
> select SYS_SUPPORTS_SMP
> - select GENERIC_HARDIRQS_NO__DO_IRQ
> help
> This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
> workstations. To compile a Linux kernel that runs on these, say Y
> @@ -559,7 +553,6 @@ config MIKROTIK_RB532
> select CEVT_R4K
> select CSRC_R4K
> select DMA_NONCOHERENT
> - select GENERIC_HARDIRQS_NO__DO_IRQ
> select HW_HAS_PCI
> select IRQ_CPU
> select SYS_HAS_CPU_MIPS32_R1
> @@ -697,8 +690,7 @@ config SCHED_OMIT_FRAME_POINTER
> default y
>
> config GENERIC_HARDIRQS_NO__DO_IRQ
> - bool
> - default n
> + def_bool y
>
> #
> # Select some configuration options automatically based on user
> selections.
> @@ -905,7 +897,6 @@ config SOC_PNX833X
> select SYS_SUPPORTS_32BIT_KERNEL
> select SYS_SUPPORTS_LITTLE_ENDIAN
> select SYS_SUPPORTS_BIG_ENDIAN
> - select GENERIC_HARDIRQS_NO__DO_IRQ
> select GENERIC_GPIO
> select CPU_MIPSR2_IRQ_VI
>
> @@ -924,7 +915,6 @@ config SOC_PNX8550
> select SYS_HAS_CPU_MIPS32_R1
> select SYS_HAS_EARLY_PRINTK
> select SYS_SUPPORTS_32BIT_KERNEL
> - select GENERIC_HARDIRQS_NO__DO_IRQ
> select GENERIC_GPIO
>
> config SWAP_IO_SPACE
>
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 194 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: __do_IRQ() going away
2009-03-11 11:28 __do_IRQ() going away Ralf Baechle
2009-03-11 23:23 ` Markus Gothe
@ 2009-03-12 7:26 ` Manuel Lauss
2009-03-12 9:28 ` Ralf Baechle
2009-03-13 15:31 ` MIPS: EMMA2RH: Use handle_edge_irq() handler for GPIO interrupts Shinya Kuribayashi
2 siblings, 1 reply; 7+ messages in thread
From: Manuel Lauss @ 2009-03-12 7:26 UTC (permalink / raw)
To: Ralf Baechle; +Cc: linux-mips, Thomas Gleixner
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=unknown-8bit, Size: 664 bytes --]
On Wed, Mar 11, 2009 at 12:28:06PM +0100, Ralf Baechle wrote:
> __do_IRQ() is deprecated since a long time and there are plans to remove
> it for 2.6.30. The MIPS platforms seem to fall into three classes:
> o Platforms that still seem to rely on __do_IRQ():
> o All Alchemy platforms:
> db1000_defconfig, db1100_defconfig, db1200_defconfig, db1500_defconfig,
> db1550_defconfig, mtx1_defconfig, pb1100_defconfig, pb1500_defconfig
> and pb1550_defconfig
I believe that the defconfigs just need to be updated. There are no
__do_IRQ invocations in the alchemy/ tree anymore, and generic hardirqs are
enabled by CONFIG_SOC_AU1X00.
Grüsse,
Manuel Lauss
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: __do_IRQ() going away
2009-03-12 7:26 ` Manuel Lauss
@ 2009-03-12 9:28 ` Ralf Baechle
2009-03-12 9:46 ` Manuel Lauss
0 siblings, 1 reply; 7+ messages in thread
From: Ralf Baechle @ 2009-03-12 9:28 UTC (permalink / raw)
To: Manuel Lauss; +Cc: linux-mips, Thomas Gleixner
On Thu, Mar 12, 2009 at 08:26:18AM +0100, Manuel Lauss wrote:
>
> On Wed, Mar 11, 2009 at 12:28:06PM +0100, Ralf Baechle wrote:
> > __do_IRQ() is deprecated since a long time and there are plans to remove
> > it for 2.6.30. The MIPS platforms seem to fall into three classes:
>
> > o Platforms that still seem to rely on __do_IRQ():
> > o All Alchemy platforms:
> > db1000_defconfig, db1100_defconfig, db1200_defconfig, db1500_defconfig,
> > db1550_defconfig, mtx1_defconfig, pb1100_defconfig, pb1500_defconfig
> > and pb1550_defconfig
>
> I believe that the defconfigs just need to be updated. There are no
> __do_IRQ invocations in the alchemy/ tree anymore, and generic hardirqs are
> enabled by CONFIG_SOC_AU1X00.
__do_IRQ will be called from the generic code if irq_desc->handle_irq is
not set for an interrupt and handle_irq will be left NULL if a platform
only calls set_irq_chip or even does a homebrew initialization. Fix is
to call set_irq_chip_and_handler or better set_irq_chip_and_handler_name.
Iow, now with CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ always set half the
platforms will blow up because the function pointer irq_desc->handle_irq
is unset.
Ralf
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: __do_IRQ() going away
2009-03-12 9:28 ` Ralf Baechle
@ 2009-03-12 9:46 ` Manuel Lauss
2009-03-12 11:20 ` Ralf Baechle
0 siblings, 1 reply; 7+ messages in thread
From: Manuel Lauss @ 2009-03-12 9:46 UTC (permalink / raw)
To: Ralf Baechle; +Cc: linux-mips, Thomas Gleixner
On Thu, Mar 12, 2009 at 10:28 AM, Ralf Baechle <ralf@linux-mips.org> wrote:
> On Thu, Mar 12, 2009 at 08:26:18AM +0100, Manuel Lauss wrote:
>
>>
>> On Wed, Mar 11, 2009 at 12:28:06PM +0100, Ralf Baechle wrote:
>> > __do_IRQ() is deprecated since a long time and there are plans to remove
>> > it for 2.6.30. The MIPS platforms seem to fall into three classes:
>>
>> > o Platforms that still seem to rely on __do_IRQ():
>> > o All Alchemy platforms:
>> > db1000_defconfig, db1100_defconfig, db1200_defconfig, db1500_defconfig,
>> > db1550_defconfig, mtx1_defconfig, pb1100_defconfig, pb1500_defconfig
>> > and pb1550_defconfig
>>
>> I believe that the defconfigs just need to be updated. There are no
>> __do_IRQ invocations in the alchemy/ tree anymore, and generic hardirqs are
>> enabled by CONFIG_SOC_AU1X00.
>
> __do_IRQ will be called from the generic code if irq_desc->handle_irq is
> not set for an interrupt and handle_irq will be left NULL if a platform
> only calls set_irq_chip or even does a homebrew initialization. Fix is
> to call set_irq_chip_and_handler or better set_irq_chip_and_handler_name.
Alchemy does all that...
> Iow, now with CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ always set half the
> platforms will blow up because the function pointer irq_desc->handle_irq
> is unset.
...and it works fine so far on the DB1200 and another 2 boards I have.
(I.e. your patch didn't break anything). Unless I'm missing something
very big.
Manuel Lauss
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: __do_IRQ() going away
2009-03-12 9:46 ` Manuel Lauss
@ 2009-03-12 11:20 ` Ralf Baechle
0 siblings, 0 replies; 7+ messages in thread
From: Ralf Baechle @ 2009-03-12 11:20 UTC (permalink / raw)
To: Manuel Lauss; +Cc: linux-mips, Thomas Gleixner
On Thu, Mar 12, 2009 at 10:46:28AM +0100, Manuel Lauss wrote:
> > Iow, now with CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ always set half the
> > platforms will blow up because the function pointer irq_desc->handle_irq
> > is unset.
>
> ...and it works fine so far on the DB1200 and another 2 boards I have.
> (I.e. your patch didn't break anything). Unless I'm missing something
> very big.
Ah, there is a remaining call to set_irq_chip in the Alchemy code - but
that seems to be in "does not happen" code so should be benign.
Ralf
^ permalink raw reply [flat|nested] 7+ messages in thread
* MIPS: EMMA2RH: Use handle_edge_irq() handler for GPIO interrupts
2009-03-11 11:28 __do_IRQ() going away Ralf Baechle
2009-03-11 23:23 ` Markus Gothe
2009-03-12 7:26 ` Manuel Lauss
@ 2009-03-13 15:31 ` Shinya Kuribayashi
2 siblings, 0 replies; 7+ messages in thread
From: Shinya Kuribayashi @ 2009-03-13 15:31 UTC (permalink / raw)
To: Ralf Baechle; +Cc: linux-mips, Thomas Gleixner
EMMA's GPIO interrupts are latched by GPIO interrupt status register.
In this case, we're encouraged to use handle_edge_irq() handler.
The following changes are made along with replacing set_irq_chip() with
set_irq_chip_and_handler_name(,,handle_edge_irq,"edge"):
* Fix emma2rh_gpio_irq_ack not to disable interrupts
With handle_edge_irq(), we're not expected to disable interrupts
when chip->ack is served, so fix it accordingly. We also add a
new emma2rh_gpio_irq_mask_ack() for chip->mask_ack operation.
* Remove emma2rh_gpio_irq_end() as chip->end is no longer served.
Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi@necel.com>
---
Ralf Baechle wrote:
> __do_IRQ() is deprecated since a long time and there are plans to remove
> it for 2.6.30. The MIPS platforms seem to fall into three classes:
[snip]
> o Platforms that still seem to rely on __do_IRQ():
> o All Sibyte platforms:
> bigsur_defconfig and sb1250-swarm_defconfig
>
> o All Alchemy platforms:
> db1000_defconfig, db1100_defconfig, db1200_defconfig, db1500_defconfig,
> db1550_defconfig, mtx1_defconfig, pb1100_defconfig, pb1500_defconfig
> and pb1550_defconfig
>
> o malta_defconfig. The platform code itself is ok but irq-gic.c,
> irq-msc01.c, irq-msc01.c and irq_cpu.c are still using set_irq_chip
> and need fixing.
>
> o And the rest:
> decstation_defconfig, emma2rh_defconfig, ip32_defconfig,
> yosemite_defconfig, mipssim_defconfig and rm200_defconfig.
Here's a patch for EMMA2RH not to call __do_IRQ(). Please review.
Thanks,
Shinya
arch/mips/emma/markeins/irq.c | 28 ++++++++++------------------
1 files changed, 10 insertions(+), 18 deletions(-)
diff --git a/arch/mips/emma/markeins/irq.c b/arch/mips/emma/markeins/irq.c
index ce8f5f2..d15556c 100644
--- a/arch/mips/emma/markeins/irq.c
+++ b/arch/mips/emma/markeins/irq.c
@@ -149,37 +149,28 @@ static void emma2rh_gpio_irq_disable(unsigned int irq)
static void emma2rh_gpio_irq_ack(unsigned int irq)
{
- u32 reg;
-
irq -= EMMA2RH_GPIO_IRQ_BASE;
emma2rh_out32(EMMA2RH_GPIO_INT_ST, ~(1 << irq));
-
- reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK);
- reg &= ~(1 << irq);
- emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg);
}
-static void emma2rh_gpio_irq_end(unsigned int irq)
+static void emma2rh_gpio_irq_mask_ack(unsigned int irq)
{
u32 reg;
- if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) {
-
- irq -= EMMA2RH_GPIO_IRQ_BASE;
+ irq -= EMMA2RH_GPIO_IRQ_BASE;
+ emma2rh_out32(EMMA2RH_GPIO_INT_ST, ~(1 << irq));
- reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK);
- reg |= 1 << irq;
- emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg);
- }
+ reg = emma2rh_in32(EMMA2RH_GPIO_INT_MASK);
+ reg &= ~(1 << irq);
+ emma2rh_out32(EMMA2RH_GPIO_INT_MASK, reg);
}
struct irq_chip emma2rh_gpio_irq_controller = {
.name = "emma2rh_gpio_irq",
.ack = emma2rh_gpio_irq_ack,
.mask = emma2rh_gpio_irq_disable,
- .mask_ack = emma2rh_gpio_irq_ack,
+ .mask_ack = emma2rh_gpio_irq_mask_ack,
.unmask = emma2rh_gpio_irq_enable,
- .end = emma2rh_gpio_irq_end,
};
void emma2rh_gpio_irq_init(void)
@@ -187,8 +178,9 @@ void emma2rh_gpio_irq_init(void)
u32 i;
for (i = 0; i < NUM_EMMA2RH_IRQ_GPIO; i++)
- set_irq_chip(EMMA2RH_GPIO_IRQ_BASE + i,
- &emma2rh_gpio_irq_controller);
+ set_irq_chip_and_handler_name(EMMA2RH_GPIO_IRQ_BASE + i,
+ &emma2rh_gpio_irq_controller,
+ handle_edge_irq, "edge");
}
static struct irqaction irq_cascade = {
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-03-13 15:31 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-11 11:28 __do_IRQ() going away Ralf Baechle
2009-03-11 23:23 ` Markus Gothe
2009-03-12 7:26 ` Manuel Lauss
2009-03-12 9:28 ` Ralf Baechle
2009-03-12 9:46 ` Manuel Lauss
2009-03-12 11:20 ` Ralf Baechle
2009-03-13 15:31 ` MIPS: EMMA2RH: Use handle_edge_irq() handler for GPIO interrupts Shinya Kuribayashi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox