aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/common
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2008-01-08 09:26:59 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-17 23:40:05 -0400
commite5cc2bf4450fd9739534e690cc16efc140d7b7fc (patch)
tree91aa4b18c352edbf51dc52d7cf2c2f1f0ce4db11 /drivers/media/common
parent6eb5c8a6c82d7c753ea52df94ea2ff096b5aba96 (diff)
V4L/DVB (12824): tuner-xc2028: adds an option to send i2c data on slower speed
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/common')
-rw-r--r--drivers/media/common/tuners/tuner-xc2028.c5
-rw-r--r--drivers/media/common/tuners/tuner-xc2028.h1
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/media/common/tuners/tuner-xc2028.c b/drivers/media/common/tuners/tuner-xc2028.c
index 96d61707f501..8d2907f38a94 100644
--- a/drivers/media/common/tuners/tuner-xc2028.c
+++ b/drivers/media/common/tuners/tuner-xc2028.c
@@ -100,6 +100,7 @@ struct xc2028_data {
100 if (size != _rc) \ 100 if (size != _rc) \
101 tuner_info("i2c output error: rc = %d (should be %d)\n",\ 101 tuner_info("i2c output error: rc = %d (should be %d)\n",\
102 _rc, (int)size); \ 102 _rc, (int)size); \
103 msleep(priv->ctrl.msleep); \
103 _rc; \ 104 _rc; \
104}) 105})
105 106
@@ -119,6 +120,7 @@ struct xc2028_data {
119 if (isize != _rc) \ 120 if (isize != _rc) \
120 tuner_err("i2c input error: rc = %d (should be %d)\n", \ 121 tuner_err("i2c input error: rc = %d (should be %d)\n", \
121 _rc, (int)isize); \ 122 _rc, (int)isize); \
123 msleep(priv->ctrl.msleep); \
122 _rc; \ 124 _rc; \
123}) 125})
124 126
@@ -130,7 +132,7 @@ struct xc2028_data {
130 _val, sizeof(_val)))) { \ 132 _val, sizeof(_val)))) { \
131 tuner_err("Error on line %d: %d\n", __LINE__, _rc); \ 133 tuner_err("Error on line %d: %d\n", __LINE__, _rc); \
132 } else \ 134 } else \
133 msleep(10); \ 135 msleep(priv->ctrl.msleep); \
134 _rc; \ 136 _rc; \
135}) 137})
136 138
@@ -996,6 +998,7 @@ static int generic_set_freq(struct dvb_frontend *fe, u32 freq /* in HZ */,
996 The reset CLK is needed only with tm6000. 998 The reset CLK is needed only with tm6000.
997 Driver should work fine even if this fails. 999 Driver should work fine even if this fails.
998 */ 1000 */
1001 msleep(priv->ctrl.msleep);
999 do_tuner_callback(fe, XC2028_RESET_CLK, 1); 1002 do_tuner_callback(fe, XC2028_RESET_CLK, 1);
1000 1003
1001 msleep(10); 1004 msleep(10);
diff --git a/drivers/media/common/tuners/tuner-xc2028.h b/drivers/media/common/tuners/tuner-xc2028.h
index a90c35d50add..e116071810e0 100644
--- a/drivers/media/common/tuners/tuner-xc2028.h
+++ b/drivers/media/common/tuners/tuner-xc2028.h
@@ -33,6 +33,7 @@ enum firmware_type {
33struct xc2028_ctrl { 33struct xc2028_ctrl {
34 char *fname; 34 char *fname;
35 int max_len; 35 int max_len;
36 int msleep;
36 unsigned int scode_table; 37 unsigned int scode_table;
37 unsigned int mts :1; 38 unsigned int mts :1;
38 unsigned int input1:1; 39 unsigned int input1:1;