]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/media/dvb/dvb-core/dvb_frontend.h
Merge branch 'nfs-server-stable' of git://linux-nfs.org/~bfields/linux
[linux-2.6-omap-h63xx.git] / drivers / media / dvb / dvb-core / dvb_frontend.h
index a770a87b9a93d0f68ed5610316e20f6d2374649d..a5262e852c822bd0d280cb0d52100a9d5cd22c3d 100644 (file)
@@ -35,6 +35,7 @@
 #include <linux/module.h>
 #include <linux/errno.h>
 #include <linux/delay.h>
+#include <linux/mutex.h>
 
 #include <linux/dvb/frontend.h>
 
@@ -61,6 +62,13 @@ struct dvb_tuner_info {
        u32 bandwidth_step;
 };
 
+struct analog_parameters {
+       unsigned int frequency;
+       unsigned int mode;
+       unsigned int audmode;
+       u64 std;
+};
+
 struct dvb_tuner_ops {
 
        struct dvb_tuner_info info;
@@ -71,6 +79,7 @@ struct dvb_tuner_ops {
 
        /** This is for simple PLLs - set all parameters in one go. */
        int (*set_params)(struct dvb_frontend *fe, struct dvb_frontend_parameters *p);
+       int (*set_analog_params)(struct dvb_frontend *fe, struct analog_parameters *p);
 
        /** This is support for demods like the mt352 - fills out the supplied buffer with what to write. */
        int (*calc_regs)(struct dvb_frontend *fe, struct dvb_frontend_parameters *p, u8 *buf, int buf_len);
@@ -79,7 +88,9 @@ struct dvb_tuner_ops {
        int (*get_bandwidth)(struct dvb_frontend *fe, u32 *bandwidth);
 
 #define TUNER_STATUS_LOCKED 1
+#define TUNER_STATUS_STEREO 2
        int (*get_status)(struct dvb_frontend *fe, u32 *status);
+       int (*get_rf_strength)(struct dvb_frontend *fe, u16 *strength);
 
        /** These are provided seperately from set_params in order to facilitate silicon
         * tuners which require sophisticated tuning loops, controlling each parameter seperately. */
@@ -142,7 +153,7 @@ struct dvb_fe_events {
        int                       eventr;
        int                       overflow;
        wait_queue_head_t         wait_queue;
-       struct semaphore          sem;
+       struct mutex              mtx;
 };
 
 struct dvb_frontend {