diff options
Diffstat (limited to 'drivers/media/dvb/dvb-usb/gp8psk.c')
-rw-r--r-- | drivers/media/dvb/dvb-usb/gp8psk.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/media/dvb/dvb-usb/gp8psk.c b/drivers/media/dvb/dvb-usb/gp8psk.c index d965a923f391..c1da962cc886 100644 --- a/drivers/media/dvb/dvb-usb/gp8psk.c +++ b/drivers/media/dvb/dvb-usb/gp8psk.c | |||
@@ -174,6 +174,22 @@ static int gp8psk_power_ctrl(struct dvb_usb_device *d, int onoff) | |||
174 | return 0; | 174 | return 0; |
175 | } | 175 | } |
176 | 176 | ||
177 | int gp8psk_bcm4500_reload(struct dvb_usb_device *d) | ||
178 | { | ||
179 | u8 buf; | ||
180 | int gp_product_id = le16_to_cpu(d->udev->descriptor.idProduct); | ||
181 | /* Turn off 8psk power */ | ||
182 | if (gp8psk_usb_in_op(d, BOOT_8PSK, 0, 0, &buf, 1)) | ||
183 | return -EINVAL; | ||
184 | /* Turn On 8psk power */ | ||
185 | if (gp8psk_usb_in_op(d, BOOT_8PSK, 1, 0, &buf, 1)) | ||
186 | return -EINVAL; | ||
187 | /* load BCM4500 firmware */ | ||
188 | if (gp_product_id == USB_PID_GENPIX_8PSK_REV_1_WARM) | ||
189 | if (gp8psk_load_bcm4500fw(d)) | ||
190 | return EINVAL; | ||
191 | return 0; | ||
192 | } | ||
177 | 193 | ||
178 | static int gp8psk_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) | 194 | static int gp8psk_streaming_ctrl(struct dvb_usb_adapter *adap, int onoff) |
179 | { | 195 | { |