Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
mpu401_uart.c File Reference
#include <asm/io.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/ioport.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/errno.h>
#include <sound/core.h>
#include <sound/mpu401.h>

Go to the source code of this file.

Macros

#define snd_mpu401_input_avail(mpu)   (!(mpu->read(mpu, MPU401C(mpu)) & MPU401_RX_EMPTY))
 
#define snd_mpu401_output_ready(mpu)   (!(mpu->read(mpu, MPU401C(mpu)) & MPU401_TX_FULL))
 

Functions

 MODULE_AUTHOR ("Jaroslav Kysela <[email protected]>")
 
 MODULE_DESCRIPTION ("Routines for control of MPU-401 in UART mode")
 
 MODULE_LICENSE ("GPL")
 
irqreturn_t snd_mpu401_uart_interrupt (int irq, void *dev_id)
 
 EXPORT_SYMBOL (snd_mpu401_uart_interrupt)
 
irqreturn_t snd_mpu401_uart_interrupt_tx (int irq, void *dev_id)
 
 EXPORT_SYMBOL (snd_mpu401_uart_interrupt_tx)
 
int snd_mpu401_uart_new (struct snd_card *card, int device, unsigned short hardware, unsigned long port, unsigned int info_flags, int irq, struct snd_rawmidi **rrawmidi)
 
 EXPORT_SYMBOL (snd_mpu401_uart_new)
 

Macro Definition Documentation

#define snd_mpu401_input_avail (   mpu)    (!(mpu->read(mpu, MPU401C(mpu)) & MPU401_RX_EMPTY))

Definition at line 53 of file mpu401_uart.c.

#define snd_mpu401_output_ready (   mpu)    (!(mpu->read(mpu, MPU401C(mpu)) & MPU401_TX_FULL))

Definition at line 55 of file mpu401_uart.c.

Function Documentation

EXPORT_SYMBOL ( snd_mpu401_uart_interrupt  )
EXPORT_SYMBOL ( snd_mpu401_uart_interrupt_tx  )
EXPORT_SYMBOL ( snd_mpu401_uart_new  )
MODULE_AUTHOR ( "Jaroslav Kysela <[email protected]>"  )
MODULE_DESCRIPTION ( "Routines for control of MPU-401 in UART mode )
MODULE_LICENSE ( "GPL"  )
irqreturn_t snd_mpu401_uart_interrupt ( int  irq,
void dev_id 
)

snd_mpu401_uart_interrupt - generic MPU401-UART interrupt handler : the irq number : mpu401 instance

Processes the interrupt for MPU401-UART i/o.

Definition at line 133 of file mpu401_uart.c.

irqreturn_t snd_mpu401_uart_interrupt_tx ( int  irq,
void dev_id 
)

snd_mpu401_uart_interrupt_tx - generic MPU401-UART transmit irq handler : the irq number : mpu401 instance

Processes the interrupt for MPU401-UART output.

Definition at line 152 of file mpu401_uart.c.

int snd_mpu401_uart_new ( struct snd_card card,
int  device,
unsigned short  hardware,
unsigned long  port,
unsigned int  info_flags,
int  irq,
struct snd_rawmidi **  rrawmidi 
)

snd_mpu401_uart_new - create an MPU401-UART instance : the card instance : the device index, zero-based : the hardware type, MPU401_HW_XXXX : the base address of MPU401 port : bitflags MPU401_INFO_XXX : the ISA irq number, -1 if not to be allocated : the pointer to store the new rawmidi instance

Creates a new MPU-401 instance.

Note that the rawmidi instance is returned on the rrawmidi argument, not the mpu401 instance itself. To access to the mpu401 instance, cast from rawmidi->private_data (with struct snd_mpu401 magic-cast).

Returns zero if successful, or a negative error code.

Definition at line 524 of file mpu401_uart.c.