summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/planb.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2007-10-30 01:08:11 -0200
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-10-30 01:08:11 -0200
commit47c9bdaf6e07f0a4b5ccaec663d41aec4bf62e63 (patch)
tree40c30a3a55122a33867122d2e2937ceb20af95ff /linux/drivers/media/video/planb.c
parentee189d9d96dcebde4ec27edbda3f1582949ca8a4 (diff)
parentdb7fcfc5c5821ff5568dd32c567e0c42488c503f (diff)
downloadmediapointer-dvb-s2-47c9bdaf6e07f0a4b5ccaec663d41aec4bf62e63.tar.gz
mediapointer-dvb-s2-47c9bdaf6e07f0a4b5ccaec663d41aec4bf62e63.tar.bz2
merge: http://linuxtv.org/hg/~dougsland/v4l-dvb
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux/drivers/media/video/planb.c')
-rw-r--r--linux/drivers/media/video/planb.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/linux/drivers/media/video/planb.c b/linux/drivers/media/video/planb.c
index 5da38b139..358dc2996 100644
--- a/linux/drivers/media/video/planb.c
+++ b/linux/drivers/media/video/planb.c
@@ -92,11 +92,6 @@ static void planb_close(struct video_device *);
static int planb_ioctl(struct video_device *, unsigned int, void *);
static int planb_init_done(struct video_device *);
static int planb_mmap(struct video_device *, const char *, unsigned long);
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
-static void planb_irq(int, void *, struct pt_regs *);
-#else
-static void planb_irq(int, void *);
-#endif
static void release_planb(void);
int init_planbs(struct video_init *);
@@ -1321,9 +1316,9 @@ cmd_tab_data_end:
}
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
-static void planb_irq(int irq, void *dev_id, struct pt_regs * regs)
+static irqreturn_t planb_irq(int irq, void *dev_id, struct pt_regs * regs)
#else
-static void planb_irq(int irq, void *dev_id)
+static irqreturn_t planb_irq(int irq, void *dev_id)
#endif
{
unsigned int stat, astat;
@@ -1367,13 +1362,14 @@ static void planb_irq(int irq, void *dev_id)
pb->frame_stat[fr] = GBUFFER_DONE;
pb->grabbing--;
wake_up_interruptible(&pb->capq);
- return;
+ return IRQ_HANDLED;
}
/* incorrect interrupts? */
pb->intr_mask = PLANB_CLR_IRQ;
out_le32(&pb->planb_base->intr_stat, PLANB_CLR_IRQ);
printk(KERN_ERR "PlanB: IRQ lockup, cleared intrrupts"
" unconditionally\n");
+ return IRQ_HANDLED;
}
/*******************************
@@ -2099,7 +2095,7 @@ static int init_planb(struct planb *pb)
/* clear interrupt mask */
pb->intr_mask = PLANB_CLR_IRQ;
- result = request_irq(pb->irq, planb_irq, 0, "PlanB", (void *)pb);
+ result = request_irq(pb->irq, planb_irq, 0, "PlanB", pb);
if (result < 0) {
if (result==-EINVAL)
printk(KERN_ERR "PlanB: Bad irq number (%d) "