[media] Add and use IS_REACHABLE macro
[linux-2.6-block.git] / drivers / media / dvb-frontends / ves1x93.h
CommitLineData
1da177e4
LT
1/*
2 Driver for VES1893 and VES1993 QPSK Demodulators
3
4 Copyright (C) 1999 Convergence Integrated Media GmbH <ralph@convergence.de>
5 Copyright (C) 2001 Ronny Strutz <3des@elitedvb.de>
6 Copyright (C) 2002 Dennis Noermann <dennis.noermann@noernet.de>
7 Copyright (C) 2002-2003 Andreas Oberritter <obi@linuxtv.org>
8
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 2 of the License, or
12 (at your option) any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
18 GNU General Public License for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23
24*/
25
26#ifndef VES1X93_H
27#define VES1X93_H
28
29#include <linux/dvb/frontend.h>
30
31struct ves1x93_config
32{
33 /* the demodulator's i2c address */
34 u8 demod_address;
35
36 /* value of XIN to use */
37 u32 xin;
38
39 /* should PWM be inverted? */
40 u8 invert_pwm:1;
1da177e4
LT
41};
42
9b174527 43#if IS_REACHABLE(CONFIG_DVB_VES1X93)
1da177e4
LT
44extern struct dvb_frontend* ves1x93_attach(const struct ves1x93_config* config,
45 struct i2c_adapter* i2c);
102a342b
AQ
46#else
47static inline struct dvb_frontend* ves1x93_attach(const struct ves1x93_config* config,
48 struct i2c_adapter* i2c)
49{
271ddbf7 50 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
102a342b
AQ
51 return NULL;
52}
53#endif // CONFIG_DVB_VES1X93
1da177e4
LT
54
55#endif // VES1X93_H