| 
									
										
										
										
											2009-04-06 15:45:20 -03:00
										 |  |  | /*
 | 
					
						
							|  |  |  | 	STV6110(A) Silicon tuner driver | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	Copyright (C) Manu Abraham <abraham.manu@gmail.com> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	Copyright (C) ST Microelectronics | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	This program is free software; you can redistribute it and/or modify | 
					
						
							|  |  |  | 	it under the terms of the GNU General Public License as published by | 
					
						
							|  |  |  | 	the Free Software Foundation; either version 2 of the License, or | 
					
						
							|  |  |  | 	(at your option) any later version. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	This program is distributed in the hope that it will be useful, | 
					
						
							|  |  |  | 	but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  | 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							|  |  |  | 	GNU General Public License for more details. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	You should have received a copy of the GNU General Public License | 
					
						
							|  |  |  | 	along with this program; if not, write to the Free Software | 
					
						
							|  |  |  | 	Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef __STV6110x_PRIV_H
 | 
					
						
							|  |  |  | #define __STV6110x_PRIV_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define FE_ERROR				0
 | 
					
						
							|  |  |  | #define FE_NOTICE				1
 | 
					
						
							|  |  |  | #define FE_INFO					2
 | 
					
						
							|  |  |  | #define FE_DEBUG				3
 | 
					
						
							|  |  |  | #define FE_DEBUGREG				4
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define dprintk(__y, __z, format, arg...) do {						\
 | 
					
						
							|  |  |  | 	if (__z) {									\ | 
					
						
							|  |  |  | 		if	((verbose > FE_ERROR) && (verbose > __y))			\ | 
					
						
							|  |  |  | 			printk(KERN_ERR "%s: " format "\n", __func__ , ##arg);		\ | 
					
						
							|  |  |  | 		else if	((verbose > FE_NOTICE) && (verbose > __y))			\ | 
					
						
							|  |  |  | 			printk(KERN_NOTICE "%s: " format "\n", __func__ , ##arg);	\ | 
					
						
							|  |  |  | 		else if ((verbose > FE_INFO) && (verbose > __y))			\ | 
					
						
							|  |  |  | 			printk(KERN_INFO "%s: " format "\n", __func__ , ##arg);		\ | 
					
						
							|  |  |  | 		else if ((verbose > FE_DEBUG) && (verbose > __y))			\ | 
					
						
							|  |  |  | 			printk(KERN_DEBUG "%s: " format "\n", __func__ , ##arg);	\ | 
					
						
							|  |  |  | 	} else {									\ | 
					
						
							|  |  |  | 		if (verbose > __y)							\ | 
					
						
							|  |  |  | 			printk(format, ##arg);						\ | 
					
						
							|  |  |  | 	}										\ | 
					
						
							|  |  |  | } while (0) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define STV6110x_SETFIELD(mask, bitf, val)				\
 | 
					
						
							|  |  |  | 	(mask = (mask & (~(((1 << STV6110x_WIDTH_##bitf) - 1) <<	\ | 
					
						
							|  |  |  | 				  STV6110x_OFFST_##bitf))) | 		\ | 
					
						
							|  |  |  | 			  (val << STV6110x_OFFST_##bitf)) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define STV6110x_GETFIELD(bitf, val)					\
 | 
					
						
							|  |  |  | 	((val >> STV6110x_OFFST_##bitf) & 				\ | 
					
						
							|  |  |  | 	((1 << STV6110x_WIDTH_##bitf) - 1)) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define MAKEWORD16(a, b)			(((a) << 8) | (b))
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define LSB(x)					((x & 0xff))
 | 
					
						
							|  |  |  | #define MSB(y)					((y >> 8) & 0xff)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define TRIALS					10
 | 
					
						
							|  |  |  | #define R_DIV(__div)				(1 << (__div + 1))
 | 
					
						
							| 
									
										
										
										
											2009-04-07 05:19:54 -03:00
										 |  |  | #define REFCLOCK_kHz				(stv6110x->config->refclk /    1000)
 | 
					
						
							|  |  |  | #define REFCLOCK_MHz				(stv6110x->config->refclk / 1000000)
 | 
					
						
							| 
									
										
										
										
											2009-04-06 15:45:20 -03:00
										 |  |  | 
 | 
					
						
							|  |  |  | struct stv6110x_state { | 
					
						
							|  |  |  | 	struct i2c_adapter		*i2c; | 
					
						
							|  |  |  | 	const struct stv6110x_config	*config; | 
					
						
							| 
									
										
										
										
											2010-01-05 19:23:13 -03:00
										 |  |  | 	u8 				regs[8]; | 
					
						
							| 
									
										
										
										
											2009-04-06 15:45:20 -03:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	struct stv6110x_devctl		*devctl; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* __STV6110x_PRIV_H */
 |