Merge tag 'trace-v5.15-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[linux-2.6-microblaze.git] / include / linux / usb / iowarrior.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __LINUX_USB_IOWARRIOR_H
3 #define __LINUX_USB_IOWARRIOR_H
4
5 #define CODEMERCS_MAGIC_NUMBER  0xC0    /* like COde Mercenaries */
6
7 /* Define the ioctl commands for reading and writing data */
8 #define IOW_WRITE       _IOW(CODEMERCS_MAGIC_NUMBER, 1, __u8 *)
9 #define IOW_READ        _IOW(CODEMERCS_MAGIC_NUMBER, 2, __u8 *)
10
11 /*
12    A struct for available device info which is read
13    with the ioctl IOW_GETINFO.
14    To be compatible with 2.4 userspace which didn't have an easy way to get
15    this information.
16 */
17 struct iowarrior_info {
18         /* vendor id : supposed to be USB_VENDOR_ID_CODEMERCS in all cases */
19         __u32 vendor;
20         /* product id : depends on type of chip (USB_DEVICE_ID_CODEMERCS_X) */
21         __u32 product;
22         /* the serial number of our chip (if a serial-number is not available
23          * this is empty string) */
24         __u8 serial[9];
25         /* revision number of the chip */
26         __u32 revision;
27         /* USB-speed of the device (0=UNKNOWN, 1=LOW, 2=FULL 3=HIGH) */
28         __u32 speed;
29         /* power consumption of the device in mA */
30         __u32 power;
31         /* the number of the endpoint */
32         __u32 if_num;
33         /* size of the data-packets on this interface */
34         __u32 report_size;
35 };
36
37 /*
38   Get some device-information (product-id , serial-number etc.)
39   in order to identify a chip.
40 */
41 #define IOW_GETINFO _IOR(CODEMERCS_MAGIC_NUMBER, 3, struct iowarrior_info)
42
43 #endif /* __LINUX_USB_IOWARRIOR_H */