diff options
Diffstat (limited to 'drivers/media/dvb/dvb-usb/dtt200u-fe.c')
-rw-r--r-- | drivers/media/dvb/dvb-usb/dtt200u-fe.c | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/drivers/media/dvb/dvb-usb/dtt200u-fe.c b/drivers/media/dvb/dvb-usb/dtt200u-fe.c index 17413adec7a1..3d81daa49172 100644 --- a/drivers/media/dvb/dvb-usb/dtt200u-fe.c +++ b/drivers/media/dvb/dvb-usb/dtt200u-fe.c | |||
@@ -16,7 +16,7 @@ struct dtt200u_fe_state { | |||
16 | 16 | ||
17 | fe_status_t stat; | 17 | fe_status_t stat; |
18 | 18 | ||
19 | struct dvb_frontend_parameters fep; | 19 | struct dtv_frontend_properties fep; |
20 | struct dvb_frontend frontend; | 20 | struct dvb_frontend frontend; |
21 | }; | 21 | }; |
22 | 22 | ||
@@ -100,22 +100,27 @@ static int dtt200u_fe_get_tune_settings(struct dvb_frontend* fe, struct dvb_fron | |||
100 | return 0; | 100 | return 0; |
101 | } | 101 | } |
102 | 102 | ||
103 | static int dtt200u_fe_set_frontend(struct dvb_frontend* fe, | 103 | static int dtt200u_fe_set_frontend(struct dvb_frontend *fe) |
104 | struct dvb_frontend_parameters *fep) | ||
105 | { | 104 | { |
105 | struct dtv_frontend_properties *fep = &fe->dtv_property_cache; | ||
106 | struct dtt200u_fe_state *state = fe->demodulator_priv; | 106 | struct dtt200u_fe_state *state = fe->demodulator_priv; |
107 | int i; | 107 | int i; |
108 | fe_status_t st; | 108 | fe_status_t st; |
109 | u16 freq = fep->frequency / 250000; | 109 | u16 freq = fep->frequency / 250000; |
110 | u8 bwbuf[2] = { SET_BANDWIDTH, 0 },freqbuf[3] = { SET_RF_FREQ, 0, 0 }; | 110 | u8 bwbuf[2] = { SET_BANDWIDTH, 0 },freqbuf[3] = { SET_RF_FREQ, 0, 0 }; |
111 | 111 | ||
112 | switch (fep->u.ofdm.bandwidth) { | 112 | switch (fep->bandwidth_hz) { |
113 | case BANDWIDTH_8_MHZ: bwbuf[1] = 8; break; | 113 | case 8000000: |
114 | case BANDWIDTH_7_MHZ: bwbuf[1] = 7; break; | 114 | bwbuf[1] = 8; |
115 | case BANDWIDTH_6_MHZ: bwbuf[1] = 6; break; | 115 | break; |
116 | case BANDWIDTH_AUTO: return -EOPNOTSUPP; | 116 | case 7000000: |
117 | default: | 117 | bwbuf[1] = 7; |
118 | return -EINVAL; | 118 | break; |
119 | case 6000000: | ||
120 | bwbuf[1] = 6; | ||
121 | break; | ||
122 | default: | ||
123 | return -EINVAL; | ||
119 | } | 124 | } |
120 | 125 | ||
121 | dvb_usb_generic_write(state->d,bwbuf,2); | 126 | dvb_usb_generic_write(state->d,bwbuf,2); |
@@ -134,11 +139,11 @@ static int dtt200u_fe_set_frontend(struct dvb_frontend* fe, | |||
134 | return 0; | 139 | return 0; |
135 | } | 140 | } |
136 | 141 | ||
137 | static int dtt200u_fe_get_frontend(struct dvb_frontend* fe, | 142 | static int dtt200u_fe_get_frontend(struct dvb_frontend* fe) |
138 | struct dvb_frontend_parameters *fep) | ||
139 | { | 143 | { |
144 | struct dtv_frontend_properties *fep = &fe->dtv_property_cache; | ||
140 | struct dtt200u_fe_state *state = fe->demodulator_priv; | 145 | struct dtt200u_fe_state *state = fe->demodulator_priv; |
141 | memcpy(fep,&state->fep,sizeof(struct dvb_frontend_parameters)); | 146 | memcpy(fep, &state->fep, sizeof(struct dtv_frontend_properties)); |
142 | return 0; | 147 | return 0; |
143 | } | 148 | } |
144 | 149 | ||
@@ -172,9 +177,9 @@ error: | |||
172 | } | 177 | } |
173 | 178 | ||
174 | static struct dvb_frontend_ops dtt200u_fe_ops = { | 179 | static struct dvb_frontend_ops dtt200u_fe_ops = { |
180 | .delsys = { SYS_DVBT }, | ||
175 | .info = { | 181 | .info = { |
176 | .name = "WideView USB DVB-T", | 182 | .name = "WideView USB DVB-T", |
177 | .type = FE_OFDM, | ||
178 | .frequency_min = 44250000, | 183 | .frequency_min = 44250000, |
179 | .frequency_max = 867250000, | 184 | .frequency_max = 867250000, |
180 | .frequency_stepsize = 250000, | 185 | .frequency_stepsize = 250000, |