• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/media/dvb/frontends/
1/*
2	STV6110(A) Silicon tuner driver
3
4	Copyright (C) Manu Abraham <abraham.manu@gmail.com>
5
6	Copyright (C) ST Microelectronics
7
8	This program is free software; you can redistribute it and/or modify
9	it under the terms of the GNU General Public License as published by
10	the Free Software Foundation; either version 2 of the License, or
11	(at your option) any later version.
12
13	This program is distributed in the hope that it will be useful,
14	but WITHOUT ANY WARRANTY; without even the implied warranty of
15	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
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#ifndef __STV6110x_PRIV_H
24#define __STV6110x_PRIV_H
25
26#define FE_ERROR				0
27#define FE_NOTICE				1
28#define FE_INFO					2
29#define FE_DEBUG				3
30#define FE_DEBUGREG				4
31
32#define dprintk(__y, __z, format, arg...) do {						\
33	if (__z) {									\
34		if	((verbose > FE_ERROR) && (verbose > __y))			\
35			printk(KERN_ERR "%s: " format "\n", __func__ , ##arg);		\
36		else if	((verbose > FE_NOTICE) && (verbose > __y))			\
37			printk(KERN_NOTICE "%s: " format "\n", __func__ , ##arg);	\
38		else if ((verbose > FE_INFO) && (verbose > __y))			\
39			printk(KERN_INFO "%s: " format "\n", __func__ , ##arg);		\
40		else if ((verbose > FE_DEBUG) && (verbose > __y))			\
41			printk(KERN_DEBUG "%s: " format "\n", __func__ , ##arg);	\
42	} else {									\
43		if (verbose > __y)							\
44			printk(format, ##arg);						\
45	}										\
46} while (0)
47
48
49#define STV6110x_SETFIELD(mask, bitf, val)				\
50	(mask = (mask & (~(((1 << STV6110x_WIDTH_##bitf) - 1) <<	\
51				  STV6110x_OFFST_##bitf))) | 		\
52			  (val << STV6110x_OFFST_##bitf))
53
54#define STV6110x_GETFIELD(bitf, val)					\
55	((val >> STV6110x_OFFST_##bitf) & 				\
56	((1 << STV6110x_WIDTH_##bitf) - 1))
57
58#define MAKEWORD16(a, b)			(((a) << 8) | (b))
59
60#define LSB(x)					((x & 0xff))
61#define MSB(y)					((y >> 8) & 0xff)
62
63#define TRIALS					10
64#define R_DIV(__div)				(1 << (__div + 1))
65#define REFCLOCK_kHz				(stv6110x->config->refclk /    1000)
66#define REFCLOCK_MHz				(stv6110x->config->refclk / 1000000)
67
68struct stv6110x_state {
69	struct i2c_adapter		*i2c;
70	const struct stv6110x_config	*config;
71	u8 				regs[8];
72
73	struct stv6110x_devctl		*devctl;
74};
75
76#endif /* __STV6110x_PRIV_H */
77