blob: f6e14af7f566546e1758c8e8ed9b82e9ff9c04a3 [file] [log] [blame]
Nishad Kamdar2e759732020-03-28 16:41:15 +05301/* SPDX-License-Identifier: GPL-2.0 */
Andrzej Pietrasiewiczb85e9de2014-10-16 13:33:27 +02002/*
3 * u_midi.h
4 *
5 * Utility definitions for the midi function
6 *
7 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
8 * http://www.samsung.com
9 *
Andrzej Pietrasiewicz1b4a3b52018-12-13 14:24:57 +010010 * Author: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>
Andrzej Pietrasiewiczb85e9de2014-10-16 13:33:27 +020011 */
12
13#ifndef U_MIDI_H
14#define U_MIDI_H
15
16#include <linux/usb/composite.h>
17
18struct f_midi_opts {
19 struct usb_function_instance func_inst;
20 int index;
21 char *id;
Andrzej Pietrasiewicz6f1de342014-10-16 13:33:31 +020022 bool id_allocated;
Andrzej Pietrasiewiczb85e9de2014-10-16 13:33:27 +020023 unsigned int in_ports;
24 unsigned int out_ports;
25 unsigned int buflen;
26 unsigned int qlen;
Andrzej Pietrasiewicz6f1de342014-10-16 13:33:31 +020027
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;
Andrzej Pietrasiewiczb85e9de2014-10-16 13:33:27 +020034};
35
36#endif /* U_MIDI_H */
37