diff options
author | Mike Isely <isely@pobox.com> | 2007-01-19 23:56:04 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-02-21 10:34:41 -0500 |
commit | 606cf9caeb3b908426757924bfdce85cb854aa81 (patch) | |
tree | f7236b01b9d8e3af4b12116a9c0ebe055f1ac60c /drivers/media/video/pvrusb2/pvrusb2-i2c-chips-v4l2.c | |
parent | 27c7b710a4010e10b14500c0b27bb4c2a806de1b (diff) |
V4L/DVB (5093): Pvrusb2: Emit VIDIOC_S_TUNER correctly
Audio mode changes are not private to the audio chip - other I2C
modules need to see this as well. And since the command in question
is VIDIOC_S_TUNER which is a standard v4l2 command, we really should
be broadcasting it out. This change sets up a broadcast pathway for
VIDIOC_S_TUNER and also eliminates the now redundant code from the
audio chip handler.
This fix enables stereo reception for the FM radio
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/pvrusb2/pvrusb2-i2c-chips-v4l2.c')
-rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-i2c-chips-v4l2.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-i2c-chips-v4l2.c b/drivers/media/video/pvrusb2/pvrusb2-i2c-chips-v4l2.c index 16fa075a1eec..49773764383b 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-i2c-chips-v4l2.c +++ b/drivers/media/video/pvrusb2/pvrusb2-i2c-chips-v4l2.c | |||
@@ -33,15 +33,17 @@ | |||
33 | #define trace_i2c(...) pvr2_trace(PVR2_TRACE_I2C,__VA_ARGS__) | 33 | #define trace_i2c(...) pvr2_trace(PVR2_TRACE_I2C,__VA_ARGS__) |
34 | 34 | ||
35 | #define OP_STANDARD 0 | 35 | #define OP_STANDARD 0 |
36 | #define OP_BCSH 1 | 36 | #define OP_AUDIOMODE 1 |
37 | #define OP_VOLUME 2 | 37 | #define OP_BCSH 2 |
38 | #define OP_FREQ 3 | 38 | #define OP_VOLUME 3 |
39 | #define OP_AUDIORATE 4 | 39 | #define OP_FREQ 4 |
40 | #define OP_SIZE 5 | 40 | #define OP_AUDIORATE 5 |
41 | #define OP_LOG 6 | 41 | #define OP_SIZE 6 |
42 | #define OP_LOG 7 | ||
42 | 43 | ||
43 | static const struct pvr2_i2c_op * const ops[] = { | 44 | static const struct pvr2_i2c_op * const ops[] = { |
44 | [OP_STANDARD] = &pvr2_i2c_op_v4l2_standard, | 45 | [OP_STANDARD] = &pvr2_i2c_op_v4l2_standard, |
46 | [OP_AUDIOMODE] = &pvr2_i2c_op_v4l2_audiomode, | ||
45 | [OP_BCSH] = &pvr2_i2c_op_v4l2_bcsh, | 47 | [OP_BCSH] = &pvr2_i2c_op_v4l2_bcsh, |
46 | [OP_VOLUME] = &pvr2_i2c_op_v4l2_volume, | 48 | [OP_VOLUME] = &pvr2_i2c_op_v4l2_volume, |
47 | [OP_FREQ] = &pvr2_i2c_op_v4l2_frequency, | 49 | [OP_FREQ] = &pvr2_i2c_op_v4l2_frequency, |
@@ -54,6 +56,7 @@ void pvr2_i2c_probe(struct pvr2_hdw *hdw,struct pvr2_i2c_client *cp) | |||
54 | int id; | 56 | int id; |
55 | id = cp->client->driver->id; | 57 | id = cp->client->driver->id; |
56 | cp->ctl_mask = ((1 << OP_STANDARD) | | 58 | cp->ctl_mask = ((1 << OP_STANDARD) | |
59 | (1 << OP_AUDIOMODE) | | ||
57 | (1 << OP_BCSH) | | 60 | (1 << OP_BCSH) | |
58 | (1 << OP_VOLUME) | | 61 | (1 << OP_VOLUME) | |
59 | (1 << OP_FREQ) | | 62 | (1 << OP_FREQ) | |