Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
portman2x4.c File Reference
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/parport.h>
#include <linux/spinlock.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <sound/core.h>
#include <sound/initval.h>
#include <sound/rawmidi.h>
#include <sound/control.h>

Go to the source code of this file.

Data Structures

struct  portman
 

Macros

#define CARD_NAME   "Portman 2x4"
 
#define DRIVER_NAME   "portman"
 
#define PLATFORM_DRIVER   "snd_portman2x4"
 
#define PORTMAN_NUM_INPUT_PORTS   2
 
#define PORTMAN_NUM_OUTPUT_PORTS   4
 
#define PP_STAT_BSY   0x80 /* Busy status. Inverted. */
 
#define PP_STAT_ACK   0x40 /* Acknowledge. Non-Inverted. */
 
#define PP_STAT_POUT   0x20 /* Paper Out. Non-Inverted. */
 
#define PP_STAT_SEL   0x10 /* Select. Non-Inverted. */
 
#define PP_STAT_ERR   0x08 /* Error. Non-Inverted. */
 
#define PP_CMD_IEN   0x10 /* IRQ Enable. Non-Inverted. */
 
#define PP_CMD_SELI   0x08 /* Select Input. Inverted. */
 
#define PP_CMD_INIT   0x04 /* Init Printer. Non-Inverted. */
 
#define PP_CMD_FEED   0x02 /* Auto Feed. Inverted. */
 
#define PP_CMD_STB   0x01 /* Strobe. Inverted. */
 
#define INT_EN   PP_CMD_IEN /* Interrupt enable. */
 
#define STROBE   PP_CMD_STB /* Command strobe. */
 
#define RXDATA0   (0 << 1) /* PCP RxData channel 0. */
 
#define RXDATA1   (1 << 1) /* PCP RxData channel 1. */
 
#define GEN_CTL   (2 << 1) /* PCP General Control Register. */
 
#define SYNC_CTL   (3 << 1) /* PCP Sync Control Register. */
 
#define TXDATA0   (4 << 1) /* PCP TxData channel 0. */
 
#define TXDATA1   (5 << 1) /* PCP TxData channel 1. */
 
#define TXDATA2   (6 << 1) /* PCP TxData channel 2. */
 
#define TXDATA3   (7 << 1) /* PCP TxData channel 3. */
 
#define ESTB   PP_STAT_POUT /* Echoed strobe. */
 
#define INT_REQ   PP_STAT_ACK /* Input data int request. */
 
#define BUSY   PP_STAT_ERR /* Interface Busy. */
 
#define RXAVAIL   PP_STAT_SEL /* Rx Available, channel 0. 0 0 0 */
 
#define SYNC_STAT   PP_STAT_SEL /* Reserved - Sync Status. 0 1 0 */
 
#define TXEMPTY   PP_STAT_SEL /* Tx Empty, channel 0. 1 0 0 */
 
#define RXDATA   PP_STAT_BSY /* Rx Input Data, channel 0. 0 0 0 */
 
#define SYNC_DATA   PP_STAT_BSY /* Reserved - Sync Data. 0 1 0 */
 
#define DATA_ECHO   PP_STAT_BSY /* Parallel Port Data Echo. 1 0 0 */
 
#define A0_ECHO   PP_STAT_BSY /* Address 0 Echo. 1 0 1 */
 
#define A1_ECHO   PP_STAT_BSY /* Address 1 Echo. 1 1 0 */
 
#define A2_ECHO   PP_STAT_BSY /* Address 2 Echo. 1 1 1 */
 
#define PORTMAN2X4_MODE_INPUT_TRIGGERED   0x01
 

Functions

 module_param_array (index, int, NULL, S_IRUGO)
 
 MODULE_PARM_DESC (index,"Index value for "CARD_NAME" soundcard.")
 
 module_param_array (id, charp, NULL, S_IRUGO)
 
 MODULE_PARM_DESC (id,"ID string for "CARD_NAME" soundcard.")
 
 module_param_array (enable, bool, NULL, S_IRUGO)
 
 MODULE_PARM_DESC (enable,"Enable "CARD_NAME" soundcard.")
 
 MODULE_AUTHOR ("Levent Guendogdu, Tobias Gehrig, Matthias Koenig")
 
 MODULE_DESCRIPTION ("Midiman Portman2x4")
 
 MODULE_LICENSE ("GPL")
 
 MODULE_SUPPORTED_DEVICE ("{{Midiman,Portman2x4}}")
 
 module_init (snd_portman_module_init)
 
 module_exit (snd_portman_module_exit)
 

Macro Definition Documentation

#define A0_ECHO   PP_STAT_BSY /* Address 0 Echo. 1 0 1 */

Definition at line 187 of file portman2x4.c.

#define A1_ECHO   PP_STAT_BSY /* Address 1 Echo. 1 1 0 */

Definition at line 188 of file portman2x4.c.

#define A2_ECHO   PP_STAT_BSY /* Address 2 Echo. 1 1 1 */

Definition at line 189 of file portman2x4.c.

#define BUSY   PP_STAT_ERR /* Interface Busy. */

Definition at line 160 of file portman2x4.c.

#define CARD_NAME   "Portman 2x4"

Definition at line 52 of file portman2x4.c.

#define DATA_ECHO   PP_STAT_BSY /* Parallel Port Data Echo. 1 0 0 */

Definition at line 186 of file portman2x4.c.

#define DRIVER_NAME   "portman"

Definition at line 53 of file portman2x4.c.

#define ESTB   PP_STAT_POUT /* Echoed strobe. */

Definition at line 158 of file portman2x4.c.

#define GEN_CTL   (2 << 1) /* PCP General Control Register. */

Definition at line 150 of file portman2x4.c.

#define INT_EN   PP_CMD_IEN /* Interrupt enable. */

Definition at line 140 of file portman2x4.c.

#define INT_REQ   PP_STAT_ACK /* Input data int request. */

Definition at line 159 of file portman2x4.c.

#define PLATFORM_DRIVER   "snd_portman2x4"

Definition at line 54 of file portman2x4.c.

#define PORTMAN2X4_MODE_INPUT_TRIGGERED   0x01

Definition at line 191 of file portman2x4.c.

#define PORTMAN_NUM_INPUT_PORTS   2

Definition at line 78 of file portman2x4.c.

#define PORTMAN_NUM_OUTPUT_PORTS   4

Definition at line 79 of file portman2x4.c.

#define PP_CMD_FEED   0x02 /* Auto Feed. Inverted. */

Definition at line 136 of file portman2x4.c.

#define PP_CMD_IEN   0x10 /* IRQ Enable. Non-Inverted. */

Definition at line 133 of file portman2x4.c.

#define PP_CMD_INIT   0x04 /* Init Printer. Non-Inverted. */

Definition at line 135 of file portman2x4.c.

#define PP_CMD_SELI   0x08 /* Select Input. Inverted. */

Definition at line 134 of file portman2x4.c.

#define PP_CMD_STB   0x01 /* Strobe. Inverted. */

Definition at line 137 of file portman2x4.c.

#define PP_STAT_ACK   0x40 /* Acknowledge. Non-Inverted. */

Definition at line 127 of file portman2x4.c.

#define PP_STAT_BSY   0x80 /* Busy status. Inverted. */

Definition at line 126 of file portman2x4.c.

#define PP_STAT_ERR   0x08 /* Error. Non-Inverted. */

Definition at line 130 of file portman2x4.c.

#define PP_STAT_POUT   0x20 /* Paper Out. Non-Inverted. */

Definition at line 128 of file portman2x4.c.

#define PP_STAT_SEL   0x10 /* Select. Non-Inverted. */

Definition at line 129 of file portman2x4.c.

#define RXAVAIL   PP_STAT_SEL /* Rx Available, channel 0. 0 0 0 */

Definition at line 170 of file portman2x4.c.

#define RXDATA   PP_STAT_BSY /* Rx Input Data, channel 0. 0 0 0 */

Definition at line 182 of file portman2x4.c.

#define RXDATA0   (0 << 1) /* PCP RxData channel 0. */

Definition at line 148 of file portman2x4.c.

#define RXDATA1   (1 << 1) /* PCP RxData channel 1. */

Definition at line 149 of file portman2x4.c.

#define STROBE   PP_CMD_STB /* Command strobe. */

Definition at line 141 of file portman2x4.c.

#define SYNC_CTL   (3 << 1) /* PCP Sync Control Register. */

Definition at line 151 of file portman2x4.c.

#define SYNC_DATA   PP_STAT_BSY /* Reserved - Sync Data. 0 1 0 */

Definition at line 184 of file portman2x4.c.

#define SYNC_STAT   PP_STAT_SEL /* Reserved - Sync Status. 0 1 0 */

Definition at line 172 of file portman2x4.c.

#define TXDATA0   (4 << 1) /* PCP TxData channel 0. */

Definition at line 152 of file portman2x4.c.

#define TXDATA1   (5 << 1) /* PCP TxData channel 1. */

Definition at line 153 of file portman2x4.c.

#define TXDATA2   (6 << 1) /* PCP TxData channel 2. */

Definition at line 154 of file portman2x4.c.

#define TXDATA3   (7 << 1) /* PCP TxData channel 3. */

Definition at line 155 of file portman2x4.c.

#define TXEMPTY   PP_STAT_SEL /* Tx Empty, channel 0. 1 0 0 */

Definition at line 174 of file portman2x4.c.

Function Documentation

MODULE_AUTHOR ( "Levent  Guendogdu,
Tobias  Gehrig,
Matthias Koenig"   
)
MODULE_DESCRIPTION ( "Midiman Portman2x4"  )
module_exit ( snd_portman_module_exit  )
module_init ( snd_portman_module_init  )
MODULE_LICENSE ( "GPL"  )
module_param_array ( index  ,
int  ,
NULL  ,
S_IRUGO   
)
module_param_array ( id  ,
charp  ,
NULL  ,
S_IRUGO   
)
module_param_array ( enable  ,
bool  ,
NULL  ,
S_IRUGO   
)
MODULE_PARM_DESC ( index  ,
"Index value for "CARD_NAME" soundcard."   
)
MODULE_PARM_DESC ( id  ,
"ID string for "CARD_NAME" soundcard."   
)
MODULE_PARM_DESC ( enable  ,
"Enable "CARD_NAME" soundcard."   
)
MODULE_SUPPORTED_DEVICE ( "{{Midiman,Portman2x4}}"  )