18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef US122L_H
38c2ecf20Sopenharmony_ci#define US122L_H
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_cistruct us122l {
78c2ecf20Sopenharmony_ci	struct usb_device	*dev;
88c2ecf20Sopenharmony_ci	int			card_index;
98c2ecf20Sopenharmony_ci	int			stride;
108c2ecf20Sopenharmony_ci	struct usb_stream_kernel sk;
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci	struct mutex		mutex;
138c2ecf20Sopenharmony_ci	struct file		*first;
148c2ecf20Sopenharmony_ci	unsigned		second_periods_polled;
158c2ecf20Sopenharmony_ci	struct file		*master;
168c2ecf20Sopenharmony_ci	struct file		*slave;
178c2ecf20Sopenharmony_ci	struct list_head	midi_list;
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci	atomic_t		mmap_count;
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci	bool			is_us144;
228c2ecf20Sopenharmony_ci};
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci#define US122L(c) ((struct us122l *)(c)->private_data)
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci#define NAME_ALLCAPS "US-122L"
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci#define USB_ID_US122L 0x800E
308c2ecf20Sopenharmony_ci#define USB_ID_US144 0x800F
318c2ecf20Sopenharmony_ci#define USB_ID_US122MKII 0x8021
328c2ecf20Sopenharmony_ci#define USB_ID_US144MKII 0x8020
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci#endif
35