aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2015-02-18 12:12:42 -0500
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-04-08 14:02:07 -0400
commit9b174527e7b756cda9f5d9e541f87b7fec9cfdf0 (patch)
tree832548b73f17871eff00880b7acef080991aa30a /drivers/media
parenta87a4d34286e5f790d2b495db5f37753ef75a80d (diff)
[media] Add and use IS_REACHABLE macro
In the media drivers, the v4l2 core knows about all submodules and calls into them from a common function. However this cannot work if the modules that get called are loadable and the core is built-in. In that case we get drivers/built-in.o: In function `set_type': drivers/media/v4l2-core/tuner-core.c:301: undefined reference to `tea5767_attach' drivers/media/v4l2-core/tuner-core.c:307: undefined reference to `tea5761_attach' drivers/media/v4l2-core/tuner-core.c:349: undefined reference to `tda9887_attach' drivers/media/v4l2-core/tuner-core.c:405: undefined reference to `xc4000_attach' This was working previously, until the IS_ENABLED() macro was used to replace the construct like #if defined(CONFIG_DVB_CX24110) || (defined(CONFIG_DVB_CX24110_MODULE) && defined(MODULE)) with the difference that the new code no longer checks whether it is being built as a loadable module itself. To fix this, this new patch adds an 'IS_REACHABLE' macro, which evaluates true in exactly the condition that was used previously. The downside of this is that this trades an obvious link error for a more subtle runtime failure, but it is clear that the change that introduced the link error was unintentional and it seems better to revert it for now. Also, a similar change was originally created by Trent Piepho and then reverted by teh change to the IS_ENABLED macro. Ideally Kconfig would be used to avoid the case of a broken dependency, or the code restructured in a way to turn around the dependency, but either way would require much larger changes here. Fixes: 7b34be71db53 ("[media] use IS_ENABLED() macro") See-also: c5dec9fb248e ("V4L/DVB (4751): Fix DBV_FE_CUSTOMISE for card drivers compiled into kernel") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/dvb-frontends/a8293.h2
-rw-r--r--drivers/media/dvb-frontends/af9013.h2
-rw-r--r--drivers/media/dvb-frontends/atbm8830.h2
-rw-r--r--drivers/media/dvb-frontends/au8522.h2
-rw-r--r--drivers/media/dvb-frontends/bcm3510.h2
-rw-r--r--drivers/media/dvb-frontends/cx22700.h2
-rw-r--r--drivers/media/dvb-frontends/cx22702.h2
-rw-r--r--drivers/media/dvb-frontends/cx24110.h2
-rw-r--r--drivers/media/dvb-frontends/cx24113.h2
-rw-r--r--drivers/media/dvb-frontends/cx24116.h2
-rw-r--r--drivers/media/dvb-frontends/cx24117.h2
-rw-r--r--drivers/media/dvb-frontends/cx24123.h2
-rw-r--r--drivers/media/dvb-frontends/cxd2820r.h2
-rw-r--r--drivers/media/dvb-frontends/dib0070.h2
-rw-r--r--drivers/media/dvb-frontends/dib0090.h2
-rw-r--r--drivers/media/dvb-frontends/dib3000.h2
-rw-r--r--drivers/media/dvb-frontends/dib3000mc.h2
-rw-r--r--drivers/media/dvb-frontends/dib7000m.h2
-rw-r--r--drivers/media/dvb-frontends/dib7000p.h2
-rw-r--r--drivers/media/dvb-frontends/dib8000.h2
-rw-r--r--drivers/media/dvb-frontends/dib9000.h2
-rw-r--r--drivers/media/dvb-frontends/drxd.h2
-rw-r--r--drivers/media/dvb-frontends/drxk.h2
-rw-r--r--drivers/media/dvb-frontends/ds3000.h2
-rw-r--r--drivers/media/dvb-frontends/dvb-pll.h2
-rw-r--r--drivers/media/dvb-frontends/dvb_dummy_fe.h2
-rw-r--r--drivers/media/dvb-frontends/ec100.h2
-rw-r--r--drivers/media/dvb-frontends/hd29l2.h2
-rw-r--r--drivers/media/dvb-frontends/isl6405.h2
-rw-r--r--drivers/media/dvb-frontends/isl6421.h2
-rw-r--r--drivers/media/dvb-frontends/isl6423.h2
-rw-r--r--drivers/media/dvb-frontends/itd1000.h2
-rw-r--r--drivers/media/dvb-frontends/ix2505v.h2
-rw-r--r--drivers/media/dvb-frontends/l64781.h2
-rw-r--r--drivers/media/dvb-frontends/lg2160.h2
-rw-r--r--drivers/media/dvb-frontends/lgdt3305.h2
-rw-r--r--drivers/media/dvb-frontends/lgdt330x.h2
-rw-r--r--drivers/media/dvb-frontends/lgs8gl5.h2
-rw-r--r--drivers/media/dvb-frontends/lgs8gxx.h2
-rw-r--r--drivers/media/dvb-frontends/lnbh24.h2
-rw-r--r--drivers/media/dvb-frontends/lnbp21.h2
-rw-r--r--drivers/media/dvb-frontends/lnbp22.h2
-rw-r--r--drivers/media/dvb-frontends/m88rs2000.h2
-rw-r--r--drivers/media/dvb-frontends/mb86a16.h2
-rw-r--r--drivers/media/dvb-frontends/mb86a20s.h2
-rw-r--r--drivers/media/dvb-frontends/mt312.h2
-rw-r--r--drivers/media/dvb-frontends/mt352.h2
-rw-r--r--drivers/media/dvb-frontends/nxt200x.h2
-rw-r--r--drivers/media/dvb-frontends/nxt6000.h2
-rw-r--r--drivers/media/dvb-frontends/or51132.h2
-rw-r--r--drivers/media/dvb-frontends/or51211.h2
-rw-r--r--drivers/media/dvb-frontends/s5h1409.h2
-rw-r--r--drivers/media/dvb-frontends/s5h1411.h2
-rw-r--r--drivers/media/dvb-frontends/s5h1420.h2
-rw-r--r--drivers/media/dvb-frontends/s5h1432.h2
-rw-r--r--drivers/media/dvb-frontends/s921.h2
-rw-r--r--drivers/media/dvb-frontends/si21xx.h2
-rw-r--r--drivers/media/dvb-frontends/sp8870.h2
-rw-r--r--drivers/media/dvb-frontends/sp887x.h2
-rw-r--r--drivers/media/dvb-frontends/stb0899_drv.h2
-rw-r--r--drivers/media/dvb-frontends/stb6000.h2
-rw-r--r--drivers/media/dvb-frontends/stb6100.h2
-rw-r--r--drivers/media/dvb-frontends/stv0288.h2
-rw-r--r--drivers/media/dvb-frontends/stv0297.h2
-rw-r--r--drivers/media/dvb-frontends/stv0299.h2
-rw-r--r--drivers/media/dvb-frontends/stv0367.h2
-rw-r--r--drivers/media/dvb-frontends/stv0900.h2
-rw-r--r--drivers/media/dvb-frontends/stv090x.h2
-rw-r--r--drivers/media/dvb-frontends/stv6110.h2
-rw-r--r--drivers/media/dvb-frontends/stv6110x.h2
-rw-r--r--drivers/media/dvb-frontends/tda1002x.h4
-rw-r--r--drivers/media/dvb-frontends/tda10048.h2
-rw-r--r--drivers/media/dvb-frontends/tda1004x.h2
-rw-r--r--drivers/media/dvb-frontends/tda10071.h2
-rw-r--r--drivers/media/dvb-frontends/tda10086.h2
-rw-r--r--drivers/media/dvb-frontends/tda18271c2dd.h2
-rw-r--r--drivers/media/dvb-frontends/tda665x.h2
-rw-r--r--drivers/media/dvb-frontends/tda8083.h2
-rw-r--r--drivers/media/dvb-frontends/tda8261.h2
-rw-r--r--drivers/media/dvb-frontends/tda826x.h2
-rw-r--r--drivers/media/dvb-frontends/ts2020.h2
-rw-r--r--drivers/media/dvb-frontends/tua6100.h2
-rw-r--r--drivers/media/dvb-frontends/ves1820.h2
-rw-r--r--drivers/media/dvb-frontends/ves1x93.h2
-rw-r--r--drivers/media/dvb-frontends/zl10036.h2
-rw-r--r--drivers/media/dvb-frontends/zl10039.h2
-rw-r--r--drivers/media/dvb-frontends/zl10353.h2
-rw-r--r--drivers/media/pci/cx23885/altera-ci.h2
-rw-r--r--drivers/media/tuners/fc0011.h2
-rw-r--r--drivers/media/tuners/fc0012.h2
-rw-r--r--drivers/media/tuners/fc0013.h2
-rw-r--r--drivers/media/tuners/fc2580.h2
-rw-r--r--drivers/media/tuners/max2165.h2
-rw-r--r--drivers/media/tuners/mc44s803.h2
-rw-r--r--drivers/media/tuners/mt2060.h2
-rw-r--r--drivers/media/tuners/mt2063.h2
-rw-r--r--drivers/media/tuners/mt20xx.h2
-rw-r--r--drivers/media/tuners/mt2131.h2
-rw-r--r--drivers/media/tuners/mt2266.h2
-rw-r--r--drivers/media/tuners/mxl5005s.h2
-rw-r--r--drivers/media/tuners/mxl5007t.h2
-rw-r--r--drivers/media/tuners/qt1010.h2
-rw-r--r--drivers/media/tuners/r820t.h2
-rw-r--r--drivers/media/tuners/tda18218.h2
-rw-r--r--drivers/media/tuners/tda18271.h2
-rw-r--r--drivers/media/tuners/tda827x.h2
-rw-r--r--drivers/media/tuners/tda8290.h2
-rw-r--r--drivers/media/tuners/tda9887.h2
-rw-r--r--drivers/media/tuners/tea5761.h2
-rw-r--r--drivers/media/tuners/tea5767.h2
-rw-r--r--drivers/media/tuners/tua9001.h2
-rw-r--r--drivers/media/tuners/tuner-simple.h2
-rw-r--r--drivers/media/tuners/tuner-xc2028.h2
-rw-r--r--drivers/media/tuners/xc4000.h2
-rw-r--r--drivers/media/tuners/xc5000.h2
115 files changed, 116 insertions, 116 deletions
diff --git a/drivers/media/dvb-frontends/a8293.h b/drivers/media/dvb-frontends/a8293.h
index b6ef6427cfa5..5f0411939ffc 100644
--- a/drivers/media/dvb-frontends/a8293.h
+++ b/drivers/media/dvb-frontends/a8293.h
@@ -27,7 +27,7 @@ struct a8293_config {
27 u8 i2c_addr; 27 u8 i2c_addr;
28}; 28};
29 29
30#if IS_ENABLED(CONFIG_DVB_A8293) 30#if IS_REACHABLE(CONFIG_DVB_A8293)
31extern struct dvb_frontend *a8293_attach(struct dvb_frontend *fe, 31extern struct dvb_frontend *a8293_attach(struct dvb_frontend *fe,
32 struct i2c_adapter *i2c, const struct a8293_config *cfg); 32 struct i2c_adapter *i2c, const struct a8293_config *cfg);
33#else 33#else
diff --git a/drivers/media/dvb-frontends/af9013.h b/drivers/media/dvb-frontends/af9013.h
index 09273b2cd310..1dcc936e1661 100644
--- a/drivers/media/dvb-frontends/af9013.h
+++ b/drivers/media/dvb-frontends/af9013.h
@@ -103,7 +103,7 @@ struct af9013_config {
103 u8 gpio[4]; 103 u8 gpio[4];
104}; 104};
105 105
106#if IS_ENABLED(CONFIG_DVB_AF9013) 106#if IS_REACHABLE(CONFIG_DVB_AF9013)
107extern struct dvb_frontend *af9013_attach(const struct af9013_config *config, 107extern struct dvb_frontend *af9013_attach(const struct af9013_config *config,
108 struct i2c_adapter *i2c); 108 struct i2c_adapter *i2c);
109#else 109#else
diff --git a/drivers/media/dvb-frontends/atbm8830.h b/drivers/media/dvb-frontends/atbm8830.h
index 8e0ac98f8d08..5446d13fdfe8 100644
--- a/drivers/media/dvb-frontends/atbm8830.h
+++ b/drivers/media/dvb-frontends/atbm8830.h
@@ -61,7 +61,7 @@ struct atbm8830_config {
61 u8 agc_hold_loop; 61 u8 agc_hold_loop;
62}; 62};
63 63
64#if IS_ENABLED(CONFIG_DVB_ATBM8830) 64#if IS_REACHABLE(CONFIG_DVB_ATBM8830)
65extern struct dvb_frontend *atbm8830_attach(const struct atbm8830_config *config, 65extern struct dvb_frontend *atbm8830_attach(const struct atbm8830_config *config,
66 struct i2c_adapter *i2c); 66 struct i2c_adapter *i2c);
67#else 67#else
diff --git a/drivers/media/dvb-frontends/au8522.h b/drivers/media/dvb-frontends/au8522.h
index 612251958855..dde61582c158 100644
--- a/drivers/media/dvb-frontends/au8522.h
+++ b/drivers/media/dvb-frontends/au8522.h
@@ -61,7 +61,7 @@ struct au8522_config {
61 enum au8522_if_freq qam_if; 61 enum au8522_if_freq qam_if;
62}; 62};
63 63
64#if IS_ENABLED(CONFIG_DVB_AU8522_DTV) 64#if IS_REACHABLE(CONFIG_DVB_AU8522_DTV)
65extern struct dvb_frontend *au8522_attach(const struct au8522_config *config, 65extern struct dvb_frontend *au8522_attach(const struct au8522_config *config,
66 struct i2c_adapter *i2c); 66 struct i2c_adapter *i2c);
67#else 67#else
diff --git a/drivers/media/dvb-frontends/bcm3510.h b/drivers/media/dvb-frontends/bcm3510.h
index 5bd56b1623bf..ff66492fb940 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 IS_ENABLED(CONFIG_DVB_BCM3510) 37#if IS_REACHABLE(CONFIG_DVB_BCM3510)
38extern struct dvb_frontend* bcm3510_attach(const struct bcm3510_config* config, 38extern 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 382a7b1f3618..e0a764868e6f 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 IS_ENABLED(CONFIG_DVB_CX22700) 34#if IS_REACHABLE(CONFIG_DVB_CX22700)
35extern struct dvb_frontend* cx22700_attach(const struct cx22700_config* config, 35extern 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 0b1a6c2f9d5f..68b69a7660d2 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 IS_ENABLED(CONFIG_DVB_CX22702) 44#if IS_REACHABLE(CONFIG_DVB_CX22702)
45extern struct dvb_frontend *cx22702_attach( 45extern struct dvb_frontend *cx22702_attach(
46 const struct cx22702_config *config, 46 const struct cx22702_config *config,
47 struct i2c_adapter *i2c); 47 struct i2c_adapter *i2c);
diff --git a/drivers/media/dvb-frontends/cx24110.h b/drivers/media/dvb-frontends/cx24110.h
index 527aff1f2723..d5453ed20b28 100644
--- a/drivers/media/dvb-frontends/cx24110.h
+++ b/drivers/media/dvb-frontends/cx24110.h
@@ -46,7 +46,7 @@ static inline int cx24110_pll_write(struct dvb_frontend *fe, u32 val)
46 return 0; 46 return 0;
47} 47}
48 48
49#if IS_ENABLED(CONFIG_DVB_CX24110) 49#if IS_REACHABLE(CONFIG_DVB_CX24110)
50extern struct dvb_frontend* cx24110_attach(const struct cx24110_config* config, 50extern struct dvb_frontend* cx24110_attach(const struct cx24110_config* config,
51 struct i2c_adapter* i2c); 51 struct i2c_adapter* i2c);
52#else 52#else
diff --git a/drivers/media/dvb-frontends/cx24113.h b/drivers/media/dvb-frontends/cx24113.h
index 782711ba1a32..962919b9b6e6 100644
--- a/drivers/media/dvb-frontends/cx24113.h
+++ b/drivers/media/dvb-frontends/cx24113.h
@@ -32,7 +32,7 @@ struct cx24113_config {
32 u32 xtal_khz; 32 u32 xtal_khz;
33}; 33};
34 34
35#if IS_ENABLED(CONFIG_DVB_TUNER_CX24113) 35#if IS_REACHABLE(CONFIG_DVB_TUNER_CX24113)
36extern struct dvb_frontend *cx24113_attach(struct dvb_frontend *, 36extern struct dvb_frontend *cx24113_attach(struct dvb_frontend *,
37 const struct cx24113_config *config, struct i2c_adapter *i2c); 37 const struct cx24113_config *config, struct i2c_adapter *i2c);
38 38
diff --git a/drivers/media/dvb-frontends/cx24116.h b/drivers/media/dvb-frontends/cx24116.h
index 2ec84fae3f9f..f6dbabc1d62b 100644
--- a/drivers/media/dvb-frontends/cx24116.h
+++ b/drivers/media/dvb-frontends/cx24116.h
@@ -41,7 +41,7 @@ struct cx24116_config {
41 u16 i2c_wr_max; 41 u16 i2c_wr_max;
42}; 42};
43 43
44#if IS_ENABLED(CONFIG_DVB_CX24116) 44#if IS_REACHABLE(CONFIG_DVB_CX24116)
45extern struct dvb_frontend *cx24116_attach( 45extern struct dvb_frontend *cx24116_attach(
46 const struct cx24116_config *config, 46 const struct cx24116_config *config,
47 struct i2c_adapter *i2c); 47 struct i2c_adapter *i2c);
diff --git a/drivers/media/dvb-frontends/cx24117.h b/drivers/media/dvb-frontends/cx24117.h
index 4e59e9574fa7..1648ab432168 100644
--- a/drivers/media/dvb-frontends/cx24117.h
+++ b/drivers/media/dvb-frontends/cx24117.h
@@ -30,7 +30,7 @@ struct cx24117_config {
30 u8 demod_address; 30 u8 demod_address;
31}; 31};
32 32
33#if IS_ENABLED(CONFIG_DVB_CX24117) 33#if IS_REACHABLE(CONFIG_DVB_CX24117)
34extern struct dvb_frontend *cx24117_attach( 34extern struct dvb_frontend *cx24117_attach(
35 const struct cx24117_config *config, 35 const struct cx24117_config *config,
36 struct i2c_adapter *i2c); 36 struct i2c_adapter *i2c);
diff --git a/drivers/media/dvb-frontends/cx24123.h b/drivers/media/dvb-frontends/cx24123.h
index 102e70d17c43..758aee5a072f 100644
--- a/drivers/media/dvb-frontends/cx24123.h
+++ b/drivers/media/dvb-frontends/cx24123.h
@@ -39,7 +39,7 @@ struct cx24123_config {
39 void (*agc_callback) (struct dvb_frontend *); 39 void (*agc_callback) (struct dvb_frontend *);
40}; 40};
41 41
42#if IS_ENABLED(CONFIG_DVB_CX24123) 42#if IS_REACHABLE(CONFIG_DVB_CX24123)
43extern struct dvb_frontend *cx24123_attach(const struct cx24123_config *config, 43extern struct dvb_frontend *cx24123_attach(const struct cx24123_config *config,
44 struct i2c_adapter *i2c); 44 struct i2c_adapter *i2c);
45extern struct i2c_adapter *cx24123_get_tuner_i2c_adapter(struct dvb_frontend *); 45extern struct i2c_adapter *cx24123_get_tuner_i2c_adapter(struct dvb_frontend *);
diff --git a/drivers/media/dvb-frontends/cxd2820r.h b/drivers/media/dvb-frontends/cxd2820r.h
index 6095dbcf7850..56d42760263d 100644
--- a/drivers/media/dvb-frontends/cxd2820r.h
+++ b/drivers/media/dvb-frontends/cxd2820r.h
@@ -72,7 +72,7 @@ struct cxd2820r_config {
72}; 72};
73 73
74 74
75#if IS_ENABLED(CONFIG_DVB_CXD2820R) 75#if IS_REACHABLE(CONFIG_DVB_CXD2820R)
76extern struct dvb_frontend *cxd2820r_attach( 76extern struct dvb_frontend *cxd2820r_attach(
77 const struct cxd2820r_config *config, 77 const struct cxd2820r_config *config,
78 struct i2c_adapter *i2c, 78 struct i2c_adapter *i2c,
diff --git a/drivers/media/dvb-frontends/dib0070.h b/drivers/media/dvb-frontends/dib0070.h
index 0c6befcc9143..6c0b6672b1d9 100644
--- a/drivers/media/dvb-frontends/dib0070.h
+++ b/drivers/media/dvb-frontends/dib0070.h
@@ -48,7 +48,7 @@ struct dib0070_config {
48 u8 vga_filter; 48 u8 vga_filter;
49}; 49};
50 50
51#if IS_ENABLED(CONFIG_DVB_TUNER_DIB0070) 51#if IS_REACHABLE(CONFIG_DVB_TUNER_DIB0070)
52extern struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct dib0070_config *cfg); 52extern struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct dib0070_config *cfg);
53extern u16 dib0070_wbd_offset(struct dvb_frontend *); 53extern u16 dib0070_wbd_offset(struct dvb_frontend *);
54extern void dib0070_ctrl_agc_filter(struct dvb_frontend *, u8 open); 54extern void dib0070_ctrl_agc_filter(struct dvb_frontend *, u8 open);
diff --git a/drivers/media/dvb-frontends/dib0090.h b/drivers/media/dvb-frontends/dib0090.h
index 6a090954fa10..ad74bc823f08 100644
--- a/drivers/media/dvb-frontends/dib0090.h
+++ b/drivers/media/dvb-frontends/dib0090.h
@@ -75,7 +75,7 @@ struct dib0090_config {
75 u8 force_crystal_mode; 75 u8 force_crystal_mode;
76}; 76};
77 77
78#if IS_ENABLED(CONFIG_DVB_TUNER_DIB0090) 78#if IS_REACHABLE(CONFIG_DVB_TUNER_DIB0090)
79extern struct dvb_frontend *dib0090_register(struct dvb_frontend *fe, struct i2c_adapter *i2c, const struct dib0090_config *config); 79extern struct dvb_frontend *dib0090_register(struct dvb_frontend *fe, struct i2c_adapter *i2c, const struct dib0090_config *config);
80extern struct dvb_frontend *dib0090_fw_register(struct dvb_frontend *fe, struct i2c_adapter *i2c, const struct dib0090_config *config); 80extern struct dvb_frontend *dib0090_fw_register(struct dvb_frontend *fe, struct i2c_adapter *i2c, const struct dib0090_config *config);
81extern void dib0090_dcc_freq(struct dvb_frontend *fe, u8 fast); 81extern void dib0090_dcc_freq(struct dvb_frontend *fe, u8 fast);
diff --git a/drivers/media/dvb-frontends/dib3000.h b/drivers/media/dvb-frontends/dib3000.h
index 9b6c3bbc983a..6ae9899b5b45 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 IS_ENABLED(CONFIG_DVB_DIB3000MB) 44#if IS_REACHABLE(CONFIG_DVB_DIB3000MB)
45extern struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config, 45extern 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 129d1425516a..74816f793611 100644
--- a/drivers/media/dvb-frontends/dib3000mc.h
+++ b/drivers/media/dvb-frontends/dib3000mc.h
@@ -41,7 +41,7 @@ struct dib3000mc_config {
41#define DEFAULT_DIB3000MC_I2C_ADDRESS 16 41#define DEFAULT_DIB3000MC_I2C_ADDRESS 16
42#define DEFAULT_DIB3000P_I2C_ADDRESS 24 42#define DEFAULT_DIB3000P_I2C_ADDRESS 24
43 43
44#if IS_ENABLED(CONFIG_DVB_DIB3000MC) 44#if IS_REACHABLE(CONFIG_DVB_DIB3000MC)
45extern struct dvb_frontend *dib3000mc_attach(struct i2c_adapter *i2c_adap, 45extern struct dvb_frontend *dib3000mc_attach(struct i2c_adapter *i2c_adap,
46 u8 i2c_addr, 46 u8 i2c_addr,
47 struct dib3000mc_config *cfg); 47 struct dib3000mc_config *cfg);
diff --git a/drivers/media/dvb-frontends/dib7000m.h b/drivers/media/dvb-frontends/dib7000m.h
index b585413f9a29..6468c278cc4d 100644
--- a/drivers/media/dvb-frontends/dib7000m.h
+++ b/drivers/media/dvb-frontends/dib7000m.h
@@ -40,7 +40,7 @@ struct dib7000m_config {
40 40
41#define DEFAULT_DIB7000M_I2C_ADDRESS 18 41#define DEFAULT_DIB7000M_I2C_ADDRESS 18
42 42
43#if IS_ENABLED(CONFIG_DVB_DIB7000M) 43#if IS_REACHABLE(CONFIG_DVB_DIB7000M)
44extern struct dvb_frontend *dib7000m_attach(struct i2c_adapter *i2c_adap, 44extern struct dvb_frontend *dib7000m_attach(struct i2c_adapter *i2c_adap,
45 u8 i2c_addr, 45 u8 i2c_addr,
46 struct dib7000m_config *cfg); 46 struct dib7000m_config *cfg);
diff --git a/drivers/media/dvb-frontends/dib7000p.h b/drivers/media/dvb-frontends/dib7000p.h
index 1fea0e972654..baa278928cf3 100644
--- a/drivers/media/dvb-frontends/dib7000p.h
+++ b/drivers/media/dvb-frontends/dib7000p.h
@@ -66,7 +66,7 @@ struct dib7000p_ops {
66 struct dvb_frontend *(*init)(struct i2c_adapter *i2c_adap, u8 i2c_addr, struct dib7000p_config *cfg); 66 struct dvb_frontend *(*init)(struct i2c_adapter *i2c_adap, u8 i2c_addr, struct dib7000p_config *cfg);
67}; 67};
68 68
69#if IS_ENABLED(CONFIG_DVB_DIB7000P) 69#if IS_REACHABLE(CONFIG_DVB_DIB7000P)
70void *dib7000p_attach(struct dib7000p_ops *ops); 70void *dib7000p_attach(struct dib7000p_ops *ops);
71#else 71#else
72static inline void *dib7000p_attach(struct dib7000p_ops *ops) 72static inline void *dib7000p_attach(struct dib7000p_ops *ops)
diff --git a/drivers/media/dvb-frontends/dib8000.h b/drivers/media/dvb-frontends/dib8000.h
index 84cc10383dcd..780c37bdcb72 100644
--- a/drivers/media/dvb-frontends/dib8000.h
+++ b/drivers/media/dvb-frontends/dib8000.h
@@ -63,7 +63,7 @@ struct dib8000_ops {
63 struct dvb_frontend *(*init)(struct i2c_adapter *i2c_adap, u8 i2c_addr, struct dib8000_config *cfg); 63 struct dvb_frontend *(*init)(struct i2c_adapter *i2c_adap, u8 i2c_addr, struct dib8000_config *cfg);
64}; 64};
65 65
66#if IS_ENABLED(CONFIG_DVB_DIB8000) 66#if IS_REACHABLE(CONFIG_DVB_DIB8000)
67void *dib8000_attach(struct dib8000_ops *ops); 67void *dib8000_attach(struct dib8000_ops *ops);
68#else 68#else
69static inline int dib8000_attach(struct dib8000_ops *ops) 69static inline int dib8000_attach(struct dib8000_ops *ops)
diff --git a/drivers/media/dvb-frontends/dib9000.h b/drivers/media/dvb-frontends/dib9000.h
index f3639f045ff0..b10a70aa7c9f 100644
--- a/drivers/media/dvb-frontends/dib9000.h
+++ b/drivers/media/dvb-frontends/dib9000.h
@@ -27,7 +27,7 @@ struct dib9000_config {
27 27
28#define DEFAULT_DIB9000_I2C_ADDRESS 18 28#define DEFAULT_DIB9000_I2C_ADDRESS 18
29 29
30#if IS_ENABLED(CONFIG_DVB_DIB9000) 30#if IS_REACHABLE(CONFIG_DVB_DIB9000)
31extern struct dvb_frontend *dib9000_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, const struct dib9000_config *cfg); 31extern struct dvb_frontend *dib9000_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, const struct dib9000_config *cfg);
32extern int dib9000_i2c_enumeration(struct i2c_adapter *host, int no_of_demods, u8 default_addr, u8 first_addr); 32extern int dib9000_i2c_enumeration(struct i2c_adapter *host, int no_of_demods, u8 default_addr, u8 first_addr);
33extern struct i2c_adapter *dib9000_get_tuner_interface(struct dvb_frontend *fe); 33extern struct i2c_adapter *dib9000_get_tuner_interface(struct dvb_frontend *fe);
diff --git a/drivers/media/dvb-frontends/drxd.h b/drivers/media/dvb-frontends/drxd.h
index d998e4d5a7fc..a47c22d6667e 100644
--- a/drivers/media/dvb-frontends/drxd.h
+++ b/drivers/media/dvb-frontends/drxd.h
@@ -52,7 +52,7 @@ struct drxd_config {
52 s16(*osc_deviation) (void *priv, s16 dev, int flag); 52 s16(*osc_deviation) (void *priv, s16 dev, int flag);
53}; 53};
54 54
55#if IS_ENABLED(CONFIG_DVB_DRXD) 55#if IS_REACHABLE(CONFIG_DVB_DRXD)
56extern 56extern
57struct dvb_frontend *drxd_attach(const struct drxd_config *config, 57struct dvb_frontend *drxd_attach(const struct drxd_config *config,
58 void *priv, struct i2c_adapter *i2c, 58 void *priv, struct i2c_adapter *i2c,
diff --git a/drivers/media/dvb-frontends/drxk.h b/drivers/media/dvb-frontends/drxk.h
index f6cb34660327..8f0b9eec528f 100644
--- a/drivers/media/dvb-frontends/drxk.h
+++ b/drivers/media/dvb-frontends/drxk.h
@@ -51,7 +51,7 @@ struct drxk_config {
51 int qam_demod_parameter_count; 51 int qam_demod_parameter_count;
52}; 52};
53 53
54#if IS_ENABLED(CONFIG_DVB_DRXK) 54#if IS_REACHABLE(CONFIG_DVB_DRXK)
55extern struct dvb_frontend *drxk_attach(const struct drxk_config *config, 55extern struct dvb_frontend *drxk_attach(const struct drxk_config *config,
56 struct i2c_adapter *i2c); 56 struct i2c_adapter *i2c);
57#else 57#else
diff --git a/drivers/media/dvb-frontends/ds3000.h b/drivers/media/dvb-frontends/ds3000.h
index f9c21fb7af13..153169da9017 100644
--- a/drivers/media/dvb-frontends/ds3000.h
+++ b/drivers/media/dvb-frontends/ds3000.h
@@ -35,7 +35,7 @@ struct ds3000_config {
35 void (*set_lock_led)(struct dvb_frontend *fe, int offon); 35 void (*set_lock_led)(struct dvb_frontend *fe, int offon);
36}; 36};
37 37
38#if IS_ENABLED(CONFIG_DVB_DS3000) 38#if IS_REACHABLE(CONFIG_DVB_DS3000)
39extern struct dvb_frontend *ds3000_attach(const struct ds3000_config *config, 39extern struct dvb_frontend *ds3000_attach(const struct ds3000_config *config,
40 struct i2c_adapter *i2c); 40 struct i2c_adapter *i2c);
41#else 41#else
diff --git a/drivers/media/dvb-frontends/dvb-pll.h b/drivers/media/dvb-frontends/dvb-pll.h
index f4b5a0601c3a..bf9602a88b6c 100644
--- a/drivers/media/dvb-frontends/dvb-pll.h
+++ b/drivers/media/dvb-frontends/dvb-pll.h
@@ -38,7 +38,7 @@
38 * @param pll_desc_id dvb_pll_desc to use. 38 * @param pll_desc_id dvb_pll_desc to use.
39 * @return Frontend pointer on success, NULL on failure 39 * @return Frontend pointer on success, NULL on failure
40 */ 40 */
41#if IS_ENABLED(CONFIG_DVB_PLL) 41#if IS_REACHABLE(CONFIG_DVB_PLL)
42extern struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe, 42extern struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe,
43 int pll_addr, 43 int pll_addr,
44 struct i2c_adapter *i2c, 44 struct i2c_adapter *i2c,
diff --git a/drivers/media/dvb-frontends/dvb_dummy_fe.h b/drivers/media/dvb-frontends/dvb_dummy_fe.h
index 0cbf96105631..15e4ceab869a 100644
--- a/drivers/media/dvb-frontends/dvb_dummy_fe.h
+++ b/drivers/media/dvb-frontends/dvb_dummy_fe.h
@@ -26,7 +26,7 @@
26#include <linux/dvb/frontend.h> 26#include <linux/dvb/frontend.h>
27#include "dvb_frontend.h" 27#include "dvb_frontend.h"
28 28
29#if IS_ENABLED(CONFIG_DVB_DUMMY_FE) 29#if IS_REACHABLE(CONFIG_DVB_DUMMY_FE)
30extern struct dvb_frontend* dvb_dummy_fe_ofdm_attach(void); 30extern struct dvb_frontend* dvb_dummy_fe_ofdm_attach(void);
31extern struct dvb_frontend* dvb_dummy_fe_qpsk_attach(void); 31extern struct dvb_frontend* dvb_dummy_fe_qpsk_attach(void);
32extern struct dvb_frontend* dvb_dummy_fe_qam_attach(void); 32extern struct dvb_frontend* dvb_dummy_fe_qam_attach(void);
diff --git a/drivers/media/dvb-frontends/ec100.h b/drivers/media/dvb-frontends/ec100.h
index 37558403068d..9544bab5cd1d 100644
--- a/drivers/media/dvb-frontends/ec100.h
+++ b/drivers/media/dvb-frontends/ec100.h
@@ -31,7 +31,7 @@ struct ec100_config {
31}; 31};
32 32
33 33
34#if IS_ENABLED(CONFIG_DVB_EC100) 34#if IS_REACHABLE(CONFIG_DVB_EC100)
35extern struct dvb_frontend *ec100_attach(const struct ec100_config *config, 35extern struct dvb_frontend *ec100_attach(const struct ec100_config *config,
36 struct i2c_adapter *i2c); 36 struct i2c_adapter *i2c);
37#else 37#else
diff --git a/drivers/media/dvb-frontends/hd29l2.h b/drivers/media/dvb-frontends/hd29l2.h
index 05cd13028a91..48e9ab74c883 100644
--- a/drivers/media/dvb-frontends/hd29l2.h
+++ b/drivers/media/dvb-frontends/hd29l2.h
@@ -51,7 +51,7 @@ struct hd29l2_config {
51}; 51};
52 52
53 53
54#if IS_ENABLED(CONFIG_DVB_HD29L2) 54#if IS_REACHABLE(CONFIG_DVB_HD29L2)
55extern struct dvb_frontend *hd29l2_attach(const struct hd29l2_config *config, 55extern struct dvb_frontend *hd29l2_attach(const struct hd29l2_config *config,
56 struct i2c_adapter *i2c); 56 struct i2c_adapter *i2c);
57#else 57#else
diff --git a/drivers/media/dvb-frontends/isl6405.h b/drivers/media/dvb-frontends/isl6405.h
index 8abb70c26fd9..3c148b830bd1 100644
--- a/drivers/media/dvb-frontends/isl6405.h
+++ b/drivers/media/dvb-frontends/isl6405.h
@@ -55,7 +55,7 @@
55#define ISL6405_ENT2 0x20 55#define ISL6405_ENT2 0x20
56#define ISL6405_ISEL2 0x40 56#define ISL6405_ISEL2 0x40
57 57
58#if IS_ENABLED(CONFIG_DVB_ISL6405) 58#if IS_REACHABLE(CONFIG_DVB_ISL6405)
59/* override_set and override_clear control which system register bits (above) 59/* override_set and override_clear control which system register bits (above)
60 * to always set & clear 60 * to always set & clear
61 */ 61 */
diff --git a/drivers/media/dvb-frontends/isl6421.h b/drivers/media/dvb-frontends/isl6421.h
index 630e7f8a150e..3273597833fd 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 IS_ENABLED(CONFIG_DVB_ISL6421) 42#if IS_REACHABLE(CONFIG_DVB_ISL6421)
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 */
44extern struct dvb_frontend *isl6421_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 i2c_addr, 44extern struct dvb_frontend *isl6421_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 i2c_addr,
45 u8 override_set, u8 override_clear, bool override_tone); 45 u8 override_set, u8 override_clear, bool override_tone);
diff --git a/drivers/media/dvb-frontends/isl6423.h b/drivers/media/dvb-frontends/isl6423.h
index 80dfd9cc4f41..a64df0ee256b 100644
--- a/drivers/media/dvb-frontends/isl6423.h
+++ b/drivers/media/dvb-frontends/isl6423.h
@@ -42,7 +42,7 @@ struct isl6423_config {
42 u8 mod_extern; 42 u8 mod_extern;
43}; 43};
44 44
45#if IS_ENABLED(CONFIG_DVB_ISL6423) 45#if IS_REACHABLE(CONFIG_DVB_ISL6423)
46 46
47 47
48extern struct dvb_frontend *isl6423_attach(struct dvb_frontend *fe, 48extern struct dvb_frontend *isl6423_attach(struct dvb_frontend *fe,
diff --git a/drivers/media/dvb-frontends/itd1000.h b/drivers/media/dvb-frontends/itd1000.h
index edae0902f4fd..a691bb6f26de 100644
--- a/drivers/media/dvb-frontends/itd1000.h
+++ b/drivers/media/dvb-frontends/itd1000.h
@@ -29,7 +29,7 @@ struct itd1000_config {
29 u8 i2c_address; 29 u8 i2c_address;
30}; 30};
31 31
32#if IS_ENABLED(CONFIG_DVB_TUNER_ITD1000) 32#if IS_REACHABLE(CONFIG_DVB_TUNER_ITD1000)
33extern struct dvb_frontend *itd1000_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct itd1000_config *cfg); 33extern struct dvb_frontend *itd1000_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct itd1000_config *cfg);
34#else 34#else
35static inline struct dvb_frontend *itd1000_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct itd1000_config *cfg) 35static inline struct dvb_frontend *itd1000_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct itd1000_config *cfg)
diff --git a/drivers/media/dvb-frontends/ix2505v.h b/drivers/media/dvb-frontends/ix2505v.h
index 1a735a75aa98..af107a2dd357 100644
--- a/drivers/media/dvb-frontends/ix2505v.h
+++ b/drivers/media/dvb-frontends/ix2505v.h
@@ -49,7 +49,7 @@ struct ix2505v_config {
49 49
50}; 50};
51 51
52#if IS_ENABLED(CONFIG_DVB_IX2505V) 52#if IS_REACHABLE(CONFIG_DVB_IX2505V)
53extern struct dvb_frontend *ix2505v_attach(struct dvb_frontend *fe, 53extern struct dvb_frontend *ix2505v_attach(struct dvb_frontend *fe,
54 const struct ix2505v_config *config, struct i2c_adapter *i2c); 54 const struct ix2505v_config *config, struct i2c_adapter *i2c);
55#else 55#else
diff --git a/drivers/media/dvb-frontends/l64781.h b/drivers/media/dvb-frontends/l64781.h
index 6813b08a774d..8697e2c2ba36 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 IS_ENABLED(CONFIG_DVB_L64781) 34#if IS_REACHABLE(CONFIG_DVB_L64781)
35extern struct dvb_frontend* l64781_attach(const struct l64781_config* config, 35extern 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/lg2160.h b/drivers/media/dvb-frontends/lg2160.h
index 194a07a78dc1..d20bd909de39 100644
--- a/drivers/media/dvb-frontends/lg2160.h
+++ b/drivers/media/dvb-frontends/lg2160.h
@@ -67,7 +67,7 @@ struct lg2160_config {
67 enum lg_chip_type lg_chip; 67 enum lg_chip_type lg_chip;
68}; 68};
69 69
70#if IS_ENABLED(CONFIG_DVB_LG2160) 70#if IS_REACHABLE(CONFIG_DVB_LG2160)
71extern 71extern
72struct dvb_frontend *lg2160_attach(const struct lg2160_config *config, 72struct dvb_frontend *lg2160_attach(const struct lg2160_config *config,
73 struct i2c_adapter *i2c_adap); 73 struct i2c_adapter *i2c_adap);
diff --git a/drivers/media/dvb-frontends/lgdt3305.h b/drivers/media/dvb-frontends/lgdt3305.h
index 9c03e530e01b..f91a1b49ce2f 100644
--- a/drivers/media/dvb-frontends/lgdt3305.h
+++ b/drivers/media/dvb-frontends/lgdt3305.h
@@ -80,7 +80,7 @@ struct lgdt3305_config {
80 enum lgdt_demod_chip_type demod_chip; 80 enum lgdt_demod_chip_type demod_chip;
81}; 81};
82 82
83#if IS_ENABLED(CONFIG_DVB_LGDT3305) 83#if IS_REACHABLE(CONFIG_DVB_LGDT3305)
84extern 84extern
85struct dvb_frontend *lgdt3305_attach(const struct lgdt3305_config *config, 85struct dvb_frontend *lgdt3305_attach(const struct lgdt3305_config *config,
86 struct i2c_adapter *i2c_adap); 86 struct i2c_adapter *i2c_adap);
diff --git a/drivers/media/dvb-frontends/lgdt330x.h b/drivers/media/dvb-frontends/lgdt330x.h
index 8bb332219fc4..c73eeb45e330 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 IS_ENABLED(CONFIG_DVB_LGDT330X) 55#if IS_REACHABLE(CONFIG_DVB_LGDT330X)
56extern struct dvb_frontend* lgdt330x_attach(const struct lgdt330x_config* config, 56extern 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/lgs8gl5.h b/drivers/media/dvb-frontends/lgs8gl5.h
index c2da59614727..a5b3faf121f0 100644
--- a/drivers/media/dvb-frontends/lgs8gl5.h
+++ b/drivers/media/dvb-frontends/lgs8gl5.h
@@ -31,7 +31,7 @@ struct lgs8gl5_config {
31 u8 demod_address; 31 u8 demod_address;
32}; 32};
33 33
34#if IS_ENABLED(CONFIG_DVB_LGS8GL5) 34#if IS_REACHABLE(CONFIG_DVB_LGS8GL5)
35extern struct dvb_frontend *lgs8gl5_attach( 35extern struct dvb_frontend *lgs8gl5_attach(
36 const struct lgs8gl5_config *config, struct i2c_adapter *i2c); 36 const struct lgs8gl5_config *config, struct i2c_adapter *i2c);
37#else 37#else
diff --git a/drivers/media/dvb-frontends/lgs8gxx.h b/drivers/media/dvb-frontends/lgs8gxx.h
index dadb78bf61a9..368c9928ef7f 100644
--- a/drivers/media/dvb-frontends/lgs8gxx.h
+++ b/drivers/media/dvb-frontends/lgs8gxx.h
@@ -80,7 +80,7 @@ struct lgs8gxx_config {
80 u8 tuner_address; 80 u8 tuner_address;
81}; 81};
82 82
83#if IS_ENABLED(CONFIG_DVB_LGS8GXX) 83#if IS_REACHABLE(CONFIG_DVB_LGS8GXX)
84extern struct dvb_frontend *lgs8gxx_attach(const struct lgs8gxx_config *config, 84extern struct dvb_frontend *lgs8gxx_attach(const struct lgs8gxx_config *config,
85 struct i2c_adapter *i2c); 85 struct i2c_adapter *i2c);
86#else 86#else
diff --git a/drivers/media/dvb-frontends/lnbh24.h b/drivers/media/dvb-frontends/lnbh24.h
index b327a4f31d16..a088b8ec1e53 100644
--- a/drivers/media/dvb-frontends/lnbh24.h
+++ b/drivers/media/dvb-frontends/lnbh24.h
@@ -37,7 +37,7 @@
37 37
38#include <linux/dvb/frontend.h> 38#include <linux/dvb/frontend.h>
39 39
40#if IS_ENABLED(CONFIG_DVB_LNBP21) 40#if IS_REACHABLE(CONFIG_DVB_LNBP21)
41/* override_set and override_clear control which 41/* override_set and override_clear control which
42 system register bits (above) to always set & clear */ 42 system register bits (above) to always set & clear */
43extern struct dvb_frontend *lnbh24_attach(struct dvb_frontend *fe, 43extern struct dvb_frontend *lnbh24_attach(struct dvb_frontend *fe,
diff --git a/drivers/media/dvb-frontends/lnbp21.h b/drivers/media/dvb-frontends/lnbp21.h
index dbcbcc2f20a3..a9b530de62a6 100644
--- a/drivers/media/dvb-frontends/lnbp21.h
+++ b/drivers/media/dvb-frontends/lnbp21.h
@@ -57,7 +57,7 @@
57 57
58#include <linux/dvb/frontend.h> 58#include <linux/dvb/frontend.h>
59 59
60#if IS_ENABLED(CONFIG_DVB_LNBP21) 60#if IS_REACHABLE(CONFIG_DVB_LNBP21)
61/* override_set and override_clear control which 61/* override_set and override_clear control which
62 system register bits (above) to always set & clear */ 62 system register bits (above) to always set & clear */
63extern struct dvb_frontend *lnbp21_attach(struct dvb_frontend *fe, 63extern struct dvb_frontend *lnbp21_attach(struct dvb_frontend *fe,
diff --git a/drivers/media/dvb-frontends/lnbp22.h b/drivers/media/dvb-frontends/lnbp22.h
index 63861b311dd8..628148385182 100644
--- a/drivers/media/dvb-frontends/lnbp22.h
+++ b/drivers/media/dvb-frontends/lnbp22.h
@@ -39,7 +39,7 @@
39 39
40#include <linux/dvb/frontend.h> 40#include <linux/dvb/frontend.h>
41 41
42#if IS_ENABLED(CONFIG_DVB_LNBP22) 42#if IS_REACHABLE(CONFIG_DVB_LNBP22)
43/* 43/*
44 * override_set and override_clear control which system register bits (above) 44 * override_set and override_clear control which system register bits (above)
45 * to always set & clear 45 * to always set & clear
diff --git a/drivers/media/dvb-frontends/m88rs2000.h b/drivers/media/dvb-frontends/m88rs2000.h
index 0a50ea90736b..de7430178e9e 100644
--- a/drivers/media/dvb-frontends/m88rs2000.h
+++ b/drivers/media/dvb-frontends/m88rs2000.h
@@ -41,7 +41,7 @@ enum {
41 CALL_IS_READ, 41 CALL_IS_READ,
42}; 42};
43 43
44#if IS_ENABLED(CONFIG_DVB_M88RS2000) 44#if IS_REACHABLE(CONFIG_DVB_M88RS2000)
45extern struct dvb_frontend *m88rs2000_attach( 45extern struct dvb_frontend *m88rs2000_attach(
46 const struct m88rs2000_config *config, struct i2c_adapter *i2c); 46 const struct m88rs2000_config *config, struct i2c_adapter *i2c);
47#else 47#else
diff --git a/drivers/media/dvb-frontends/mb86a16.h b/drivers/media/dvb-frontends/mb86a16.h
index 277ce061acf9..e486dc0d8e60 100644
--- a/drivers/media/dvb-frontends/mb86a16.h
+++ b/drivers/media/dvb-frontends/mb86a16.h
@@ -33,7 +33,7 @@ struct mb86a16_config {
33 33
34 34
35 35
36#if IS_ENABLED(CONFIG_DVB_MB86A16) 36#if IS_REACHABLE(CONFIG_DVB_MB86A16)
37 37
38extern struct dvb_frontend *mb86a16_attach(const struct mb86a16_config *config, 38extern struct dvb_frontend *mb86a16_attach(const struct mb86a16_config *config,
39 struct i2c_adapter *i2c_adap); 39 struct i2c_adapter *i2c_adap);
diff --git a/drivers/media/dvb-frontends/mb86a20s.h b/drivers/media/dvb-frontends/mb86a20s.h
index cbeb941fba7c..f749c8ac5f39 100644
--- a/drivers/media/dvb-frontends/mb86a20s.h
+++ b/drivers/media/dvb-frontends/mb86a20s.h
@@ -34,7 +34,7 @@ struct mb86a20s_config {
34 bool is_serial; 34 bool is_serial;
35}; 35};
36 36
37#if IS_ENABLED(CONFIG_DVB_MB86A20S) 37#if IS_REACHABLE(CONFIG_DVB_MB86A20S)
38extern struct dvb_frontend *mb86a20s_attach(const struct mb86a20s_config *config, 38extern struct dvb_frontend *mb86a20s_attach(const struct mb86a20s_config *config,
39 struct i2c_adapter *i2c); 39 struct i2c_adapter *i2c);
40extern struct i2c_adapter *mb86a20s_get_tuner_i2c_adapter(struct dvb_frontend *); 40extern struct i2c_adapter *mb86a20s_get_tuner_i2c_adapter(struct dvb_frontend *);
diff --git a/drivers/media/dvb-frontends/mt312.h b/drivers/media/dvb-frontends/mt312.h
index 5706621ad79d..386939a90555 100644
--- a/drivers/media/dvb-frontends/mt312.h
+++ b/drivers/media/dvb-frontends/mt312.h
@@ -36,7 +36,7 @@ struct mt312_config {
36 unsigned int voltage_inverted:1; 36 unsigned int voltage_inverted:1;
37}; 37};
38 38
39#if IS_ENABLED(CONFIG_DVB_MT312) 39#if IS_REACHABLE(CONFIG_DVB_MT312)
40struct dvb_frontend *mt312_attach(const struct mt312_config *config, 40struct dvb_frontend *mt312_attach(const struct mt312_config *config,
41 struct i2c_adapter *i2c); 41 struct i2c_adapter *i2c);
42#else 42#else
diff --git a/drivers/media/dvb-frontends/mt352.h b/drivers/media/dvb-frontends/mt352.h
index 451d904e1500..5873263bd1af 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 IS_ENABLED(CONFIG_DVB_MT352) 54#if IS_REACHABLE(CONFIG_DVB_MT352)
55extern struct dvb_frontend* mt352_attach(const struct mt352_config* config, 55extern 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 e38d01fb6c2b..825b928ef542 100644
--- a/drivers/media/dvb-frontends/nxt200x.h
+++ b/drivers/media/dvb-frontends/nxt200x.h
@@ -42,7 +42,7 @@ struct nxt200x_config
42 int (*set_ts_params)(struct dvb_frontend* fe, int is_punctured); 42 int (*set_ts_params)(struct dvb_frontend* fe, int is_punctured);
43}; 43};
44 44
45#if IS_ENABLED(CONFIG_DVB_NXT200X) 45#if IS_REACHABLE(CONFIG_DVB_NXT200X)
46extern struct dvb_frontend* nxt200x_attach(const struct nxt200x_config* config, 46extern struct dvb_frontend* nxt200x_attach(const struct nxt200x_config* config,
47 struct i2c_adapter* i2c); 47 struct i2c_adapter* i2c);
48#else 48#else
diff --git a/drivers/media/dvb-frontends/nxt6000.h b/drivers/media/dvb-frontends/nxt6000.h
index b5867c2ae681..a94cefcc6dfd 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 IS_ENABLED(CONFIG_DVB_NXT6000) 36#if IS_REACHABLE(CONFIG_DVB_NXT6000)
37extern struct dvb_frontend* nxt6000_attach(const struct nxt6000_config* config, 37extern 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 cdb5be3c65d6..9acf8dc87413 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 IS_ENABLED(CONFIG_DVB_OR51132) 37#if IS_REACHABLE(CONFIG_DVB_OR51132)
38extern struct dvb_frontend* or51132_attach(const struct or51132_config* config, 38extern 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 9a8ae936b62d..cc6adab63249 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 IS_ENABLED(CONFIG_DVB_OR51211) 40#if IS_REACHABLE(CONFIG_DVB_OR51211)
41extern struct dvb_frontend* or51211_attach(const struct or51211_config* config, 41extern 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/s5h1409.h b/drivers/media/dvb-frontends/s5h1409.h
index 9e143f5c8107..f58b9ca5557a 100644
--- a/drivers/media/dvb-frontends/s5h1409.h
+++ b/drivers/media/dvb-frontends/s5h1409.h
@@ -67,7 +67,7 @@ struct s5h1409_config {
67 u8 hvr1600_opt; 67 u8 hvr1600_opt;
68}; 68};
69 69
70#if IS_ENABLED(CONFIG_DVB_S5H1409) 70#if IS_REACHABLE(CONFIG_DVB_S5H1409)
71extern struct dvb_frontend *s5h1409_attach(const struct s5h1409_config *config, 71extern struct dvb_frontend *s5h1409_attach(const struct s5h1409_config *config,
72 struct i2c_adapter *i2c); 72 struct i2c_adapter *i2c);
73#else 73#else
diff --git a/drivers/media/dvb-frontends/s5h1411.h b/drivers/media/dvb-frontends/s5h1411.h
index 1d7deb615674..f3a87f7ec360 100644
--- a/drivers/media/dvb-frontends/s5h1411.h
+++ b/drivers/media/dvb-frontends/s5h1411.h
@@ -69,7 +69,7 @@ struct s5h1411_config {
69 u8 status_mode; 69 u8 status_mode;
70}; 70};
71 71
72#if IS_ENABLED(CONFIG_DVB_S5H1411) 72#if IS_REACHABLE(CONFIG_DVB_S5H1411)
73extern struct dvb_frontend *s5h1411_attach(const struct s5h1411_config *config, 73extern struct dvb_frontend *s5h1411_attach(const struct s5h1411_config *config,
74 struct i2c_adapter *i2c); 74 struct i2c_adapter *i2c);
75#else 75#else
diff --git a/drivers/media/dvb-frontends/s5h1420.h b/drivers/media/dvb-frontends/s5h1420.h
index 210049b5cf30..142d93e7d02b 100644
--- a/drivers/media/dvb-frontends/s5h1420.h
+++ b/drivers/media/dvb-frontends/s5h1420.h
@@ -40,7 +40,7 @@ struct s5h1420_config
40 u8 serial_mpeg:1; 40 u8 serial_mpeg:1;
41}; 41};
42 42
43#if IS_ENABLED(CONFIG_DVB_S5H1420) 43#if IS_REACHABLE(CONFIG_DVB_S5H1420)
44extern struct dvb_frontend *s5h1420_attach(const struct s5h1420_config *config, 44extern struct dvb_frontend *s5h1420_attach(const struct s5h1420_config *config,
45 struct i2c_adapter *i2c); 45 struct i2c_adapter *i2c);
46extern struct i2c_adapter *s5h1420_get_tuner_i2c_adapter(struct dvb_frontend *fe); 46extern struct i2c_adapter *s5h1420_get_tuner_i2c_adapter(struct dvb_frontend *fe);
diff --git a/drivers/media/dvb-frontends/s5h1432.h b/drivers/media/dvb-frontends/s5h1432.h
index 70917dd2533a..f490c5ee5801 100644
--- a/drivers/media/dvb-frontends/s5h1432.h
+++ b/drivers/media/dvb-frontends/s5h1432.h
@@ -75,7 +75,7 @@ struct s5h1432_config {
75 u8 status_mode; 75 u8 status_mode;
76}; 76};
77 77
78#if IS_ENABLED(CONFIG_DVB_S5H1432) 78#if IS_REACHABLE(CONFIG_DVB_S5H1432)
79extern struct dvb_frontend *s5h1432_attach(const struct s5h1432_config *config, 79extern struct dvb_frontend *s5h1432_attach(const struct s5h1432_config *config,
80 struct i2c_adapter *i2c); 80 struct i2c_adapter *i2c);
81#else 81#else
diff --git a/drivers/media/dvb-frontends/s921.h b/drivers/media/dvb-frontends/s921.h
index 9b20c9e0eb88..7d3999a4e974 100644
--- a/drivers/media/dvb-frontends/s921.h
+++ b/drivers/media/dvb-frontends/s921.h
@@ -25,7 +25,7 @@ struct s921_config {
25 u8 demod_address; 25 u8 demod_address;
26}; 26};
27 27
28#if IS_ENABLED(CONFIG_DVB_S921) 28#if IS_REACHABLE(CONFIG_DVB_S921)
29extern struct dvb_frontend *s921_attach(const struct s921_config *config, 29extern struct dvb_frontend *s921_attach(const struct s921_config *config,
30 struct i2c_adapter *i2c); 30 struct i2c_adapter *i2c);
31extern struct i2c_adapter *s921_get_tuner_i2c_adapter(struct dvb_frontend *); 31extern struct i2c_adapter *s921_get_tuner_i2c_adapter(struct dvb_frontend *);
diff --git a/drivers/media/dvb-frontends/si21xx.h b/drivers/media/dvb-frontends/si21xx.h
index 1509fed44a3a..ef5f351ca68e 100644
--- a/drivers/media/dvb-frontends/si21xx.h
+++ b/drivers/media/dvb-frontends/si21xx.h
@@ -13,7 +13,7 @@ struct si21xx_config {
13 int min_delay_ms; 13 int min_delay_ms;
14}; 14};
15 15
16#if IS_ENABLED(CONFIG_DVB_SI21XX) 16#if IS_REACHABLE(CONFIG_DVB_SI21XX)
17extern struct dvb_frontend *si21xx_attach(const struct si21xx_config *config, 17extern struct dvb_frontend *si21xx_attach(const struct si21xx_config *config,
18 struct i2c_adapter *i2c); 18 struct i2c_adapter *i2c);
19#else 19#else
diff --git a/drivers/media/dvb-frontends/sp8870.h b/drivers/media/dvb-frontends/sp8870.h
index 065ec67d4e30..f507b9fd707b 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 IS_ENABLED(CONFIG_DVB_SP8870) 38#if IS_REACHABLE(CONFIG_DVB_SP8870)
39extern struct dvb_frontend* sp8870_attach(const struct sp8870_config* config, 39extern 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 2cdc4e8bc9cd..412f011e6dfd 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 IS_ENABLED(CONFIG_DVB_SP887X) 20#if IS_REACHABLE(CONFIG_DVB_SP887X)
21extern struct dvb_frontend* sp887x_attach(const struct sp887x_config* config, 21extern 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/stb0899_drv.h b/drivers/media/dvb-frontends/stb0899_drv.h
index 139264d19263..0a72131a57db 100644
--- a/drivers/media/dvb-frontends/stb0899_drv.h
+++ b/drivers/media/dvb-frontends/stb0899_drv.h
@@ -141,7 +141,7 @@ struct stb0899_config {
141 int (*tuner_set_rfsiggain)(struct dvb_frontend *fe, u32 rf_gain); 141 int (*tuner_set_rfsiggain)(struct dvb_frontend *fe, u32 rf_gain);
142}; 142};
143 143
144#if IS_ENABLED(CONFIG_DVB_STB0899) 144#if IS_REACHABLE(CONFIG_DVB_STB0899)
145 145
146extern struct dvb_frontend *stb0899_attach(struct stb0899_config *config, 146extern struct dvb_frontend *stb0899_attach(struct stb0899_config *config,
147 struct i2c_adapter *i2c); 147 struct i2c_adapter *i2c);
diff --git a/drivers/media/dvb-frontends/stb6000.h b/drivers/media/dvb-frontends/stb6000.h
index a768189bfaad..da581b652cb9 100644
--- a/drivers/media/dvb-frontends/stb6000.h
+++ b/drivers/media/dvb-frontends/stb6000.h
@@ -35,7 +35,7 @@
35 * @param i2c i2c adapter to use. 35 * @param i2c i2c adapter to use.
36 * @return FE pointer on success, NULL on failure. 36 * @return FE pointer on success, NULL on failure.
37 */ 37 */
38#if IS_ENABLED(CONFIG_DVB_STB6000) 38#if IS_REACHABLE(CONFIG_DVB_STB6000)
39extern struct dvb_frontend *stb6000_attach(struct dvb_frontend *fe, int addr, 39extern struct dvb_frontend *stb6000_attach(struct dvb_frontend *fe, int addr,
40 struct i2c_adapter *i2c); 40 struct i2c_adapter *i2c);
41#else 41#else
diff --git a/drivers/media/dvb-frontends/stb6100.h b/drivers/media/dvb-frontends/stb6100.h
index 3a1e40f3b8be..218c8188865d 100644
--- a/drivers/media/dvb-frontends/stb6100.h
+++ b/drivers/media/dvb-frontends/stb6100.h
@@ -94,7 +94,7 @@ struct stb6100_state {
94 u32 reference; 94 u32 reference;
95}; 95};
96 96
97#if IS_ENABLED(CONFIG_DVB_STB6100) 97#if IS_REACHABLE(CONFIG_DVB_STB6100)
98 98
99extern struct dvb_frontend *stb6100_attach(struct dvb_frontend *fe, 99extern struct dvb_frontend *stb6100_attach(struct dvb_frontend *fe,
100 const struct stb6100_config *config, 100 const struct stb6100_config *config,
diff --git a/drivers/media/dvb-frontends/stv0288.h b/drivers/media/dvb-frontends/stv0288.h
index a0bd93107154..b58603c00c80 100644
--- a/drivers/media/dvb-frontends/stv0288.h
+++ b/drivers/media/dvb-frontends/stv0288.h
@@ -43,7 +43,7 @@ struct stv0288_config {
43 int (*set_ts_params)(struct dvb_frontend *fe, int is_punctured); 43 int (*set_ts_params)(struct dvb_frontend *fe, int is_punctured);
44}; 44};
45 45
46#if IS_ENABLED(CONFIG_DVB_STV0288) 46#if IS_REACHABLE(CONFIG_DVB_STV0288)
47extern struct dvb_frontend *stv0288_attach(const struct stv0288_config *config, 47extern struct dvb_frontend *stv0288_attach(const struct stv0288_config *config,
48 struct i2c_adapter *i2c); 48 struct i2c_adapter *i2c);
49#else 49#else
diff --git a/drivers/media/dvb-frontends/stv0297.h b/drivers/media/dvb-frontends/stv0297.h
index c8ff3639ce00..b30632a67333 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 IS_ENABLED(CONFIG_DVB_STV0297) 45#if IS_REACHABLE(CONFIG_DVB_STV0297)
46extern struct dvb_frontend* stv0297_attach(const struct stv0297_config* config, 46extern 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 06f70fc8327b..0aca30a8ec25 100644
--- a/drivers/media/dvb-frontends/stv0299.h
+++ b/drivers/media/dvb-frontends/stv0299.h
@@ -95,7 +95,7 @@ struct stv0299_config
95 int (*set_ts_params)(struct dvb_frontend *fe, int is_punctured); 95 int (*set_ts_params)(struct dvb_frontend *fe, int is_punctured);
96}; 96};
97 97
98#if IS_ENABLED(CONFIG_DVB_STV0299) 98#if IS_REACHABLE(CONFIG_DVB_STV0299)
99extern struct dvb_frontend *stv0299_attach(const struct stv0299_config *config, 99extern struct dvb_frontend *stv0299_attach(const struct stv0299_config *config,
100 struct i2c_adapter *i2c); 100 struct i2c_adapter *i2c);
101#else 101#else
diff --git a/drivers/media/dvb-frontends/stv0367.h b/drivers/media/dvb-frontends/stv0367.h
index ea80b341f094..92b3e85fb818 100644
--- a/drivers/media/dvb-frontends/stv0367.h
+++ b/drivers/media/dvb-frontends/stv0367.h
@@ -39,7 +39,7 @@ struct stv0367_config {
39 int clk_pol; 39 int clk_pol;
40}; 40};
41 41
42#if IS_ENABLED(CONFIG_DVB_STV0367) 42#if IS_REACHABLE(CONFIG_DVB_STV0367)
43extern struct 43extern struct
44dvb_frontend *stv0367ter_attach(const struct stv0367_config *config, 44dvb_frontend *stv0367ter_attach(const struct stv0367_config *config,
45 struct i2c_adapter *i2c); 45 struct i2c_adapter *i2c);
diff --git a/drivers/media/dvb-frontends/stv0900.h b/drivers/media/dvb-frontends/stv0900.h
index e2a6dc69ecb4..c90bf00ea9ce 100644
--- a/drivers/media/dvb-frontends/stv0900.h
+++ b/drivers/media/dvb-frontends/stv0900.h
@@ -58,7 +58,7 @@ struct stv0900_config {
58 void (*set_lock_led)(struct dvb_frontend *fe, int offon); 58 void (*set_lock_led)(struct dvb_frontend *fe, int offon);
59}; 59};
60 60
61#if IS_ENABLED(CONFIG_DVB_STV0900) 61#if IS_REACHABLE(CONFIG_DVB_STV0900)
62extern struct dvb_frontend *stv0900_attach(const struct stv0900_config *config, 62extern struct dvb_frontend *stv0900_attach(const struct stv0900_config *config,
63 struct i2c_adapter *i2c, int demod); 63 struct i2c_adapter *i2c, int demod);
64#else 64#else
diff --git a/drivers/media/dvb-frontends/stv090x.h b/drivers/media/dvb-frontends/stv090x.h
index 742eeda99000..012e55e5032e 100644
--- a/drivers/media/dvb-frontends/stv090x.h
+++ b/drivers/media/dvb-frontends/stv090x.h
@@ -107,7 +107,7 @@ struct stv090x_config {
107 u8 xor_value); 107 u8 xor_value);
108}; 108};
109 109
110#if IS_ENABLED(CONFIG_DVB_STV090x) 110#if IS_REACHABLE(CONFIG_DVB_STV090x)
111 111
112struct dvb_frontend *stv090x_attach(struct stv090x_config *config, 112struct dvb_frontend *stv090x_attach(struct stv090x_config *config,
113 struct i2c_adapter *i2c, 113 struct i2c_adapter *i2c,
diff --git a/drivers/media/dvb-frontends/stv6110.h b/drivers/media/dvb-frontends/stv6110.h
index 8fa07e6a6745..f3c8a5c6b77d 100644
--- a/drivers/media/dvb-frontends/stv6110.h
+++ b/drivers/media/dvb-frontends/stv6110.h
@@ -46,7 +46,7 @@ struct stv6110_config {
46 u8 clk_div; /* divisor value for the output clock */ 46 u8 clk_div; /* divisor value for the output clock */
47}; 47};
48 48
49#if IS_ENABLED(CONFIG_DVB_STV6110) 49#if IS_REACHABLE(CONFIG_DVB_STV6110)
50extern struct dvb_frontend *stv6110_attach(struct dvb_frontend *fe, 50extern struct dvb_frontend *stv6110_attach(struct dvb_frontend *fe,
51 const struct stv6110_config *config, 51 const struct stv6110_config *config,
52 struct i2c_adapter *i2c); 52 struct i2c_adapter *i2c);
diff --git a/drivers/media/dvb-frontends/stv6110x.h b/drivers/media/dvb-frontends/stv6110x.h
index bc4766db29c5..9f7eb251aec3 100644
--- a/drivers/media/dvb-frontends/stv6110x.h
+++ b/drivers/media/dvb-frontends/stv6110x.h
@@ -53,7 +53,7 @@ struct stv6110x_devctl {
53}; 53};
54 54
55 55
56#if IS_ENABLED(CONFIG_DVB_STV6110x) 56#if IS_REACHABLE(CONFIG_DVB_STV6110x)
57 57
58extern struct stv6110x_devctl *stv6110x_attach(struct dvb_frontend *fe, 58extern struct stv6110x_devctl *stv6110x_attach(struct dvb_frontend *fe,
59 const struct stv6110x_config *config, 59 const struct stv6110x_config *config,
diff --git a/drivers/media/dvb-frontends/tda1002x.h b/drivers/media/dvb-frontends/tda1002x.h
index e404b6e44802..0d334613de1b 100644
--- a/drivers/media/dvb-frontends/tda1002x.h
+++ b/drivers/media/dvb-frontends/tda1002x.h
@@ -57,7 +57,7 @@ struct tda10023_config {
57 u16 deltaf; 57 u16 deltaf;
58}; 58};
59 59
60#if IS_ENABLED(CONFIG_DVB_TDA10021) 60#if IS_REACHABLE(CONFIG_DVB_TDA10021)
61extern struct dvb_frontend* tda10021_attach(const struct tda1002x_config* config, 61extern struct dvb_frontend* tda10021_attach(const struct tda1002x_config* config,
62 struct i2c_adapter* i2c, u8 pwm); 62 struct i2c_adapter* i2c, u8 pwm);
63#else 63#else
@@ -69,7 +69,7 @@ static inline struct dvb_frontend* tda10021_attach(const struct tda1002x_config*
69} 69}
70#endif // CONFIG_DVB_TDA10021 70#endif // CONFIG_DVB_TDA10021
71 71
72#if IS_ENABLED(CONFIG_DVB_TDA10023) 72#if IS_REACHABLE(CONFIG_DVB_TDA10023)
73extern struct dvb_frontend *tda10023_attach( 73extern struct dvb_frontend *tda10023_attach(
74 const struct tda10023_config *config, 74 const struct tda10023_config *config,
75 struct i2c_adapter *i2c, u8 pwm); 75 struct i2c_adapter *i2c, u8 pwm);
diff --git a/drivers/media/dvb-frontends/tda10048.h b/drivers/media/dvb-frontends/tda10048.h
index 5e7bf4e47cb3..bc77a7311de1 100644
--- a/drivers/media/dvb-frontends/tda10048.h
+++ b/drivers/media/dvb-frontends/tda10048.h
@@ -73,7 +73,7 @@ struct tda10048_config {
73 u8 pll_n; 73 u8 pll_n;
74}; 74};
75 75
76#if IS_ENABLED(CONFIG_DVB_TDA10048) 76#if IS_REACHABLE(CONFIG_DVB_TDA10048)
77extern struct dvb_frontend *tda10048_attach( 77extern struct dvb_frontend *tda10048_attach(
78 const struct tda10048_config *config, 78 const struct tda10048_config *config,
79 struct i2c_adapter *i2c); 79 struct i2c_adapter *i2c);
diff --git a/drivers/media/dvb-frontends/tda1004x.h b/drivers/media/dvb-frontends/tda1004x.h
index dd283fbb61c0..efd7659dace9 100644
--- a/drivers/media/dvb-frontends/tda1004x.h
+++ b/drivers/media/dvb-frontends/tda1004x.h
@@ -117,7 +117,7 @@ struct tda1004x_state {
117 enum tda1004x_demod demod_type; 117 enum tda1004x_demod demod_type;
118}; 118};
119 119
120#if IS_ENABLED(CONFIG_DVB_TDA1004X) 120#if IS_REACHABLE(CONFIG_DVB_TDA1004X)
121extern struct dvb_frontend* tda10045_attach(const struct tda1004x_config* config, 121extern struct dvb_frontend* tda10045_attach(const struct tda1004x_config* config,
122 struct i2c_adapter* i2c); 122 struct i2c_adapter* i2c);
123 123
diff --git a/drivers/media/dvb-frontends/tda10071.h b/drivers/media/dvb-frontends/tda10071.h
index 331b5a819383..da89f4249846 100644
--- a/drivers/media/dvb-frontends/tda10071.h
+++ b/drivers/media/dvb-frontends/tda10071.h
@@ -72,7 +72,7 @@ struct tda10071_config {
72}; 72};
73 73
74 74
75#if IS_ENABLED(CONFIG_DVB_TDA10071) 75#if IS_REACHABLE(CONFIG_DVB_TDA10071)
76extern struct dvb_frontend *tda10071_attach( 76extern struct dvb_frontend *tda10071_attach(
77 const struct tda10071_config *config, struct i2c_adapter *i2c); 77 const struct tda10071_config *config, struct i2c_adapter *i2c);
78#else 78#else
diff --git a/drivers/media/dvb-frontends/tda10086.h b/drivers/media/dvb-frontends/tda10086.h
index 458fe91c1b88..690e469995b6 100644
--- a/drivers/media/dvb-frontends/tda10086.h
+++ b/drivers/media/dvb-frontends/tda10086.h
@@ -46,7 +46,7 @@ struct tda10086_config
46 enum tda10086_xtal xtal_freq; 46 enum tda10086_xtal xtal_freq;
47}; 47};
48 48
49#if IS_ENABLED(CONFIG_DVB_TDA10086) 49#if IS_REACHABLE(CONFIG_DVB_TDA10086)
50extern struct dvb_frontend* tda10086_attach(const struct tda10086_config* config, 50extern struct dvb_frontend* tda10086_attach(const struct tda10086_config* config,
51 struct i2c_adapter* i2c); 51 struct i2c_adapter* i2c);
52#else 52#else
diff --git a/drivers/media/dvb-frontends/tda18271c2dd.h b/drivers/media/dvb-frontends/tda18271c2dd.h
index dd84f7b69bec..7ebd8eaff4eb 100644
--- a/drivers/media/dvb-frontends/tda18271c2dd.h
+++ b/drivers/media/dvb-frontends/tda18271c2dd.h
@@ -3,7 +3,7 @@
3 3
4#include <linux/kconfig.h> 4#include <linux/kconfig.h>
5 5
6#if IS_ENABLED(CONFIG_DVB_TDA18271C2DD) 6#if IS_REACHABLE(CONFIG_DVB_TDA18271C2DD)
7struct dvb_frontend *tda18271c2dd_attach(struct dvb_frontend *fe, 7struct dvb_frontend *tda18271c2dd_attach(struct dvb_frontend *fe,
8 struct i2c_adapter *i2c, u8 adr); 8 struct i2c_adapter *i2c, u8 adr);
9#else 9#else
diff --git a/drivers/media/dvb-frontends/tda665x.h b/drivers/media/dvb-frontends/tda665x.h
index 03a0da6d5cf2..baf520baa42e 100644
--- a/drivers/media/dvb-frontends/tda665x.h
+++ b/drivers/media/dvb-frontends/tda665x.h
@@ -31,7 +31,7 @@ struct tda665x_config {
31 u32 ref_divider; 31 u32 ref_divider;
32}; 32};
33 33
34#if IS_ENABLED(CONFIG_DVB_TDA665x) 34#if IS_REACHABLE(CONFIG_DVB_TDA665x)
35 35
36extern struct dvb_frontend *tda665x_attach(struct dvb_frontend *fe, 36extern struct dvb_frontend *tda665x_attach(struct dvb_frontend *fe,
37 const struct tda665x_config *config, 37 const struct tda665x_config *config,
diff --git a/drivers/media/dvb-frontends/tda8083.h b/drivers/media/dvb-frontends/tda8083.h
index de6b1860dfdd..46be06fa7e0d 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 IS_ENABLED(CONFIG_DVB_TDA8083) 38#if IS_REACHABLE(CONFIG_DVB_TDA8083)
39extern struct dvb_frontend* tda8083_attach(const struct tda8083_config* config, 39extern 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/tda8261.h b/drivers/media/dvb-frontends/tda8261.h
index 55cf4ffcbfdf..9fa5b3076d5b 100644
--- a/drivers/media/dvb-frontends/tda8261.h
+++ b/drivers/media/dvb-frontends/tda8261.h
@@ -34,7 +34,7 @@ struct tda8261_config {
34 enum tda8261_step step_size; 34 enum tda8261_step step_size;
35}; 35};
36 36
37#if IS_ENABLED(CONFIG_DVB_TDA8261) 37#if IS_REACHABLE(CONFIG_DVB_TDA8261)
38 38
39extern struct dvb_frontend *tda8261_attach(struct dvb_frontend *fe, 39extern struct dvb_frontend *tda8261_attach(struct dvb_frontend *fe,
40 const struct tda8261_config *config, 40 const struct tda8261_config *config,
diff --git a/drivers/media/dvb-frontends/tda826x.h b/drivers/media/dvb-frontends/tda826x.h
index 5f0f20e7e4f8..81abe1aebe9f 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 IS_ENABLED(CONFIG_DVB_TDA826X) 38#if IS_REACHABLE(CONFIG_DVB_TDA826X)
39extern struct dvb_frontend* tda826x_attach(struct dvb_frontend *fe, int addr, 39extern 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/ts2020.h b/drivers/media/dvb-frontends/ts2020.h
index 8a08dccc217f..1714af94eca2 100644
--- a/drivers/media/dvb-frontends/ts2020.h
+++ b/drivers/media/dvb-frontends/ts2020.h
@@ -54,7 +54,7 @@ struct ts2020_config {
54 struct dvb_frontend *fe; 54 struct dvb_frontend *fe;
55}; 55};
56 56
57#if IS_ENABLED(CONFIG_DVB_TS2020) 57#if IS_REACHABLE(CONFIG_DVB_TS2020)
58 58
59extern struct dvb_frontend *ts2020_attach( 59extern struct dvb_frontend *ts2020_attach(
60 struct dvb_frontend *fe, 60 struct dvb_frontend *fe,
diff --git a/drivers/media/dvb-frontends/tua6100.h b/drivers/media/dvb-frontends/tua6100.h
index 83a9c30e67ca..52919e04e258 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 IS_ENABLED(CONFIG_DVB_TUA6100) 37#if IS_REACHABLE(CONFIG_DVB_TUA6100)
38extern struct dvb_frontend *tua6100_attach(struct dvb_frontend *fe, int addr, struct i2c_adapter *i2c); 38extern struct dvb_frontend *tua6100_attach(struct dvb_frontend *fe, int addr, struct i2c_adapter *i2c);
39#else 39#else
40static inline struct dvb_frontend* tua6100_attach(struct dvb_frontend *fe, int addr, struct i2c_adapter *i2c) 40static 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 c073f353ac38..ece46fdcd714 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 IS_ENABLED(CONFIG_DVB_VES1820) 44#if IS_REACHABLE(CONFIG_DVB_VES1820)
45extern struct dvb_frontend* ves1820_attach(const struct ves1820_config* config, 45extern 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 2307caea6aec..4510fe2f6676 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 IS_ENABLED(CONFIG_DVB_VES1X93) 43#if IS_REACHABLE(CONFIG_DVB_VES1X93)
44extern struct dvb_frontend* ves1x93_attach(const struct ves1x93_config* config, 44extern 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/zl10036.h b/drivers/media/dvb-frontends/zl10036.h
index 5f1e8217eeb6..670e76a654ee 100644
--- a/drivers/media/dvb-frontends/zl10036.h
+++ b/drivers/media/dvb-frontends/zl10036.h
@@ -38,7 +38,7 @@ struct zl10036_config {
38 int rf_loop_enable; 38 int rf_loop_enable;
39}; 39};
40 40
41#if IS_ENABLED(CONFIG_DVB_ZL10036) 41#if IS_REACHABLE(CONFIG_DVB_ZL10036)
42extern struct dvb_frontend *zl10036_attach(struct dvb_frontend *fe, 42extern struct dvb_frontend *zl10036_attach(struct dvb_frontend *fe,
43 const struct zl10036_config *config, struct i2c_adapter *i2c); 43 const struct zl10036_config *config, struct i2c_adapter *i2c);
44#else 44#else
diff --git a/drivers/media/dvb-frontends/zl10039.h b/drivers/media/dvb-frontends/zl10039.h
index 750b9bca9d02..070929444e71 100644
--- a/drivers/media/dvb-frontends/zl10039.h
+++ b/drivers/media/dvb-frontends/zl10039.h
@@ -24,7 +24,7 @@
24 24
25#include <linux/kconfig.h> 25#include <linux/kconfig.h>
26 26
27#if IS_ENABLED(CONFIG_DVB_ZL10039) 27#if IS_REACHABLE(CONFIG_DVB_ZL10039)
28struct dvb_frontend *zl10039_attach(struct dvb_frontend *fe, 28struct dvb_frontend *zl10039_attach(struct dvb_frontend *fe,
29 u8 i2c_addr, 29 u8 i2c_addr,
30 struct i2c_adapter *i2c); 30 struct i2c_adapter *i2c);
diff --git a/drivers/media/dvb-frontends/zl10353.h b/drivers/media/dvb-frontends/zl10353.h
index 50c1004aef36..37aa6e8f454a 100644
--- a/drivers/media/dvb-frontends/zl10353.h
+++ b/drivers/media/dvb-frontends/zl10353.h
@@ -47,7 +47,7 @@ struct zl10353_config
47 u8 pll_0; /* default: 0x15 */ 47 u8 pll_0; /* default: 0x15 */
48}; 48};
49 49
50#if IS_ENABLED(CONFIG_DVB_ZL10353) 50#if IS_REACHABLE(CONFIG_DVB_ZL10353)
51extern struct dvb_frontend* zl10353_attach(const struct zl10353_config *config, 51extern struct dvb_frontend* zl10353_attach(const struct zl10353_config *config,
52 struct i2c_adapter *i2c); 52 struct i2c_adapter *i2c);
53#else 53#else
diff --git a/drivers/media/pci/cx23885/altera-ci.h b/drivers/media/pci/cx23885/altera-ci.h
index 5028f0cf83f4..6c511723fd1b 100644
--- a/drivers/media/pci/cx23885/altera-ci.h
+++ b/drivers/media/pci/cx23885/altera-ci.h
@@ -39,7 +39,7 @@ struct altera_ci_config {
39 int (*fpga_rw) (void *dev, int ad_rg, int val, int rw); 39 int (*fpga_rw) (void *dev, int ad_rg, int val, int rw);
40}; 40};
41 41
42#if IS_ENABLED(CONFIG_MEDIA_ALTERA_CI) 42#if IS_REACHABLE(CONFIG_MEDIA_ALTERA_CI)
43 43
44extern int altera_ci_init(struct altera_ci_config *config, int ci_nr); 44extern int altera_ci_init(struct altera_ci_config *config, int ci_nr);
45extern void altera_ci_release(void *dev, int ci_nr); 45extern void altera_ci_release(void *dev, int ci_nr);
diff --git a/drivers/media/tuners/fc0011.h b/drivers/media/tuners/fc0011.h
index 43ec893a6877..81bb568d6943 100644
--- a/drivers/media/tuners/fc0011.h
+++ b/drivers/media/tuners/fc0011.h
@@ -23,7 +23,7 @@ enum fc0011_fe_callback_commands {
23 FC0011_FE_CALLBACK_RESET, 23 FC0011_FE_CALLBACK_RESET,
24}; 24};
25 25
26#if IS_ENABLED(CONFIG_MEDIA_TUNER_FC0011) 26#if IS_REACHABLE(CONFIG_MEDIA_TUNER_FC0011)
27struct dvb_frontend *fc0011_attach(struct dvb_frontend *fe, 27struct dvb_frontend *fc0011_attach(struct dvb_frontend *fe,
28 struct i2c_adapter *i2c, 28 struct i2c_adapter *i2c,
29 const struct fc0011_config *config); 29 const struct fc0011_config *config);
diff --git a/drivers/media/tuners/fc0012.h b/drivers/media/tuners/fc0012.h
index 1d08057e3275..9ad32859bab0 100644
--- a/drivers/media/tuners/fc0012.h
+++ b/drivers/media/tuners/fc0012.h
@@ -49,7 +49,7 @@ struct fc0012_config {
49 bool clock_out; 49 bool clock_out;
50}; 50};
51 51
52#if IS_ENABLED(CONFIG_MEDIA_TUNER_FC0012) 52#if IS_REACHABLE(CONFIG_MEDIA_TUNER_FC0012)
53extern struct dvb_frontend *fc0012_attach(struct dvb_frontend *fe, 53extern struct dvb_frontend *fc0012_attach(struct dvb_frontend *fe,
54 struct i2c_adapter *i2c, 54 struct i2c_adapter *i2c,
55 const struct fc0012_config *cfg); 55 const struct fc0012_config *cfg);
diff --git a/drivers/media/tuners/fc0013.h b/drivers/media/tuners/fc0013.h
index d65d5b37f56e..e130bd7a3230 100644
--- a/drivers/media/tuners/fc0013.h
+++ b/drivers/media/tuners/fc0013.h
@@ -26,7 +26,7 @@
26#include "dvb_frontend.h" 26#include "dvb_frontend.h"
27#include "fc001x-common.h" 27#include "fc001x-common.h"
28 28
29#if IS_ENABLED(CONFIG_MEDIA_TUNER_FC0013) 29#if IS_REACHABLE(CONFIG_MEDIA_TUNER_FC0013)
30extern struct dvb_frontend *fc0013_attach(struct dvb_frontend *fe, 30extern struct dvb_frontend *fc0013_attach(struct dvb_frontend *fe,
31 struct i2c_adapter *i2c, 31 struct i2c_adapter *i2c,
32 u8 i2c_address, int dual_master, 32 u8 i2c_address, int dual_master,
diff --git a/drivers/media/tuners/fc2580.h b/drivers/media/tuners/fc2580.h
index 9c43c1cc82d9..b1ce6770f88e 100644
--- a/drivers/media/tuners/fc2580.h
+++ b/drivers/media/tuners/fc2580.h
@@ -37,7 +37,7 @@ struct fc2580_config {
37 u32 clock; 37 u32 clock;
38}; 38};
39 39
40#if IS_ENABLED(CONFIG_MEDIA_TUNER_FC2580) 40#if IS_REACHABLE(CONFIG_MEDIA_TUNER_FC2580)
41extern struct dvb_frontend *fc2580_attach(struct dvb_frontend *fe, 41extern struct dvb_frontend *fc2580_attach(struct dvb_frontend *fe,
42 struct i2c_adapter *i2c, const struct fc2580_config *cfg); 42 struct i2c_adapter *i2c, const struct fc2580_config *cfg);
43#else 43#else
diff --git a/drivers/media/tuners/max2165.h b/drivers/media/tuners/max2165.h
index 26e1dc64bb67..5054f01a78fb 100644
--- a/drivers/media/tuners/max2165.h
+++ b/drivers/media/tuners/max2165.h
@@ -32,7 +32,7 @@ struct max2165_config {
32 u8 osc_clk; /* in MHz, selectable values: 4,16,18,20,22,24,26,28 */ 32 u8 osc_clk; /* in MHz, selectable values: 4,16,18,20,22,24,26,28 */
33}; 33};
34 34
35#if IS_ENABLED(CONFIG_MEDIA_TUNER_MAX2165) 35#if IS_REACHABLE(CONFIG_MEDIA_TUNER_MAX2165)
36extern struct dvb_frontend *max2165_attach(struct dvb_frontend *fe, 36extern struct dvb_frontend *max2165_attach(struct dvb_frontend *fe,
37 struct i2c_adapter *i2c, 37 struct i2c_adapter *i2c,
38 struct max2165_config *cfg); 38 struct max2165_config *cfg);
diff --git a/drivers/media/tuners/mc44s803.h b/drivers/media/tuners/mc44s803.h
index 9aae50aca2b7..b3e614be657d 100644
--- a/drivers/media/tuners/mc44s803.h
+++ b/drivers/media/tuners/mc44s803.h
@@ -32,7 +32,7 @@ struct mc44s803_config {
32 u8 dig_out; 32 u8 dig_out;
33}; 33};
34 34
35#if IS_ENABLED(CONFIG_MEDIA_TUNER_MC44S803) 35#if IS_REACHABLE(CONFIG_MEDIA_TUNER_MC44S803)
36extern struct dvb_frontend *mc44s803_attach(struct dvb_frontend *fe, 36extern struct dvb_frontend *mc44s803_attach(struct dvb_frontend *fe,
37 struct i2c_adapter *i2c, struct mc44s803_config *cfg); 37 struct i2c_adapter *i2c, struct mc44s803_config *cfg);
38#else 38#else
diff --git a/drivers/media/tuners/mt2060.h b/drivers/media/tuners/mt2060.h
index c64fc19cb278..6efed359a24f 100644
--- a/drivers/media/tuners/mt2060.h
+++ b/drivers/media/tuners/mt2060.h
@@ -30,7 +30,7 @@ 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 IS_ENABLED(CONFIG_MEDIA_TUNER_MT2060) 33#if IS_REACHABLE(CONFIG_MEDIA_TUNER_MT2060)
34extern struct dvb_frontend * mt2060_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2060_config *cfg, u16 if1); 34extern struct dvb_frontend * mt2060_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2060_config *cfg, u16 if1);
35#else 35#else
36static inline struct dvb_frontend * mt2060_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2060_config *cfg, u16 if1) 36static inline struct dvb_frontend * mt2060_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2060_config *cfg, u16 if1)
diff --git a/drivers/media/tuners/mt2063.h b/drivers/media/tuners/mt2063.h
index e1acfc8e7ae3..e55e0a6dd1be 100644
--- a/drivers/media/tuners/mt2063.h
+++ b/drivers/media/tuners/mt2063.h
@@ -8,7 +8,7 @@ struct mt2063_config {
8 u32 refclock; 8 u32 refclock;
9}; 9};
10 10
11#if IS_ENABLED(CONFIG_MEDIA_TUNER_MT2063) 11#if IS_REACHABLE(CONFIG_MEDIA_TUNER_MT2063)
12struct dvb_frontend *mt2063_attach(struct dvb_frontend *fe, 12struct dvb_frontend *mt2063_attach(struct dvb_frontend *fe,
13 struct mt2063_config *config, 13 struct mt2063_config *config,
14 struct i2c_adapter *i2c); 14 struct i2c_adapter *i2c);
diff --git a/drivers/media/tuners/mt20xx.h b/drivers/media/tuners/mt20xx.h
index f56241ccaa00..9912362b415e 100644
--- a/drivers/media/tuners/mt20xx.h
+++ b/drivers/media/tuners/mt20xx.h
@@ -20,7 +20,7 @@
20#include <linux/i2c.h> 20#include <linux/i2c.h>
21#include "dvb_frontend.h" 21#include "dvb_frontend.h"
22 22
23#if IS_ENABLED(CONFIG_MEDIA_TUNER_MT20XX) 23#if IS_REACHABLE(CONFIG_MEDIA_TUNER_MT20XX)
24extern struct dvb_frontend *microtune_attach(struct dvb_frontend *fe, 24extern struct dvb_frontend *microtune_attach(struct dvb_frontend *fe,
25 struct i2c_adapter* i2c_adap, 25 struct i2c_adapter* i2c_adap,
26 u8 i2c_addr); 26 u8 i2c_addr);
diff --git a/drivers/media/tuners/mt2131.h b/drivers/media/tuners/mt2131.h
index 837c854b9c65..8267a6ae5d84 100644
--- a/drivers/media/tuners/mt2131.h
+++ b/drivers/media/tuners/mt2131.h
@@ -30,7 +30,7 @@ struct mt2131_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 IS_ENABLED(CONFIG_MEDIA_TUNER_MT2131) 33#if IS_REACHABLE(CONFIG_MEDIA_TUNER_MT2131)
34extern struct dvb_frontend* mt2131_attach(struct dvb_frontend *fe, 34extern struct dvb_frontend* mt2131_attach(struct dvb_frontend *fe,
35 struct i2c_adapter *i2c, 35 struct i2c_adapter *i2c,
36 struct mt2131_config *cfg, 36 struct mt2131_config *cfg,
diff --git a/drivers/media/tuners/mt2266.h b/drivers/media/tuners/mt2266.h
index fad6dd657d77..69abefa18c37 100644
--- a/drivers/media/tuners/mt2266.h
+++ b/drivers/media/tuners/mt2266.h
@@ -24,7 +24,7 @@ struct mt2266_config {
24 u8 i2c_address; 24 u8 i2c_address;
25}; 25};
26 26
27#if IS_ENABLED(CONFIG_MEDIA_TUNER_MT2266) 27#if IS_REACHABLE(CONFIG_MEDIA_TUNER_MT2266)
28extern struct dvb_frontend * mt2266_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2266_config *cfg); 28extern struct dvb_frontend * mt2266_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2266_config *cfg);
29#else 29#else
30static inline struct dvb_frontend * mt2266_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2266_config *cfg) 30static inline struct dvb_frontend * mt2266_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2266_config *cfg)
diff --git a/drivers/media/tuners/mxl5005s.h b/drivers/media/tuners/mxl5005s.h
index ae8db885ad87..5764b12c5c7c 100644
--- a/drivers/media/tuners/mxl5005s.h
+++ b/drivers/media/tuners/mxl5005s.h
@@ -118,7 +118,7 @@ struct mxl5005s_config {
118 u8 AgcMasterByte; 118 u8 AgcMasterByte;
119}; 119};
120 120
121#if IS_ENABLED(CONFIG_MEDIA_TUNER_MXL5005S) 121#if IS_REACHABLE(CONFIG_MEDIA_TUNER_MXL5005S)
122extern struct dvb_frontend *mxl5005s_attach(struct dvb_frontend *fe, 122extern struct dvb_frontend *mxl5005s_attach(struct dvb_frontend *fe,
123 struct i2c_adapter *i2c, 123 struct i2c_adapter *i2c,
124 struct mxl5005s_config *config); 124 struct mxl5005s_config *config);
diff --git a/drivers/media/tuners/mxl5007t.h b/drivers/media/tuners/mxl5007t.h
index ae7037d681c5..e786d1f23ff1 100644
--- a/drivers/media/tuners/mxl5007t.h
+++ b/drivers/media/tuners/mxl5007t.h
@@ -77,7 +77,7 @@ struct mxl5007t_config {
77 unsigned int clk_out_enable:1; 77 unsigned int clk_out_enable:1;
78}; 78};
79 79
80#if IS_ENABLED(CONFIG_MEDIA_TUNER_MXL5007T) 80#if IS_REACHABLE(CONFIG_MEDIA_TUNER_MXL5007T)
81extern struct dvb_frontend *mxl5007t_attach(struct dvb_frontend *fe, 81extern struct dvb_frontend *mxl5007t_attach(struct dvb_frontend *fe,
82 struct i2c_adapter *i2c, u8 addr, 82 struct i2c_adapter *i2c, u8 addr,
83 struct mxl5007t_config *cfg); 83 struct mxl5007t_config *cfg);
diff --git a/drivers/media/tuners/qt1010.h b/drivers/media/tuners/qt1010.h
index 8ab5d479749f..e3198f23437c 100644
--- a/drivers/media/tuners/qt1010.h
+++ b/drivers/media/tuners/qt1010.h
@@ -36,7 +36,7 @@ struct qt1010_config {
36 * @param cfg tuner hw based configuration 36 * @param cfg tuner hw based configuration
37 * @return fe pointer on success, NULL on failure 37 * @return fe pointer on success, NULL on failure
38 */ 38 */
39#if IS_ENABLED(CONFIG_MEDIA_TUNER_QT1010) 39#if IS_REACHABLE(CONFIG_MEDIA_TUNER_QT1010)
40extern struct dvb_frontend *qt1010_attach(struct dvb_frontend *fe, 40extern struct dvb_frontend *qt1010_attach(struct dvb_frontend *fe,
41 struct i2c_adapter *i2c, 41 struct i2c_adapter *i2c,
42 struct qt1010_config *cfg); 42 struct qt1010_config *cfg);
diff --git a/drivers/media/tuners/r820t.h b/drivers/media/tuners/r820t.h
index 48af3548027d..b1e5661af1c7 100644
--- a/drivers/media/tuners/r820t.h
+++ b/drivers/media/tuners/r820t.h
@@ -42,7 +42,7 @@ struct r820t_config {
42 bool use_predetect; 42 bool use_predetect;
43}; 43};
44 44
45#if IS_ENABLED(CONFIG_MEDIA_TUNER_R820T) 45#if IS_REACHABLE(CONFIG_MEDIA_TUNER_R820T)
46struct dvb_frontend *r820t_attach(struct dvb_frontend *fe, 46struct dvb_frontend *r820t_attach(struct dvb_frontend *fe,
47 struct i2c_adapter *i2c, 47 struct i2c_adapter *i2c,
48 const struct r820t_config *cfg); 48 const struct r820t_config *cfg);
diff --git a/drivers/media/tuners/tda18218.h b/drivers/media/tuners/tda18218.h
index 366410e0cc9a..1eacb4f84e93 100644
--- a/drivers/media/tuners/tda18218.h
+++ b/drivers/media/tuners/tda18218.h
@@ -30,7 +30,7 @@ struct tda18218_config {
30 u8 loop_through:1; 30 u8 loop_through:1;
31}; 31};
32 32
33#if IS_ENABLED(CONFIG_MEDIA_TUNER_TDA18218) 33#if IS_REACHABLE(CONFIG_MEDIA_TUNER_TDA18218)
34extern struct dvb_frontend *tda18218_attach(struct dvb_frontend *fe, 34extern struct dvb_frontend *tda18218_attach(struct dvb_frontend *fe,
35 struct i2c_adapter *i2c, struct tda18218_config *cfg); 35 struct i2c_adapter *i2c, struct tda18218_config *cfg);
36#else 36#else
diff --git a/drivers/media/tuners/tda18271.h b/drivers/media/tuners/tda18271.h
index 4c418d63f540..0a846333ce57 100644
--- a/drivers/media/tuners/tda18271.h
+++ b/drivers/media/tuners/tda18271.h
@@ -121,7 +121,7 @@ enum tda18271_mode {
121 TDA18271_DIGITAL, 121 TDA18271_DIGITAL,
122}; 122};
123 123
124#if IS_ENABLED(CONFIG_MEDIA_TUNER_TDA18271) 124#if IS_REACHABLE(CONFIG_MEDIA_TUNER_TDA18271)
125extern struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe, u8 addr, 125extern struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe, u8 addr,
126 struct i2c_adapter *i2c, 126 struct i2c_adapter *i2c,
127 struct tda18271_config *cfg); 127 struct tda18271_config *cfg);
diff --git a/drivers/media/tuners/tda827x.h b/drivers/media/tuners/tda827x.h
index b64292152baf..abf2e2fe5350 100644
--- a/drivers/media/tuners/tda827x.h
+++ b/drivers/media/tuners/tda827x.h
@@ -51,7 +51,7 @@ struct tda827x_config
51 * @param cfg optional callback function pointers. 51 * @param cfg optional callback function pointers.
52 * @return FE pointer on success, NULL on failure. 52 * @return FE pointer on success, NULL on failure.
53 */ 53 */
54#if IS_ENABLED(CONFIG_MEDIA_TUNER_TDA827X) 54#if IS_REACHABLE(CONFIG_MEDIA_TUNER_TDA827X)
55extern struct dvb_frontend* tda827x_attach(struct dvb_frontend *fe, int addr, 55extern struct dvb_frontend* tda827x_attach(struct dvb_frontend *fe, int addr,
56 struct i2c_adapter *i2c, 56 struct i2c_adapter *i2c,
57 struct tda827x_config *cfg); 57 struct tda827x_config *cfg);
diff --git a/drivers/media/tuners/tda8290.h b/drivers/media/tuners/tda8290.h
index cf96e585785e..901b8cac7105 100644
--- a/drivers/media/tuners/tda8290.h
+++ b/drivers/media/tuners/tda8290.h
@@ -38,7 +38,7 @@ struct tda829x_config {
38 struct tda18271_std_map *tda18271_std_map; 38 struct tda18271_std_map *tda18271_std_map;
39}; 39};
40 40
41#if IS_ENABLED(CONFIG_MEDIA_TUNER_TDA8290) 41#if IS_REACHABLE(CONFIG_MEDIA_TUNER_TDA8290)
42extern int tda829x_probe(struct i2c_adapter *i2c_adap, u8 i2c_addr); 42extern int tda829x_probe(struct i2c_adapter *i2c_adap, u8 i2c_addr);
43 43
44extern struct dvb_frontend *tda829x_attach(struct dvb_frontend *fe, 44extern struct dvb_frontend *tda829x_attach(struct dvb_frontend *fe,
diff --git a/drivers/media/tuners/tda9887.h b/drivers/media/tuners/tda9887.h
index 37a4a1123e0c..95070eca02ca 100644
--- a/drivers/media/tuners/tda9887.h
+++ b/drivers/media/tuners/tda9887.h
@@ -21,7 +21,7 @@
21#include "dvb_frontend.h" 21#include "dvb_frontend.h"
22 22
23/* ------------------------------------------------------------------------ */ 23/* ------------------------------------------------------------------------ */
24#if IS_ENABLED(CONFIG_MEDIA_TUNER_TDA9887) 24#if IS_REACHABLE(CONFIG_MEDIA_TUNER_TDA9887)
25extern struct dvb_frontend *tda9887_attach(struct dvb_frontend *fe, 25extern struct dvb_frontend *tda9887_attach(struct dvb_frontend *fe,
26 struct i2c_adapter *i2c_adap, 26 struct i2c_adapter *i2c_adap,
27 u8 i2c_addr); 27 u8 i2c_addr);
diff --git a/drivers/media/tuners/tea5761.h b/drivers/media/tuners/tea5761.h
index 933228ffb509..2d624d9919e3 100644
--- a/drivers/media/tuners/tea5761.h
+++ b/drivers/media/tuners/tea5761.h
@@ -20,7 +20,7 @@
20#include <linux/i2c.h> 20#include <linux/i2c.h>
21#include "dvb_frontend.h" 21#include "dvb_frontend.h"
22 22
23#if IS_ENABLED(CONFIG_MEDIA_TUNER_TEA5761) 23#if IS_REACHABLE(CONFIG_MEDIA_TUNER_TEA5761)
24extern int tea5761_autodetection(struct i2c_adapter* i2c_adap, u8 i2c_addr); 24extern int tea5761_autodetection(struct i2c_adapter* i2c_adap, u8 i2c_addr);
25 25
26extern struct dvb_frontend *tea5761_attach(struct dvb_frontend *fe, 26extern struct dvb_frontend *tea5761_attach(struct dvb_frontend *fe,
diff --git a/drivers/media/tuners/tea5767.h b/drivers/media/tuners/tea5767.h
index c39101199383..4f6f6c92db78 100644
--- a/drivers/media/tuners/tea5767.h
+++ b/drivers/media/tuners/tea5767.h
@@ -39,7 +39,7 @@ struct tea5767_ctrl {
39 enum tea5767_xtal xtal_freq; 39 enum tea5767_xtal xtal_freq;
40}; 40};
41 41
42#if IS_ENABLED(CONFIG_MEDIA_TUNER_TEA5767) 42#if IS_REACHABLE(CONFIG_MEDIA_TUNER_TEA5767)
43extern int tea5767_autodetection(struct i2c_adapter* i2c_adap, u8 i2c_addr); 43extern int tea5767_autodetection(struct i2c_adapter* i2c_adap, u8 i2c_addr);
44 44
45extern struct dvb_frontend *tea5767_attach(struct dvb_frontend *fe, 45extern struct dvb_frontend *tea5767_attach(struct dvb_frontend *fe,
diff --git a/drivers/media/tuners/tua9001.h b/drivers/media/tuners/tua9001.h
index 26358da1c100..2c3375c7aeb9 100644
--- a/drivers/media/tuners/tua9001.h
+++ b/drivers/media/tuners/tua9001.h
@@ -51,7 +51,7 @@ struct tua9001_config {
51#define TUA9001_CMD_RESETN 1 51#define TUA9001_CMD_RESETN 1
52#define TUA9001_CMD_RXEN 2 52#define TUA9001_CMD_RXEN 2
53 53
54#if IS_ENABLED(CONFIG_MEDIA_TUNER_TUA9001) 54#if IS_REACHABLE(CONFIG_MEDIA_TUNER_TUA9001)
55extern struct dvb_frontend *tua9001_attach(struct dvb_frontend *fe, 55extern struct dvb_frontend *tua9001_attach(struct dvb_frontend *fe,
56 struct i2c_adapter *i2c, struct tua9001_config *cfg); 56 struct i2c_adapter *i2c, struct tua9001_config *cfg);
57#else 57#else
diff --git a/drivers/media/tuners/tuner-simple.h b/drivers/media/tuners/tuner-simple.h
index ffd12cfe650b..6399b45b0590 100644
--- a/drivers/media/tuners/tuner-simple.h
+++ b/drivers/media/tuners/tuner-simple.h
@@ -20,7 +20,7 @@
20#include <linux/i2c.h> 20#include <linux/i2c.h>
21#include "dvb_frontend.h" 21#include "dvb_frontend.h"
22 22
23#if IS_ENABLED(CONFIG_MEDIA_TUNER_SIMPLE) 23#if IS_REACHABLE(CONFIG_MEDIA_TUNER_SIMPLE)
24extern struct dvb_frontend *simple_tuner_attach(struct dvb_frontend *fe, 24extern struct dvb_frontend *simple_tuner_attach(struct dvb_frontend *fe,
25 struct i2c_adapter *i2c_adap, 25 struct i2c_adapter *i2c_adap,
26 u8 i2c_addr, 26 u8 i2c_addr,
diff --git a/drivers/media/tuners/tuner-xc2028.h b/drivers/media/tuners/tuner-xc2028.h
index 181d087faec4..98e4effca896 100644
--- a/drivers/media/tuners/tuner-xc2028.h
+++ b/drivers/media/tuners/tuner-xc2028.h
@@ -56,7 +56,7 @@ struct xc2028_config {
56#define XC2028_RESET_CLK 1 56#define XC2028_RESET_CLK 1
57#define XC2028_I2C_FLUSH 2 57#define XC2028_I2C_FLUSH 2
58 58
59#if IS_ENABLED(CONFIG_MEDIA_TUNER_XC2028) 59#if IS_REACHABLE(CONFIG_MEDIA_TUNER_XC2028)
60extern struct dvb_frontend *xc2028_attach(struct dvb_frontend *fe, 60extern struct dvb_frontend *xc2028_attach(struct dvb_frontend *fe,
61 struct xc2028_config *cfg); 61 struct xc2028_config *cfg);
62#else 62#else
diff --git a/drivers/media/tuners/xc4000.h b/drivers/media/tuners/xc4000.h
index 97c23de5296c..40517860cf67 100644
--- a/drivers/media/tuners/xc4000.h
+++ b/drivers/media/tuners/xc4000.h
@@ -50,7 +50,7 @@ struct xc4000_config {
50 * it's passed back to a bridge during tuner_callback(). 50 * it's passed back to a bridge during tuner_callback().
51 */ 51 */
52 52
53#if IS_ENABLED(CONFIG_MEDIA_TUNER_XC4000) 53#if IS_REACHABLE(CONFIG_MEDIA_TUNER_XC4000)
54extern struct dvb_frontend *xc4000_attach(struct dvb_frontend *fe, 54extern struct dvb_frontend *xc4000_attach(struct dvb_frontend *fe,
55 struct i2c_adapter *i2c, 55 struct i2c_adapter *i2c,
56 struct xc4000_config *cfg); 56 struct xc4000_config *cfg);
diff --git a/drivers/media/tuners/xc5000.h b/drivers/media/tuners/xc5000.h
index 6aa534f17a30..00ba29e21fb9 100644
--- a/drivers/media/tuners/xc5000.h
+++ b/drivers/media/tuners/xc5000.h
@@ -58,7 +58,7 @@ struct xc5000_config {
58 * it's passed back to a bridge during tuner_callback(). 58 * it's passed back to a bridge during tuner_callback().
59 */ 59 */
60 60
61#if IS_ENABLED(CONFIG_MEDIA_TUNER_XC5000) 61#if IS_REACHABLE(CONFIG_MEDIA_TUNER_XC5000)
62extern struct dvb_frontend *xc5000_attach(struct dvb_frontend *fe, 62extern struct dvb_frontend *xc5000_attach(struct dvb_frontend *fe,
63 struct i2c_adapter *i2c, 63 struct i2c_adapter *i2c,
64 const struct xc5000_config *cfg); 64 const struct xc5000_config *cfg);