1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * mxl111sf-demod.h - driver for the MaxLinear MXL111SF DVB-T demodulator 4 * 5 * Copyright (C) 2010-2014 Michael Krufky <mkrufky@linuxtv.org> 6 */ 7 8 #ifndef __MXL111SF_DEMOD_H__ 9 #define __MXL111SF_DEMOD_H__ 10 11 #include <media/dvb_frontend.h> 12 #include "mxl111sf.h" 13 14 struct mxl111sf_demod_config { 15 int (*read_reg)(struct mxl111sf_state *state, u8 addr, u8 *data); 16 int (*write_reg)(struct mxl111sf_state *state, u8 addr, u8 data); 17 int (*program_regs)(struct mxl111sf_state *state, 18 struct mxl111sf_reg_ctrl_info *ctrl_reg_info); 19 }; 20 21 #if IS_ENABLED(CONFIG_DVB_USB_MXL111SF) 22 extern 23 struct dvb_frontend *mxl111sf_demod_attach(struct mxl111sf_state *mxl_state, 24 const struct mxl111sf_demod_config *cfg); 25 #else 26 static inline 27 struct dvb_frontend *mxl111sf_demod_attach(struct mxl111sf_state *mxl_state, 28 const struct mxl111sf_demod_config *cfg) 29 { 30 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 31 return NULL; 32 } 33 #endif /* CONFIG_DVB_USB_MXL111SF */ 34 35 #endif /* __MXL111SF_DEMOD_H__ */ 36