42 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef LINUX_FC0011_H_3#define LINUX_FC0011_H_4 5#include <media/dvb_frontend.h>6 7 8/** struct fc0011_config - fc0011 hardware config9 *10 * @i2c_address: I2C bus address.11 */12struct fc0011_config {13 u8 i2c_address;14};15 16/** enum fc0011_fe_callback_commands - Frontend callbacks17 *18 * @FC0011_FE_CALLBACK_POWER: Power on tuner hardware.19 * @FC0011_FE_CALLBACK_RESET: Request a tuner reset.20 */21enum fc0011_fe_callback_commands {22 FC0011_FE_CALLBACK_POWER,23 FC0011_FE_CALLBACK_RESET,24};25 26#if IS_REACHABLE(CONFIG_MEDIA_TUNER_FC0011)27struct dvb_frontend *fc0011_attach(struct dvb_frontend *fe,28 struct i2c_adapter *i2c,29 const struct fc0011_config *config);30#else31static inline32struct dvb_frontend *fc0011_attach(struct dvb_frontend *fe,33 struct i2c_adapter *i2c,34 const struct fc0011_config *config)35{36 dev_err(&i2c->dev, "fc0011 driver disabled in Kconfig\n");37 return NULL;38}39#endif40 41#endif /* LINUX_FC0011_H_ */42