brintos

brintos / linux-shallow public Read only

0
0
Text · 1.5 KiB · d86b3de Raw
58 lines · c
1/* SPDX-License-Identifier: GPL-2.0-or-later */2/*3 * ascot2e.h4 *5 * Sony Ascot3E DVB-T/T2/C/C2 tuner driver6 *7 * Copyright 2012 Sony Corporation8 * Copyright (C) 2014 NetUP Inc.9 * Copyright (C) 2014 Sergey Kozlov <serjk@netup.ru>10 * Copyright (C) 2014 Abylay Ospan <aospan@netup.ru>11  */12 13#ifndef __DVB_ASCOT2E_H__14#define __DVB_ASCOT2E_H__15 16#include <linux/dvb/frontend.h>17#include <linux/i2c.h>18 19/**20 * struct ascot2e_config - the configuration of Ascot2E tuner driver21 * @i2c_address:	I2C address of the tuner22 * @xtal_freq_mhz:	Oscillator frequency, MHz23 * @set_tuner_priv:	Callback function private context24 * @set_tuner_callback:	Callback function that notifies the parent driver25 *			which tuner is active now26 */27struct ascot2e_config {28	u8	i2c_address;29	u8	xtal_freq_mhz;30	void	*set_tuner_priv;31	int	(*set_tuner_callback)(void *, int);32};33 34#if IS_REACHABLE(CONFIG_DVB_ASCOT2E)35/**36 * ascot2e_attach - Attach an ascot2e tuner37 *38 * @fe: frontend to be attached39 * @config: pointer to &struct ascot2e_config with tuner configuration.40 * @i2c: i2c adapter to use.41 *42 * return: FE pointer on success, NULL on failure.43 */44extern struct dvb_frontend *ascot2e_attach(struct dvb_frontend *fe,45					const struct ascot2e_config *config,46					struct i2c_adapter *i2c);47#else48static inline struct dvb_frontend *ascot2e_attach(struct dvb_frontend *fe,49					const struct ascot2e_config *config,50					struct i2c_adapter *i2c)51{52	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);53	return NULL;54}55#endif56 57#endif58