V4L/DVB (3245): Added some comments about multiple tuner support.
authorHans Verkuil <hverkuil@xs4all.nl>
Mon, 9 Jan 2006 17:25:39 +0000 (15:25 -0200)
committerMauro Carvalho Chehab <mchehab@brturbo.com.br>
Mon, 9 Jan 2006 17:25:39 +0000 (15:25 -0200)
- Added some comments to make clearer how to use ioctl api to handle
multiple tuners at the same board.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
include/media/tuner.h

index aa91ce35915b769492790286140e23d02d06400b..c5f034ecb00250996253b3a3807dc67686e608d8 100644 (file)
@@ -150,10 +150,26 @@ enum tuner_mode {
        T_STANDBY       = 1 << 31
 };
 
+/* Older boards only had a single tuner device. Nowadays multiple tuner
+   devices may be present on a single board. Using TUNER_SET_TYPE_ADDR
+   to pass the tuner_setup structure it is possible to setup each tuner
+   device in turn.
+
+   Since multiple devices may be present it is no longer sufficient to
+   send a command to a single i2c device. Instead you should broadcast
+   the command to all i2c devices.
+
+   By setting the mode_mask correctly you can select which commands are
+   accepted by a specific tuner device. For example, set mode_mask to
+   T_RADIO if the device is a radio-only tuner. That specific tuner will
+   only accept commands when the tuner is in radio mode and ignore them
+   when the tuner is set to TV mode.
+ */
+
 struct tuner_setup {
-       unsigned short  addr;
-       unsigned int    type;
-       unsigned int    mode_mask;
+       unsigned short  addr;   /* I2C address */
+       unsigned int    type;   /* Tuner type */
+       unsigned int    mode_mask;  /* Allowed tuner modes */
 };
 
 struct tuner {