These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / media / dvb-frontends / m88ds3103_priv.h
index a2c0958..eee8c22 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Montage M88DS3103 demodulator driver
+ * Montage Technology M88DS3103/M88RS6000 demodulator driver
  *
  * Copyright (C) 2013 Antti Palosaari <crope@iki.fi>
  *
@@ -22,6 +22,7 @@
 #include "dvb_math.h"
 #include <linux/firmware.h>
 #include <linux/i2c-mux.h>
+#include <linux/regmap.h>
 #include <linux/math64.h>
 
 #define M88DS3103_FIRMWARE "dvb-demod-m88ds3103.fw"
 #define M88RS6000_CHIP_ID 0x74
 #define M88DS3103_CHIP_ID 0x70
 
-struct m88ds3103_priv {
-       struct i2c_adapter *i2c;
-       /* mutex needed due to own tuner I2C adapter */
-       struct mutex i2c_mutex;
+struct m88ds3103_dev {
+       struct i2c_client *client;
+       struct regmap_config regmap_config;
+       struct regmap *regmap;
+       struct m88ds3103_config config;
        const struct m88ds3103_config *cfg;
        struct dvb_frontend fe;
-       fe_delivery_system_t delivery_system;
-       fe_status_t fe_status;
-       u32 ber;
+       enum fe_delivery_system delivery_system;
+       enum fe_status fe_status;
+       u32 dvbv3_ber; /* for old DVBv3 API read_ber */
        bool warm; /* FW running */
        struct i2c_adapter *i2c_adapter;
        /* auto detect chip id to do different config */
        u8 chip_id;
        /* main mclk is calculated for M88RS6000 dynamically */
        u32 mclk_khz;
+       u64 post_bit_error;
+       u64 post_bit_count;
 };
 
 struct m88ds3103_reg_val {