19a0bf528SMauro Carvalho Chehab /* 29a0bf528SMauro Carvalho Chehab * Realtek RTL2830 DVB-T demodulator driver 39a0bf528SMauro Carvalho Chehab * 49a0bf528SMauro Carvalho Chehab * Copyright (C) 2011 Antti Palosaari <crope@iki.fi> 59a0bf528SMauro Carvalho Chehab * 69a0bf528SMauro Carvalho Chehab * This program is free software; you can redistribute it and/or modify 79a0bf528SMauro Carvalho Chehab * it under the terms of the GNU General Public License as published by 89a0bf528SMauro Carvalho Chehab * the Free Software Foundation; either version 2 of the License, or 99a0bf528SMauro Carvalho Chehab * (at your option) any later version. 109a0bf528SMauro Carvalho Chehab * 119a0bf528SMauro Carvalho Chehab * This program is distributed in the hope that it will be useful, 129a0bf528SMauro Carvalho Chehab * but WITHOUT ANY WARRANTY; without even the implied warranty of 139a0bf528SMauro Carvalho Chehab * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 149a0bf528SMauro Carvalho Chehab * GNU General Public License for more details. 159a0bf528SMauro Carvalho Chehab * 169a0bf528SMauro Carvalho Chehab */ 179a0bf528SMauro Carvalho Chehab 189a0bf528SMauro Carvalho Chehab #ifndef RTL2830_PRIV_H 199a0bf528SMauro Carvalho Chehab #define RTL2830_PRIV_H 209a0bf528SMauro Carvalho Chehab 219a0bf528SMauro Carvalho Chehab #include "dvb_frontend.h" 229a0bf528SMauro Carvalho Chehab #include "dvb_math.h" 239a0bf528SMauro Carvalho Chehab #include "rtl2830.h" 2428c08799SAntti Palosaari #include <linux/i2c-mux.h> 256dcfe3ccSAntti Palosaari #include <linux/math64.h> 269a0bf528SMauro Carvalho Chehab 27f544f100SAntti Palosaari struct rtl2830_dev { 28b8cb50d2SAntti Palosaari struct rtl2830_platform_data *pdata; 2947b4dbffSAntti Palosaari struct i2c_client *client; 3028c08799SAntti Palosaari struct i2c_adapter *adapter; 319a0bf528SMauro Carvalho Chehab struct dvb_frontend fe; 329a0bf528SMauro Carvalho Chehab bool sleeping; 339a0bf528SMauro Carvalho Chehab u8 page; /* active register page */ 3447b4dbffSAntti Palosaari struct delayed_work stat_work; 3547b4dbffSAntti Palosaari fe_status_t fe_status; 36f491391cSAntti Palosaari u64 post_bit_error_prev; /* for old DVBv3 read_ber() calculation */ 375bb11ca5SAntti Palosaari u64 post_bit_error; 385bb11ca5SAntti Palosaari u64 post_bit_count; 399a0bf528SMauro Carvalho Chehab }; 409a0bf528SMauro Carvalho Chehab 419a0bf528SMauro Carvalho Chehab struct rtl2830_reg_val_mask { 429a0bf528SMauro Carvalho Chehab u16 reg; 439a0bf528SMauro Carvalho Chehab u8 val; 449a0bf528SMauro Carvalho Chehab u8 mask; 459a0bf528SMauro Carvalho Chehab }; 469a0bf528SMauro Carvalho Chehab 479a0bf528SMauro Carvalho Chehab #endif /* RTL2830_PRIV_H */ 48