mirror of
https://github.com/torvalds/linux.git
synced 2024-11-01 01:31:44 +00:00
[media] ds3000: convert set_fontend to use DVBv5 parameters
Instead of using dvb_frontend_parameters struct, that were designed for a subset of the supported standards, use the DVBv5 cache information. Also, fill the supported delivery systems at dvb_frontend_ops struct. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
ed5452a2ab
commit
9fe3301824
@ -934,20 +934,6 @@ error2:
|
||||
}
|
||||
EXPORT_SYMBOL(ds3000_attach);
|
||||
|
||||
static int ds3000_set_property(struct dvb_frontend *fe,
|
||||
struct dtv_property *tvp)
|
||||
{
|
||||
dprintk("%s(..)\n", __func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ds3000_get_property(struct dvb_frontend *fe,
|
||||
struct dtv_property *tvp)
|
||||
{
|
||||
dprintk("%s(..)\n", __func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ds3000_set_carrier_offset(struct dvb_frontend *fe,
|
||||
s32 carrier_offset_khz)
|
||||
{
|
||||
@ -967,8 +953,7 @@ static int ds3000_set_carrier_offset(struct dvb_frontend *fe,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ds3000_set_frontend(struct dvb_frontend *fe,
|
||||
struct dvb_frontend_parameters *p)
|
||||
static int ds3000_set_frontend(struct dvb_frontend *fe)
|
||||
{
|
||||
struct ds3000_state *state = fe->demodulator_priv;
|
||||
struct dtv_frontend_properties *c = &fe->dtv_property_cache;
|
||||
@ -994,15 +979,15 @@ static int ds3000_set_frontend(struct dvb_frontend *fe,
|
||||
div4 = 0;
|
||||
|
||||
/* calculate and set freq divider */
|
||||
if (p->frequency < 1146000) {
|
||||
if (c->frequency < 1146000) {
|
||||
ds3000_tuner_writereg(state, 0x10, 0x11);
|
||||
div4 = 1;
|
||||
ndiv = ((p->frequency * (6 + 8) * 4) +
|
||||
ndiv = ((c->frequency * (6 + 8) * 4) +
|
||||
(DS3000_XTAL_FREQ / 2)) /
|
||||
DS3000_XTAL_FREQ - 1024;
|
||||
} else {
|
||||
ds3000_tuner_writereg(state, 0x10, 0x01);
|
||||
ndiv = ((p->frequency * (6 + 8) * 2) +
|
||||
ndiv = ((c->frequency * (6 + 8) * 2) +
|
||||
(DS3000_XTAL_FREQ / 2)) /
|
||||
DS3000_XTAL_FREQ - 1024;
|
||||
}
|
||||
@ -1101,7 +1086,7 @@ static int ds3000_set_frontend(struct dvb_frontend *fe,
|
||||
msleep(60);
|
||||
|
||||
offset_khz = (ndiv - ndiv % 2 + 1024) * DS3000_XTAL_FREQ
|
||||
/ (6 + 8) / (div4 + 1) / 2 - p->frequency;
|
||||
/ (6 + 8) / (div4 + 1) / 2 - c->frequency;
|
||||
|
||||
/* ds3000 global reset */
|
||||
ds3000_writereg(state, 0x07, 0x80);
|
||||
@ -1226,7 +1211,7 @@ static int ds3000_tune(struct dvb_frontend *fe,
|
||||
fe_status_t *status)
|
||||
{
|
||||
if (p) {
|
||||
int ret = ds3000_set_frontend(fe, p);
|
||||
int ret = ds3000_set_frontend(fe);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
@ -1279,7 +1264,7 @@ static int ds3000_sleep(struct dvb_frontend *fe)
|
||||
}
|
||||
|
||||
static struct dvb_frontend_ops ds3000_ops = {
|
||||
|
||||
.delsys = { SYS_DVBS, SYS_DVBS2},
|
||||
.info = {
|
||||
.name = "Montage Technology DS3000/TS2020",
|
||||
.type = FE_QPSK,
|
||||
@ -1312,9 +1297,7 @@ static struct dvb_frontend_ops ds3000_ops = {
|
||||
.diseqc_send_burst = ds3000_diseqc_send_burst,
|
||||
.get_frontend_algo = ds3000_get_algo,
|
||||
|
||||
.set_property = ds3000_set_property,
|
||||
.get_property = ds3000_get_property,
|
||||
.set_frontend_legacy = ds3000_set_frontend,
|
||||
.set_frontend = ds3000_set_frontend,
|
||||
.tune = ds3000_tune,
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user