Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm...
[linux-2.6.git] / drivers / media / tuners / tua9001.h
blob26358da1c10016fcd6ae33ec1e7692ad7b9a0290
1 /*
2 * Infineon TUA 9001 silicon tuner driver
4 * Copyright (C) 2009 Antti Palosaari <crope@iki.fi>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 #ifndef TUA9001_H
22 #define TUA9001_H
24 #include <linux/kconfig.h>
25 #include "dvb_frontend.h"
27 struct tua9001_config {
29 * I2C address
31 u8 i2c_addr;
35 * TUA9001 I/O PINs:
37 * CEN - chip enable
38 * 0 = chip disabled (chip off)
39 * 1 = chip enabled (chip on)
41 * RESETN - chip reset
42 * 0 = reset disabled (chip reset off)
43 * 1 = reset enabled (chip reset on)
45 * RXEN - RX enable
46 * 0 = RX disabled (chip idle)
47 * 1 = RX enabled (chip tuned)
50 #define TUA9001_CMD_CEN 0
51 #define TUA9001_CMD_RESETN 1
52 #define TUA9001_CMD_RXEN 2
54 #if IS_ENABLED(CONFIG_MEDIA_TUNER_TUA9001)
55 extern struct dvb_frontend *tua9001_attach(struct dvb_frontend *fe,
56 struct i2c_adapter *i2c, struct tua9001_config *cfg);
57 #else
58 static inline struct dvb_frontend *tua9001_attach(struct dvb_frontend *fe,
59 struct i2c_adapter *i2c, struct tua9001_config *cfg)
61 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
62 return NULL;
64 #endif
66 #endif