blob: dfa0f845131ea22c0730fa03b7152c62001852c8 [file] [log] [blame]
Thomas Gleixner74ba9202019-05-20 09:19:02 +02001/* SPDX-License-Identifier: GPL-2.0-or-later */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002/*
3 Driver for STV0297 demodulator
4
5 Copyright (C) 2003-2004 Dennis Noermann <dennis.noermann@noernet.de>
6
Linus Torvalds1da177e2005-04-16 15:20:36 -07007*/
8
9#ifndef STV0297_H
10#define STV0297_H
11
12#include <linux/dvb/frontend.h>
Mauro Carvalho Chehabfada1932017-12-28 13:03:51 -050013#include <media/dvb_frontend.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070014
15struct stv0297_config
16{
17 /* the demodulator's i2c address */
18 u8 demod_address;
19
Andrew de Quinceydc27a162005-09-09 13:03:07 -070020 /* inittab - array of pairs of values.
21 * First of each pair is the register, second is the value.
22 * List should be terminated with an 0xff, 0xff pair.
23 */
24 u8* inittab;
25
Linus Torvalds1da177e2005-04-16 15:20:36 -070026 /* does the "inversion" need inverted? */
27 u8 invert:1;
Thomas Kaiserb8d4c232006-04-27 21:45:20 -030028
29 /* set to 1 if the device requires an i2c STOP during reading */
30 u8 stop_during_read:1;
Linus Torvalds1da177e2005-04-16 15:20:36 -070031};
32
Arnd Bergmann9b174522015-02-18 14:12:42 -030033#if IS_REACHABLE(CONFIG_DVB_STV0297)
Linus Torvalds1da177e2005-04-16 15:20:36 -070034extern struct dvb_frontend* stv0297_attach(const struct stv0297_config* config,
Andrew de Quinceydc27a162005-09-09 13:03:07 -070035 struct i2c_adapter* i2c);
Andrew de Quincey102a3422006-08-08 09:10:08 -030036#else
37static inline struct dvb_frontend* stv0297_attach(const struct stv0297_config* config,
38 struct i2c_adapter* i2c)
39{
Harvey Harrison271ddbf2008-04-08 23:20:00 -030040 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
Andrew de Quincey102a3422006-08-08 09:10:08 -030041 return NULL;
42}
43#endif // CONFIG_DVB_STV0297
Linus Torvalds1da177e2005-04-16 15:20:36 -070044
45#endif // STV0297_H