Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[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>

authored by

Arnd Bergmann and committed by
Mauro Carvalho Chehab
9b174527 a87a4d34

+125 -116
+1 -1
drivers/media/dvb-frontends/a8293.h
··· 27 27 u8 i2c_addr; 28 28 }; 29 29 30 - #if IS_ENABLED(CONFIG_DVB_A8293) 30 + #if IS_REACHABLE(CONFIG_DVB_A8293) 31 31 extern struct dvb_frontend *a8293_attach(struct dvb_frontend *fe, 32 32 struct i2c_adapter *i2c, const struct a8293_config *cfg); 33 33 #else
+1 -1
drivers/media/dvb-frontends/af9013.h
··· 103 103 u8 gpio[4]; 104 104 }; 105 105 106 - #if IS_ENABLED(CONFIG_DVB_AF9013) 106 + #if IS_REACHABLE(CONFIG_DVB_AF9013) 107 107 extern struct dvb_frontend *af9013_attach(const struct af9013_config *config, 108 108 struct i2c_adapter *i2c); 109 109 #else
+1 -1
drivers/media/dvb-frontends/atbm8830.h
··· 61 61 u8 agc_hold_loop; 62 62 }; 63 63 64 - #if IS_ENABLED(CONFIG_DVB_ATBM8830) 64 + #if IS_REACHABLE(CONFIG_DVB_ATBM8830) 65 65 extern struct dvb_frontend *atbm8830_attach(const struct atbm8830_config *config, 66 66 struct i2c_adapter *i2c); 67 67 #else
+1 -1
drivers/media/dvb-frontends/au8522.h
··· 61 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) 65 65 extern struct dvb_frontend *au8522_attach(const struct au8522_config *config, 66 66 struct i2c_adapter *i2c); 67 67 #else
+1 -1
drivers/media/dvb-frontends/bcm3510.h
··· 34 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) 38 38 extern struct dvb_frontend* bcm3510_attach(const struct bcm3510_config* config, 39 39 struct i2c_adapter* i2c); 40 40 #else
+1 -1
drivers/media/dvb-frontends/cx22700.h
··· 31 31 u8 demod_address; 32 32 }; 33 33 34 - #if IS_ENABLED(CONFIG_DVB_CX22700) 34 + #if IS_REACHABLE(CONFIG_DVB_CX22700) 35 35 extern struct dvb_frontend* cx22700_attach(const struct cx22700_config* config, 36 36 struct i2c_adapter* i2c); 37 37 #else
+1 -1
drivers/media/dvb-frontends/cx22702.h
··· 41 41 u8 output_mode; 42 42 }; 43 43 44 - #if IS_ENABLED(CONFIG_DVB_CX22702) 44 + #if IS_REACHABLE(CONFIG_DVB_CX22702) 45 45 extern struct dvb_frontend *cx22702_attach( 46 46 const struct cx22702_config *config, 47 47 struct i2c_adapter *i2c);
+1 -1
drivers/media/dvb-frontends/cx24110.h
··· 46 46 return 0; 47 47 } 48 48 49 - #if IS_ENABLED(CONFIG_DVB_CX24110) 49 + #if IS_REACHABLE(CONFIG_DVB_CX24110) 50 50 extern struct dvb_frontend* cx24110_attach(const struct cx24110_config* config, 51 51 struct i2c_adapter* i2c); 52 52 #else
+1 -1
drivers/media/dvb-frontends/cx24113.h
··· 32 32 u32 xtal_khz; 33 33 }; 34 34 35 - #if IS_ENABLED(CONFIG_DVB_TUNER_CX24113) 35 + #if IS_REACHABLE(CONFIG_DVB_TUNER_CX24113) 36 36 extern struct dvb_frontend *cx24113_attach(struct dvb_frontend *, 37 37 const struct cx24113_config *config, struct i2c_adapter *i2c); 38 38
+1 -1
drivers/media/dvb-frontends/cx24116.h
··· 41 41 u16 i2c_wr_max; 42 42 }; 43 43 44 - #if IS_ENABLED(CONFIG_DVB_CX24116) 44 + #if IS_REACHABLE(CONFIG_DVB_CX24116) 45 45 extern struct dvb_frontend *cx24116_attach( 46 46 const struct cx24116_config *config, 47 47 struct i2c_adapter *i2c);
+1 -1
drivers/media/dvb-frontends/cx24117.h
··· 30 30 u8 demod_address; 31 31 }; 32 32 33 - #if IS_ENABLED(CONFIG_DVB_CX24117) 33 + #if IS_REACHABLE(CONFIG_DVB_CX24117) 34 34 extern struct dvb_frontend *cx24117_attach( 35 35 const struct cx24117_config *config, 36 36 struct i2c_adapter *i2c);
+1 -1
drivers/media/dvb-frontends/cx24123.h
··· 39 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) 43 43 extern struct dvb_frontend *cx24123_attach(const struct cx24123_config *config, 44 44 struct i2c_adapter *i2c); 45 45 extern struct i2c_adapter *cx24123_get_tuner_i2c_adapter(struct dvb_frontend *);
+1 -1
drivers/media/dvb-frontends/cxd2820r.h
··· 72 72 }; 73 73 74 74 75 - #if IS_ENABLED(CONFIG_DVB_CXD2820R) 75 + #if IS_REACHABLE(CONFIG_DVB_CXD2820R) 76 76 extern struct dvb_frontend *cxd2820r_attach( 77 77 const struct cxd2820r_config *config, 78 78 struct i2c_adapter *i2c,
+1 -1
drivers/media/dvb-frontends/dib0070.h
··· 48 48 u8 vga_filter; 49 49 }; 50 50 51 - #if IS_ENABLED(CONFIG_DVB_TUNER_DIB0070) 51 + #if IS_REACHABLE(CONFIG_DVB_TUNER_DIB0070) 52 52 extern struct dvb_frontend *dib0070_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct dib0070_config *cfg); 53 53 extern u16 dib0070_wbd_offset(struct dvb_frontend *); 54 54 extern void dib0070_ctrl_agc_filter(struct dvb_frontend *, u8 open);
+1 -1
drivers/media/dvb-frontends/dib0090.h
··· 75 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) 79 79 extern struct dvb_frontend *dib0090_register(struct dvb_frontend *fe, struct i2c_adapter *i2c, const struct dib0090_config *config); 80 80 extern struct dvb_frontend *dib0090_fw_register(struct dvb_frontend *fe, struct i2c_adapter *i2c, const struct dib0090_config *config); 81 81 extern void dib0090_dcc_freq(struct dvb_frontend *fe, u8 fast);
+1 -1
drivers/media/dvb-frontends/dib3000.h
··· 41 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) 45 45 extern struct dvb_frontend* dib3000mb_attach(const struct dib3000_config* config, 46 46 struct i2c_adapter* i2c, struct dib_fe_xfer_ops *xfer_ops); 47 47 #else
+1 -1
drivers/media/dvb-frontends/dib3000mc.h
··· 41 41 #define DEFAULT_DIB3000MC_I2C_ADDRESS 16 42 42 #define DEFAULT_DIB3000P_I2C_ADDRESS 24 43 43 44 - #if IS_ENABLED(CONFIG_DVB_DIB3000MC) 44 + #if IS_REACHABLE(CONFIG_DVB_DIB3000MC) 45 45 extern struct dvb_frontend *dib3000mc_attach(struct i2c_adapter *i2c_adap, 46 46 u8 i2c_addr, 47 47 struct dib3000mc_config *cfg);
+1 -1
drivers/media/dvb-frontends/dib7000m.h
··· 40 40 41 41 #define DEFAULT_DIB7000M_I2C_ADDRESS 18 42 42 43 - #if IS_ENABLED(CONFIG_DVB_DIB7000M) 43 + #if IS_REACHABLE(CONFIG_DVB_DIB7000M) 44 44 extern struct dvb_frontend *dib7000m_attach(struct i2c_adapter *i2c_adap, 45 45 u8 i2c_addr, 46 46 struct dib7000m_config *cfg);
+1 -1
drivers/media/dvb-frontends/dib7000p.h
··· 66 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) 70 70 void *dib7000p_attach(struct dib7000p_ops *ops); 71 71 #else 72 72 static inline void *dib7000p_attach(struct dib7000p_ops *ops)
+1 -1
drivers/media/dvb-frontends/dib8000.h
··· 63 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) 67 67 void *dib8000_attach(struct dib8000_ops *ops); 68 68 #else 69 69 static inline int dib8000_attach(struct dib8000_ops *ops)
+1 -1
drivers/media/dvb-frontends/dib9000.h
··· 27 27 28 28 #define DEFAULT_DIB9000_I2C_ADDRESS 18 29 29 30 - #if IS_ENABLED(CONFIG_DVB_DIB9000) 30 + #if IS_REACHABLE(CONFIG_DVB_DIB9000) 31 31 extern struct dvb_frontend *dib9000_attach(struct i2c_adapter *i2c_adap, u8 i2c_addr, const struct dib9000_config *cfg); 32 32 extern int dib9000_i2c_enumeration(struct i2c_adapter *host, int no_of_demods, u8 default_addr, u8 first_addr); 33 33 extern struct i2c_adapter *dib9000_get_tuner_interface(struct dvb_frontend *fe);
+1 -1
drivers/media/dvb-frontends/drxd.h
··· 52 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) 56 56 extern 57 57 struct dvb_frontend *drxd_attach(const struct drxd_config *config, 58 58 void *priv, struct i2c_adapter *i2c,
+1 -1
drivers/media/dvb-frontends/drxk.h
··· 51 51 int qam_demod_parameter_count; 52 52 }; 53 53 54 - #if IS_ENABLED(CONFIG_DVB_DRXK) 54 + #if IS_REACHABLE(CONFIG_DVB_DRXK) 55 55 extern struct dvb_frontend *drxk_attach(const struct drxk_config *config, 56 56 struct i2c_adapter *i2c); 57 57 #else
+1 -1
drivers/media/dvb-frontends/ds3000.h
··· 35 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) 39 39 extern struct dvb_frontend *ds3000_attach(const struct ds3000_config *config, 40 40 struct i2c_adapter *i2c); 41 41 #else
+1 -1
drivers/media/dvb-frontends/dvb-pll.h
··· 38 38 * @param pll_desc_id dvb_pll_desc to use. 39 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) 42 42 extern struct dvb_frontend *dvb_pll_attach(struct dvb_frontend *fe, 43 43 int pll_addr, 44 44 struct i2c_adapter *i2c,
+1 -1
drivers/media/dvb-frontends/dvb_dummy_fe.h
··· 26 26 #include <linux/dvb/frontend.h> 27 27 #include "dvb_frontend.h" 28 28 29 - #if IS_ENABLED(CONFIG_DVB_DUMMY_FE) 29 + #if IS_REACHABLE(CONFIG_DVB_DUMMY_FE) 30 30 extern struct dvb_frontend* dvb_dummy_fe_ofdm_attach(void); 31 31 extern struct dvb_frontend* dvb_dummy_fe_qpsk_attach(void); 32 32 extern struct dvb_frontend* dvb_dummy_fe_qam_attach(void);
+1 -1
drivers/media/dvb-frontends/ec100.h
··· 31 31 }; 32 32 33 33 34 - #if IS_ENABLED(CONFIG_DVB_EC100) 34 + #if IS_REACHABLE(CONFIG_DVB_EC100) 35 35 extern struct dvb_frontend *ec100_attach(const struct ec100_config *config, 36 36 struct i2c_adapter *i2c); 37 37 #else
+1 -1
drivers/media/dvb-frontends/hd29l2.h
··· 51 51 }; 52 52 53 53 54 - #if IS_ENABLED(CONFIG_DVB_HD29L2) 54 + #if IS_REACHABLE(CONFIG_DVB_HD29L2) 55 55 extern struct dvb_frontend *hd29l2_attach(const struct hd29l2_config *config, 56 56 struct i2c_adapter *i2c); 57 57 #else
+1 -1
drivers/media/dvb-frontends/isl6405.h
··· 55 55 #define ISL6405_ENT2 0x20 56 56 #define ISL6405_ISEL2 0x40 57 57 58 - #if IS_ENABLED(CONFIG_DVB_ISL6405) 58 + #if IS_REACHABLE(CONFIG_DVB_ISL6405) 59 59 /* override_set and override_clear control which system register bits (above) 60 60 * to always set & clear 61 61 */
+1 -1
drivers/media/dvb-frontends/isl6421.h
··· 39 39 #define ISL6421_ISEL1 0x20 40 40 #define ISL6421_DCL 0x40 41 41 42 - #if IS_ENABLED(CONFIG_DVB_ISL6421) 42 + #if IS_REACHABLE(CONFIG_DVB_ISL6421) 43 43 /* override_set and override_clear control which system register bits (above) to always set & clear */ 44 44 extern struct dvb_frontend *isl6421_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, u8 i2c_addr, 45 45 u8 override_set, u8 override_clear, bool override_tone);
+1 -1
drivers/media/dvb-frontends/isl6423.h
··· 42 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 48 48 extern struct dvb_frontend *isl6423_attach(struct dvb_frontend *fe,
+1 -1
drivers/media/dvb-frontends/itd1000.h
··· 29 29 u8 i2c_address; 30 30 }; 31 31 32 - #if IS_ENABLED(CONFIG_DVB_TUNER_ITD1000) 32 + #if IS_REACHABLE(CONFIG_DVB_TUNER_ITD1000) 33 33 extern struct dvb_frontend *itd1000_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct itd1000_config *cfg); 34 34 #else 35 35 static inline struct dvb_frontend *itd1000_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct itd1000_config *cfg)
+1 -1
drivers/media/dvb-frontends/ix2505v.h
··· 49 49 50 50 }; 51 51 52 - #if IS_ENABLED(CONFIG_DVB_IX2505V) 52 + #if IS_REACHABLE(CONFIG_DVB_IX2505V) 53 53 extern struct dvb_frontend *ix2505v_attach(struct dvb_frontend *fe, 54 54 const struct ix2505v_config *config, struct i2c_adapter *i2c); 55 55 #else
+1 -1
drivers/media/dvb-frontends/l64781.h
··· 31 31 u8 demod_address; 32 32 }; 33 33 34 - #if IS_ENABLED(CONFIG_DVB_L64781) 34 + #if IS_REACHABLE(CONFIG_DVB_L64781) 35 35 extern struct dvb_frontend* l64781_attach(const struct l64781_config* config, 36 36 struct i2c_adapter* i2c); 37 37 #else
+1 -1
drivers/media/dvb-frontends/lg2160.h
··· 67 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) 71 71 extern 72 72 struct dvb_frontend *lg2160_attach(const struct lg2160_config *config, 73 73 struct i2c_adapter *i2c_adap);
+1 -1
drivers/media/dvb-frontends/lgdt3305.h
··· 80 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) 84 84 extern 85 85 struct dvb_frontend *lgdt3305_attach(const struct lgdt3305_config *config, 86 86 struct i2c_adapter *i2c_adap);
+1 -1
drivers/media/dvb-frontends/lgdt330x.h
··· 52 52 int clock_polarity_flip; 53 53 }; 54 54 55 - #if IS_ENABLED(CONFIG_DVB_LGDT330X) 55 + #if IS_REACHABLE(CONFIG_DVB_LGDT330X) 56 56 extern struct dvb_frontend* lgdt330x_attach(const struct lgdt330x_config* config, 57 57 struct i2c_adapter* i2c); 58 58 #else
+1 -1
drivers/media/dvb-frontends/lgs8gl5.h
··· 31 31 u8 demod_address; 32 32 }; 33 33 34 - #if IS_ENABLED(CONFIG_DVB_LGS8GL5) 34 + #if IS_REACHABLE(CONFIG_DVB_LGS8GL5) 35 35 extern struct dvb_frontend *lgs8gl5_attach( 36 36 const struct lgs8gl5_config *config, struct i2c_adapter *i2c); 37 37 #else
+1 -1
drivers/media/dvb-frontends/lgs8gxx.h
··· 80 80 u8 tuner_address; 81 81 }; 82 82 83 - #if IS_ENABLED(CONFIG_DVB_LGS8GXX) 83 + #if IS_REACHABLE(CONFIG_DVB_LGS8GXX) 84 84 extern struct dvb_frontend *lgs8gxx_attach(const struct lgs8gxx_config *config, 85 85 struct i2c_adapter *i2c); 86 86 #else
+1 -1
drivers/media/dvb-frontends/lnbh24.h
··· 37 37 38 38 #include <linux/dvb/frontend.h> 39 39 40 - #if IS_ENABLED(CONFIG_DVB_LNBP21) 40 + #if IS_REACHABLE(CONFIG_DVB_LNBP21) 41 41 /* override_set and override_clear control which 42 42 system register bits (above) to always set & clear */ 43 43 extern struct dvb_frontend *lnbh24_attach(struct dvb_frontend *fe,
+1 -1
drivers/media/dvb-frontends/lnbp21.h
··· 57 57 58 58 #include <linux/dvb/frontend.h> 59 59 60 - #if IS_ENABLED(CONFIG_DVB_LNBP21) 60 + #if IS_REACHABLE(CONFIG_DVB_LNBP21) 61 61 /* override_set and override_clear control which 62 62 system register bits (above) to always set & clear */ 63 63 extern struct dvb_frontend *lnbp21_attach(struct dvb_frontend *fe,
+1 -1
drivers/media/dvb-frontends/lnbp22.h
··· 39 39 40 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 44 * override_set and override_clear control which system register bits (above) 45 45 * to always set & clear
+1 -1
drivers/media/dvb-frontends/m88rs2000.h
··· 41 41 CALL_IS_READ, 42 42 }; 43 43 44 - #if IS_ENABLED(CONFIG_DVB_M88RS2000) 44 + #if IS_REACHABLE(CONFIG_DVB_M88RS2000) 45 45 extern struct dvb_frontend *m88rs2000_attach( 46 46 const struct m88rs2000_config *config, struct i2c_adapter *i2c); 47 47 #else
+1 -1
drivers/media/dvb-frontends/mb86a16.h
··· 33 33 34 34 35 35 36 - #if IS_ENABLED(CONFIG_DVB_MB86A16) 36 + #if IS_REACHABLE(CONFIG_DVB_MB86A16) 37 37 38 38 extern struct dvb_frontend *mb86a16_attach(const struct mb86a16_config *config, 39 39 struct i2c_adapter *i2c_adap);
+1 -1
drivers/media/dvb-frontends/mb86a20s.h
··· 34 34 bool is_serial; 35 35 }; 36 36 37 - #if IS_ENABLED(CONFIG_DVB_MB86A20S) 37 + #if IS_REACHABLE(CONFIG_DVB_MB86A20S) 38 38 extern struct dvb_frontend *mb86a20s_attach(const struct mb86a20s_config *config, 39 39 struct i2c_adapter *i2c); 40 40 extern struct i2c_adapter *mb86a20s_get_tuner_i2c_adapter(struct dvb_frontend *);
+1 -1
drivers/media/dvb-frontends/mt312.h
··· 36 36 unsigned int voltage_inverted:1; 37 37 }; 38 38 39 - #if IS_ENABLED(CONFIG_DVB_MT312) 39 + #if IS_REACHABLE(CONFIG_DVB_MT312) 40 40 struct dvb_frontend *mt312_attach(const struct mt312_config *config, 41 41 struct i2c_adapter *i2c); 42 42 #else
+1 -1
drivers/media/dvb-frontends/mt352.h
··· 51 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) 55 55 extern struct dvb_frontend* mt352_attach(const struct mt352_config* config, 56 56 struct i2c_adapter* i2c); 57 57 #else
+1 -1
drivers/media/dvb-frontends/nxt200x.h
··· 42 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) 46 46 extern struct dvb_frontend* nxt200x_attach(const struct nxt200x_config* config, 47 47 struct i2c_adapter* i2c); 48 48 #else
+1 -1
drivers/media/dvb-frontends/nxt6000.h
··· 33 33 u8 clock_inversion:1; 34 34 }; 35 35 36 - #if IS_ENABLED(CONFIG_DVB_NXT6000) 36 + #if IS_REACHABLE(CONFIG_DVB_NXT6000) 37 37 extern struct dvb_frontend* nxt6000_attach(const struct nxt6000_config* config, 38 38 struct i2c_adapter* i2c); 39 39 #else
+1 -1
drivers/media/dvb-frontends/or51132.h
··· 34 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) 38 38 extern struct dvb_frontend* or51132_attach(const struct or51132_config* config, 39 39 struct i2c_adapter* i2c); 40 40 #else
+1 -1
drivers/media/dvb-frontends/or51211.h
··· 37 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) 41 41 extern struct dvb_frontend* or51211_attach(const struct or51211_config* config, 42 42 struct i2c_adapter* i2c); 43 43 #else
+1 -1
drivers/media/dvb-frontends/s5h1409.h
··· 67 67 u8 hvr1600_opt; 68 68 }; 69 69 70 - #if IS_ENABLED(CONFIG_DVB_S5H1409) 70 + #if IS_REACHABLE(CONFIG_DVB_S5H1409) 71 71 extern struct dvb_frontend *s5h1409_attach(const struct s5h1409_config *config, 72 72 struct i2c_adapter *i2c); 73 73 #else
+1 -1
drivers/media/dvb-frontends/s5h1411.h
··· 69 69 u8 status_mode; 70 70 }; 71 71 72 - #if IS_ENABLED(CONFIG_DVB_S5H1411) 72 + #if IS_REACHABLE(CONFIG_DVB_S5H1411) 73 73 extern struct dvb_frontend *s5h1411_attach(const struct s5h1411_config *config, 74 74 struct i2c_adapter *i2c); 75 75 #else
+1 -1
drivers/media/dvb-frontends/s5h1420.h
··· 40 40 u8 serial_mpeg:1; 41 41 }; 42 42 43 - #if IS_ENABLED(CONFIG_DVB_S5H1420) 43 + #if IS_REACHABLE(CONFIG_DVB_S5H1420) 44 44 extern struct dvb_frontend *s5h1420_attach(const struct s5h1420_config *config, 45 45 struct i2c_adapter *i2c); 46 46 extern struct i2c_adapter *s5h1420_get_tuner_i2c_adapter(struct dvb_frontend *fe);
+1 -1
drivers/media/dvb-frontends/s5h1432.h
··· 75 75 u8 status_mode; 76 76 }; 77 77 78 - #if IS_ENABLED(CONFIG_DVB_S5H1432) 78 + #if IS_REACHABLE(CONFIG_DVB_S5H1432) 79 79 extern struct dvb_frontend *s5h1432_attach(const struct s5h1432_config *config, 80 80 struct i2c_adapter *i2c); 81 81 #else
+1 -1
drivers/media/dvb-frontends/s921.h
··· 25 25 u8 demod_address; 26 26 }; 27 27 28 - #if IS_ENABLED(CONFIG_DVB_S921) 28 + #if IS_REACHABLE(CONFIG_DVB_S921) 29 29 extern struct dvb_frontend *s921_attach(const struct s921_config *config, 30 30 struct i2c_adapter *i2c); 31 31 extern struct i2c_adapter *s921_get_tuner_i2c_adapter(struct dvb_frontend *);
+1 -1
drivers/media/dvb-frontends/si21xx.h
··· 13 13 int min_delay_ms; 14 14 }; 15 15 16 - #if IS_ENABLED(CONFIG_DVB_SI21XX) 16 + #if IS_REACHABLE(CONFIG_DVB_SI21XX) 17 17 extern struct dvb_frontend *si21xx_attach(const struct si21xx_config *config, 18 18 struct i2c_adapter *i2c); 19 19 #else
+1 -1
drivers/media/dvb-frontends/sp8870.h
··· 35 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) 39 39 extern struct dvb_frontend* sp8870_attach(const struct sp8870_config* config, 40 40 struct i2c_adapter* i2c); 41 41 #else
+1 -1
drivers/media/dvb-frontends/sp887x.h
··· 17 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) 21 21 extern struct dvb_frontend* sp887x_attach(const struct sp887x_config* config, 22 22 struct i2c_adapter* i2c); 23 23 #else
+1 -1
drivers/media/dvb-frontends/stb0899_drv.h
··· 141 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 146 146 extern struct dvb_frontend *stb0899_attach(struct stb0899_config *config, 147 147 struct i2c_adapter *i2c);
+1 -1
drivers/media/dvb-frontends/stb6000.h
··· 35 35 * @param i2c i2c adapter to use. 36 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) 39 39 extern struct dvb_frontend *stb6000_attach(struct dvb_frontend *fe, int addr, 40 40 struct i2c_adapter *i2c); 41 41 #else
+1 -1
drivers/media/dvb-frontends/stb6100.h
··· 94 94 u32 reference; 95 95 }; 96 96 97 - #if IS_ENABLED(CONFIG_DVB_STB6100) 97 + #if IS_REACHABLE(CONFIG_DVB_STB6100) 98 98 99 99 extern struct dvb_frontend *stb6100_attach(struct dvb_frontend *fe, 100 100 const struct stb6100_config *config,
+1 -1
drivers/media/dvb-frontends/stv0288.h
··· 43 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) 47 47 extern struct dvb_frontend *stv0288_attach(const struct stv0288_config *config, 48 48 struct i2c_adapter *i2c); 49 49 #else
+1 -1
drivers/media/dvb-frontends/stv0297.h
··· 42 42 u8 stop_during_read:1; 43 43 }; 44 44 45 - #if IS_ENABLED(CONFIG_DVB_STV0297) 45 + #if IS_REACHABLE(CONFIG_DVB_STV0297) 46 46 extern struct dvb_frontend* stv0297_attach(const struct stv0297_config* config, 47 47 struct i2c_adapter* i2c); 48 48 #else
+1 -1
drivers/media/dvb-frontends/stv0299.h
··· 95 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) 99 99 extern struct dvb_frontend *stv0299_attach(const struct stv0299_config *config, 100 100 struct i2c_adapter *i2c); 101 101 #else
+1 -1
drivers/media/dvb-frontends/stv0367.h
··· 39 39 int clk_pol; 40 40 }; 41 41 42 - #if IS_ENABLED(CONFIG_DVB_STV0367) 42 + #if IS_REACHABLE(CONFIG_DVB_STV0367) 43 43 extern struct 44 44 dvb_frontend *stv0367ter_attach(const struct stv0367_config *config, 45 45 struct i2c_adapter *i2c);
+1 -1
drivers/media/dvb-frontends/stv0900.h
··· 58 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) 62 62 extern struct dvb_frontend *stv0900_attach(const struct stv0900_config *config, 63 63 struct i2c_adapter *i2c, int demod); 64 64 #else
+1 -1
drivers/media/dvb-frontends/stv090x.h
··· 107 107 u8 xor_value); 108 108 }; 109 109 110 - #if IS_ENABLED(CONFIG_DVB_STV090x) 110 + #if IS_REACHABLE(CONFIG_DVB_STV090x) 111 111 112 112 struct dvb_frontend *stv090x_attach(struct stv090x_config *config, 113 113 struct i2c_adapter *i2c,
+1 -1
drivers/media/dvb-frontends/stv6110.h
··· 46 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) 50 50 extern struct dvb_frontend *stv6110_attach(struct dvb_frontend *fe, 51 51 const struct stv6110_config *config, 52 52 struct i2c_adapter *i2c);
+1 -1
drivers/media/dvb-frontends/stv6110x.h
··· 53 53 }; 54 54 55 55 56 - #if IS_ENABLED(CONFIG_DVB_STV6110x) 56 + #if IS_REACHABLE(CONFIG_DVB_STV6110x) 57 57 58 58 extern struct stv6110x_devctl *stv6110x_attach(struct dvb_frontend *fe, 59 59 const struct stv6110x_config *config,
+2 -2
drivers/media/dvb-frontends/tda1002x.h
··· 57 57 u16 deltaf; 58 58 }; 59 59 60 - #if IS_ENABLED(CONFIG_DVB_TDA10021) 60 + #if IS_REACHABLE(CONFIG_DVB_TDA10021) 61 61 extern struct dvb_frontend* tda10021_attach(const struct tda1002x_config* config, 62 62 struct i2c_adapter* i2c, u8 pwm); 63 63 #else ··· 69 69 } 70 70 #endif // CONFIG_DVB_TDA10021 71 71 72 - #if IS_ENABLED(CONFIG_DVB_TDA10023) 72 + #if IS_REACHABLE(CONFIG_DVB_TDA10023) 73 73 extern struct dvb_frontend *tda10023_attach( 74 74 const struct tda10023_config *config, 75 75 struct i2c_adapter *i2c, u8 pwm);
+1 -1
drivers/media/dvb-frontends/tda10048.h
··· 73 73 u8 pll_n; 74 74 }; 75 75 76 - #if IS_ENABLED(CONFIG_DVB_TDA10048) 76 + #if IS_REACHABLE(CONFIG_DVB_TDA10048) 77 77 extern struct dvb_frontend *tda10048_attach( 78 78 const struct tda10048_config *config, 79 79 struct i2c_adapter *i2c);
+1 -1
drivers/media/dvb-frontends/tda1004x.h
··· 117 117 enum tda1004x_demod demod_type; 118 118 }; 119 119 120 - #if IS_ENABLED(CONFIG_DVB_TDA1004X) 120 + #if IS_REACHABLE(CONFIG_DVB_TDA1004X) 121 121 extern struct dvb_frontend* tda10045_attach(const struct tda1004x_config* config, 122 122 struct i2c_adapter* i2c); 123 123
+1 -1
drivers/media/dvb-frontends/tda10071.h
··· 72 72 }; 73 73 74 74 75 - #if IS_ENABLED(CONFIG_DVB_TDA10071) 75 + #if IS_REACHABLE(CONFIG_DVB_TDA10071) 76 76 extern struct dvb_frontend *tda10071_attach( 77 77 const struct tda10071_config *config, struct i2c_adapter *i2c); 78 78 #else
+1 -1
drivers/media/dvb-frontends/tda10086.h
··· 46 46 enum tda10086_xtal xtal_freq; 47 47 }; 48 48 49 - #if IS_ENABLED(CONFIG_DVB_TDA10086) 49 + #if IS_REACHABLE(CONFIG_DVB_TDA10086) 50 50 extern struct dvb_frontend* tda10086_attach(const struct tda10086_config* config, 51 51 struct i2c_adapter* i2c); 52 52 #else
+1 -1
drivers/media/dvb-frontends/tda18271c2dd.h
··· 3 3 4 4 #include <linux/kconfig.h> 5 5 6 - #if IS_ENABLED(CONFIG_DVB_TDA18271C2DD) 6 + #if IS_REACHABLE(CONFIG_DVB_TDA18271C2DD) 7 7 struct dvb_frontend *tda18271c2dd_attach(struct dvb_frontend *fe, 8 8 struct i2c_adapter *i2c, u8 adr); 9 9 #else
+1 -1
drivers/media/dvb-frontends/tda665x.h
··· 31 31 u32 ref_divider; 32 32 }; 33 33 34 - #if IS_ENABLED(CONFIG_DVB_TDA665x) 34 + #if IS_REACHABLE(CONFIG_DVB_TDA665x) 35 35 36 36 extern struct dvb_frontend *tda665x_attach(struct dvb_frontend *fe, 37 37 const struct tda665x_config *config,
+1 -1
drivers/media/dvb-frontends/tda8083.h
··· 35 35 u8 demod_address; 36 36 }; 37 37 38 - #if IS_ENABLED(CONFIG_DVB_TDA8083) 38 + #if IS_REACHABLE(CONFIG_DVB_TDA8083) 39 39 extern struct dvb_frontend* tda8083_attach(const struct tda8083_config* config, 40 40 struct i2c_adapter* i2c); 41 41 #else
+1 -1
drivers/media/dvb-frontends/tda8261.h
··· 34 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 39 39 extern struct dvb_frontend *tda8261_attach(struct dvb_frontend *fe, 40 40 const struct tda8261_config *config,
+1 -1
drivers/media/dvb-frontends/tda826x.h
··· 35 35 * @param has_loopthrough Set to 1 if the card has a loopthrough RF connector. 36 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) 39 39 extern struct dvb_frontend* tda826x_attach(struct dvb_frontend *fe, int addr, 40 40 struct i2c_adapter *i2c, 41 41 int has_loopthrough);
+1 -1
drivers/media/dvb-frontends/ts2020.h
··· 54 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 59 59 extern struct dvb_frontend *ts2020_attach( 60 60 struct dvb_frontend *fe,
+1 -1
drivers/media/dvb-frontends/tua6100.h
··· 34 34 #include <linux/i2c.h> 35 35 #include "dvb_frontend.h" 36 36 37 - #if IS_ENABLED(CONFIG_DVB_TUA6100) 37 + #if IS_REACHABLE(CONFIG_DVB_TUA6100) 38 38 extern struct dvb_frontend *tua6100_attach(struct dvb_frontend *fe, int addr, struct i2c_adapter *i2c); 39 39 #else 40 40 static inline struct dvb_frontend* tua6100_attach(struct dvb_frontend *fe, int addr, struct i2c_adapter *i2c)
+1 -1
drivers/media/dvb-frontends/ves1820.h
··· 41 41 u8 selagc:1; 42 42 }; 43 43 44 - #if IS_ENABLED(CONFIG_DVB_VES1820) 44 + #if IS_REACHABLE(CONFIG_DVB_VES1820) 45 45 extern struct dvb_frontend* ves1820_attach(const struct ves1820_config* config, 46 46 struct i2c_adapter* i2c, u8 pwm); 47 47 #else
+1 -1
drivers/media/dvb-frontends/ves1x93.h
··· 40 40 u8 invert_pwm:1; 41 41 }; 42 42 43 - #if IS_ENABLED(CONFIG_DVB_VES1X93) 43 + #if IS_REACHABLE(CONFIG_DVB_VES1X93) 44 44 extern struct dvb_frontend* ves1x93_attach(const struct ves1x93_config* config, 45 45 struct i2c_adapter* i2c); 46 46 #else
+1 -1
drivers/media/dvb-frontends/zl10036.h
··· 38 38 int rf_loop_enable; 39 39 }; 40 40 41 - #if IS_ENABLED(CONFIG_DVB_ZL10036) 41 + #if IS_REACHABLE(CONFIG_DVB_ZL10036) 42 42 extern struct dvb_frontend *zl10036_attach(struct dvb_frontend *fe, 43 43 const struct zl10036_config *config, struct i2c_adapter *i2c); 44 44 #else
+1 -1
drivers/media/dvb-frontends/zl10039.h
··· 24 24 25 25 #include <linux/kconfig.h> 26 26 27 - #if IS_ENABLED(CONFIG_DVB_ZL10039) 27 + #if IS_REACHABLE(CONFIG_DVB_ZL10039) 28 28 struct dvb_frontend *zl10039_attach(struct dvb_frontend *fe, 29 29 u8 i2c_addr, 30 30 struct i2c_adapter *i2c);
+1 -1
drivers/media/dvb-frontends/zl10353.h
··· 47 47 u8 pll_0; /* default: 0x15 */ 48 48 }; 49 49 50 - #if IS_ENABLED(CONFIG_DVB_ZL10353) 50 + #if IS_REACHABLE(CONFIG_DVB_ZL10353) 51 51 extern struct dvb_frontend* zl10353_attach(const struct zl10353_config *config, 52 52 struct i2c_adapter *i2c); 53 53 #else
+1 -1
drivers/media/pci/cx23885/altera-ci.h
··· 39 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 44 44 extern int altera_ci_init(struct altera_ci_config *config, int ci_nr); 45 45 extern void altera_ci_release(void *dev, int ci_nr);
+1 -1
drivers/media/tuners/fc0011.h
··· 23 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) 27 27 struct dvb_frontend *fc0011_attach(struct dvb_frontend *fe, 28 28 struct i2c_adapter *i2c, 29 29 const struct fc0011_config *config);
+1 -1
drivers/media/tuners/fc0012.h
··· 49 49 bool clock_out; 50 50 }; 51 51 52 - #if IS_ENABLED(CONFIG_MEDIA_TUNER_FC0012) 52 + #if IS_REACHABLE(CONFIG_MEDIA_TUNER_FC0012) 53 53 extern struct dvb_frontend *fc0012_attach(struct dvb_frontend *fe, 54 54 struct i2c_adapter *i2c, 55 55 const struct fc0012_config *cfg);
+1 -1
drivers/media/tuners/fc0013.h
··· 26 26 #include "dvb_frontend.h" 27 27 #include "fc001x-common.h" 28 28 29 - #if IS_ENABLED(CONFIG_MEDIA_TUNER_FC0013) 29 + #if IS_REACHABLE(CONFIG_MEDIA_TUNER_FC0013) 30 30 extern struct dvb_frontend *fc0013_attach(struct dvb_frontend *fe, 31 31 struct i2c_adapter *i2c, 32 32 u8 i2c_address, int dual_master,
+1 -1
drivers/media/tuners/fc2580.h
··· 37 37 u32 clock; 38 38 }; 39 39 40 - #if IS_ENABLED(CONFIG_MEDIA_TUNER_FC2580) 40 + #if IS_REACHABLE(CONFIG_MEDIA_TUNER_FC2580) 41 41 extern struct dvb_frontend *fc2580_attach(struct dvb_frontend *fe, 42 42 struct i2c_adapter *i2c, const struct fc2580_config *cfg); 43 43 #else
+1 -1
drivers/media/tuners/max2165.h
··· 32 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) 36 36 extern struct dvb_frontend *max2165_attach(struct dvb_frontend *fe, 37 37 struct i2c_adapter *i2c, 38 38 struct max2165_config *cfg);
+1 -1
drivers/media/tuners/mc44s803.h
··· 32 32 u8 dig_out; 33 33 }; 34 34 35 - #if IS_ENABLED(CONFIG_MEDIA_TUNER_MC44S803) 35 + #if IS_REACHABLE(CONFIG_MEDIA_TUNER_MC44S803) 36 36 extern struct dvb_frontend *mc44s803_attach(struct dvb_frontend *fe, 37 37 struct i2c_adapter *i2c, struct mc44s803_config *cfg); 38 38 #else
+1 -1
drivers/media/tuners/mt2060.h
··· 30 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) 34 34 extern struct dvb_frontend * mt2060_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2060_config *cfg, u16 if1); 35 35 #else 36 36 static inline struct dvb_frontend * mt2060_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2060_config *cfg, u16 if1)
+1 -1
drivers/media/tuners/mt2063.h
··· 8 8 u32 refclock; 9 9 }; 10 10 11 - #if IS_ENABLED(CONFIG_MEDIA_TUNER_MT2063) 11 + #if IS_REACHABLE(CONFIG_MEDIA_TUNER_MT2063) 12 12 struct dvb_frontend *mt2063_attach(struct dvb_frontend *fe, 13 13 struct mt2063_config *config, 14 14 struct i2c_adapter *i2c);
+1 -1
drivers/media/tuners/mt20xx.h
··· 20 20 #include <linux/i2c.h> 21 21 #include "dvb_frontend.h" 22 22 23 - #if IS_ENABLED(CONFIG_MEDIA_TUNER_MT20XX) 23 + #if IS_REACHABLE(CONFIG_MEDIA_TUNER_MT20XX) 24 24 extern struct dvb_frontend *microtune_attach(struct dvb_frontend *fe, 25 25 struct i2c_adapter* i2c_adap, 26 26 u8 i2c_addr);
+1 -1
drivers/media/tuners/mt2131.h
··· 30 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) 34 34 extern struct dvb_frontend* mt2131_attach(struct dvb_frontend *fe, 35 35 struct i2c_adapter *i2c, 36 36 struct mt2131_config *cfg,
+1 -1
drivers/media/tuners/mt2266.h
··· 24 24 u8 i2c_address; 25 25 }; 26 26 27 - #if IS_ENABLED(CONFIG_MEDIA_TUNER_MT2266) 27 + #if IS_REACHABLE(CONFIG_MEDIA_TUNER_MT2266) 28 28 extern struct dvb_frontend * mt2266_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2266_config *cfg); 29 29 #else 30 30 static inline struct dvb_frontend * mt2266_attach(struct dvb_frontend *fe, struct i2c_adapter *i2c, struct mt2266_config *cfg)
+1 -1
drivers/media/tuners/mxl5005s.h
··· 118 118 u8 AgcMasterByte; 119 119 }; 120 120 121 - #if IS_ENABLED(CONFIG_MEDIA_TUNER_MXL5005S) 121 + #if IS_REACHABLE(CONFIG_MEDIA_TUNER_MXL5005S) 122 122 extern struct dvb_frontend *mxl5005s_attach(struct dvb_frontend *fe, 123 123 struct i2c_adapter *i2c, 124 124 struct mxl5005s_config *config);
+1 -1
drivers/media/tuners/mxl5007t.h
··· 77 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) 81 81 extern struct dvb_frontend *mxl5007t_attach(struct dvb_frontend *fe, 82 82 struct i2c_adapter *i2c, u8 addr, 83 83 struct mxl5007t_config *cfg);
+1 -1
drivers/media/tuners/qt1010.h
··· 36 36 * @param cfg tuner hw based configuration 37 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) 40 40 extern struct dvb_frontend *qt1010_attach(struct dvb_frontend *fe, 41 41 struct i2c_adapter *i2c, 42 42 struct qt1010_config *cfg);
+1 -1
drivers/media/tuners/r820t.h
··· 42 42 bool use_predetect; 43 43 }; 44 44 45 - #if IS_ENABLED(CONFIG_MEDIA_TUNER_R820T) 45 + #if IS_REACHABLE(CONFIG_MEDIA_TUNER_R820T) 46 46 struct dvb_frontend *r820t_attach(struct dvb_frontend *fe, 47 47 struct i2c_adapter *i2c, 48 48 const struct r820t_config *cfg);
+1 -1
drivers/media/tuners/tda18218.h
··· 30 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) 34 34 extern struct dvb_frontend *tda18218_attach(struct dvb_frontend *fe, 35 35 struct i2c_adapter *i2c, struct tda18218_config *cfg); 36 36 #else
+1 -1
drivers/media/tuners/tda18271.h
··· 121 121 TDA18271_DIGITAL, 122 122 }; 123 123 124 - #if IS_ENABLED(CONFIG_MEDIA_TUNER_TDA18271) 124 + #if IS_REACHABLE(CONFIG_MEDIA_TUNER_TDA18271) 125 125 extern struct dvb_frontend *tda18271_attach(struct dvb_frontend *fe, u8 addr, 126 126 struct i2c_adapter *i2c, 127 127 struct tda18271_config *cfg);
+1 -1
drivers/media/tuners/tda827x.h
··· 51 51 * @param cfg optional callback function pointers. 52 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) 55 55 extern struct dvb_frontend* tda827x_attach(struct dvb_frontend *fe, int addr, 56 56 struct i2c_adapter *i2c, 57 57 struct tda827x_config *cfg);
+1 -1
drivers/media/tuners/tda8290.h
··· 38 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) 42 42 extern int tda829x_probe(struct i2c_adapter *i2c_adap, u8 i2c_addr); 43 43 44 44 extern struct dvb_frontend *tda829x_attach(struct dvb_frontend *fe,
+1 -1
drivers/media/tuners/tda9887.h
··· 21 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) 25 25 extern struct dvb_frontend *tda9887_attach(struct dvb_frontend *fe, 26 26 struct i2c_adapter *i2c_adap, 27 27 u8 i2c_addr);
+1 -1
drivers/media/tuners/tea5761.h
··· 20 20 #include <linux/i2c.h> 21 21 #include "dvb_frontend.h" 22 22 23 - #if IS_ENABLED(CONFIG_MEDIA_TUNER_TEA5761) 23 + #if IS_REACHABLE(CONFIG_MEDIA_TUNER_TEA5761) 24 24 extern int tea5761_autodetection(struct i2c_adapter* i2c_adap, u8 i2c_addr); 25 25 26 26 extern struct dvb_frontend *tea5761_attach(struct dvb_frontend *fe,
+1 -1
drivers/media/tuners/tea5767.h
··· 39 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) 43 43 extern int tea5767_autodetection(struct i2c_adapter* i2c_adap, u8 i2c_addr); 44 44 45 45 extern struct dvb_frontend *tea5767_attach(struct dvb_frontend *fe,
+1 -1
drivers/media/tuners/tua9001.h
··· 51 51 #define TUA9001_CMD_RESETN 1 52 52 #define TUA9001_CMD_RXEN 2 53 53 54 - #if IS_ENABLED(CONFIG_MEDIA_TUNER_TUA9001) 54 + #if IS_REACHABLE(CONFIG_MEDIA_TUNER_TUA9001) 55 55 extern struct dvb_frontend *tua9001_attach(struct dvb_frontend *fe, 56 56 struct i2c_adapter *i2c, struct tua9001_config *cfg); 57 57 #else
+1 -1
drivers/media/tuners/tuner-simple.h
··· 20 20 #include <linux/i2c.h> 21 21 #include "dvb_frontend.h" 22 22 23 - #if IS_ENABLED(CONFIG_MEDIA_TUNER_SIMPLE) 23 + #if IS_REACHABLE(CONFIG_MEDIA_TUNER_SIMPLE) 24 24 extern struct dvb_frontend *simple_tuner_attach(struct dvb_frontend *fe, 25 25 struct i2c_adapter *i2c_adap, 26 26 u8 i2c_addr,
+1 -1
drivers/media/tuners/tuner-xc2028.h
··· 56 56 #define XC2028_RESET_CLK 1 57 57 #define XC2028_I2C_FLUSH 2 58 58 59 - #if IS_ENABLED(CONFIG_MEDIA_TUNER_XC2028) 59 + #if IS_REACHABLE(CONFIG_MEDIA_TUNER_XC2028) 60 60 extern struct dvb_frontend *xc2028_attach(struct dvb_frontend *fe, 61 61 struct xc2028_config *cfg); 62 62 #else
+1 -1
drivers/media/tuners/xc4000.h
··· 50 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) 54 54 extern struct dvb_frontend *xc4000_attach(struct dvb_frontend *fe, 55 55 struct i2c_adapter *i2c, 56 56 struct xc4000_config *cfg);
+1 -1
drivers/media/tuners/xc5000.h
··· 58 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) 62 62 extern struct dvb_frontend *xc5000_attach(struct dvb_frontend *fe, 63 63 struct i2c_adapter *i2c, 64 64 const struct xc5000_config *cfg);
+9
include/linux/kconfig.h
··· 43 43 */ 44 44 #define IS_MODULE(option) config_enabled(option##_MODULE) 45 45 46 + /* 47 + * IS_REACHABLE(CONFIG_FOO) evaluates to 1 if the currently compiled 48 + * code can call a function defined in code compiled based on CONFIG_FOO. 49 + * This is similar to IS_ENABLED(), but returns false when invoked from 50 + * built-in code when CONFIG_FOO is set to 'm'. 51 + */ 52 + #define IS_REACHABLE(option) (config_enabled(option) || \ 53 + (config_enabled(option##_MODULE) && config_enabled(MODULE))) 54 + 46 55 #endif /* __LINUX_KCONFIG_H */