

Update bttv driver to the new IRQ API.


 drivers/media/video/bttv-driver.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff -puN drivers/media/video/bttv-driver.c~irqreturn-bttv drivers/media/video/bttv-driver.c
--- 25/drivers/media/video/bttv-driver.c~irqreturn-bttv	2003-04-24 05:17:21.000000000 -0700
+++ 25-akpm/drivers/media/video/bttv-driver.c	2003-04-24 05:17:21.000000000 -0700
@@ -1279,7 +1279,7 @@ static int bttv_prepare_buffer(struct bt
 }
 
 static int
-buffer_setup(struct file *file, int *count, int *size)
+buffer_setup(struct file *file, unsigned int *count, unsigned int *size)
 {
 	struct bttv_fh *fh = file->private_data;
 	
@@ -3156,22 +3156,23 @@ bttv_irq_switch_fields(struct bttv *btv)
 	spin_unlock(&btv->s_lock);
 }
 
-static void bttv_irq(int irq, void *dev_id, struct pt_regs * regs)
+static irqreturn_t bttv_irq(int irq, void *dev_id, struct pt_regs * regs)
 {
 	u32 stat,astat;
 	u32 dstat;
 	int count;
 	struct bttv *btv;
+	int handled = 0;
 
 	btv=(struct bttv *)dev_id;
 	count=0;
-	while (1) 
-	{
+	while (1) {
 		/* get/clear interrupt status bits */
 		stat=btread(BT848_INT_STAT);
 		astat=stat&btread(BT848_INT_MASK);
 		if (!astat)
-			return;
+			break;
+		handled = 1;
 		btwrite(stat,BT848_INT_STAT);
 
 		/* get device status bits */
@@ -3231,6 +3232,7 @@ static void bttv_irq(int irq, void *dev_
 			       "bttv%d: IRQ lockup, cleared int mask\n", btv->nr);
 		}
 	}
+	return IRQ_RETVAL(handled);
 }
 
 

_
