Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 330608
b: refs/heads/master
c: ef81e9e
h: refs/heads/master
v: v3
  • Loading branch information
Antti Palosaari authored and Mauro Carvalho Chehab committed Aug 4, 2012
1 parent 2ecfee9 commit 31b2ce4
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 5b6a63cc2f11a9b00862d13104d1304e082acfe5
refs/heads/master: ef81e9ebbe57236683e6950d0ec82a20f2d350eb
2 changes: 2 additions & 0 deletions trunk/drivers/media/dvb/dvb-usb/dvb_usb.h
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,8 @@ struct dvb_usb_device {
extern int dvb_usbv2_probe(struct usb_interface *,
const struct usb_device_id *);
extern void dvb_usbv2_disconnect(struct usb_interface *);
extern int dvb_usbv2_suspend(struct usb_interface *, pm_message_t);
extern int dvb_usbv2_resume(struct usb_interface *);

/* the generic read/write method for device control */
extern int dvb_usbv2_generic_rw(struct dvb_usb_device *, u8 *, u16, u8 *, u16,
Expand Down
43 changes: 43 additions & 0 deletions trunk/drivers/media/dvb/dvb-usb/dvb_usb_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -439,6 +439,49 @@ void dvb_usbv2_disconnect(struct usb_interface *intf)
}
EXPORT_SYMBOL(dvb_usbv2_disconnect);

int dvb_usbv2_suspend(struct usb_interface *intf, pm_message_t msg)
{
struct dvb_usb_device *d = usb_get_intfdata(intf);
int i;

pr_debug("%s:\n", __func__);

/* stop remote controller poll */
if (d->rc.query && !d->rc.bulk_mode)
cancel_delayed_work_sync(&d->rc_query_work);

/* stop streaming */
for (i = d->num_adapters_initialized - 1; i >= 0; i--) {
if (d->adapter[i].active_fe != -1)
usb_urb_killv2(&d->adapter[i].stream);
}

return 0;
}
EXPORT_SYMBOL(dvb_usbv2_suspend);

int dvb_usbv2_resume(struct usb_interface *intf)
{
struct dvb_usb_device *d = usb_get_intfdata(intf);
int i;

pr_debug("%s:\n", __func__);

/* start streaming */
for (i = 0; i < d->num_adapters_initialized; i++) {
if (d->adapter[i].active_fe != -1)
usb_urb_submitv2(&d->adapter[i].stream, NULL);
}

/* start remote controller poll */
if (d->rc.query && !d->rc.bulk_mode)
schedule_delayed_work(&d->rc_query_work,
msecs_to_jiffies(d->rc.interval));

return 0;
}
EXPORT_SYMBOL(dvb_usbv2_resume);

MODULE_VERSION("1.0");
MODULE_AUTHOR("Patrick Boettcher <patrick.boettcher@desy.de>");
MODULE_DESCRIPTION("A library module containing commonly used USB and DVB function USB DVB devices");
Expand Down

0 comments on commit 31b2ce4

Please sign in to comment.