2020-03-28 19:11:15 +08:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0 */
|
2014-11-06 18:11:59 +08:00
|
|
|
/*
|
|
|
|
* u_hid.h
|
|
|
|
*
|
|
|
|
* Utility definitions for the hid function
|
|
|
|
*
|
|
|
|
* Copyright (c) 2014 Samsung Electronics Co., Ltd.
|
|
|
|
* http://www.samsung.com
|
|
|
|
*
|
2018-12-13 21:24:57 +08:00
|
|
|
* Author: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>
|
2014-11-06 18:11:59 +08:00
|
|
|
*/
|
|
|
|
|
|
|
|
#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;
|
2014-11-06 18:12:03 +08:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Protect the data form concurrent access by read/write
|
|
|
|
* and create symlink/remove symlink.
|
|
|
|
*/
|
|
|
|
struct mutex lock;
|
|
|
|
int refcnt;
|
2014-11-06 18:11:59 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
int ghid_setup(struct usb_gadget *g, int count);
|
|
|
|
void ghid_cleanup(void);
|
|
|
|
|
|
|
|
#endif /* U_HID_H */
|