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>
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
/* 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);
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)