DVB (2444): Implement frontend-specific tuning and the ability to disable zigzag
[firefly-linux-kernel-4.4.55.git] / drivers / media / dvb / dvb-core / dvb_frontend.h
index 1e0840d02f1f5e0307cbd7b9cc1d9eabc53c7f56..48c3f81be91292a0a63965f9109623701f976f0c 100644 (file)
@@ -58,10 +58,19 @@ struct dvb_frontend_ops {
        int (*init)(struct dvb_frontend* fe);
        int (*sleep)(struct dvb_frontend* fe);
 
+       /* if this is set, it overrides the default swzigzag */
+       int (*tune)(struct dvb_frontend* fe,
+                   struct dvb_frontend_parameters* params,
+                   unsigned int mode_flags,
+                   int *delay,
+                   fe_status_t *status);
+
+       /* these two are only used for the swzigzag code */
        int (*set_frontend)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params);
-       int (*get_frontend)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params);
        int (*get_tune_settings)(struct dvb_frontend* fe, struct dvb_frontend_tune_settings* settings);
 
+       int (*get_frontend)(struct dvb_frontend* fe, struct dvb_frontend_parameters* params);
+
        int (*read_status)(struct dvb_frontend* fe, fe_status_t* status);
        int (*read_ber)(struct dvb_frontend* fe, u32* ber);
        int (*read_signal_strength)(struct dvb_frontend* fe, u16* strength);