diff options
-rw-r--r-- | include/media/tuner.h | 22 |
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 | |||
153 | struct tuner_setup { | 169 | struct 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 | ||
159 | struct tuner { | 175 | struct tuner { |