提交 0d317b91 编写于 作者: K Kristina Martšenko 提交者: Greg Kroah-Hartman

staging: frontier: remove driver

The driver hasn't been cleaned up and it doesn't look like anyone is
working on it anymore (including the original author). So remove the
driver from the kernel. If someone wants to work on cleaning it up and
moving it out of staging, this commit can be reverted.
Signed-off-by: NKristina Martšenko <kristina.martsenko@gmail.com>
Cc: David Täht <d@teklibre.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 53b90309
......@@ -8542,11 +8542,6 @@ M: Marek Belisko <marek.belisko@gmail.com>
S: Odd Fixes
F: drivers/staging/ft1000/
STAGING - FRONTIER TRANZPORT AND ALPHATRACK
M: David Täht <d@teklibre.com>
S: Odd Fixes
F: drivers/staging/frontier/
STAGING - GO7007 MPEG CODEC
M: Hans Verkuil <hans.verkuil@cisco.com>
S: Maintained
......
......@@ -54,8 +54,6 @@ source "drivers/staging/rtl8821ae/Kconfig"
source "drivers/staging/rts5208/Kconfig"
source "drivers/staging/frontier/Kconfig"
source "drivers/staging/phison/Kconfig"
source "drivers/staging/line6/Kconfig"
......
......@@ -19,7 +19,6 @@ obj-$(CONFIG_R8192EE) += rtl8192ee/
obj-$(CONFIG_R8723AU) += rtl8723au/
obj-$(CONFIG_R8821AE) += rtl8821ae/
obj-$(CONFIG_RTS5208) += rts5208/
obj-$(CONFIG_TRANZPORT) += frontier/
obj-$(CONFIG_IDE_PHISON) += phison/
obj-$(CONFIG_LINE6_USB) += line6/
obj-$(CONFIG_NETLOGIC_XLR_NET) += netlogic/
......
config TRANZPORT
tristate "Frontier Tranzport and Alphatrack support"
depends on USB
---help---
Enable support for the Frontier Tranzport and Alphatrack devices.
obj-$(CONFIG_TRANZPORT) += tranzport.o
obj-$(CONFIG_TRANZPORT) += alphatrack.o
This directory contains the Linux USB Tranzport and Alphatrack Kernel drivers.
See http://www.frontierdesign.com for details on these devices.
Userspace test code is available from
git://toutatis.isc.org/home/d/src/git/frontier.git
At present the tranzport does reads/writes of 8 byte cmds to
/dev/tranzport0 to control the lights, screen, and wheel.
At present the alphatrack accepts reads/writes of 12 byte cmds to
/dev/tranzport0 to control the lights, screen, fader and touchpad.
The tranzport driver provides a rudimentary sysfs interface for the status of
the device and a writable parameter for turning wheel compression on and off.
The API is nothing more than the USB commands issued to the device. Why?
The control wheel/fader can generate events far too quickly for
a typical userspace application to keep up with them via libusb. Input
needs to be 100% accurate and fast in order for the alphatrack or tranzport
to be useful.
UIO would be useful except that usb disconnect events need
to be handled correctly.
A sysfs interface is perfect for simple userspace apps to do fun things with
the lights and screen. But it's fairly lousy for handling input events and
very lousy for watching the state of the shuttle wheel.
A linux input events interface is great for the input events and shuttle wheel.
* It's theoretically OK on LEDs.
* A fader can be mapped to an absolute mouse device.
* But there is no LCD support at all, or fader feedback support in that API
So, thus, these stubby drivers exist.
In the end this could be driven by a midi layer, which handles all those
cases via a well defined API, but - among other things - is slow, doesn't do
flow control, and is a LOT of extra work, none of which is required at
the kernel level (probably). Frankly, I'd like to keep the
core driver simple because the only realtime work really required is
the bottom half interrupt handler and the output overlapping.
Exposing some sort of clean api to userspace would be perfect. What that
API looks like? Gah. beats me.
TODO:
- checkpatch.pl clean
- sparse clean
- fix userspace interface to be sane
- possibly just port to userspace with libusb
- review by the USB developer community
Please send any patches for this driver to Greg Kroah-Hartman <greg@kroah.com>
and David Taht <d@teklibre.com>.
此差异已折叠。
struct alphatrack_icmd {
unsigned char cmd[12];
};
struct alphatrack_ocmd {
unsigned char cmd[8];
};
/*
* These are unused by the present driver but provide documentation for the
* userspace API.
*/
enum LightID {
LIGHT_EQ = 0,
LIGHT_OUT,
LIGHT_F2,
LIGHT_SEND,
LIGHT_IN,
LIGHT_F1,
LIGHT_PAN,
LIGHT_UNDEF1,
LIGHT_UNDEF2,
LIGHT_SHIFT,
LIGHT_TRACKMUTE,
LIGHT_TRACKSOLO,
LIGHT_TRACKREC,
LIGHT_READ,
LIGHT_WRITE,
LIGHT_ANYSOLO,
LIGHT_AUTO,
LIGHT_F4,
LIGHT_RECORD,
LIGHT_WINDOW,
LIGHT_PLUGIN,
LIGHT_F3,
LIGHT_LOOP
};
#define BUTTONMASK_BATTERY 0x00004000
#define BUTTONMASK_BACKLIGHT 0x00008000
#define BUTTONMASK_FASTFORWARD 0x04000000
#define BUTTONMASK_TRACKMUTE 0x00040000
#define BUTTONMASK_TRACKSOLO 0x00800000
#define BUTTONMASK_TRACKLEFT 0x80000000
#define BUTTONMASK_RECORD 0x02000000
#define BUTTONMASK_SHIFT 0x20000000
#define BUTTONMASK_PUNCH 0x00800000
#define BUTTONMASK_TRACKRIGHT 0x00020000
#define BUTTONMASK_REWIND 0x01000000
#define BUTTONMASK_STOP 0x10000000
#define BUTTONMASK_LOOP 0x00010000
#define BUTTONMASK_TRACKREC 0x00001000
#define BUTTONMASK_PLAY 0x08000000
#define BUTTONMASK_TOUCH1 0x00000008
#define BUTTONMASK_TOUCH2 0x00000010
#define BUTTONMASK_TOUCH3 0x00000020
#define BUTTONMASK_PRESS1 0x00000009
#define BUTTONMASK_PRESS2 0x00008010
#define BUTTONMASK_PRESS3 0x00002020
/*
* last 3 bytes are the slider position
* 40 is the actual slider moving, the most sig bits, and 3 lsb
*/
#define BUTTONMASK_FLIP 0x40000000
#define BUTTONMASK_F1 0x00100000
#define BUTTONMASK_F2 0x00400000
#define BUTTONMASK_F3 0x00200000
#define BUTTONMASK_F4 0x00080000
#define BUTTONMASK_PAN 0x00000200
#define BUTTONMASK_SEND 0x00000800
#define BUTTONMASK_EQ 0x00004000
#define BUTTONMASK_PLUGIN 0x00000400
#define BUTTONMASK_AUTO 0x00000100
/* #define BUTTONMASK_FOOTSWITCH FIXME */
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册