diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-12-26 19:57:56 +0100 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-12-31 12:55:45 +0100 |
commit | 4fa102d5cc5b412fa3bc7cc8c24e4d9052e4f693 (patch) | |
tree | d7e9a6c59ead7f0f89ea3510ec861c22cf6b0cad /drivers/media/dvb/dvb-usb/vp702x-fe.c | |
parent | [media] mxl111sf-demod: convert set_fontend to use DVBv5 parameters (diff) | |
download | linux-4fa102d5cc5b412fa3bc7cc8c24e4d9052e4f693.tar.xz linux-4fa102d5cc5b412fa3bc7cc8c24e4d9052e4f693.zip |
[media] vp702x-fe: 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>
Diffstat (limited to 'drivers/media/dvb/dvb-usb/vp702x-fe.c')
-rw-r--r-- | drivers/media/dvb/dvb-usb/vp702x-fe.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/media/dvb/dvb-usb/vp702x-fe.c b/drivers/media/dvb/dvb-usb/vp702x-fe.c index 8ff5aab1bd16..de1136ef34e5 100644 --- a/drivers/media/dvb/dvb-usb/vp702x-fe.c +++ b/drivers/media/dvb/dvb-usb/vp702x-fe.c @@ -135,9 +135,9 @@ static int vp702x_fe_get_tune_settings(struct dvb_frontend* fe, struct dvb_front return 0; } -static int vp702x_fe_set_frontend(struct dvb_frontend* fe, - struct dvb_frontend_parameters *fep) +static int vp702x_fe_set_frontend(struct dvb_frontend *fe) { + struct dtv_frontend_properties *fep = &fe->dtv_property_cache; struct vp702x_fe_state *st = fe->demodulator_priv; struct vp702x_device_state *dst = st->d->priv; u32 freq = fep->frequency/1000; @@ -155,14 +155,14 @@ static int vp702x_fe_set_frontend(struct dvb_frontend* fe, cmd[1] = freq & 0xff; cmd[2] = 1; /* divrate == 4 -> frequencyRef[1] -> 1 here */ - sr = (u64) (fep->u.qpsk.symbol_rate/1000) << 20; + sr = (u64) (fep->symbol_rate/1000) << 20; do_div(sr,88000); cmd[3] = (sr >> 12) & 0xff; cmd[4] = (sr >> 4) & 0xff; cmd[5] = (sr << 4) & 0xf0; deb_fe("setting frontend to: %u -> %u (%x) LNB-based GHz, symbolrate: %d -> %lu (%lx)\n", - fep->frequency,freq,freq, fep->u.qpsk.symbol_rate, + fep->frequency, freq, freq, fep->symbol_rate, (unsigned long) sr, (unsigned long) sr); /* if (fep->inversion == INVERSION_ON) @@ -171,7 +171,7 @@ static int vp702x_fe_set_frontend(struct dvb_frontend* fe, if (st->voltage == SEC_VOLTAGE_18) cmd[6] |= 0x40; -/* if (fep->u.qpsk.symbol_rate > 8000000) +/* if (fep->symbol_rate > 8000000) cmd[6] |= 0x20; if (fep->frequency < 1531000) @@ -212,7 +212,7 @@ static int vp702x_fe_sleep(struct dvb_frontend *fe) } static int vp702x_fe_get_frontend(struct dvb_frontend* fe, - struct dvb_frontend_parameters *fep) + struct dtv_frontend_properties *fep) { deb_fe("%s\n",__func__); return 0; @@ -350,6 +350,7 @@ error: static struct dvb_frontend_ops vp702x_fe_ops = { + .delsys = { SYS_DVBS }, .info = { .name = "Twinhan DST-like frontend (VP7021/VP7020) DVB-S", .type = FE_QPSK, @@ -370,8 +371,8 @@ static struct dvb_frontend_ops vp702x_fe_ops = { .init = vp702x_fe_init, .sleep = vp702x_fe_sleep, - .set_frontend_legacy = vp702x_fe_set_frontend, - .get_frontend_legacy = vp702x_fe_get_frontend, + .set_frontend = vp702x_fe_set_frontend, + .get_frontend = vp702x_fe_get_frontend, .get_tune_settings = vp702x_fe_get_tune_settings, .read_status = vp702x_fe_read_status, |