Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
alphatrack.c File Reference
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/kobject.h>
#include <linux/mutex.h>
#include <linux/uaccess.h>
#include <linux/input.h>
#include <linux/usb.h>
#include <linux/poll.h>
#include "alphatrack.h"

Go to the source code of this file.

Data Structures

struct  usb_alphatrack
 

Macros

#define VENDOR_ID   0x165b
 
#define PRODUCT_ID   0xfad1
 
#define USB_ALPHATRACK_MINOR_BASE   176
 
#define SUPPRESS_EXTRA_ONLINE_EVENTS   0
 
#define BUFFERED_WRITES   0
 
#define SUPPRESS_EXTRA_OFFLINE_EVENTS   0
 
#define COMPRESS_FADER_EVENTS   0
 
#define BUFFERED_READS   1
 
#define RING_BUFFER_SIZE   512
 
#define WRITE_BUFFER_SIZE   34
 
#define ALPHATRACK_USB_TIMEOUT   10
 
#define OUTPUT_CMD_SIZE   8
 
#define INPUT_CMD_SIZE   12
 
#define ALPHATRACK_DEBUG   0
 
#define dbg_info(dev, format, arg...)
 
#define alphatrack_ocmd_info(dev, cmd, format, arg...)
 
#define alphatrack_icmd_info(dev, cmd, format, arg...)
 

Functions

 MODULE_DEVICE_TABLE (usb, usb_alphatrack_table)
 
 MODULE_VERSION ("0.41")
 
 MODULE_AUTHOR ("Mike Taht <m@taht.net>")
 
 MODULE_DESCRIPTION ("Alphatrack USB Driver")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_SUPPORTED_DEVICE ("Frontier Designs Alphatrack Control Surface")
 
 module_param (debug, int, S_IRUGO|S_IWUSR)
 
 MODULE_PARM_DESC (debug,"Debug enabled or not")
 
 module_param (ring_buffer_size, int, S_IRUGO)
 
 MODULE_PARM_DESC (ring_buffer_size,"Read ring buffer size")
 
 module_param (write_buffer_size, int, S_IRUGO)
 
 MODULE_PARM_DESC (write_buffer_size,"Write buffer size")
 
 module_param (min_interrupt_in_interval, int, 0)
 
 MODULE_PARM_DESC (min_interrupt_in_interval,"Minimum interrupt in interval in ms")
 
 module_param (min_interrupt_out_interval, int, 0)
 
 MODULE_PARM_DESC (min_interrupt_out_interval,"Minimum interrupt out interval in ms")
 
 module_usb_driver (usb_alphatrack_driver)
 

Macro Definition Documentation

#define ALPHATRACK_DEBUG   0

Definition at line 86 of file alphatrack.c.

#define alphatrack_icmd_info (   dev,
  cmd,
  format,
  arg... 
)

Definition at line 96 of file alphatrack.c.

#define alphatrack_ocmd_info (   dev,
  cmd,
  format,
  arg... 
)

Definition at line 94 of file alphatrack.c.

#define ALPHATRACK_USB_TIMEOUT   10

Definition at line 83 of file alphatrack.c.

#define BUFFERED_READS   1

Definition at line 80 of file alphatrack.c.

#define BUFFERED_WRITES   0

Definition at line 76 of file alphatrack.c.

#define COMPRESS_FADER_EVENTS   0

Definition at line 78 of file alphatrack.c.

#define dbg_info (   dev,
  format,
  arg... 
)
Value:
do \
{ if (debug) dev_info(dev , format , ## arg); } while (0)

Definition at line 91 of file alphatrack.c.

#define INPUT_CMD_SIZE   12

Definition at line 85 of file alphatrack.c.

#define OUTPUT_CMD_SIZE   8

Definition at line 84 of file alphatrack.c.

#define PRODUCT_ID   0xfad1

Definition at line 51 of file alphatrack.c.

#define RING_BUFFER_SIZE   512

Definition at line 81 of file alphatrack.c.

#define SUPPRESS_EXTRA_OFFLINE_EVENTS   0

Definition at line 77 of file alphatrack.c.

#define SUPPRESS_EXTRA_ONLINE_EVENTS   0

Definition at line 75 of file alphatrack.c.

#define USB_ALPHATRACK_MINOR_BASE   176

Definition at line 57 of file alphatrack.c.

#define VENDOR_ID   0x165b

This driver uses a ring buffer for time critical reading of interrupt in reports and provides read and write methods for raw interrupt reports.

Definition at line 50 of file alphatrack.c.

#define WRITE_BUFFER_SIZE   34

Definition at line 82 of file alphatrack.c.

Function Documentation

MODULE_AUTHOR ( "Mike Taht <m@taht.net>"  )
MODULE_DESCRIPTION ( "Alphatrack USB Driver"  )
MODULE_DEVICE_TABLE ( usb  ,
usb_alphatrack_table   
)
MODULE_LICENSE ( "GPL"  )
module_param ( debug  ,
int  ,
S_IRUGO S_IWUSR 
)
module_param ( ring_buffer_size  ,
int  ,
S_IRUGO   
)
module_param ( write_buffer_size  ,
int  ,
S_IRUGO   
)
module_param ( min_interrupt_in_interval  ,
int  ,
 
)
module_param ( min_interrupt_out_interval  ,
int  ,
 
)
MODULE_PARM_DESC ( debug  ,
"Debug enabled or not"   
)
MODULE_PARM_DESC ( ring_buffer_size  ,
"Read ring buffer size  
)
MODULE_PARM_DESC ( write_buffer_size  ,
"Write buffer size  
)
MODULE_PARM_DESC ( min_interrupt_in_interval  ,
"Minimum interrupt in interval in ms  
)
MODULE_PARM_DESC ( min_interrupt_out_interval  ,
"Minimum interrupt out interval in ms  
)
MODULE_SUPPORTED_DEVICE ( "Frontier Designs Alphatrack Control Surface"  )
module_usb_driver ( usb_alphatrack_driver  )
MODULE_VERSION ( "0.41"  )