1/*
2 * Realtek RTL2830 DVB-T demodulator driver
3 *
4 * Copyright (C) 2011 Antti Palosaari <crope@iki.fi>
5 *
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.
10 *
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.
15 *
16 */
17
18#ifndef RTL2830_PRIV_H
19#define RTL2830_PRIV_H
20
21#include "dvb_frontend.h"
22#include "dvb_math.h"
23#include "rtl2830.h"
24#include <linux/i2c-mux.h>
25#include <linux/math64.h>
26#include <linux/regmap.h>
27
28struct rtl2830_dev {
29	struct rtl2830_platform_data *pdata;
30	struct i2c_client *client;
31	struct regmap *regmap;
32	struct i2c_adapter *adapter;
33	struct dvb_frontend fe;
34	bool sleeping;
35	unsigned long filters;
36	struct delayed_work stat_work;
37	fe_status_t fe_status;
38	u64 post_bit_error_prev; /* for old DVBv3 read_ber() calculation */
39	u64 post_bit_error;
40	u64 post_bit_count;
41};
42
43struct rtl2830_reg_val_mask {
44	u16 reg;
45	u8  val;
46	u8  mask;
47};
48
49#endif /* RTL2830_PRIV_H */
50