Skip to content

Commit

Permalink
V4L/DVB (4657): Power control of the device for dual board
Browse files Browse the repository at this point in the history
Corrected power control of the device for dual boards

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
  • Loading branch information
Patrick Boettcher authored and Mauro Carvalho Chehab committed Oct 3, 2006
1 parent 1d57436 commit a37ddce
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 3 deletions.
11 changes: 8 additions & 3 deletions drivers/media/dvb/dvb-usb/dvb-usb-init.c
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ static int dvb_usb_init(struct dvb_usb_device *d)
if (d->priv == NULL) {
err("no memory for priv in 'struct dvb_usb_device'");
return -ENOMEM;
}
}
}

/* check the capabilities and set appropriate variables */
Expand Down Expand Up @@ -197,8 +197,13 @@ static struct dvb_usb_device_description * dvb_usb_find_device(struct usb_device

int dvb_usb_device_power_ctrl(struct dvb_usb_device *d, int onoff)
{
if (d->powered == !onoff) {
d->powered = onoff;
if (onoff)
d->powered++;
else
d->powered--;

if (d->powered == 0 || (onoff && d->powered == 1)) { // when switching from 1 to 0 or from 0 to 1
deb_info("power control: %d\n", onoff);
if (d->props.power_ctrl)
return d->props.power_ctrl(d, onoff);
}
Expand Down
2 changes: 2 additions & 0 deletions drivers/media/dvb/dvb-usb/dvb-usb.h
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,8 @@ struct dvb_usb_adapter {
* @desc: pointer to the device's struct dvb_usb_device_description.
* @state: initialization and runtime state of the device.
*
* @powered: indicated whether the device is power or not.
* Powered is in/decremented for each call to modify the state.
* @udev: pointer to the device's struct usb_device.
*
* @usb_mutex: semaphore of USB control messages (reading needs two messages)
Expand Down

0 comments on commit a37ddce

Please sign in to comment.