mb86a20s.h 1.6 KB
Newer Older
1 2 3
/*
 *   Fujitsu mb86a20s driver
 *
4
 *   Copyright (C) 2010 Mauro Carvalho Chehab
5 6 7 8 9 10 11 12 13 14 15 16 17 18
 *
 *   This program is free software; you can redistribute it and/or
 *   modify it under the terms of the GNU General Public License as
 *   published by the Free Software Foundation version 2.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *   General Public License for more details.
 */

#ifndef MB86A20S_H
#define MB86A20S_H

19
#include <linux/kconfig.h>
20 21 22 23 24
#include <linux/dvb/frontend.h>

/**
 * struct mb86a20s_config - Define the per-device attributes of the frontend
 *
25 26
 * @fclk:		Clock frequency. If zero, assumes the default
 *			(32.57142 Mhz)
27
 * @demod_address:	the demodulator's i2c address
28
 * @is_serial:		if true, TS is serial. Otherwise, TS is parallel
29 30 31
 */

struct mb86a20s_config {
32 33 34
	u32	fclk;
	u8	demod_address;
	bool	is_serial;
35 36
};

37
#if IS_ENABLED(CONFIG_DVB_MB86A20S)
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
extern struct dvb_frontend *mb86a20s_attach(const struct mb86a20s_config *config,
					   struct i2c_adapter *i2c);
extern struct i2c_adapter *mb86a20s_get_tuner_i2c_adapter(struct dvb_frontend *);
#else
static inline struct dvb_frontend *mb86a20s_attach(
	const struct mb86a20s_config *config, struct i2c_adapter *i2c)
{
	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
	return NULL;
}
static struct i2c_adapter *
	mb86a20s_get_tuner_i2c_adapter(struct dvb_frontend *fe)
{
	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
	return NULL;
}
#endif

#endif /* MB86A20S */