pre/post_reset methods for skel
Oliver Neukum <[email protected]>
| Newsgroups | gmane.linux.usb.devel |
|---|---|
| Organization | Novell |
| Message-ID | <[email protected]> |
Hi,
this shows how the anchors can be used for doing reset support.
Hibernate, when we get it should be similar.
Regards
Oliver
--
--- a/drivers/usb/usb-skeleton.c 2007-05-08 15:19:59.000000000 +0200
+++ b/drivers/usb/usb-skeleton.c 2007-05-08 15:37:10.000000000 +0200
@@ -409,9 +409,8 @@ static void skel_disconnect(struct usb_i
info("USB Skeleton #%d now disconnected", minor);
}
-static int skel_suspend(struct usb_interface *intf, pm_message_t message)
+static void skel_draw_down(struct usb_skel *dev)
{
- struct usb_skel *dev= usb_get_intfdata(intf);
int time;
mutex_lock(&dev->io_mutex);
@@ -419,21 +418,42 @@ static int skel_suspend(struct usb_inter
if (!time)
usb_kill_anchored_urbs(&dev->submitted);
mutex_unlock(&dev->io_mutex);
+}
+
+static int skel_suspend(struct usb_interface *intf, pm_message_t message)
+{
+ struct usb_skel *dev = usb_get_intfdata(intf);
+ skel_draw_down(dev);
return 0;
}
+static void skel_pre_reset(struct usb_interface *intf)
+{
+ struct usb_skel *dev = usb_get_intfdata(intf);
+
+ mutex_lock(&skel_open_lock);
+ skel_draw_down(dev);
+}
+
static int skel_resume (struct usb_interface *intf)
{
return 0;
}
+static void skel_post_reset(struct usb_interface *intf)
+{
+ mutex_unlock(&skel_open_lock);
+}
+
static struct usb_driver skel_driver = {
.name = "skeleton",
.probe = skel_probe,
.disconnect = skel_disconnect,
.suspend = skel_suspend,
.resume = skel_resume,
+ .pre_reset = skel_pre_reset,
+ .post_reset = skel_post_reset,
.id_table = skel_table,
.supports_autosuspend = 1,
};
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel