xref: /openbmc/linux/drivers/media/tuners/fc0011.h (revision 4f6cce39)
1 #ifndef LINUX_FC0011_H_
2 #define LINUX_FC0011_H_
3 
4 #include "dvb_frontend.h"
5 
6 
7 /** struct fc0011_config - fc0011 hardware config
8  *
9  * @i2c_address: I2C bus address.
10  */
11 struct fc0011_config {
12 	u8 i2c_address;
13 };
14 
15 /** enum fc0011_fe_callback_commands - Frontend callbacks
16  *
17  * @FC0011_FE_CALLBACK_POWER: Power on tuner hardware.
18  * @FC0011_FE_CALLBACK_RESET: Request a tuner reset.
19  */
20 enum fc0011_fe_callback_commands {
21 	FC0011_FE_CALLBACK_POWER,
22 	FC0011_FE_CALLBACK_RESET,
23 };
24 
25 #if IS_REACHABLE(CONFIG_MEDIA_TUNER_FC0011)
26 struct dvb_frontend *fc0011_attach(struct dvb_frontend *fe,
27 				   struct i2c_adapter *i2c,
28 				   const struct fc0011_config *config);
29 #else
30 static inline
31 struct dvb_frontend *fc0011_attach(struct dvb_frontend *fe,
32 				   struct i2c_adapter *i2c,
33 				   const struct fc0011_config *config)
34 {
35 	dev_err(&i2c->dev, "fc0011 driver disabled in Kconfig\n");
36 	return NULL;
37 }
38 #endif
39 
40 #endif /* LINUX_FC0011_H_ */
41