You've already forked linux-rockchip
mirror of
https://github.com/armbian/linux-rockchip.git
synced 2026-01-06 11:08:10 -08:00
USB: add driver for iowarrior devices.
The ioctl is commented out for now, until we verify some userspace application issues. Cc: Christian Lucht <lucht@codemercs.com> Cc: Robert Marquardt <marquardt@codemercs.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
@@ -244,6 +244,20 @@ config USB_TRANCEVIBRATOR
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called trancevibrator.
|
||||
|
||||
config USB_IOWARRIOR
|
||||
tristate "IO Warrior driver support"
|
||||
depends on USB
|
||||
help
|
||||
Say Y here if you want to support the IO Warrior devices from Code
|
||||
Mercenaries. This includes support for the following devices:
|
||||
IO Warrior 40
|
||||
IO Warrior 24
|
||||
IO Warrior 56
|
||||
IO Warrior 24 Power Vampire
|
||||
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called iowarrior.
|
||||
|
||||
config USB_TEST
|
||||
tristate "USB testing driver (DEVELOPMENT)"
|
||||
depends on USB && USB_DEVICEFS && EXPERIMENTAL
|
||||
|
||||
@@ -13,6 +13,7 @@ obj-$(CONFIG_USB_EMI26) += emi26.o
|
||||
obj-$(CONFIG_USB_EMI62) += emi62.o
|
||||
obj-$(CONFIG_USB_FTDI_ELAN) += ftdi-elan.o
|
||||
obj-$(CONFIG_USB_IDMOUSE) += idmouse.o
|
||||
obj-$(CONFIG_USB_IOWARRIOR) += iowarrior.o
|
||||
obj-$(CONFIG_USB_LCD) += usblcd.o
|
||||
obj-$(CONFIG_USB_LD) += ldusb.o
|
||||
obj-$(CONFIG_USB_LED) += usbled.o
|
||||
|
||||
925
drivers/usb/misc/iowarrior.c
Normal file
925
drivers/usb/misc/iowarrior.c
Normal file
File diff suppressed because it is too large
Load Diff
33
include/linux/usb/iowarrior.h
Normal file
33
include/linux/usb/iowarrior.h
Normal file
@@ -0,0 +1,33 @@
|
||||
#ifndef _IOWARRIOR_H_
|
||||
#define _IOWARRIOR_H_
|
||||
|
||||
#define CODEMERCS_MAGIC_NUMBER 0xC0 /* like COde Mercenaries */
|
||||
|
||||
/* Define the ioctl commands for reading and writing data */
|
||||
#define IOW_WRITE _IOW(CODEMERCS_MAGIC_NUMBER, 1, __u8 *)
|
||||
#define IOW_READ _IOW(CODEMERCS_MAGIC_NUMBER, 2, __u8 *)
|
||||
|
||||
/*
|
||||
A struct for available device info which is read
|
||||
with the ioctl IOW_GETINFO.
|
||||
To be compatible with 2.4 userspace which didn't have an easy way to get
|
||||
this information.
|
||||
*/
|
||||
struct iowarrior_info {
|
||||
__u32 vendor; /* vendor id : supposed to be USB_VENDOR_ID_CODEMERCS in all cases */
|
||||
__u32 product; /* product id : depends on type of chip (USB_DEVICE_ID_CODEMERCS_XXXXX) */
|
||||
__u8 serial[9]; /* the serial number of our chip (if a serial-number is not available this is empty string) */
|
||||
__u32 revision; /* revision number of the chip */
|
||||
__u32 speed; /* USB-speed of the device (0=UNKNOWN, 1=LOW, 2=FULL 3=HIGH) */
|
||||
__u32 power; /* power consumption of the device in mA */
|
||||
__u32 if_num; /* the number of the endpoint */
|
||||
__u32 report_size; /* size of the data-packets on this interface */
|
||||
};
|
||||
|
||||
/*
|
||||
Get some device-information (product-id , serial-number etc.)
|
||||
in order to identify a chip.
|
||||
*/
|
||||
#define IOW_GETINFO _IOR(CODEMERCS_MAGIC_NUMBER, 3, struct iowarrior_info)
|
||||
|
||||
#endif /* _IOWARRIOR_H_ */
|
||||
Reference in New Issue
Block a user