blob: 72d3f3546ff20ffcb6183498086c5cd5ce4ee1db [file] [log] [blame]
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00001/*
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 <media/dvb_frontend.h>
22#include <media/dvb_math.h>
23#include "rtl2830.h"
24#include <linux/i2c-mux.h>
25#include <linux/math64.h>
26#include <linux/regmap.h>
27#include <linux/bitops.h>
28
29struct rtl2830_dev {
30 struct rtl2830_platform_data *pdata;
31 struct i2c_client *client;
32 struct regmap *regmap;
33 struct i2c_mux_core *muxc;
34 struct dvb_frontend fe;
35 bool sleeping;
36 unsigned long filters;
37 enum fe_status 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 */