This patch adds resume event into gadgetfs.
Patch is against 2.6.17.
Feedback and comments are highly appreciated.
Signed-off-by: Milan Svoboda <[EMAIL PROTECTED]>
---
diff -uprN -X orig.bak.never.touch/Documentation/dontdiff
orig.bak.never.touch/drivers/usb/gadget/inode.c
new_gadget/drivers/usb/gadget/inode.c
--- orig.bak.never.touch/drivers/usb/gadget/inode.c 2006-06-19
14:48:25.000000000 +0000
+++ new_gadget/drivers/usb/gadget/inode.c 2006-06-23 15:03:31.000000000
+0000
@@ -1114,6 +1168,7 @@ next_event (struct dev_data *dev, enum u
break;
case GADGETFS_SETUP: /* previous request timed out */
case GADGETFS_SUSPEND: /* same effect */
+ case GADGETFS_RESUME: /* same effect */
/* these events can't be repeated */
for (i = 0; i != dev->ev_next; i++) {
if (dev->event [i].type != type)
@@ -1728,6 +1817,26 @@ gadgetfs_suspend (struct usb_gadget *gad
spin_unlock (&dev->lock);
}
+static void
+gadgetfs_resume (struct usb_gadget *gadget)
+{
+ struct dev_data *dev = get_gadget_data (gadget);
+
+ INFO (dev, "resumed from state %d\n", dev->state);
+ spin_lock (&dev->lock);
+ switch (dev->state) {
+ case STATE_SETUP: // VERY odd... host died??
+ case STATE_CONNECTED:
+ case STATE_UNCONNECTED:
+ next_event (dev, GADGETFS_RESUME);
+ ep0_readable (dev);
+ /* FALLTHROUGH */
+ default:
+ break;
+ }
+ spin_unlock (&dev->lock);
+}
+
static struct usb_gadget_driver gadgetfs_driver = {
#ifdef CONFIG_USB_GADGET_DUALSPEED
.speed = USB_SPEED_HIGH,
@@ -1740,6 +1849,7 @@ static struct usb_gadget_driver gadgetfs
.setup = gadgetfs_setup,
.disconnect = gadgetfs_disconnect,
.suspend = gadgetfs_suspend,
+ .resume = gadgetfs_resume,
.driver = {
.name = (char *) shortname,
--- orig.bak/include/linux/usb_gadgetfs.h 2005-03-02 07:38:10.000000000
+0000
+++ new_gadget.newest/include/linux/usb_gadgetfs.h 2006-06-15
13:55:35.000000000 +0000
@@ -33,6 +33,7 @@ enum usb_gadgetfs_event_type {
GADGETFS_DISCONNECT,
GADGETFS_SETUP,
GADGETFS_SUSPEND,
+ GADGETFS_RESUME,
// and likely more !
};
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel