diff options
author | Michael Krufky <mkrufky@linuxtv.org> | 2008-02-10 08:33:37 (GMT) |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 17:09:46 (GMT) |
commit | bde316a4f1094f9a3da402c44f7315e1a94fb332 (patch) | |
tree | 3127e086a6c48868859e830ac3699b1c6929df38 | |
parent | bb8ce9d9143c0fe2b5cdf65fa41250446805a4be (diff) | |
download | linux-bde316a4f1094f9a3da402c44f7315e1a94fb332.tar.xz |
V4L/DVB (7683): pvrusb2-dvb: set to DTV mode before attaching frontend
Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-dvb.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-dvb.c b/drivers/media/video/pvrusb2/pvrusb2-dvb.c index bde85c9..69ac59a 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-dvb.c +++ b/drivers/media/video/pvrusb2/pvrusb2-dvb.c @@ -346,13 +346,31 @@ static int pvr2_dvb_adapter_exit(struct pvr2_dvb_adapter *adap) static int pvr2_dvb_frontend_init(struct pvr2_dvb_adapter *adap) { - struct pvr2_dvb_props *dvb_props = adap->pvr->hdw->hdw_desc->dvb_props; + struct pvr2_hdw *hdw = adap->pvr->hdw; + struct pvr2_dvb_props *dvb_props = hdw->hdw_desc->dvb_props; + int ret; if (dvb_props == NULL) { err("fe_props not defined!"); return -EINVAL; } + /* FIXME: This code should be moved into the core, + * and should only be called if we don't already have + * control of the bus. + * + * We can't call "pvr2_dvb_bus_ctrl(adap->fe, 1)" from here, + * because adap->fe isn't defined yet. + */ + ret = pvr2_ctrl_set_value(pvr2_hdw_get_ctrl_by_id(hdw, + PVR2_CID_INPUT), + PVR2_CVAL_INPUT_DTV); + if (ret != 0) + return ret; + + pvr2_hdw_commit_ctl(hdw); + + if (dvb_props->frontend_attach == NULL) { err("frontend_attach not defined!"); return -EINVAL; |