49 lines · c
1/* SPDX-License-Identifier: GPL-2.0-only */2/*3 * Fujitsu mb86a20s driver4 *5 * Copyright (C) 2010 Mauro Carvalho Chehab6 */7 8#ifndef MB86A20S_H9#define MB86A20S_H10 11#include <linux/dvb/frontend.h>12 13/**14 * struct mb86a20s_config - Define the per-device attributes of the frontend15 *16 * @fclk: Clock frequency. If zero, assumes the default17 * (32.57142 Mhz)18 * @demod_address: the demodulator's i2c address19 * @is_serial: if true, TS is serial. Otherwise, TS is parallel20 */21struct mb86a20s_config {22 u32 fclk;23 u8 demod_address;24 bool is_serial;25};26 27#if IS_REACHABLE(CONFIG_DVB_MB86A20S)28/**29 * mb86a20s_attach - Attach a mb86a20s demod30 *31 * @config: pointer to &struct mb86a20s_config with demod configuration.32 * @i2c: i2c adapter to use.33 *34 * return: FE pointer on success, NULL on failure.35 */36extern struct dvb_frontend *mb86a20s_attach(const struct mb86a20s_config *config,37 struct i2c_adapter *i2c);38 39#else40static inline struct dvb_frontend *mb86a20s_attach(41 const struct mb86a20s_config *config, struct i2c_adapter *i2c)42{43 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);44 return NULL;45}46#endif47 48#endif /* MB86A20S */49