u_hid.h 972 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /*
  2. * u_hid.h
  3. *
  4. * Utility definitions for the hid function
  5. *
  6. * Copyright (c) 2014 Samsung Electronics Co., Ltd.
  7. * http://www.samsung.com
  8. *
  9. * Author: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
  10. *
  11. * This program is free software; you can redistribute it and/or modify
  12. * it under the terms of the GNU General Public License version 2 as
  13. * published by the Free Software Foundation.
  14. */
  15. #ifndef U_HID_H
  16. #define U_HID_H
  17. #include <linux/usb/composite.h>
  18. struct f_hid_opts {
  19. struct usb_function_instance func_inst;
  20. int minor;
  21. unsigned char subclass;
  22. unsigned char protocol;
  23. unsigned short report_length;
  24. unsigned short report_desc_length;
  25. unsigned char *report_desc;
  26. bool report_desc_alloc;
  27. /*
  28. * Protect the data form concurrent access by read/write
  29. * and create symlink/remove symlink.
  30. */
  31. struct mutex lock;
  32. int refcnt;
  33. };
  34. int ghid_setup(struct usb_gadget *g, int count);
  35. void ghid_cleanup(void);
  36. #endif /* U_HID_H */