aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/media/tuner.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/include/media/tuner.h b/include/media/tuner.h
index aa91ce35915b..c5f034ecb002 100644
--- a/include/media/tuner.h
+++ b/include/media/tuner.h
@@ -150,10 +150,26 @@ enum tuner_mode {
150 T_STANDBY = 1 << 31 150 T_STANDBY = 1 << 31
151}; 151};
152 152
153/* Older boards only had a single tuner device. Nowadays multiple tuner
154 devices may be present on a single board. Using TUNER_SET_TYPE_ADDR
155 to pass the tuner_setup structure it is possible to setup each tuner
156 device in turn.
157
158 Since multiple devices may be present it is no longer sufficient to
159 send a command to a single i2c device. Instead you should broadcast
160 the command to all i2c devices.
161
162 By setting the mode_mask correctly you can select which commands are
163 accepted by a specific tuner device. For example, set mode_mask to
164 T_RADIO if the device is a radio-only tuner. That specific tuner will
165 only accept commands when the tuner is in radio mode and ignore them
166 when the tuner is set to TV mode.
167 */
168
153struct tuner_setup { 169struct tuner_setup {
154 unsigned short addr; 170 unsigned short addr; /* I2C address */
155 unsigned int type; 171 unsigned int type; /* Tuner type */
156 unsigned int mode_mask; 172 unsigned int mode_mask; /* Allowed tuner modes */
157}; 173};
158 174
159struct tuner { 175struct tuner {