|  | /* | 
|  | * u_hid.h | 
|  | * | 
|  | * Utility definitions for the hid function | 
|  | * | 
|  | * Copyright (c) 2014 Samsung Electronics Co., Ltd. | 
|  | *		http://www.samsung.com | 
|  | * | 
|  | * Author: Andrzej Pietrasiewicz <andrzej.p@samsung.com> | 
|  | * | 
|  | * This program is free software; you can redistribute it and/or modify | 
|  | * it under the terms of the GNU General Public License version 2 as | 
|  | * published by the Free Software Foundation. | 
|  | */ | 
|  |  | 
|  | #ifndef U_HID_H | 
|  | #define U_HID_H | 
|  |  | 
|  | #include <linux/usb/composite.h> | 
|  |  | 
|  | struct f_hid_opts { | 
|  | struct usb_function_instance	func_inst; | 
|  | int				minor; | 
|  | unsigned char			subclass; | 
|  | unsigned char			protocol; | 
|  | unsigned short			report_length; | 
|  | unsigned short			report_desc_length; | 
|  | unsigned char			*report_desc; | 
|  | bool				report_desc_alloc; | 
|  |  | 
|  | /* | 
|  | * Protect the data form concurrent access by read/write | 
|  | * and create symlink/remove symlink. | 
|  | */ | 
|  | struct mutex			lock; | 
|  | int				refcnt; | 
|  | }; | 
|  |  | 
|  | int ghid_setup(struct usb_gadget *g, int count); | 
|  | void ghid_cleanup(void); | 
|  |  | 
|  | #endif /* U_HID_H */ |