diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-21 11:10:30 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-21 11:10:30 -0800 |
commit | e695e10bc996d6f83df7d85f1011c8d00573f68b (patch) | |
tree | 3d0ba107ea8fe7d0090e3cfd5e36cdb4abcaab99 /drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h | |
parent | 3a5f10e3708e00c406f154bae412652ec3eb2b48 (diff) | |
parent | f6982d59480953a8f5a84c237a9dabff39f788ce (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (196 commits)
V4L/DVB (5253): Qt1010: whitespace / 80 column cleanups
V4L/DVB (5252): Qt1010: use ARRAY_SIZE macro when appropriate
V4L/DVB (5251): Qt1010: fix compiler warning
V4L/DVB (5249): Fix compiler warning in vivi.c
V4L/DVB (5247): Stv0297: Enable BER/UNC counting
V4L/DVB (5246): Budget-ci: IR handling fixups
V4L/DVB (5245): Dvb-ttpci: use i2c gate ctrl from stv0297 frontend driver
V4L/DVB (5244): Dvbdev: fix illegal re-usage of fileoperations struct
V4L/DVB (5178): Avoid race when deregistering the IR control for dvb-usb
V4L/DVB (5240): Qt1010: use i2c_gate_ctrl where appropriate
V4L/DVB (5239): Whitespace / 80-column cleanups
V4L/DVB (5238): Kconfig: qt1010 should be selected by gl861 and au6610
V4L/DVB (5237): Dvb: add new qt1010 tuner module
V4L/DVB (5236): Initial support for Sigmatek DVB-110 DVB-T
V4L/DVB (5235): Gl861: use parallel_ts
V4L/DVB (5234): Gl861: remove unneeded declaration
V4L/DVB (5233): Gl861: correct address of the bulk endpoint
V4L/DVB (5232): Gl861: correct oops when loading module
V4L/DVB (5231): Gl861: whitespace cleanups
V4L/DVB (5230): Gl861: remove NULL entry from gl861_properties
...
Diffstat (limited to 'drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h')
-rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h b/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h index 34b08fbcc6e..16bd7419960 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h +++ b/drivers/media/video/pvrusb2/pvrusb2-hdw-internal.h @@ -60,6 +60,7 @@ struct pvr2_decoder; typedef int (*pvr2_ctlf_is_dirty)(struct pvr2_ctrl *); typedef void (*pvr2_ctlf_clear_dirty)(struct pvr2_ctrl *); +typedef int (*pvr2_ctlf_check_value)(struct pvr2_ctrl *,int); typedef int (*pvr2_ctlf_get_value)(struct pvr2_ctrl *,int *); typedef int (*pvr2_ctlf_set_value)(struct pvr2_ctrl *,int msk,int val); typedef int (*pvr2_ctlf_val_to_sym)(struct pvr2_ctrl *,int msk,int val, @@ -83,6 +84,7 @@ struct pvr2_ctl_info { pvr2_ctlf_get_value get_min_value; /* Get minimum allowed value */ pvr2_ctlf_get_value get_max_value; /* Get maximum allowed value */ pvr2_ctlf_set_value set_value; /* Set its value */ + pvr2_ctlf_check_value check_value; /* Check that value is valid */ pvr2_ctlf_val_to_sym val_to_sym; /* Custom convert value->symbol */ pvr2_ctlf_sym_to_val sym_to_val; /* Custom convert symbol->value */ pvr2_ctlf_is_dirty is_dirty; /* Return true if dirty */ @@ -135,17 +137,10 @@ struct pvr2_ctrl { }; -struct pvr2_audio_stat { - void *ctxt; - void (*detach)(void *); - int (*status)(void *); -}; - struct pvr2_decoder_ctrl { void *ctxt; void (*detach)(void *); void (*enable)(void *,int); - int (*tuned)(void *); void (*force_reset)(void *); }; @@ -212,7 +207,6 @@ struct pvr2_hdw { /* Frequency table */ unsigned int freqTable[FREQTABLE_SIZE]; unsigned int freqProgSlot; - unsigned int freqSlot; /* Stuff for handling low level control interaction with device */ struct mutex ctl_lock_mutex; @@ -258,9 +252,17 @@ struct pvr2_hdw { /* Tuner / frequency control stuff */ unsigned int tuner_type; int tuner_updated; - unsigned int freqVal; + unsigned int freqValTelevision; /* Current freq for tv mode */ + unsigned int freqValRadio; /* Current freq for radio mode */ + unsigned int freqSlotTelevision; /* Current slot for tv mode */ + unsigned int freqSlotRadio; /* Current slot for radio mode */ + unsigned int freqSelector; /* 0=radio 1=television */ int freqDirty; + /* Current tuner info - this information is polled from the I2C bus */ + struct v4l2_tuner tuner_signal_info; + int tuner_signal_stale; + /* Video standard handling */ v4l2_std_id std_mask_eeprom; // Hardware supported selections v4l2_std_id std_mask_avail; // Which standards we may select from @@ -281,20 +283,17 @@ struct pvr2_hdw { int unit_number; /* ID for driver instance */ unsigned long serial_number; /* ID for hardware itself */ - /* Minor number used by v4l logic (yes, this is a hack, as there should - be no v4l junk here). Probably a better way to do this. */ - int v4l_minor_number; + /* Minor numbers used by v4l logic (yes, this is a hack, as there + should be no v4l junk here). Probably a better way to do this. */ + int v4l_minor_number_video; + int v4l_minor_number_vbi; + int v4l_minor_number_radio; /* Location of eeprom or a negative number if none */ int eeprom_addr; enum pvr2_config config; - /* Information about what audio signal we're hearing */ - int flag_stereo; - int flag_bilingual; - struct pvr2_audio_stat *audio_stat; - /* Control state needed for cx2341x module */ struct cx2341x_mpeg_params enc_cur_state; struct cx2341x_mpeg_params enc_ctl_state; @@ -327,6 +326,9 @@ struct pvr2_hdw { unsigned int control_cnt; }; +/* This function gets the current frequency */ +unsigned long pvr2_hdw_get_cur_freq(struct pvr2_hdw *); + #endif /* __PVRUSB2_HDW_INTERNAL_H */ /* |