]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/media/video/pvrusb2/pvrusb2-hdw.h
V4L/DVB (5048): Pvrusb2: v4l2 API implementation frequency tweaks
[linux-2.6-omap-h63xx.git] / drivers / media / video / pvrusb2 / pvrusb2-hdw.h
index fd931b5da490b4bc66c8538923ac80eb98cd118a..19af4d636c3ff3aac9e5383ea33c9a4cee7a1cae 100644 (file)
@@ -78,6 +78,12 @@ enum pvr2_config {
        pvr2_config_radio,
 };
 
+enum pvr2_v4l_type {
+       pvr2_v4l_type_video,
+       pvr2_v4l_type_vbi,
+       pvr2_v4l_type_radio,
+};
+
 const char *pvr2_config_get_name(enum pvr2_config);
 
 struct pvr2_hdw;
@@ -205,12 +211,21 @@ int pvr2_hdw_cpufw_get_enabled(struct pvr2_hdw *);
 int pvr2_hdw_cpufw_get(struct pvr2_hdw *,unsigned int offs,
                       char *buf,unsigned int cnt);
 
-/* Retrieve previously stored v4l minor device number */
-int pvr2_hdw_v4l_get_minor_number(struct pvr2_hdw *);
-
-/* Store the v4l minor device number */
-void pvr2_hdw_v4l_store_minor_number(struct pvr2_hdw *,int);
-
+/* Retrieve a previously stored v4l minor device number */
+int pvr2_hdw_v4l_get_minor_number(struct pvr2_hdw *,enum pvr2_v4l_type index);
+
+/* Store a v4l minor device number */
+void pvr2_hdw_v4l_store_minor_number(struct pvr2_hdw *,
+                                    enum pvr2_v4l_type index,int);
+
+/* Direct read/write access to chip's registers:
+   chip_id - unique id of chip (e.g. I2C_DRIVERD_xxxx)
+   reg_id  - register number to access
+   setFl   - true to set the register, false to read it
+   val_ptr - storage location for source / result. */
+int pvr2_hdw_register_access(struct pvr2_hdw *,
+                            u32 chip_id,unsigned long reg_id,
+                            int setFl,u32 *val_ptr);
 
 /* The following entry points are all lower level things you normally don't
    want to worry about. */