// SPDX-License-Identifier: GPL-2.0 | |
/* | |
* u_hid.h | |
* | |
* Utility definitions for the hid function | |
* | |
* Copyright (c) 2014 Samsung Electronics Co., Ltd. | |
* http://www.samsung.com | |
* | |
* Author: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com> | |
*/ | |
#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 */ |