Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[media] ds3000: hardware tune algorithm

Signed-off-by: Igor M. Liplianin <liplianin@me.by>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

authored by

Igor M. Liplianin and committed by
Mauro Carvalho Chehab
dcc8a122 a5bf834b

+12 -6
+12 -6
drivers/media/dvb/frontends/ds3000.c
··· 967 967 return 0; 968 968 } 969 969 970 - static int ds3000_tune(struct dvb_frontend *fe, 970 + static int ds3000_set_frontend(struct dvb_frontend *fe, 971 971 struct dvb_frontend_parameters *p) 972 972 { 973 973 struct ds3000_state *state = fe->demodulator_priv; 974 974 struct dtv_frontend_properties *c = &fe->dtv_property_cache; 975 975 976 976 int i; 977 - u8 status, mlpf, mlpf_new, mlpf_max, mlpf_min, nlpf, div4; 977 + fe_status_t status; 978 + u8 mlpf, mlpf_new, mlpf_max, mlpf_min, nlpf, div4; 978 979 s32 offset_khz; 979 980 u16 value, ndiv; 980 981 u32 f3db; 981 982 982 983 dprintk("%s() ", __func__); 983 984 984 - /* Reset status register */ 985 - status = 0; 986 985 /* Tune */ 987 986 /* unknown */ 988 987 ds3000_tuner_writereg(state, 0x07, 0x02); ··· 1217 1218 return 0; 1218 1219 } 1219 1220 1221 + static int ds3000_tune(struct dvb_frontend *fe, 1222 + struct dvb_frontend_parameters *p) 1223 + { 1224 + return ds3000_set_frontend(fe, p); 1225 + } 1226 + 1220 1227 static enum dvbfe_algo ds3000_get_algo(struct dvb_frontend *fe) 1221 1228 { 1222 1229 dprintk("%s()\n", __func__); 1223 - return DVBFE_ALGO_SW; 1230 + return DVBFE_ALGO_HW; 1224 1231 } 1225 1232 1226 1233 /* ··· 1301 1296 1302 1297 .set_property = ds3000_set_property, 1303 1298 .get_property = ds3000_get_property, 1304 - .set_frontend = ds3000_tune, 1299 + .set_frontend = ds3000_set_frontend, 1300 + .tune = ds3000_tune, 1305 1301 }; 1306 1302 1307 1303 module_param(debug, int, 0644);