diff options
Diffstat (limited to 'include/linux/usb/gadget.h')
-rw-r--r-- | include/linux/usb/gadget.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h index f1b0dca60f12..942ef5e053bf 100644 --- a/include/linux/usb/gadget.h +++ b/include/linux/usb/gadget.h | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/slab.h> | 22 | #include <linux/slab.h> |
23 | #include <linux/scatterlist.h> | 23 | #include <linux/scatterlist.h> |
24 | #include <linux/types.h> | 24 | #include <linux/types.h> |
25 | #include <linux/workqueue.h> | ||
25 | #include <linux/usb/ch9.h> | 26 | #include <linux/usb/ch9.h> |
26 | 27 | ||
27 | struct usb_ep; | 28 | struct usb_ep; |
@@ -475,6 +476,7 @@ struct usb_gadget_ops { | |||
475 | 476 | ||
476 | /** | 477 | /** |
477 | * struct usb_gadget - represents a usb slave device | 478 | * struct usb_gadget - represents a usb slave device |
479 | * @work: (internal use) Workqueue to be used for sysfs_notify() | ||
478 | * @ops: Function pointers used to access hardware-specific operations. | 480 | * @ops: Function pointers used to access hardware-specific operations. |
479 | * @ep0: Endpoint zero, used when reading or writing responses to | 481 | * @ep0: Endpoint zero, used when reading or writing responses to |
480 | * driver setup() requests | 482 | * driver setup() requests |
@@ -520,6 +522,7 @@ struct usb_gadget_ops { | |||
520 | * device is acting as a B-Peripheral (so is_a_peripheral is false). | 522 | * device is acting as a B-Peripheral (so is_a_peripheral is false). |
521 | */ | 523 | */ |
522 | struct usb_gadget { | 524 | struct usb_gadget { |
525 | struct work_struct work; | ||
523 | /* readonly to gadget driver */ | 526 | /* readonly to gadget driver */ |
524 | const struct usb_gadget_ops *ops; | 527 | const struct usb_gadget_ops *ops; |
525 | struct usb_ep *ep0; | 528 | struct usb_ep *ep0; |
@@ -538,6 +541,7 @@ struct usb_gadget { | |||
538 | unsigned out_epnum; | 541 | unsigned out_epnum; |
539 | unsigned in_epnum; | 542 | unsigned in_epnum; |
540 | }; | 543 | }; |
544 | #define work_to_gadget(w) (container_of((w), struct usb_gadget, work)) | ||
541 | 545 | ||
542 | static inline void set_gadget_data(struct usb_gadget *gadget, void *data) | 546 | static inline void set_gadget_data(struct usb_gadget *gadget, void *data) |
543 | { dev_set_drvdata(&gadget->dev, data); } | 547 | { dev_set_drvdata(&gadget->dev, data); } |