These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / media / dvb-frontends / stv0299.c
index b57ecf4..a817780 100644 (file)
@@ -44,6 +44,7 @@
 
 #include <linux/init.h>
 #include <linux/kernel.h>
+#include <linux/ktime.h>
 #include <linux/module.h>
 #include <linux/string.h>
 #include <linux/slab.h>
@@ -61,7 +62,7 @@ struct stv0299_state {
        u8 initialised:1;
        u32 tuner_frequency;
        u32 symbol_rate;
-       fe_code_rate_t fec_inner;
+       enum fe_code_rate fec_inner;
        int errmode;
        u32 ucblocks;
        u8 mcr_reg;
@@ -134,7 +135,7 @@ static int stv0299_readregs (struct stv0299_state* state, u8 reg1, u8 *b, u8 len
        return ret == 2 ? 0 : ret;
 }
 
-static int stv0299_set_FEC (struct stv0299_state* state, fe_code_rate_t fec)
+static int stv0299_set_FEC(struct stv0299_state *state, enum fe_code_rate fec)
 {
        dprintk ("%s\n", __func__);
 
@@ -170,10 +171,10 @@ static int stv0299_set_FEC (struct stv0299_state* state, fe_code_rate_t fec)
     }
 }
 
-static fe_code_rate_t stv0299_get_fec (struct stv0299_state* state)
+static enum fe_code_rate stv0299_get_fec(struct stv0299_state *state)
 {
-       static fe_code_rate_t fec_tab [] = { FEC_2_3, FEC_3_4, FEC_5_6,
-                                            FEC_7_8, FEC_1_2 };
+       static enum fe_code_rate fec_tab[] = { FEC_2_3, FEC_3_4, FEC_5_6,
+                                              FEC_7_8, FEC_1_2 };
        u8 index;
 
        dprintk ("%s\n", __func__);
@@ -302,7 +303,8 @@ static int stv0299_send_diseqc_msg (struct dvb_frontend* fe,
        return 0;
 }
 
-static int stv0299_send_diseqc_burst (struct dvb_frontend* fe, fe_sec_mini_cmd_t burst)
+static int stv0299_send_diseqc_burst(struct dvb_frontend *fe,
+                                    enum fe_sec_mini_cmd burst)
 {
        struct stv0299_state* state = fe->demodulator_priv;
        u8 val;
@@ -329,7 +331,8 @@ static int stv0299_send_diseqc_burst (struct dvb_frontend* fe, fe_sec_mini_cmd_t
        return 0;
 }
 
-static int stv0299_set_tone (struct dvb_frontend* fe, fe_sec_tone_mode_t tone)
+static int stv0299_set_tone(struct dvb_frontend *fe,
+                           enum fe_sec_tone_mode tone)
 {
        struct stv0299_state* state = fe->demodulator_priv;
        u8 val;
@@ -351,7 +354,8 @@ static int stv0299_set_tone (struct dvb_frontend* fe, fe_sec_tone_mode_t tone)
        }
 }
 
-static int stv0299_set_voltage (struct dvb_frontend* fe, fe_sec_voltage_t voltage)
+static int stv0299_set_voltage(struct dvb_frontend *fe,
+                              enum fe_sec_voltage voltage)
 {
        struct stv0299_state* state = fe->demodulator_priv;
        u8 reg0x08;
@@ -404,8 +408,8 @@ static int stv0299_send_legacy_dish_cmd (struct dvb_frontend* fe, unsigned long
        u8 lv_mask = 0x40;
        u8 last = 1;
        int i;
-       struct timeval nexttime;
-       struct timeval tv[10];
+       ktime_t nexttime;
+       ktime_t tv[10];
 
        reg0x08 = stv0299_readreg (state, 0x08);
        reg0x0c = stv0299_readreg (state, 0x0c);
@@ -418,7 +422,7 @@ static int stv0299_send_legacy_dish_cmd (struct dvb_frontend* fe, unsigned long
        if (debug_legacy_dish_switch)
                printk ("%s switch command: 0x%04lx\n",__func__, cmd);
 
-       do_gettimeofday (&nexttime);
+       nexttime = ktime_get_real();
        if (debug_legacy_dish_switch)
                tv[0] = nexttime;
        stv0299_writeregI (state, 0x0c, reg0x0c | 0x50); /* set LNB to 18V */
@@ -427,7 +431,7 @@ static int stv0299_send_legacy_dish_cmd (struct dvb_frontend* fe, unsigned long
 
        for (i=0; i<9; i++) {
                if (debug_legacy_dish_switch)
-                       do_gettimeofday (&tv[i+1]);
+                       tv[i+1] = ktime_get_real();
                if((cmd & 0x01) != last) {
                        /* set voltage to (last ? 13V : 18V) */
                        stv0299_writeregI (state, 0x0c, reg0x0c | (last ? lv_mask : 0x50));
@@ -443,7 +447,8 @@ static int stv0299_send_legacy_dish_cmd (struct dvb_frontend* fe, unsigned long
                printk ("%s(%d): switch delay (should be 32k followed by all 8k\n",
                        __func__, fe->dvb->num);
                for (i = 1; i < 10; i++)
-                       printk ("%d: %d\n", i, timeval_usec_diff(tv[i-1] , tv[i]));
+                       printk("%d: %d\n", i,
+                              (int) ktime_us_delta(tv[i], tv[i-1]));
        }
 
        return 0;
@@ -476,7 +481,8 @@ static int stv0299_init (struct dvb_frontend* fe)
        return 0;
 }
 
-static int stv0299_read_status(struct dvb_frontend* fe, fe_status_t* status)
+static int stv0299_read_status(struct dvb_frontend *fe,
+                              enum fe_status *status)
 {
        struct stv0299_state* state = fe->demodulator_priv;