diff options
author | Antti Palosaari | 2012-05-25 03:18:37 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab | 2012-08-04 12:56:22 +0200 |
commit | 43402bbde52e96f950994bc55700814db8d5bc81 (patch) | |
tree | 991ee44b56f8ad9ee4e9ad98a07bfebb31002d52 /drivers/media/dvb/dvb-usb/dvb_usb_init.c | |
parent | [media] dvb_usb_v2: implement .get_adapter_count() (diff) | |
download | kernel-qcow2-linux-43402bbde52e96f950994bc55700814db8d5bc81.tar.gz kernel-qcow2-linux-43402bbde52e96f950994bc55700814db8d5bc81.tar.xz kernel-qcow2-linux-43402bbde52e96f950994bc55700814db8d5bc81.zip |
[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>
Diffstat (limited to 'drivers/media/dvb/dvb-usb/dvb_usb_init.c')
-rw-r--r-- | drivers/media/dvb/dvb-usb/dvb_usb_init.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/media/dvb/dvb-usb/dvb_usb_init.c b/drivers/media/dvb/dvb-usb/dvb_usb_init.c index 11d5c96a4600..d694ea9ecc91 100644 --- a/drivers/media/dvb/dvb-usb/dvb_usb_init.c +++ b/drivers/media/dvb/dvb-usb/dvb_usb_init.c @@ -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) |