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 <andrzej.p@samsung.com> 11 */ 12 13#ifndef U_HID_H 14#define U_HID_H 15 16#include <linux/usb/composite.h> 17 18struct 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 36int ghid_setup(struct usb_gadget *g, int count); 37void ghid_cleanup(void); 38 39#endif /* U_HID_H */ 40