[ARM] pxa: use chip->ack() instead of accessing GEDR directly

Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
This commit is contained in:
Eric Miao 2010-01-01 15:29:22 +08:00
parent 2a2d10f386
commit 669cb51c6a
6 changed files with 6 additions and 7 deletions

View file

@ -59,7 +59,7 @@ void __init cmx2xx_pci_adjust_zones(int node, unsigned long *zone_size,
static void cmx2xx_it8152_irq_demux(unsigned int irq, struct irq_desc *desc) static void cmx2xx_it8152_irq_demux(unsigned int irq, struct irq_desc *desc)
{ {
/* clear our parent irq */ /* clear our parent irq */
GEDR(cmx2xx_it8152_irq_gpio) = GPIO_bit(cmx2xx_it8152_irq_gpio); desc->chip->ack(irq);
it8152_irq_demux(irq, desc); it8152_irq_demux(irq, desc);
} }

View file

@ -121,7 +121,7 @@ static void lpd270_irq_handler(unsigned int irq, struct irq_desc *desc)
pending = __raw_readw(LPD270_INT_STATUS) & lpd270_irq_enabled; pending = __raw_readw(LPD270_INT_STATUS) & lpd270_irq_enabled;
do { do {
GEDR(0) = GPIO_bit(0); /* clear useless edge notification */ desc->chip->ack(irq); /* clear useless edge notification */
if (likely(pending)) { if (likely(pending)) {
irq = LPD270_IRQ(0) + __ffs(pending); irq = LPD270_IRQ(0) + __ffs(pending);
generic_handle_irq(irq); generic_handle_irq(irq);

View file

@ -158,7 +158,7 @@ static void lubbock_irq_handler(unsigned int irq, struct irq_desc *desc)
{ {
unsigned long pending = LUB_IRQ_SET_CLR & lubbock_irq_enabled; unsigned long pending = LUB_IRQ_SET_CLR & lubbock_irq_enabled;
do { do {
GEDR(0) = GPIO_bit(0); /* clear our parent irq */ desc->chip->ack(irq); /* clear our parent irq */
if (likely(pending)) { if (likely(pending)) {
irq = LUBBOCK_IRQ(0) + __ffs(pending); irq = LUBBOCK_IRQ(0) + __ffs(pending);
generic_handle_irq(irq); generic_handle_irq(irq);

View file

@ -162,7 +162,7 @@ static void mainstone_irq_handler(unsigned int irq, struct irq_desc *desc)
{ {
unsigned long pending = MST_INTSETCLR & mainstone_irq_enabled; unsigned long pending = MST_INTSETCLR & mainstone_irq_enabled;
do { do {
GEDR(0) = GPIO_bit(0); /* clear useless edge notification */ desc->chip->ack(irq); /* clear useless edge notification */
if (likely(pending)) { if (likely(pending)) {
irq = MAINSTONE_IRQ(0) + __ffs(pending); irq = MAINSTONE_IRQ(0) + __ffs(pending);
generic_handle_irq(irq); generic_handle_irq(irq);

View file

@ -259,8 +259,7 @@ static void pcm990_irq_handler(unsigned int irq, struct irq_desc *desc)
unsigned long pending = (~PCM990_INTSETCLR) & pcm990_irq_enabled; unsigned long pending = (~PCM990_INTSETCLR) & pcm990_irq_enabled;
do { do {
GEDR(PCM990_CTRL_INT_IRQ_GPIO) = desc->chip->ack(irq); /* clear our parent IRQ */
GPIO_bit(PCM990_CTRL_INT_IRQ_GPIO);
if (likely(pending)) { if (likely(pending)) {
irq = PCM027_IRQ(0) + __ffs(pending); irq = PCM027_IRQ(0) + __ffs(pending);
generic_handle_irq(irq); generic_handle_irq(irq);

View file

@ -281,7 +281,7 @@ static void viper_irq_handler(unsigned int irq, struct irq_desc *desc)
do { do {
/* we're in a chained irq handler, /* we're in a chained irq handler,
* so ack the interrupt by hand */ * so ack the interrupt by hand */
GEDR(VIPER_CPLD_GPIO) = GPIO_bit(VIPER_CPLD_GPIO); desc->chip->ack(irq);
if (likely(pending)) { if (likely(pending)) {
irq = viper_bit_to_irq(__ffs(pending)); irq = viper_bit_to_irq(__ffs(pending));