[TRIDENT] teach trident_interrupt() about irqreturn_t

Muli Ben-Yehuda (mulix@mulix.org)
Mon, 21 Apr 2003 13:07:12 +0300


This is a MIME-formatted message. If you see this text it means that your
E-mail software does not support MIME-formatted messages.

--=_courier-15072-1050919698-0001-2
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi Linus,=20

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
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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 @@
}
}
=20
-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 =3D (struct trident_card *)dev_id;
u32 event;
@@ -1753,15 +1753,18 @@
ali_queue_task(card, gpio&0x07);
}
event =3D inl(TRID_REG(card, T4D_MISCINT));
- outl(event | (ST_TARGET_REACHED | MIXER_OVERFLOW | MIXER_UNDERFLOW), TRI=
D_REG(card, T4D_MISCINT));
- spin_unlock(&card->lock);
- return;
+ event |=3D (ST_TARGET_REACHED | MIXER_OVERFLOW | MIXER_UNDERFLOW);=20
+ outl(event, TRID_REG(card, T4D_MISCINT));
+ goto done;=20
}
=20
/* manually clear interrupt status, bad hardware design, blame T^2 */
outl((ST_TARGET_REACHED | MIXER_OVERFLOW | MIXER_UNDERFLOW),
TRID_REG(card, T4D_MISCINT));
+
+done:=20
spin_unlock(&card->lock);
+ return IRQ_HANDLED;
}
=20
/* in this loop, dmabuf.count signifies the amount of data that is waiting=
to be copied to

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

--=_courier-15072-1050919698-0001-2
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE+o8LQKRs727/VN8sRAr3uAKCHu1wiIZhQJCjAAGlChgVoEP7gQgCcCXOP
1uLIc4t2K7Waiflo4PQPes8=
=wuVJ
-----END PGP SIGNATURE-----

--=_courier-15072-1050919698-0001-2--