[TRIDENT] teach trident_interrupt() about irqreturn_t

From: Muli Ben-Yehuda (mulix@mulix.org)
Date: Mon Apr 21 2003 - 05:07:12 EST


Hi Linus,

This patch updates trident_interrupt() to return
IRQ_HANDLED and cleans it up a little while I'm at it. Compiles, boots
and plays mp3s fine. Patch is against 2.5.68-cvs, please apply.

Index: sound/oss/trident.c
===================================================================
RCS file: /home/cvs/linux-2.5/sound/oss/trident.c,v
retrieving revision 1.20
diff -u -r1.20 trident.c
--- sound/oss/trident.c 8 Apr 2003 16:46:36 -0000 1.20
+++ sound/oss/trident.c 21 Apr 2003 09:02:01 -0000
@@ -1728,7 +1728,7 @@
         }
 }
 
-static void trident_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+static irqreturn_t trident_interrupt(int irq, void *dev_id, struct pt_regs *regs)
 {
         struct trident_card *card = (struct trident_card *)dev_id;
         u32 event;
@@ -1753,15 +1753,18 @@
                                 ali_queue_task(card, gpio&0x07);
                 }
                 event = inl(TRID_REG(card, T4D_MISCINT));
- outl(event | (ST_TARGET_REACHED | MIXER_OVERFLOW | MIXER_UNDERFLOW), TRID_REG(card, T4D_MISCINT));
- spin_unlock(&card->lock);
- return;
+ event |= (ST_TARGET_REACHED | MIXER_OVERFLOW | MIXER_UNDERFLOW);
+ outl(event, TRID_REG(card, T4D_MISCINT));
+ goto done;
         }
 
         /* manually clear interrupt status, bad hardware design, blame T^2 */
         outl((ST_TARGET_REACHED | MIXER_OVERFLOW | MIXER_UNDERFLOW),
              TRID_REG(card, T4D_MISCINT));
+
+done:
         spin_unlock(&card->lock);
+ return IRQ_HANDLED;
 }
 
 /* in this loop, dmabuf.count signifies the amount of data that is waiting to be copied to

-- 
Muli Ben-Yehuda
http://www.mulix.org


- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Apr 23 2003 - 22:00:28 EST