Skip to content

Commit

Permalink
[media] dvb_usb_v2: implement .read_config()
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Antti Palosaari authored and Mauro Carvalho Chehab committed Aug 4, 2012
1 parent 5b85300 commit 43402bb
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 0 deletions.
1 change: 1 addition & 0 deletions drivers/media/dvb/dvb-usb/dvb_usb.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
10 changes: 10 additions & 0 deletions drivers/media/dvb/dvb-usb/dvb_usb_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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)
Expand Down

0 comments on commit 43402bb

Please sign in to comment.