diff options
39 files changed, 66 insertions, 48 deletions
diff --git a/drivers/media/common/saa7146_i2c.c b/drivers/media/common/saa7146_i2c.c index d9953f7a8b6b..5297a365c928 100644 --- a/drivers/media/common/saa7146_i2c.c +++ b/drivers/media/common/saa7146_i2c.c | |||
@@ -217,11 +217,9 @@ static int saa7146_i2c_writeout(struct saa7146_dev *dev, u32* dword, int short_d | |||
217 | } | 217 | } |
218 | /* wait until we get a transfer done or error */ | 218 | /* wait until we get a transfer done or error */ |
219 | timeout = jiffies + HZ/100 + 1; /* 10ms */ | 219 | timeout = jiffies + HZ/100 + 1; /* 10ms */ |
220 | /* first read usually delivers bogus results... */ | ||
221 | saa7146_i2c_status(dev); | ||
220 | while(1) { | 222 | while(1) { |
221 | /** | ||
222 | * first read usually delivers bogus results... | ||
223 | */ | ||
224 | saa7146_i2c_status(dev); | ||
225 | status = saa7146_i2c_status(dev); | 223 | status = saa7146_i2c_status(dev); |
226 | if ((status & 0x3) != 1) | 224 | if ((status & 0x3) != 1) |
227 | break; | 225 | break; |
@@ -232,10 +230,10 @@ static int saa7146_i2c_writeout(struct saa7146_dev *dev, u32* dword, int short_d | |||
232 | DEB_I2C(("saa7146_i2c_writeout: timed out waiting for end of xfer\n")); | 230 | DEB_I2C(("saa7146_i2c_writeout: timed out waiting for end of xfer\n")); |
233 | return -EIO; | 231 | return -EIO; |
234 | } | 232 | } |
235 | if ((++trial < 20) && short_delay) | 233 | if (++trial < 50 && short_delay) |
236 | udelay(10); | 234 | udelay(10); |
237 | else | 235 | else |
238 | msleep(1); | 236 | msleep(1); |
239 | } | 237 | } |
240 | } | 238 | } |
241 | 239 | ||
diff --git a/drivers/media/dvb/dvb-usb/Kconfig b/drivers/media/dvb/dvb-usb/Kconfig index 2cc5caa26a0a..a263b3f3c21d 100644 --- a/drivers/media/dvb/dvb-usb/Kconfig +++ b/drivers/media/dvb/dvb-usb/Kconfig | |||
@@ -26,7 +26,7 @@ config DVB_USB_A800 | |||
26 | tristate "AVerMedia AverTV DVB-T USB 2.0 (A800)" | 26 | tristate "AVerMedia AverTV DVB-T USB 2.0 (A800)" |
27 | depends on DVB_USB | 27 | depends on DVB_USB |
28 | select DVB_DIB3000MC | 28 | select DVB_DIB3000MC |
29 | select DVB_TUNER_MT2060 | 29 | select DVB_TUNER_MT2060 if !DVB_FE_CUSTOMISE |
30 | help | 30 | help |
31 | Say Y here to support the AVerMedia AverTV DVB-T USB 2.0 (A800) receiver. | 31 | Say Y here to support the AVerMedia AverTV DVB-T USB 2.0 (A800) receiver. |
32 | 32 | ||
@@ -34,7 +34,7 @@ config DVB_USB_DIBUSB_MB | |||
34 | tristate "DiBcom USB DVB-T devices (based on the DiB3000M-B) (see help for device list)" | 34 | tristate "DiBcom USB DVB-T devices (based on the DiB3000M-B) (see help for device list)" |
35 | depends on DVB_USB | 35 | depends on DVB_USB |
36 | select DVB_DIB3000MB | 36 | select DVB_DIB3000MB |
37 | select DVB_TUNER_MT2060 | 37 | select DVB_TUNER_MT2060 if !DVB_FE_CUSTOMISE |
38 | help | 38 | help |
39 | Support for USB 1.1 and 2.0 DVB-T receivers based on reference designs made by | 39 | Support for USB 1.1 and 2.0 DVB-T receivers based on reference designs made by |
40 | DiBcom (<http://www.dibcom.fr>) equipped with a DiB3000M-B demodulator. | 40 | DiBcom (<http://www.dibcom.fr>) equipped with a DiB3000M-B demodulator. |
@@ -55,7 +55,7 @@ config DVB_USB_DIBUSB_MC | |||
55 | tristate "DiBcom USB DVB-T devices (based on the DiB3000M-C/P) (see help for device list)" | 55 | tristate "DiBcom USB DVB-T devices (based on the DiB3000M-C/P) (see help for device list)" |
56 | depends on DVB_USB | 56 | depends on DVB_USB |
57 | select DVB_DIB3000MC | 57 | select DVB_DIB3000MC |
58 | select DVB_TUNER_MT2060 | 58 | select DVB_TUNER_MT2060 if !DVB_FE_CUSTOMISE |
59 | help | 59 | help |
60 | Support for USB2.0 DVB-T receivers based on reference designs made by | 60 | Support for USB2.0 DVB-T receivers based on reference designs made by |
61 | DiBcom (<http://www.dibcom.fr>) equipped with a DiB3000M-C/P demodulator. | 61 | DiBcom (<http://www.dibcom.fr>) equipped with a DiB3000M-C/P demodulator. |
@@ -70,7 +70,7 @@ config DVB_USB_DIB0700 | |||
70 | tristate "DiBcom DiB0700 USB DVB devices (see help for supported devices)" | 70 | tristate "DiBcom DiB0700 USB DVB devices (see help for supported devices)" |
71 | depends on DVB_USB | 71 | depends on DVB_USB |
72 | select DVB_DIB3000MC | 72 | select DVB_DIB3000MC |
73 | select DVB_TUNER_MT2060 | 73 | select DVB_TUNER_MT2060 if !DVB_FE_CUSTOMISE |
74 | help | 74 | help |
75 | Support for USB2.0/1.1 DVB receivers based on the DiB0700 USB bridge. The | 75 | Support for USB2.0/1.1 DVB receivers based on the DiB0700 USB bridge. The |
76 | USB bridge is also present in devices having the DiB7700 DVB-T-USB | 76 | USB bridge is also present in devices having the DiB7700 DVB-T-USB |
@@ -87,7 +87,7 @@ config DVB_USB_UMT_010 | |||
87 | tristate "HanfTek UMT-010 DVB-T USB2.0 support" | 87 | tristate "HanfTek UMT-010 DVB-T USB2.0 support" |
88 | depends on DVB_USB | 88 | depends on DVB_USB |
89 | select DVB_DIB3000MC | 89 | select DVB_DIB3000MC |
90 | select DVB_TUNER_MT2060 | 90 | select DVB_TUNER_MT2060 if !DVB_FE_CUSTOMISE |
91 | help | 91 | help |
92 | Say Y here to support the HanfTek UMT-010 USB2.0 stick-sized DVB-T receiver. | 92 | Say Y here to support the HanfTek UMT-010 USB2.0 stick-sized DVB-T receiver. |
93 | 93 | ||
@@ -153,7 +153,7 @@ config DVB_USB_NOVA_T_USB2 | |||
153 | tristate "Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 support" | 153 | tristate "Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 support" |
154 | depends on DVB_USB | 154 | depends on DVB_USB |
155 | select DVB_DIB3000MC | 155 | select DVB_DIB3000MC |
156 | select DVB_TUNER_MT2060 | 156 | select DVB_TUNER_MT2060 if !DVB_FE_CUSTOMISE |
157 | help | 157 | help |
158 | Say Y here to support the Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 receiver. | 158 | Say Y here to support the Hauppauge WinTV-NOVA-T usb2 DVB-T USB2.0 receiver. |
159 | 159 | ||
diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig index 080fa257a0bc..aebb8d6f26f8 100644 --- a/drivers/media/dvb/frontends/Kconfig +++ b/drivers/media/dvb/frontends/Kconfig | |||
@@ -276,6 +276,8 @@ config DVB_TDA826X | |||
276 | 276 | ||
277 | config DVB_TUNER_MT2060 | 277 | config DVB_TUNER_MT2060 |
278 | tristate "Microtune MT2060 silicon IF tuner" | 278 | tristate "Microtune MT2060 silicon IF tuner" |
279 | depends on I2C | ||
280 | default m if DVB_FE_CUSTOMISE | ||
279 | help | 281 | help |
280 | A driver for the silicon IF tuner MT2060 from Microtune. | 282 | A driver for the silicon IF tuner MT2060 from Microtune. |
281 | 283 | ||
diff --git a/drivers/media/dvb/frontends/bcm3510.h b/drivers/media/dvb/frontends/bcm3510.h index 6dfa839a7022..7e4f95e1734b 100644 --- a/drivers/media/dvb/frontends/bcm3510.h +++ b/drivers/media/dvb/frontends/bcm3510.h | |||
@@ -34,7 +34,7 @@ struct bcm3510_config | |||
34 | int (*request_firmware)(struct dvb_frontend* fe, const struct firmware **fw, char* name); | 34 | int (*request_firmware)(struct dvb_frontend* fe, const struct firmware **fw, char* name); |
35 | }; | 35 | }; |
36 | 36 | ||
37 | #if defined(CONFIG_DVB_BCM3510) || defined(CONFIG_DVB_BCM3510_MODULE) | 37 | #if defined(CONFIG_DVB_BCM3510) || (defined(CONFIG_DVB_BCM3510_MODULE) && defined(MODULE)) |
38 | extern struct dvb_frontend* bcm3510_attach(const struct bcm3510_config* config, | 38 | extern struct dvb_frontend* bcm3510_attach(const struct bcm3510_config* config, |
39 | struct i2c_adapter* i2c); | 39 | struct i2c_adapter* i2c); |
40 | #else | 40 | #else |
diff --git a/drivers/media/dvb/frontends/cx22700.h b/drivers/media/dvb/frontends/cx22700.h index 10286cc29fb4..7ac33690cdcc 100644 --- a/drivers/media/dvb/frontends/cx22700.h +++ b/drivers/media/dvb/frontends/cx22700.h | |||
@@ -31,7 +31,7 @@ struct cx22700_config | |||
31 | u8 demod_address; | 31 | u8 demod_address; |
32 | }; | 32 | }; |
33 | 33 | ||
34 | #if defined(CONFIG_DVB_CX22700) || defined(CONFIG_DVB_CX22700_MODULE) | 34 | #if defined(CONFIG_DVB_CX22700) || (defined(CONFIG_DVB_CX22700_MODULE) && defined(MODULE)) |
35 | extern struct dvb_frontend* cx22700_attach(const struct cx22700_config* config, | 35 | extern struct dvb_frontend* cx22700_attach(const struct cx22700_config* config, |
36 | struct i2c_adapter* i2c); | 36 | struct i2c_adapter* i2c); |
37 | #else | 37 | #else |
diff --git a/drivers/media/dvb/frontends/cx22702.h b/drivers/media/dvb/frontends/cx22702.h index bc217ddf02c0..9cd64da6ee40 100644 --- a/drivers/media/dvb/frontends/cx22702.h +++ b/drivers/media/dvb/frontends/cx22702.h | |||
@@ -41,7 +41,7 @@ struct cx22702_config | |||
41 | u8 output_mode; | 41 | u8 output_mode; |
42 | }; | 42 | }; |
43 | 43 | ||
44 | #if defined(CONFIG_DVB_CX22702) || defined(CONFIG_DVB_CX22702_MODULE) | 44 | #if defined(CONFIG_DVB_CX22702) || (defined(CONFIG_DVB_CX22702_MODULE) && defined(MODULE)) |
45 | extern struct dvb_frontend* cx22702_attach(const struct cx22702_config* config, | 45 | extern struct dvb_frontend* cx22702_attach(const struct cx22702_config* config, |
46 | struct i2c_adapter* i2c); | 46 | struct i2c_adapter* i2c); |
47 | #else | 47 | #else |
diff --git a/drivers/media/dvb/frontends/cx24110.h b/drivers/media/dvb/frontends/cx24110.h index c9d5ae250ebb..0ca3af4db513 100644 --- a/drivers/media/dvb/frontends/cx24110.h +++ b/drivers/media/dvb/frontends/cx24110.h | |||
@@ -41,7 +41,7 @@ static inline int cx24110_pll_write(struct dvb_frontend *fe, u32 val) { | |||
41 | return r; | 41 | return r; |
42 | } | 42 | } |
43 | 43 | ||
44 | #if defined(CONFIG_DVB_CX24110) || defined(CONFIG_DVB_CX24110_MODULE) | 44 | #if defined(CONFIG_DVB_CX24110) || (defined(CONFIG_DVB_CX24110_MODULE) && defined(MODULE)) |
45 | extern struct dvb_frontend* cx24110_attach(const struct cx24110_config* config, | 45 | extern struct dvb_frontend* cx24110_attach(const struct cx24110_config* config, |
46 | struct i2c_adapter* i2c); | 46 | struct i2c_adapter* i2c); |
47 | #else | 47 | #else |
diff --git a/drivers/media/dvb/frontends/cx24123.h b/drivers/media/dvb/frontends/cx24123.h index 57a1dae1dc40..84f9e4f5c15e 100644 --- a/drivers/media/dvb/frontends/cx24123.h +++ b/drivers/media/dvb/frontends/cx24123.h | |||
@@ -35,7 +35,7 @@ struct cx24123_config | |||
35 | int lnb_polarity; | 35 | int lnb_polarity; |
36 | }; | 36 | }; |
37 | 37 | ||
38 | #if defined(CONFIG_DVB_CX24123) || defined(CONFIG_DVB_CX24123_MODULE) | 38 | #if defined(CONFIG_DVB_CX24123) || (defined(CONFIG_DVB_CX24123_MODULE) && defined(MODULE)) |
39 | extern struct dvb_frontend* cx24123_attach(const struct cx24123_config* config, | 39 | extern struct dvb_frontend* cx24123_attach(const struct cx24123_config* config, |
40 | struct i2c_adapter* i2c); | 40 | struct i2c_adapter* i2c); |
41 | #else | 41 | #else |
diff --git a/drivers/media/dvb/frontends/dib3000.h b/drivers/media/dvb/frontends/dib3000.h index 0caac3f0f279..a6d3854a67bc 100644 --- a/drivers/media/dvb/frontends/dib3000.h +++ b/drivers/media/dvb/frontends/dib3000.h | |||
@@ -41,7 +41,7 @@ struct dib_fe_xfer_ops | |||
41 | int (*tuner_pass_ctrl)(struct dvb_frontend *fe, int onoff, u8 pll_ctrl); | 41 | int (*tuner_pass_ctrl)(struct dvb_frontend *fe, int onoff, u8 pll_ctrl); |
42 | }; | 42 | }; |
43 | 43 | ||
44 | #if defined(CONFIG_DVB_DIB3000MB) || defined(CONFIG_DVB_DIB3000MB_MODULE) | 44 | #if defined(CONFIG_DVB_DIB3000MB) || (defined(CONFIG_DVB_DIB3000MB_MODULE) && defined(MODULE)) |
45 | extern struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config, | 45 | extern struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config, |
46 | struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops); | 46 | struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops); |
47 | #else | 47 | #else |
diff --git a/drivers/media/dvb/frontends/dib3000mc.h b/drivers/media/dvb/frontends/dib3000mc.h index 0d6fdef77538..72d4757601d8 100644 --- a/drivers/media/dvb/frontends/dib3000mc.h +++ b/drivers/media/dvb/frontends/dib3000mc.h | |||
@@ -39,7 +39,7 @@ struct dib3000mc_config { | |||
39 | #define DEFAULT_DIB3000MC_I2C_ADDRESS 16 | 39 | #define DEFAULT_DIB3000MC_I2C_ADDRESS 16 |
40 | #define DEFAULT_DIB3000P_I2C_ADDRESS 24 | 40 | #define DEFAULT_DIB3000P_I2C_ADDRESS 24 |
41 | 41 | ||
42 | #if defined(CONFIG_DVB_DIB3000MC) || defined(CONFIG_DVB_DIB3000MC_MODULE) | 42 | #if defined(CONFIG_DVB_DIB3000MC) || (defined(CONFIG_DVB_DIB3000MC_MODULE) && defined(MODULE)) |
43 | extern struct dvb_frontend * dib3000mc_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, struct dib3000mc_config *cfg); | 43 | extern struct dvb_frontend * dib3000mc_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, struct dib3000mc_config *cfg); |
44 | #else | 44 | #else |
45 | static inline struct dvb_frontend * dib3000mc_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, struct dib3000mc_config *cfg) | 45 | static inline struct dvb_frontend * dib3000mc_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, struct dib3000mc_config *cfg) |
diff --git a/drivers/media/dvb/frontends/isl6421.h b/drivers/media/dvb/frontends/isl6421.h index 1916e3eb2df3..ea7f78a7d3cd 100644 --- a/drivers/media/dvb/frontends/isl6421.h +++ b/drivers/media/dvb/frontends/isl6421.h | |||
@@ -39,7 +39,7 @@ | |||
39 | #define ISL6421_ISEL1 0x20 | 39 | #define ISL6421_ISEL1 0x20 |
40 | #define ISL6421_DCL 0x40 | 40 | #define ISL6421_DCL 0x40 |
41 | 41 | ||
42 | #if defined(CONFIG_DVB_ISL6421) || defined(CONFIG_DVB_ISL6421_MODULE) | 42 | #if defined(CONFIG_DVB_ISL6421) || (defined(CONFIG_DVB_ISL6421_MODULE) && defined(MODULE)) |
43 | /* override_set and override_clear control which system register bits (above) to always set & clear */ | 43 | /* override_set and override_clear control which system register bits (above) to always set & clear */ |
44 | extern struct dvb_frontend *isl6421_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 i2c_addr, | 44 | extern struct dvb_frontend *isl6421_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 i2c_addr, |
45 | u8 override_set, u8 override_clear); | 45 | u8 override_set, u8 override_clear); |
diff --git a/drivers/media/dvb/frontends/l64781.h b/drivers/media/dvb/frontends/l64781.h index 21ba4a230760..cd15f76ff28d 100644 --- a/drivers/media/dvb/frontends/l64781.h +++ b/drivers/media/dvb/frontends/l64781.h | |||
@@ -31,7 +31,7 @@ struct l64781_config | |||
31 | u8 demod_address; | 31 | u8 demod_address; |
32 | }; | 32 | }; |
33 | 33 | ||
34 | #if defined(CONFIG_DVB_L64781) || defined(CONFIG_DVB_L64781_MODULE) | 34 | #if defined(CONFIG_DVB_L64781) || (defined(CONFIG_DVB_L64781_MODULE) && defined(MODULE)) |
35 | extern struct dvb_frontend* l64781_attach(const struct l64781_config* config, | 35 | extern struct dvb_frontend* l64781_attach(const struct l64781_config* config, |
36 | struct i2c_adapter* i2c); | 36 | struct i2c_adapter* i2c); |
37 | #else | 37 | #else |
diff --git a/drivers/media/dvb/frontends/lgdt330x.h b/drivers/media/dvb/frontends/lgdt330x.h index 3f96b485584c..995059004b10 100644 --- a/drivers/media/dvb/frontends/lgdt330x.h +++ b/drivers/media/dvb/frontends/lgdt330x.h | |||
@@ -52,7 +52,7 @@ struct lgdt330x_config | |||
52 | int clock_polarity_flip; | 52 | int clock_polarity_flip; |
53 | }; | 53 | }; |
54 | 54 | ||
55 | #if defined(CONFIG_DVB_LGDT330X) || defined(CONFIG_DVB_LGDT330X_MODULE) | 55 | #if defined(CONFIG_DVB_LGDT330X) || (defined(CONFIG_DVB_LGDT330X_MODULE) && defined(MODULE)) |
56 | extern struct dvb_frontend* lgdt330x_attach(const struct lgdt330x_config* config, | 56 | extern struct dvb_frontend* lgdt330x_attach(const struct lgdt330x_config* config, |
57 | struct i2c_adapter* i2c); | 57 | struct i2c_adapter* i2c); |
58 | #else | 58 | #else |
diff --git a/drivers/media/dvb/frontends/lnbp21.h b/drivers/media/dvb/frontends/lnbp21.h index 1fe1dd179312..68906acf7d63 100644 --- a/drivers/media/dvb/frontends/lnbp21.h +++ b/drivers/media/dvb/frontends/lnbp21.h | |||
@@ -39,7 +39,7 @@ | |||
39 | 39 | ||
40 | #include <linux/dvb/frontend.h> | 40 | #include <linux/dvb/frontend.h> |
41 | 41 | ||
42 | #if defined(CONFIG_DVB_LNBP21) || defined(CONFIG_DVB_LNBP21_MODULE) | 42 | #if defined(CONFIG_DVB_LNBP21) || (defined(CONFIG_DVB_LNBP21_MODULE) && defined(MODULE)) |
43 | /* override_set and override_clear control which system register bits (above) to always set & clear */ | 43 | /* override_set and override_clear control which system register bits (above) to always set & clear */ |
44 | extern struct dvb_frontend *lnbp21_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 override_set, u8 override_clear); | 44 | extern struct dvb_frontend *lnbp21_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 override_set, u8 override_clear); |
45 | #else | 45 | #else |
diff --git a/drivers/media/dvb/frontends/mt2060.h b/drivers/media/dvb/frontends/mt2060.h index 34a37c2b556f..0a86eab3a954 100644 --- a/drivers/media/dvb/frontends/mt2060.h +++ b/drivers/media/dvb/frontends/mt2060.h | |||
@@ -30,6 +30,14 @@ struct mt2060_config { | |||
30 | u8 clock_out; /* 0 = off, 1 = CLK/4, 2 = CLK/2, 3 = CLK/1 */ | 30 | u8 clock_out; /* 0 = off, 1 = CLK/4, 2 = CLK/2, 3 = CLK/1 */ |
31 | }; | 31 | }; |
32 | 32 | ||
33 | #if defined(CONFIG_DVB_TUNER_MT2060) || (defined(CONFIG_DVB_TUNER_MT2060_MODULE) && defined(MODULE)) | ||
33 | extern struct dvb_frontend * mt2060_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2060_config *cfg, u16 if1); | 34 | extern struct dvb_frontend * mt2060_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2060_config *cfg, u16 if1); |
35 | #else | ||
36 | static inline struct dvb_frontend * mt2060_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2060_config *cfg, u16 if1) | ||
37 | { | ||
38 | printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __FUNCTION__); | ||
39 | return NULL; | ||
40 | } | ||
41 | #endif // CONFIG_DVB_TUNER_MT2060 | ||
34 | 42 | ||
35 | #endif | 43 | #endif |
diff --git a/drivers/media/dvb/frontends/mt312.h b/drivers/media/dvb/frontends/mt312.h index 7112fb4d58ac..cf9a1505ad4b 100644 --- a/drivers/media/dvb/frontends/mt312.h +++ b/drivers/media/dvb/frontends/mt312.h | |||
@@ -34,7 +34,7 @@ struct mt312_config | |||
34 | u8 demod_address; | 34 | u8 demod_address; |
35 | }; | 35 | }; |
36 | 36 | ||
37 | #if defined(CONFIG_DVB_MT312) || defined(CONFIG_DVB_MT312_MODULE) | 37 | #if defined(CONFIG_DVB_MT312) || (defined(CONFIG_DVB_MT312_MODULE) && defined(MODULE)) |
38 | struct dvb_frontend* vp310_mt312_attach(const struct mt312_config* config, | 38 | struct dvb_frontend* vp310_mt312_attach(const struct mt312_config* config, |
39 | struct i2c_adapter* i2c); | 39 | struct i2c_adapter* i2c); |
40 | #else | 40 | #else |
diff --git a/drivers/media/dvb/frontends/mt352.h b/drivers/media/dvb/frontends/mt352.h index 0035c2e2d7c2..e9964081fd84 100644 --- a/drivers/media/dvb/frontends/mt352.h +++ b/drivers/media/dvb/frontends/mt352.h | |||
@@ -51,7 +51,7 @@ struct mt352_config | |||
51 | int (*demod_init)(struct dvb_frontend* fe); | 51 | int (*demod_init)(struct dvb_frontend* fe); |
52 | }; | 52 | }; |
53 | 53 | ||
54 | #if defined(CONFIG_DVB_MT352) || defined(CONFIG_DVB_MT352_MODULE) | 54 | #if defined(CONFIG_DVB_MT352) || (defined(CONFIG_DVB_MT352_MODULE) && defined(MODULE)) |
55 | extern struct dvb_frontend* mt352_attach(const struct mt352_config* config, | 55 | extern struct dvb_frontend* mt352_attach(const struct mt352_config* config, |
56 | struct i2c_adapter* i2c); | 56 | struct i2c_adapter* i2c); |
57 | #else | 57 | #else |
diff --git a/drivers/media/dvb/frontends/nxt200x.h b/drivers/media/dvb/frontends/nxt200x.h index 2eb220e98062..28bc5591b319 100644 --- a/drivers/media/dvb/frontends/nxt200x.h +++ b/drivers/media/dvb/frontends/nxt200x.h | |||
@@ -45,7 +45,7 @@ struct nxt200x_config | |||
45 | int (*set_ts_params)(struct dvb_frontend* fe, int is_punctured); | 45 | int (*set_ts_params)(struct dvb_frontend* fe, int is_punctured); |
46 | }; | 46 | }; |
47 | 47 | ||
48 | #if defined(CONFIG_DVB_NXT200X) || defined(CONFIG_DVB_NXT200X_MODULE) | 48 | #if defined(CONFIG_DVB_NXT200X) || (defined(CONFIG_DVB_NXT200X_MODULE) && defined(MODULE)) |
49 | extern struct dvb_frontend* nxt200x_attach(const struct nxt200x_config* config, | 49 | extern struct dvb_frontend* nxt200x_attach(const struct nxt200x_config* config, |
50 | struct i2c_adapter* i2c); | 50 | struct i2c_adapter* i2c); |
51 | #else | 51 | #else |
diff --git a/drivers/media/dvb/frontends/nxt6000.h b/drivers/media/dvb/frontends/nxt6000.h index 9397393a6bd1..13d22518356e 100644 --- a/drivers/media/dvb/frontends/nxt6000.h +++ b/drivers/media/dvb/frontends/nxt6000.h | |||
@@ -33,7 +33,7 @@ struct nxt6000_config | |||
33 | u8 clock_inversion:1; | 33 | u8 clock_inversion:1; |
34 | }; | 34 | }; |
35 | 35 | ||
36 | #if defined(CONFIG_DVB_NXT6000) || defined(CONFIG_DVB_NXT6000_MODULE) | 36 | #if defined(CONFIG_DVB_NXT6000) || (defined(CONFIG_DVB_NXT6000_MODULE) && defined(MODULE)) |
37 | extern struct dvb_frontend* nxt6000_attach(const struct nxt6000_config* config, | 37 | extern struct dvb_frontend* nxt6000_attach(const struct nxt6000_config* config, |
38 | struct i2c_adapter* i2c); | 38 | struct i2c_adapter* i2c); |
39 | #else | 39 | #else |
diff --git a/drivers/media/dvb/frontends/or51132.h b/drivers/media/dvb/frontends/or51132.h index 9718be4fb835..add24f0a743b 100644 --- a/drivers/media/dvb/frontends/or51132.h +++ b/drivers/media/dvb/frontends/or51132.h | |||
@@ -34,7 +34,7 @@ struct or51132_config | |||
34 | int (*set_ts_params)(struct dvb_frontend* fe, int is_punctured); | 34 | int (*set_ts_params)(struct dvb_frontend* fe, int is_punctured); |
35 | }; | 35 | }; |
36 | 36 | ||
37 | #if defined(CONFIG_DVB_OR51132) || defined(CONFIG_DVB_OR51132_MODULE) | 37 | #if defined(CONFIG_DVB_OR51132) || (defined(CONFIG_DVB_OR51132_MODULE) && defined(MODULE)) |
38 | extern struct dvb_frontend* or51132_attach(const struct or51132_config* config, | 38 | extern struct dvb_frontend* or51132_attach(const struct or51132_config* config, |
39 | struct i2c_adapter* i2c); | 39 | struct i2c_adapter* i2c); |
40 | #else | 40 | #else |
diff --git a/drivers/media/dvb/frontends/or51211.h b/drivers/media/dvb/frontends/or51211.h index 10a5419f9e00..8aad8402d615 100644 --- a/drivers/media/dvb/frontends/or51211.h +++ b/drivers/media/dvb/frontends/or51211.h | |||
@@ -37,7 +37,7 @@ struct or51211_config | |||
37 | void (*sleep)(struct dvb_frontend * fe); | 37 | void (*sleep)(struct dvb_frontend * fe); |
38 | }; | 38 | }; |
39 | 39 | ||
40 | #if defined(CONFIG_DVB_OR51211) || defined(CONFIG_DVB_OR51211_MODULE) | 40 | #if defined(CONFIG_DVB_OR51211) || (defined(CONFIG_DVB_OR51211_MODULE) && defined(MODULE)) |
41 | extern struct dvb_frontend* or51211_attach(const struct or51211_config* config, | 41 | extern struct dvb_frontend* or51211_attach(const struct or51211_config* config, |
42 | struct i2c_adapter* i2c); | 42 | struct i2c_adapter* i2c); |
43 | #else | 43 | #else |
diff --git a/drivers/media/dvb/frontends/s5h1420.h b/drivers/media/dvb/frontends/s5h1420.h index efc54d7f3c55..1555870f7226 100644 --- a/drivers/media/dvb/frontends/s5h1420.h +++ b/drivers/media/dvb/frontends/s5h1420.h | |||
@@ -34,7 +34,7 @@ struct s5h1420_config | |||
34 | u8 invert:1; | 34 | u8 invert:1; |
35 | }; | 35 | }; |
36 | 36 | ||
37 | #if defined(CONFIG_DVB_S5H1420) || defined(CONFIG_DVB_S5H1420_MODULE) | 37 | #if defined(CONFIG_DVB_S5H1420) || (defined(CONFIG_DVB_S5H1420_MODULE) && defined(MODULE)) |
38 | extern struct dvb_frontend* s5h1420_attach(const struct s5h1420_config* config, | 38 | extern struct dvb_frontend* s5h1420_attach(const struct s5h1420_config* config, |
39 | struct i2c_adapter* i2c); | 39 | struct i2c_adapter* i2c); |
40 | #else | 40 | #else |
diff --git a/drivers/media/dvb/frontends/sp8870.h b/drivers/media/dvb/frontends/sp8870.h index 4cf27d3b10f2..909cefe7139e 100644 --- a/drivers/media/dvb/frontends/sp8870.h +++ b/drivers/media/dvb/frontends/sp8870.h | |||
@@ -35,7 +35,7 @@ struct sp8870_config | |||
35 | int (*request_firmware)(struct dvb_frontend* fe, const struct firmware **fw, char* name); | 35 | int (*request_firmware)(struct dvb_frontend* fe, const struct firmware **fw, char* name); |
36 | }; | 36 | }; |
37 | 37 | ||
38 | #if defined(CONFIG_DVB_SP8870) || defined(CONFIG_DVB_SP8870_MODULE) | 38 | #if defined(CONFIG_DVB_SP8870) || (defined(CONFIG_DVB_SP8870_MODULE) && defined(MODULE)) |
39 | extern struct dvb_frontend* sp8870_attach(const struct sp8870_config* config, | 39 | extern struct dvb_frontend* sp8870_attach(const struct sp8870_config* config, |
40 | struct i2c_adapter* i2c); | 40 | struct i2c_adapter* i2c); |
41 | #else | 41 | #else |
diff --git a/drivers/media/dvb/frontends/sp887x.h b/drivers/media/dvb/frontends/sp887x.h index cab7ea644dfa..7ee78d7d916d 100644 --- a/drivers/media/dvb/frontends/sp887x.h +++ b/drivers/media/dvb/frontends/sp887x.h | |||
@@ -17,7 +17,7 @@ struct sp887x_config | |||
17 | int (*request_firmware)(struct dvb_frontend* fe, const struct firmware **fw, char* name); | 17 | int (*request_firmware)(struct dvb_frontend* fe, const struct firmware **fw, char* name); |
18 | }; | 18 | }; |
19 | 19 | ||
20 | #if defined(CONFIG_DVB_SP887X) || defined(CONFIG_DVB_SP887X_MODULE) | 20 | #if defined(CONFIG_DVB_SP887X) || (defined(CONFIG_DVB_SP887X_MODULE) && defined(MODULE)) |
21 | extern struct dvb_frontend* sp887x_attach(const struct sp887x_config* config, | 21 | extern struct dvb_frontend* sp887x_attach(const struct sp887x_config* config, |
22 | struct i2c_adapter* i2c); | 22 | struct i2c_adapter* i2c); |
23 | #else | 23 | #else |
diff --git a/drivers/media/dvb/frontends/stv0297.h b/drivers/media/dvb/frontends/stv0297.h index 760b80db43a5..69f4515df2b9 100644 --- a/drivers/media/dvb/frontends/stv0297.h +++ b/drivers/media/dvb/frontends/stv0297.h | |||
@@ -42,7 +42,7 @@ struct stv0297_config | |||
42 | u8 stop_during_read:1; | 42 | u8 stop_during_read:1; |
43 | }; | 43 | }; |
44 | 44 | ||
45 | #if defined(CONFIG_DVB_STV0297) || defined(CONFIG_DVB_STV0297_MODULE) | 45 | #if defined(CONFIG_DVB_STV0297) || (defined(CONFIG_DVB_STV0297_MODULE) && defined(MODULE)) |
46 | extern struct dvb_frontend* stv0297_attach(const struct stv0297_config* config, | 46 | extern struct dvb_frontend* stv0297_attach(const struct stv0297_config* config, |
47 | struct i2c_adapter* i2c); | 47 | struct i2c_adapter* i2c); |
48 | #else | 48 | #else |
diff --git a/drivers/media/dvb/frontends/stv0299.h b/drivers/media/dvb/frontends/stv0299.h index 7ef25207081d..33df9495908f 100644 --- a/drivers/media/dvb/frontends/stv0299.h +++ b/drivers/media/dvb/frontends/stv0299.h | |||
@@ -89,7 +89,7 @@ struct stv0299_config | |||
89 | int (*set_symbol_rate)(struct dvb_frontend* fe, u32 srate, u32 ratio); | 89 | int (*set_symbol_rate)(struct dvb_frontend* fe, u32 srate, u32 ratio); |
90 | }; | 90 | }; |
91 | 91 | ||
92 | #if defined(CONFIG_DVB_STV0299) || defined(CONFIG_DVB_STV0299_MODULE) | 92 | #if defined(CONFIG_DVB_STV0299) || (defined(CONFIG_DVB_STV0299_MODULE) && defined(MODULE)) |
93 | extern struct dvb_frontend* stv0299_attach(const struct stv0299_config* config, | 93 | extern struct dvb_frontend* stv0299_attach(const struct stv0299_config* config, |
94 | struct i2c_adapter* i2c); | 94 | struct i2c_adapter* i2c); |
95 | #else | 95 | #else |
diff --git a/drivers/media/dvb/frontends/tda10021.h b/drivers/media/dvb/frontends/tda10021.h index d68ae20c8412..e3da780108f6 100644 --- a/drivers/media/dvb/frontends/tda10021.h +++ b/drivers/media/dvb/frontends/tda10021.h | |||
@@ -32,7 +32,7 @@ struct tda10021_config | |||
32 | u8 demod_address; | 32 | u8 demod_address; |
33 | }; | 33 | }; |
34 | 34 | ||
35 | #if defined(CONFIG_DVB_TDA10021) || defined(CONFIG_DVB_TDA10021_MODULE) | 35 | #if defined(CONFIG_DVB_TDA10021) || (defined(CONFIG_DVB_TDA10021_MODULE) && defined(MODULE)) |
36 | extern struct dvb_frontend* tda10021_attach(const struct tda10021_config* config, | 36 | extern struct dvb_frontend* tda10021_attach(const struct tda10021_config* config, |
37 | struct i2c_adapter* i2c, u8 pwm); | 37 | struct i2c_adapter* i2c, u8 pwm); |
38 | #else | 38 | #else |
diff --git a/drivers/media/dvb/frontends/tda1004x.h b/drivers/media/dvb/frontends/tda1004x.h index e28fca05734c..605ad2dfc09d 100644 --- a/drivers/media/dvb/frontends/tda1004x.h +++ b/drivers/media/dvb/frontends/tda1004x.h | |||
@@ -71,7 +71,7 @@ struct tda1004x_config | |||
71 | int (*request_firmware)(struct dvb_frontend* fe, const struct firmware **fw, char* name); | 71 | int (*request_firmware)(struct dvb_frontend* fe, const struct firmware **fw, char* name); |
72 | }; | 72 | }; |
73 | 73 | ||
74 | #if defined(CONFIG_DVB_TDA1004X) || defined(CONFIG_DVB_TDA1004X_MODULE) | 74 | #if defined(CONFIG_DVB_TDA1004X) || (defined(CONFIG_DVB_TDA1004X_MODULE) && defined(MODULE)) |
75 | extern struct dvb_frontend* tda10045_attach(const struct tda1004x_config* config, | 75 | extern struct dvb_frontend* tda10045_attach(const struct tda1004x_config* config, |
76 | struct i2c_adapter* i2c); | 76 | struct i2c_adapter* i2c); |
77 | 77 | ||
diff --git a/drivers/media/dvb/frontends/tda10086.h b/drivers/media/dvb/frontends/tda10086.h index 18457adee30b..ed584a8f4a89 100644 --- a/drivers/media/dvb/frontends/tda10086.h +++ b/drivers/media/dvb/frontends/tda10086.h | |||
@@ -35,7 +35,7 @@ struct tda10086_config | |||
35 | u8 invert; | 35 | u8 invert; |
36 | }; | 36 | }; |
37 | 37 | ||
38 | #if defined(CONFIG_DVB_TDA10086) || defined(CONFIG_DVB_TDA10086_MODULE) | 38 | #if defined(CONFIG_DVB_TDA10086) || (defined(CONFIG_DVB_TDA10086_MODULE) && defined(MODULE)) |
39 | extern struct dvb_frontend* tda10086_attach(const struct tda10086_config* config, | 39 | extern struct dvb_frontend* tda10086_attach(const struct tda10086_config* config, |
40 | struct i2c_adapter* i2c); | 40 | struct i2c_adapter* i2c); |
41 | #else | 41 | #else |
diff --git a/drivers/media/dvb/frontends/tda8083.h b/drivers/media/dvb/frontends/tda8083.h index aae15bdce6eb..2d3307999f21 100644 --- a/drivers/media/dvb/frontends/tda8083.h +++ b/drivers/media/dvb/frontends/tda8083.h | |||
@@ -35,7 +35,7 @@ struct tda8083_config | |||
35 | u8 demod_address; | 35 | u8 demod_address; |
36 | }; | 36 | }; |
37 | 37 | ||
38 | #if defined(CONFIG_DVB_TDA8083) || defined(CONFIG_DVB_TDA8083_MODULE) | 38 | #if defined(CONFIG_DVB_TDA8083) || (defined(CONFIG_DVB_TDA8083_MODULE) && defined(MODULE)) |
39 | extern struct dvb_frontend* tda8083_attach(const struct tda8083_config* config, | 39 | extern struct dvb_frontend* tda8083_attach(const struct tda8083_config* config, |
40 | struct i2c_adapter* i2c); | 40 | struct i2c_adapter* i2c); |
41 | #else | 41 | #else |
diff --git a/drivers/media/dvb/frontends/tda826x.h b/drivers/media/dvb/frontends/tda826x.h index 83998c001196..ad9981195961 100644 --- a/drivers/media/dvb/frontends/tda826x.h +++ b/drivers/media/dvb/frontends/tda826x.h | |||
@@ -35,7 +35,7 @@ | |||
35 | * @param has_loopthrough Set to 1 if the card has a loopthrough RF connector. | 35 | * @param has_loopthrough Set to 1 if the card has a loopthrough RF connector. |
36 | * @return FE pointer on success, NULL on failure. | 36 | * @return FE pointer on success, NULL on failure. |
37 | */ | 37 | */ |
38 | #if defined(CONFIG_DVB_TDA826X) || defined(CONFIG_DVB_TDA826X_MODULE) | 38 | #if defined(CONFIG_DVB_TDA826X) || (defined(CONFIG_DVB_TDA826X_MODULE) && defined(MODULE)) |
39 | extern struct dvb_frontend* tda826x_attach(struct dvb_frontend *fe, int addr, | 39 | extern struct dvb_frontend* tda826x_attach(struct dvb_frontend *fe, int addr, |
40 | struct i2c_adapter *i2c, | 40 | struct i2c_adapter *i2c, |
41 | int has_loopthrough); | 41 | int has_loopthrough); |
diff --git a/drivers/media/dvb/frontends/tua6100.h b/drivers/media/dvb/frontends/tua6100.h index 8f98033ffa7b..03a665e7df6d 100644 --- a/drivers/media/dvb/frontends/tua6100.h +++ b/drivers/media/dvb/frontends/tua6100.h | |||
@@ -34,7 +34,7 @@ | |||
34 | #include <linux/i2c.h> | 34 | #include <linux/i2c.h> |
35 | #include "dvb_frontend.h" | 35 | #include "dvb_frontend.h" |
36 | 36 | ||
37 | #if defined(CONFIG_DVB_TUA6100) || defined(CONFIG_DVB_TUA6100_MODULE) | 37 | #if defined(CONFIG_DVB_TUA6100) || (defined(CONFIG_DVB_TUA6100_MODULE) && defined(MODULE)) |
38 | extern struct dvb_frontend *tua6100_attach(struct dvb_frontend *fe, int addr, struct i2c_adapter *i2c); | 38 | extern struct dvb_frontend *tua6100_attach(struct dvb_frontend *fe, int addr, struct i2c_adapter *i2c); |
39 | #else | 39 | #else |
40 | static inline struct dvb_frontend* tua6100_attach(struct dvb_frontend *fe, int addr, struct i2c_adapter *i2c) | 40 | static inline struct dvb_frontend* tua6100_attach(struct dvb_frontend *fe, int addr, struct i2c_adapter *i2c) |
diff --git a/drivers/media/dvb/frontends/ves1820.h b/drivers/media/dvb/frontends/ves1820.h index f0c9dded39d7..e4a2a324046a 100644 --- a/drivers/media/dvb/frontends/ves1820.h +++ b/drivers/media/dvb/frontends/ves1820.h | |||
@@ -41,7 +41,7 @@ struct ves1820_config | |||
41 | u8 selagc:1; | 41 | u8 selagc:1; |
42 | }; | 42 | }; |
43 | 43 | ||
44 | #if defined(CONFIG_DVB_VES1820) || defined(CONFIG_DVB_VES1820_MODULE) | 44 | #if defined(CONFIG_DVB_VES1820) || (defined(CONFIG_DVB_VES1820_MODULE) && defined(MODULE)) |
45 | extern struct dvb_frontend* ves1820_attach(const struct ves1820_config* config, | 45 | extern struct dvb_frontend* ves1820_attach(const struct ves1820_config* config, |
46 | struct i2c_adapter* i2c, u8 pwm); | 46 | struct i2c_adapter* i2c, u8 pwm); |
47 | #else | 47 | #else |
diff --git a/drivers/media/dvb/frontends/ves1x93.h b/drivers/media/dvb/frontends/ves1x93.h index 395fed39b286..d507f8966f81 100644 --- a/drivers/media/dvb/frontends/ves1x93.h +++ b/drivers/media/dvb/frontends/ves1x93.h | |||
@@ -40,7 +40,7 @@ struct ves1x93_config | |||
40 | u8 invert_pwm:1; | 40 | u8 invert_pwm:1; |
41 | }; | 41 | }; |
42 | 42 | ||
43 | #if defined(CONFIG_DVB_VES1X93) || defined(CONFIG_DVB_VES1X93_MODULE) | 43 | #if defined(CONFIG_DVB_VES1X93) || (defined(CONFIG_DVB_VES1X93_MODULE) && defined(MODULE)) |
44 | extern struct dvb_frontend* ves1x93_attach(const struct ves1x93_config* config, | 44 | extern struct dvb_frontend* ves1x93_attach(const struct ves1x93_config* config, |
45 | struct i2c_adapter* i2c); | 45 | struct i2c_adapter* i2c); |
46 | #else | 46 | #else |
diff --git a/drivers/media/dvb/frontends/zl10353.h b/drivers/media/dvb/frontends/zl10353.h index 79a947215c4d..0bc0109737f1 100644 --- a/drivers/media/dvb/frontends/zl10353.h +++ b/drivers/media/dvb/frontends/zl10353.h | |||
@@ -36,7 +36,7 @@ struct zl10353_config | |||
36 | int parallel_ts; | 36 | int parallel_ts; |
37 | }; | 37 | }; |
38 | 38 | ||
39 | #if defined(CONFIG_DVB_ZL10353) || defined(CONFIG_DVB_ZL10353_MODULE) | 39 | #if defined(CONFIG_DVB_ZL10353) || (defined(CONFIG_DVB_ZL10353_MODULE) && defined(MODULE)) |
40 | extern struct dvb_frontend* zl10353_attach(const struct zl10353_config *config, | 40 | extern struct dvb_frontend* zl10353_attach(const struct zl10353_config *config, |
41 | struct i2c_adapter *i2c); | 41 | struct i2c_adapter *i2c); |
42 | #else | 42 | #else |
diff --git a/drivers/media/dvb/ttpci/budget-ci.c b/drivers/media/dvb/ttpci/budget-ci.c index 2a2e9b400613..cd5ec489af1c 100644 --- a/drivers/media/dvb/ttpci/budget-ci.c +++ b/drivers/media/dvb/ttpci/budget-ci.c | |||
@@ -46,7 +46,14 @@ | |||
46 | #include "bsbe1.h" | 46 | #include "bsbe1.h" |
47 | #include "bsru6.h" | 47 | #include "bsru6.h" |
48 | 48 | ||
49 | #define DEBIADDR_IR 0x1234 | 49 | /* |
50 | * Regarding DEBIADDR_IR: | ||
51 | * Some CI modules hang if random addresses are read. | ||
52 | * Using address 0x4000 for the IR read means that we | ||
53 | * use the same address as for CI version, which should | ||
54 | * be a safe default. | ||
55 | */ | ||
56 | #define DEBIADDR_IR 0x4000 | ||
50 | #define DEBIADDR_CICONTROL 0x0000 | 57 | #define DEBIADDR_CICONTROL 0x0000 |
51 | #define DEBIADDR_CIVERSION 0x4000 | 58 | #define DEBIADDR_CIVERSION 0x4000 |
52 | #define DEBIADDR_IO 0x1000 | 59 | #define DEBIADDR_IO 0x1000 |
@@ -1028,6 +1035,7 @@ static void frontend_init(struct budget_ci *budget_ci) | |||
1028 | 1035 | ||
1029 | case 0x1012: // TT DVB-T CI budget (tda10046/Philips tdm1316l(tda6651tt)) | 1036 | case 0x1012: // TT DVB-T CI budget (tda10046/Philips tdm1316l(tda6651tt)) |
1030 | budget_ci->tuner_pll_address = 0x60; | 1037 | budget_ci->tuner_pll_address = 0x60; |
1038 | philips_tdm1316l_config.invert = 1; | ||
1031 | budget_ci->budget.dvb_frontend = | 1039 | budget_ci->budget.dvb_frontend = |
1032 | dvb_attach(tda10046_attach, &philips_tdm1316l_config, &budget_ci->budget.i2c_adap); | 1040 | dvb_attach(tda10046_attach, &philips_tdm1316l_config, &budget_ci->budget.i2c_adap); |
1033 | if (budget_ci->budget.dvb_frontend) { | 1041 | if (budget_ci->budget.dvb_frontend) { |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c b/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c index df8feac16aee..c80c26be6e4d 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c +++ b/drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c | |||
@@ -221,7 +221,7 @@ static unsigned int decoder_describe(struct pvr2_v4l_cx2584x *ctxt, | |||
221 | static void decoder_reset(struct pvr2_v4l_cx2584x *ctxt) | 221 | static void decoder_reset(struct pvr2_v4l_cx2584x *ctxt) |
222 | { | 222 | { |
223 | int ret; | 223 | int ret; |
224 | ret = pvr2_i2c_client_cmd(ctxt->client,VIDIOC_INT_RESET,0); | 224 | ret = pvr2_i2c_client_cmd(ctxt->client,VIDIOC_INT_RESET,NULL); |
225 | pvr2_trace(PVR2_TRACE_CHIPS,"i2c cx25840 decoder_reset (ret=%d)",ret); | 225 | pvr2_trace(PVR2_TRACE_CHIPS,"i2c cx25840 decoder_reset (ret=%d)",ret); |
226 | } | 226 | } |
227 | 227 | ||
diff --git a/drivers/media/video/pvrusb2/pvrusb2-v4l2.c b/drivers/media/video/pvrusb2/pvrusb2-v4l2.c index 97e974d9b9c3..bb40e9085977 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-v4l2.c +++ b/drivers/media/video/pvrusb2/pvrusb2-v4l2.c | |||
@@ -711,8 +711,8 @@ static void pvr2_v4l2_dev_destroy(struct pvr2_v4l2_dev *dip) | |||
711 | dip->devbase.minor,pvr2_config_get_name(dip->config)); | 711 | dip->devbase.minor,pvr2_config_get_name(dip->config)); |
712 | 712 | ||
713 | /* Paranoia */ | 713 | /* Paranoia */ |
714 | dip->v4lp = 0; | 714 | dip->v4lp = NULL; |
715 | dip->stream = 0; | 715 | dip->stream = NULL; |
716 | 716 | ||
717 | /* Actual deallocation happens later when all internal references | 717 | /* Actual deallocation happens later when all internal references |
718 | are gone. */ | 718 | are gone. */ |
@@ -1076,7 +1076,7 @@ struct pvr2_v4l2 *pvr2_v4l2_create(struct pvr2_context *mnp) | |||
1076 | vp->vdev = kmalloc(sizeof(*vp->vdev),GFP_KERNEL); | 1076 | vp->vdev = kmalloc(sizeof(*vp->vdev),GFP_KERNEL); |
1077 | if (!vp->vdev) { | 1077 | if (!vp->vdev) { |
1078 | kfree(vp); | 1078 | kfree(vp); |
1079 | return 0; | 1079 | return NULL; |
1080 | } | 1080 | } |
1081 | memset(vp->vdev,0,sizeof(*vp->vdev)); | 1081 | memset(vp->vdev,0,sizeof(*vp->vdev)); |
1082 | pvr2_channel_init(&vp->channel,mnp); | 1082 | pvr2_channel_init(&vp->channel,mnp); |
diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c index 1ba53b525ad2..6b61d9b2fcb5 100644 --- a/drivers/media/video/saa7134/saa7134-dvb.c +++ b/drivers/media/video/saa7134/saa7134-dvb.c | |||
@@ -1147,6 +1147,8 @@ static int dvb_init(struct saa7134_dev *dev) | |||
1147 | &philips_europa_config, | 1147 | &philips_europa_config, |
1148 | &dev->i2c_adap); | 1148 | &dev->i2c_adap); |
1149 | if (dev->dvb.frontend) { | 1149 | if (dev->dvb.frontend) { |
1150 | dev->original_demod_sleep = dev->dvb.frontend->ops.sleep; | ||
1151 | dev->dvb.frontend->ops.sleep = philips_europa_demod_sleep; | ||
1150 | dev->dvb.frontend->ops.tuner_ops.init = philips_europa_tuner_init; | 1152 | dev->dvb.frontend->ops.tuner_ops.init = philips_europa_tuner_init; |
1151 | dev->dvb.frontend->ops.tuner_ops.sleep = philips_europa_tuner_sleep; | 1153 | dev->dvb.frontend->ops.tuner_ops.sleep = philips_europa_tuner_sleep; |
1152 | dev->dvb.frontend->ops.tuner_ops.set_params = philips_td1316_tuner_set_params; | 1154 | dev->dvb.frontend->ops.tuner_ops.set_params = philips_td1316_tuner_set_params; |