summaryrefslogtreecommitdiff
path: root/drivers/media/video/saa7134/saa7134.h
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2009-01-19 08:01:24 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 12:42:35 -0300
commitaaf50d7d0e12ec797dc0677c4fc853839bdcf07d (patch)
tree7f37b0e8d20d4a87623968927769cfb27f676847 /drivers/media/video/saa7134/saa7134.h
parent9a909447d3af6917bf2f7eaae08af0c9e1c3593e (diff)
V4L/DVB (10394): KWorld ATSC 115 all static
saa7134: Fix tuner access on Kworld ATSC110 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/saa7134/saa7134.h')
-rw-r--r--drivers/media/video/saa7134/saa7134.h23
1 files changed, 19 insertions, 4 deletions
diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h
index bb6952118d01..6fbf5088c97a 100644
--- a/drivers/media/video/saa7134/saa7134.h
+++ b/drivers/media/video/saa7134/saa7134.h
@@ -589,6 +589,7 @@ struct saa7134_dev {
int (*original_set_voltage)(struct dvb_frontend *fe, fe_sec_voltage_t voltage);
int (*original_set_high_voltage)(struct dvb_frontend *fe, long arg);
#endif
+ void (*gate_ctrl)(struct saa7134_dev *dev, int open);
};
/* ----------------------------------------------------------- */
@@ -618,10 +619,24 @@ struct saa7134_dev {
V4L2_STD_PAL_60)
#define GRP_EMPRESS (1)
-#define saa_call_all(dev, o, f, args...) \
- v4l2_device_call_all(&(dev)->v4l2_dev, 0, o, f , ##args)
-#define saa_call_empress(dev, o, f, args...) \
- v4l2_device_call_until_err(&(dev)->v4l2_dev, GRP_EMPRESS, o, f , ##args)
+#define saa_call_all(dev, o, f, args...) do { \
+ if (dev->gate_ctrl) \
+ dev->gate_ctrl(dev, 1); \
+ v4l2_device_call_all(&(dev)->v4l2_dev, 0, o, f , ##args); \
+ if (dev->gate_ctrl) \
+ dev->gate_ctrl(dev, 0); \
+} while (0)
+
+#define saa_call_empress(dev, o, f, args...) ({ \
+ long _rc; \
+ if (dev->gate_ctrl) \
+ dev->gate_ctrl(dev, 1); \
+ _rc = v4l2_device_call_until_err(&(dev)->v4l2_dev, \
+ GRP_EMPRESS, o, f , ##args); \
+ if (dev->gate_ctrl) \
+ dev->gate_ctrl(dev, 0); \
+ _rc; \
+})
/* ----------------------------------------------------------- */
/* saa7134-core.c */