Commit 669cb51c authored by Eric Miao's avatar Eric Miao

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

Signed-off-by: default avatarEric Miao <eric.y.miao@gmail.com>
parent 2a2d10f3
...@@ -59,7 +59,7 @@ void __init cmx2xx_pci_adjust_zones(int node, unsigned long *zone_size, ...@@ -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);
} }
......
...@@ -121,7 +121,7 @@ static void lpd270_irq_handler(unsigned int irq, struct irq_desc *desc) ...@@ -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);
......
...@@ -158,7 +158,7 @@ static void lubbock_irq_handler(unsigned int irq, struct irq_desc *desc) ...@@ -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);
......
...@@ -162,7 +162,7 @@ static void mainstone_irq_handler(unsigned int irq, struct irq_desc *desc) ...@@ -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);
......
...@@ -259,8 +259,7 @@ static void pcm990_irq_handler(unsigned int irq, struct irq_desc *desc) ...@@ -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);
......
...@@ -281,7 +281,7 @@ static void viper_irq_handler(unsigned int irq, struct irq_desc *desc) ...@@ -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));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment