[media] dvb_usb_v2: implement .read_config()
That callback is called only once when device is connected. Call is done after the possible firmware is downloaded to the device, just after the .power_ctrl() and before adapters are created. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
5b85300413
commit
43402bbde5
|
@ -275,6 +275,7 @@ struct dvb_usb_device_properties {
|
|||
struct dvb_usb_adapter_properties adapter[MAX_NO_OF_ADAPTER_PER_DEVICE];
|
||||
|
||||
int (*power_ctrl) (struct dvb_usb_device *, int);
|
||||
int (*read_config) (struct dvb_usb_device *d);
|
||||
int (*read_mac_address) (struct dvb_usb_device *, u8 []);
|
||||
|
||||
#define WARM 0
|
||||
|
|
|
@ -190,6 +190,13 @@ static int dvb_usb_init(struct dvb_usb_device *d)
|
|||
/* check the capabilities and set appropriate variables */
|
||||
dvb_usb_device_power_ctrl(d, 1);
|
||||
|
||||
/* read config */
|
||||
if (d->props.read_config) {
|
||||
ret = d->props.read_config(d);
|
||||
if (ret < 0)
|
||||
goto err;
|
||||
}
|
||||
|
||||
ret = dvb_usb_i2c_init(d);
|
||||
if (ret == 0)
|
||||
ret = dvb_usb_adapter_init(d);
|
||||
|
@ -209,6 +216,9 @@ static int dvb_usb_init(struct dvb_usb_device *d)
|
|||
dvb_usb_device_power_ctrl(d, 0);
|
||||
|
||||
return 0;
|
||||
err:
|
||||
pr_debug("%s: failed=%d\n", __func__, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int dvb_usb_device_power_ctrl(struct dvb_usb_device *d, int onoff)
|
||||
|
|
Loading…
Reference in a new issue