Commit dab8c359 authored by David Täht's avatar David Täht Committed by Greg Kroah-Hartman

Staging: frontier: Remove unused components of the alphatrack/tranzport sysfs interface.

Signed-off-by: default avatarDavid Täht <d@teklibre.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent a0799852
......@@ -46,8 +46,6 @@
#include <linux/usb.h>
#include <linux/poll.h>
#include "surface_sysfs.h"
#include "alphatrack.h"
#define VENDOR_ID 0x165b
......
/* If you are going to abuse the preprocessor, why not ABUSE the preprocessor?
I stuck this header in a separate file so I don't have to look at it */
// FIXME Need locking or atomic ops
#define show_set_mbit(dname,value,bit) \
static ssize_t show_##value(struct device *dev, struct device_attribute *attr, char *buf) \
{ \
struct usb_interface *intf = to_usb_interface(dev); \
struct usb_##dname *t = usb_get_intfdata(intf); \
int temp = (1 && (t->value & (1 << bit))); \
return sprintf(buf, "%d\n", temp); \
} \
static ssize_t set_##value(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) \
{ \
struct usb_interface *intf = to_usb_interface(dev); \
struct usb_##dname *t = usb_get_intfdata(intf); \
int temp = simple_strtoul(buf, NULL, 10); \
if(temp > 0) { long b = 1 << bit; t->value |= b; } \
else { long b = ~(1 << bit); t->value &= b ; \
return count; \
} \
static DEVICE_ATTR(value, S_IWUGO | S_IRUGO, show_##value, set_##value);
#define show_set_ebit(dname,enumname,value,bit) \
static ssize_t show_##bit(struct device *dev, struct device_attribute *attr, char *buf) \
{ \
struct usb_interface *intf = to_usb_interface(dev); \
struct usb_##dname *t = usb_get_intfdata(intf); \
enum enumname l = bit; \
int temp = t->value & (1 << l); \
return sprintf(buf, "%d\n", temp); \
} \
static ssize_t set_##bit(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) \
{ \
struct usb_interface *intf = to_usb_interface(dev); \
struct usb_##dname *t = usb_get_intfdata(intf); \
int temp = simple_strtoul(buf, NULL, 10); \
enum enumname l = bit;\
long b = 1 << l; \
if(temp > 0) { t->value |= b; } \
else { t->value &= ~b ; \
return count; \
} \
static DEVICE_ATTR(value, S_IWUGO | S_IRUGO, show_##value, set_##value);
// FIXME FOR CORRECTLY SETTING HEX from a string
#define show_set_mcmd(dname,value) \
static ssize_t show_##value(struct device *dev, struct device_attribute *attr, char *buf) \
{ \
struct usb_interface *intf = to_usb_interface(dev); \
struct usb_##dname *t = usb_get_intfdata(intf); \
int count = 0;\
int i; \
for (i = 0,i<sizeof(dname); i++) count += snprintf(buf, "%02x",t->dname[i]); \
return(count);\
} \
static ssize_t set_##value(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) \
{ \
struct usb_interface *intf = to_usb_interface(dev); \
struct usb_##dname *t = usb_get_intfdata(intf); \
int temp = simple_strtoul(buf, NULL, 10); \
t->value = temp; \
return count; \
} \
static DEVICE_ATTR(value, S_IWUGO | S_IRUGO, show_##value, set_##value);
#define show_set_mint(dname,value) \
static ssize_t show_##value(struct device *dev, struct device_attribute *attr, char *buf) \
{ \
struct usb_interface *intf = to_usb_interface(dev); \
struct usb_##dname *t = usb_get_intfdata(intf); \
return sprintf(buf, "%d\n", t->value); \
} \
static ssize_t set_##value(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) \
{ \
struct usb_interface *intf = to_usb_interface(dev); \
struct usb_##dname *t = usb_get_intfdata(intf); \
int temp = simple_strtoul(buf, NULL, 10); \
t->value = temp; \
return count; \
} \
static DEVICE_ATTR(value, S_IWUGO | S_IRUGO, show_##value, set_##value);
#define show_set_mchar(dname,value) \
static ssize_t show_##value(struct device *dev, struct device_attribute *attr, char *buf) \
{ \
struct usb_interface *intf = to_usb_interface(dev); \
struct usb_##dname *t = usb_get_intfdata(intf); \
return sprintf(buf, "%c\n", t->value); \
} \
static ssize_t set_##value(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) \
{ \
struct usb_interface *intf = to_usb_interface(dev); \
struct usb_##dname *t = usb_get_intfdata(intf); \
int temp = simple_strtoul(buf, NULL, 10); \
t->value = temp; \
return count; \
} \
static DEVICE_ATTR(value, S_IWUGO | S_IRUGO, show_##value, set_##value);
......@@ -51,7 +51,7 @@
#ifdef CONFIG_USB_DYNAMIC_MINORS
#define USB_TRANZPORT_MINOR_BASE 0
#else /* FIXME 176 - is the ldusb driver's minor - apply for a minor soon */
#else /* FIXME 177- is the another driver's minor - apply for a minor soon */
#define USB_TRANZPORT_MINOR_BASE 177
#endif
......@@ -62,7 +62,7 @@ static struct usb_device_id usb_tranzport_table[] = {
};
MODULE_DEVICE_TABLE(usb, usb_tranzport_table);
MODULE_VERSION("0.34");
MODULE_VERSION("0.35");
MODULE_AUTHOR("Mike Taht <m@taht.net>");
MODULE_DESCRIPTION("Tranzport USB Driver");
MODULE_LICENSE("GPL");
......@@ -121,16 +121,6 @@ struct tranzport_cmd {
unsigned char cmd[8];
};
enum LightID {
LightRecord = 0,
LightTrackrec,
LightTrackmute,
LightTracksolo,
LightAnysolo,
LightLoop,
LightPunch
};
/* Structure to hold all of our device specific stuff */
struct usb_tranzport {
......@@ -156,19 +146,11 @@ struct usb_tranzport {
size_t interrupt_out_endpoint_size;
int interrupt_out_busy;
/* Sysfs and translation support */
/* Sysfs support */
int event; /* alternate interface to events */
int wheel; /* - for negative, 0 for none, + for positive */
unsigned char dump_state; /* 0 if disabled 1 if enabled */
unsigned char enable; /* 0 if disabled 1 if enabled */
unsigned char offline; /* if the device is out of range or asleep */
unsigned char compress_wheel; /* flag to compress wheel events */
unsigned char light; /* 7 bits used */
unsigned char last_cmd[8];
unsigned char last_input[8];
unsigned char screen[40]; /* We'll also have cells */
};
/* prevent races between open() and disconnect() */
......@@ -193,38 +175,15 @@ static void usb_tranzport_abort_transfers(struct usb_tranzport *dev)
usb_kill_urb(dev->interrupt_out_urb);
}
/* FIXME ~light not good enough or correct - need atomic set_bit */
#define show_set_light(value) \
static ssize_t show_##value( \
struct device *dev, struct device_attribute *attr, char *buf) \
{ \
struct usb_interface *intf = to_usb_interface(dev); \
struct usb_tranzport *t = usb_get_intfdata(intf); \
enum LightID light = value; \
int temp = (1 && (t->light & (1 << light))); \
return sprintf(buf, "%d\n", temp); \
} \
static ssize_t set_##value( \
struct device *dev, struct device_attribute *attr, \
const char *buf, size_t count) \
#define show_int(value) \
static ssize_t show_##value(struct device *dev, \
struct device_attribute *attr, char *buf) \
{ \
struct usb_interface *intf = to_usb_interface(dev); \
struct usb_tranzport *t = usb_get_intfdata(intf); \
int temp = simple_strtoul(buf, NULL, 10); \
enum LightID light = (temp << value) & (t->light << value); \
t->light = (t->light & ~light) ; \
return count; \
return sprintf(buf, "%d\n", t->value); \
} \
static DEVICE_ATTR(value, S_IWUGO | S_IRUGO, show_##value, set_##value);
show_set_light(LightRecord);
show_set_light(LightTrackrec);
show_set_light(LightTrackmute);
show_set_light(LightTracksolo);
show_set_light(LightAnysolo);
show_set_light(LightLoop);
show_set_light(LightPunch);
static DEVICE_ATTR(value, S_IRUGO, show_##value, NULL);
#define show_set_int(value) \
static ssize_t show_##value(struct device *dev, \
......@@ -246,34 +205,9 @@ show_set_light(LightPunch);
} \
static DEVICE_ATTR(value, S_IWUGO | S_IRUGO, show_##value, set_##value);
show_set_int(enable);
show_set_int(offline);
show_int(enable);
show_int(offline);
show_set_int(compress_wheel);
show_set_int(dump_state);
show_set_int(wheel);
show_set_int(event);
#define show_set_cmd(value) \
static ssize_t show_##value(struct device *dev, \
struct device_attribute *attr, char *buf) \
{ \
struct usb_interface *intf = to_usb_interface(dev); \
struct usb_tranzport *t = usb_get_intfdata(intf); \
\
return sprintf(buf, "%d\n", t->value); \
} \
static ssize_t set_##value(struct device *dev, \
struct device_attribute *attr, \
const char *buf, size_t count) \
{ \
struct usb_interface *intf = to_usb_interface(dev); \
struct usb_tranzport *t = usb_get_intfdata(intf); \
int temp = simple_strtoul(buf, NULL, 10); \
\
t->value = temp; \
return count; \
} \
static DEVICE_ATTR(value, S_IWUGO | S_IRUGO, show_##value, set_##value);
/**
* usb_tranzport_delete
......@@ -281,22 +215,10 @@ show_set_int(event);
static void usb_tranzport_delete(struct usb_tranzport *dev)
{
usb_tranzport_abort_transfers(dev);
/* This is just too twisted to be correct */
if (dev->intf != NULL) {
device_remove_file(&dev->intf->dev, &dev_attr_LightRecord);
device_remove_file(&dev->intf->dev, &dev_attr_LightTrackrec);
device_remove_file(&dev->intf->dev, &dev_attr_LightTrackmute);
device_remove_file(&dev->intf->dev, &dev_attr_LightTracksolo);
device_remove_file(&dev->intf->dev, &dev_attr_LightTrackmute);
device_remove_file(&dev->intf->dev, &dev_attr_LightAnysolo);
device_remove_file(&dev->intf->dev, &dev_attr_LightLoop);
device_remove_file(&dev->intf->dev, &dev_attr_LightPunch);
device_remove_file(&dev->intf->dev, &dev_attr_wheel);
device_remove_file(&dev->intf->dev, &dev_attr_enable);
device_remove_file(&dev->intf->dev, &dev_attr_event);
device_remove_file(&dev->intf->dev, &dev_attr_offline);
device_remove_file(&dev->intf->dev, &dev_attr_compress_wheel);
device_remove_file(&dev->intf->dev, &dev_attr_dump_state);
}
/* free data structures */
......@@ -983,36 +905,6 @@ static int usb_tranzport_probe(struct usb_interface *intf,
goto error;
}
retval = device_create_file(&intf->dev, &dev_attr_LightRecord);
if (retval)
goto error;
retval = device_create_file(&intf->dev, &dev_attr_LightTrackrec);
if (retval)
goto error;
retval = device_create_file(&intf->dev, &dev_attr_LightTrackmute);
if (retval)
goto error;
retval = device_create_file(&intf->dev, &dev_attr_LightTracksolo);
if (retval)
goto error;
retval = device_create_file(&intf->dev, &dev_attr_LightAnysolo);
if (retval)
goto error;
retval = device_create_file(&intf->dev, &dev_attr_LightLoop);
if (retval)
goto error;
retval = device_create_file(&intf->dev, &dev_attr_LightPunch);
if (retval)
goto error;
retval = device_create_file(&intf->dev, &dev_attr_wheel);
if (retval)
goto error;
retval = device_create_file(&intf->dev, &dev_attr_event);
if (retval)
goto error;
retval = device_create_file(&intf->dev, &dev_attr_dump_state);
if (retval)
goto error;
retval = device_create_file(&intf->dev, &dev_attr_compress_wheel);
if (retval)
goto error;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment