cx24120.h (1161B)
1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2/* 3 * Conexant CX24120/CX24118 - DVB-S/S2 demod/tuner driver 4 * 5 * Copyright (C) 2008 Patrick Boettcher <pb@linuxtv.org> 6 * Copyright (C) 2009 Sergey Tyurin <forum.free-x.de> 7 * Updated 2012 by Jannis Achstetter <jannis_achstetter@web.de> 8 * Copyright (C) 2015 Jemma Denson <jdenson@gmail.com> 9 */ 10 11#ifndef CX24120_H 12#define CX24120_H 13 14#include <linux/dvb/frontend.h> 15#include <linux/firmware.h> 16 17struct cx24120_initial_mpeg_config { 18 u8 x1; 19 u8 x2; 20 u8 x3; 21}; 22 23struct cx24120_config { 24 u8 i2c_addr; 25 u32 xtal_khz; 26 struct cx24120_initial_mpeg_config initial_mpeg_config; 27 28 int (*request_firmware)(struct dvb_frontend *fe, 29 const struct firmware **fw, char *name); 30 31 /* max bytes I2C provider can write at once */ 32 u16 i2c_wr_max; 33}; 34 35#if IS_REACHABLE(CONFIG_DVB_CX24120) 36struct dvb_frontend *cx24120_attach(const struct cx24120_config *config, 37 struct i2c_adapter *i2c); 38#else 39static inline 40struct dvb_frontend *cx24120_attach(const struct cx24120_config *config, 41 struct i2c_adapter *i2c) 42{ 43 pr_warn("%s: driver disabled by Kconfig\n", __func__); 44 return NULL; 45} 46#endif 47 48#endif /* CX24120_H */