1c942fddfSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 29a0bf528SMauro Carvalho Chehab /* 39a0bf528SMauro Carvalho Chehab * Realtek RTL2830 DVB-T demodulator driver 49a0bf528SMauro Carvalho Chehab * 59a0bf528SMauro Carvalho Chehab * Copyright (C) 2011 Antti Palosaari <crope@iki.fi> 69a0bf528SMauro Carvalho Chehab */ 79a0bf528SMauro Carvalho Chehab 89a0bf528SMauro Carvalho Chehab #ifndef RTL2830_PRIV_H 99a0bf528SMauro Carvalho Chehab #define RTL2830_PRIV_H 109a0bf528SMauro Carvalho Chehab 11fada1935SMauro Carvalho Chehab #include <media/dvb_frontend.h> 12*f97fa3dcSAndy Shevchenko #include <linux/int_log.h> 139a0bf528SMauro Carvalho Chehab #include "rtl2830.h" 1428c08799SAntti Palosaari #include <linux/i2c-mux.h> 156dcfe3ccSAntti Palosaari #include <linux/math64.h> 1615d37f38SAntti Palosaari #include <linux/regmap.h> 174a7e445bSAntti Palosaari #include <linux/bitops.h> 189a0bf528SMauro Carvalho Chehab 19f544f100SAntti Palosaari struct rtl2830_dev { 20b8cb50d2SAntti Palosaari struct rtl2830_platform_data *pdata; 2147b4dbffSAntti Palosaari struct i2c_client *client; 2215d37f38SAntti Palosaari struct regmap *regmap; 23a0119159SPeter Rosin struct i2c_mux_core *muxc; 249a0bf528SMauro Carvalho Chehab struct dvb_frontend fe; 259a0bf528SMauro Carvalho Chehab bool sleeping; 26df70ddadSAntti Palosaari unsigned long filters; 270df289a2SMauro Carvalho Chehab enum fe_status fe_status; 28f491391cSAntti Palosaari u64 post_bit_error_prev; /* for old DVBv3 read_ber() calculation */ 295bb11ca5SAntti Palosaari u64 post_bit_error; 305bb11ca5SAntti Palosaari u64 post_bit_count; 319a0bf528SMauro Carvalho Chehab }; 329a0bf528SMauro Carvalho Chehab 339a0bf528SMauro Carvalho Chehab struct rtl2830_reg_val_mask { 349a0bf528SMauro Carvalho Chehab u16 reg; 359a0bf528SMauro Carvalho Chehab u8 val; 369a0bf528SMauro Carvalho Chehab u8 mask; 379a0bf528SMauro Carvalho Chehab }; 389a0bf528SMauro Carvalho Chehab 399a0bf528SMauro Carvalho Chehab #endif /* RTL2830_PRIV_H */ 40