summaryrefslogtreecommitdiff
path: root/linux/drivers
diff options
context:
space:
mode:
authorMike Isely <isely@pobox.com>2009-03-06 21:08:17 -0600
committerMike Isely <isely@pobox.com>2009-03-06 21:08:17 -0600
commit71de949bd82e5ca76a64b50b77ffdcb6c33ab8ff (patch)
tree844f9dda6d1865a0cac57be72cff361d2e271126 /linux/drivers
parent9fee9b0bdc0b84b220c18ef30cfc7b107966424b (diff)
downloadmediapointer-dvb-s2-71de949bd82e5ca76a64b50b77ffdcb6c33ab8ff.tar.gz
mediapointer-dvb-s2-71de949bd82e5ca76a64b50b77ffdcb6c33ab8ff.tar.bz2
pvrusb2: Implement status fetching from sub-devices
From: Mike Isely <isely@pobox.com> Implement status fetching operations in terms of calling out to sub-device(s). Priority: normal Signed-off-by: Mike Isely <isely@pobox.com>
Diffstat (limited to 'linux/drivers')
-rw-r--r--linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c14
-rw-r--r--linux/drivers/media/video/pvrusb2/pvrusb2-i2c-track.c8
2 files changed, 14 insertions, 8 deletions
diff --git a/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c b/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c
index 975d56825..3d6aab2f6 100644
--- a/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c
+++ b/linux/drivers/media/video/pvrusb2/pvrusb2-hdw.c
@@ -4955,7 +4955,21 @@ int pvr2_hdw_gpio_chg_out(struct pvr2_hdw *hdw,u32 msk,u32 val)
void pvr2_hdw_status_poll(struct pvr2_hdw *hdw)
{
+ struct v4l2_tuner *vtp = &hdw->tuner_signal_info;
+ memset(vtp, 0, sizeof(*vtp));
pvr2_i2c_core_status_poll(hdw);
+ /* Note: There apparently is no replacement for VIDIOC_CROPCAP
+ using v4l2-subdev - therefore we can't support that AT ALL right
+ now. (Of course, no sub-drivers seem to implement it either.
+ But now it's a a chicken and egg problem...) */
+ v4l2_device_call_all(&hdw->v4l2_dev, 0, tuner, g_tuner,
+ &hdw->tuner_signal_info);
+ pvr2_trace(PVR2_TRACE_CHIPS, "client status poll"
+ " type=%u strength=%u audio=0x%x cap=0x%x"
+ " low=%u hi=%u",
+ vtp->type,
+ vtp->signal, vtp->rxsubchans, vtp->capability,
+ vtp->rangelow, vtp->rangehigh);
}
diff --git a/linux/drivers/media/video/pvrusb2/pvrusb2-i2c-track.c b/linux/drivers/media/video/pvrusb2/pvrusb2-i2c-track.c
index fb738385d..78ff57773 100644
--- a/linux/drivers/media/video/pvrusb2/pvrusb2-i2c-track.c
+++ b/linux/drivers/media/video/pvrusb2/pvrusb2-i2c-track.c
@@ -113,20 +113,12 @@ void pvr2_i2c_core_status_poll(struct pvr2_hdw *hdw)
{
struct pvr2_i2c_client *cp;
mutex_lock(&hdw->i2c_list_lock); do {
- struct v4l2_tuner *vtp = &hdw->tuner_signal_info;
- memset(vtp,0,sizeof(*vtp));
list_for_each_entry(cp, &hdw->i2c_clients, list) {
if (!cp->detected_flag) continue;
if (!cp->status_poll) continue;
cp->status_poll(cp);
}
hdw->tuner_signal_stale = 0;
- pvr2_trace(PVR2_TRACE_CHIPS,"i2c status poll"
- " type=%u strength=%u audio=0x%x cap=0x%x"
- " low=%u hi=%u",
- vtp->type,
- vtp->signal,vtp->rxsubchans,vtp->capability,
- vtp->rangelow,vtp->rangehigh);
} while (0); mutex_unlock(&hdw->i2c_list_lock);
}