1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * u_hid.h 4 * 5 * Utility definitions for the hid function 6 * 7 * Copyright (c) 2014 Samsung Electronics Co., Ltd. 8 * http://www.samsung.com 9 * 10 * Author: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com> 11 */ 12 13 #ifndef U_HID_H 14 #define U_HID_H 15 16 #include <linux/usb/composite.h> 17 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 /* 29 * Protect the data form concurrent access by read/write 30 * and create symlink/remove symlink. 31 */ 32 struct mutex lock; 33 int refcnt; 34 }; 35 36 int ghid_setup(struct usb_gadget *g, int count); 37 void ghid_cleanup(void); 38 39 #endif /* U_HID_H */ 40