1*c942fddfSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 2786baecfSMauro Carvalho Chehab /* 3786baecfSMauro Carvalho Chehab * mxl111sf-demod.h - driver for the MaxLinear MXL111SF DVB-T demodulator 4786baecfSMauro Carvalho Chehab * 508e10972SMichael Krufky * Copyright (C) 2010-2014 Michael Krufky <mkrufky@linuxtv.org> 6786baecfSMauro Carvalho Chehab */ 7786baecfSMauro Carvalho Chehab 8786baecfSMauro Carvalho Chehab #ifndef __MXL111SF_DEMOD_H__ 9786baecfSMauro Carvalho Chehab #define __MXL111SF_DEMOD_H__ 10786baecfSMauro Carvalho Chehab 11fada1935SMauro Carvalho Chehab #include <media/dvb_frontend.h> 12786baecfSMauro Carvalho Chehab #include "mxl111sf.h" 13786baecfSMauro Carvalho Chehab 14786baecfSMauro Carvalho Chehab struct mxl111sf_demod_config { 15786baecfSMauro Carvalho Chehab int (*read_reg)(struct mxl111sf_state *state, u8 addr, u8 *data); 16786baecfSMauro Carvalho Chehab int (*write_reg)(struct mxl111sf_state *state, u8 addr, u8 data); 17786baecfSMauro Carvalho Chehab int (*program_regs)(struct mxl111sf_state *state, 18786baecfSMauro Carvalho Chehab struct mxl111sf_reg_ctrl_info *ctrl_reg_info); 19786baecfSMauro Carvalho Chehab }; 20786baecfSMauro Carvalho Chehab 21028c70ffSMauro Carvalho Chehab #if IS_ENABLED(CONFIG_DVB_USB_MXL111SF) 22786baecfSMauro Carvalho Chehab extern 23786baecfSMauro Carvalho Chehab struct dvb_frontend *mxl111sf_demod_attach(struct mxl111sf_state *mxl_state, 249c5e44a0SJulia Lawall const struct mxl111sf_demod_config *cfg); 25786baecfSMauro Carvalho Chehab #else 26786baecfSMauro Carvalho Chehab static inline mxl111sf_demod_attach(struct mxl111sf_state * mxl_state,const struct mxl111sf_demod_config * cfg)27786baecfSMauro Carvalho Chehabstruct dvb_frontend *mxl111sf_demod_attach(struct mxl111sf_state *mxl_state, 289c5e44a0SJulia Lawall const struct mxl111sf_demod_config *cfg) 29786baecfSMauro Carvalho Chehab { 30786baecfSMauro Carvalho Chehab printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); 31786baecfSMauro Carvalho Chehab return NULL; 32786baecfSMauro Carvalho Chehab } 33786baecfSMauro Carvalho Chehab #endif /* CONFIG_DVB_USB_MXL111SF */ 34786baecfSMauro Carvalho Chehab 35786baecfSMauro Carvalho Chehab #endif /* __MXL111SF_DEMOD_H__ */ 36