Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/drivers/media/common/tuners/tda827x.h
15112 views
1
/*
2
DVB Driver for Philips tda827x / tda827xa Silicon tuners
3
4
(c) 2005 Hartmut Hackmann
5
(c) 2007 Michael Krufky
6
7
This program is free software; you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation; either version 2 of the License, or
10
(at your option) any later version.
11
12
This program is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
16
GNU General Public License for more details.
17
18
You should have received a copy of the GNU General Public License
19
along with this program; if not, write to the Free Software
20
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21
22
*/
23
24
#ifndef __DVB_TDA827X_H__
25
#define __DVB_TDA827X_H__
26
27
#include <linux/i2c.h>
28
#include "dvb_frontend.h"
29
30
struct tda827x_config
31
{
32
/* saa7134 - provided callbacks */
33
int (*init) (struct dvb_frontend *fe);
34
int (*sleep) (struct dvb_frontend *fe);
35
36
/* interface to tda829x driver */
37
unsigned int config;
38
int switch_addr;
39
40
void (*agcf)(struct dvb_frontend *fe);
41
};
42
43
44
/**
45
* Attach a tda827x tuner to the supplied frontend structure.
46
*
47
* @param fe Frontend to attach to.
48
* @param addr i2c address of the tuner.
49
* @param i2c i2c adapter to use.
50
* @param cfg optional callback function pointers.
51
* @return FE pointer on success, NULL on failure.
52
*/
53
#if defined(CONFIG_MEDIA_TUNER_TDA827X) || (defined(CONFIG_MEDIA_TUNER_TDA827X_MODULE) && defined(MODULE))
54
extern struct dvb_frontend* tda827x_attach(struct dvb_frontend *fe, int addr,
55
struct i2c_adapter *i2c,
56
struct tda827x_config *cfg);
57
#else
58
static inline struct dvb_frontend* tda827x_attach(struct dvb_frontend *fe,
59
int addr,
60
struct i2c_adapter *i2c,
61
struct tda827x_config *cfg)
62
{
63
printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
64
return NULL;
65
}
66
#endif // CONFIG_MEDIA_TUNER_TDA827X
67
68
#endif // __DVB_TDA827X_H__
69
70