summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/bttv-gpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media/video/bttv-gpio.c')
-rw-r--r--linux/drivers/media/video/bttv-gpio.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/linux/drivers/media/video/bttv-gpio.c b/linux/drivers/media/video/bttv-gpio.c
index f13bdb000..4026943c0 100644
--- a/linux/drivers/media/video/bttv-gpio.c
+++ b/linux/drivers/media/video/bttv-gpio.c
@@ -1,5 +1,5 @@
/*
- $Id: bttv-gpio.c,v 1.8 2005/10/16 12:13:58 mchehab Exp $
+ $Id: bttv-gpio.c,v 1.9 2005/11/08 18:02:29 nsh Exp $
bttv-gpio.c -- gpio sub drivers
@@ -114,6 +114,24 @@ void bttv_gpio_irq(struct bttv_core *core)
}
}
+int bttv_any_irq(struct bttv_core *core)
+{
+ struct bttv_sub_driver *drv;
+ struct bttv_sub_device *dev;
+ struct list_head *item;
+ int handled = 0;
+
+ list_for_each(item,&core->subs) {
+ dev = list_entry(item,struct bttv_sub_device,list);
+ drv = to_bttv_sub_drv(dev->dev.driver);
+ if (drv && drv->any_irq) {
+ if (drv->any_irq(dev))
+ handled = 1;
+ }
+ }
+ return handled;
+}
+
/* ----------------------------------------------------------------------- */
/* external: sub-driver register/unregister */