Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
smsc-ircc2.c File Reference
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/skbuff.h>
#include <linux/netdevice.h>
#include <linux/ioport.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/rtnetlink.h>
#include <linux/serial_reg.h>
#include <linux/dma-mapping.h>
#include <linux/pnp.h>
#include <linux/platform_device.h>
#include <linux/gfp.h>
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/byteorder.h>
#include <linux/spinlock.h>
#include <linux/pm.h>
#include <net/irda/wrapper.h>
#include <net/irda/irda.h>
#include <net/irda/irda_device.h>
#include "smsc-ircc2.h"
#include "smsc-sio.h"

Go to the source code of this file.

Data Structures

struct  smsc_transceiver
 
struct  smsc_chip
 
struct  smsc_chip_address
 
struct  smsc_ircc_cb
 

Macros

#define DMA_INVAL   255
 
#define IRQ_INVAL   255
 
#define SMSC_IRCC2_DRIVER_NAME   "smsc-ircc2"
 
#define SMSC_IRCC2_C_IRDA_FALLBACK_SPEED   9600
 
#define SMSC_IRCC2_C_DEFAULT_TRANSCEIVER   1
 
#define SMSC_IRCC2_C_NET_TIMEOUT   0
 
#define SMSC_IRCC2_C_SIR_STOP   0
 
#define SMSC_IRCC2_C_NUMBER_OF_TRANSCEIVERS   (ARRAY_SIZE(smsc_transceivers) - 1)
 
#define KEY55_1   0 /* SuperIO Configuration mode with Key <0x55> */
 
#define KEY55_2   1 /* SuperIO Configuration mode with Key <0x55,0x55> */
 
#define NoIRDA   2 /* SuperIO Chip has no IRDA Port */
 
#define SIR   0 /* SuperIO Chip has only slow IRDA */
 
#define FIR   4 /* SuperIO Chip has fast IRDA */
 
#define SERx4   8 /* SuperIO Chip supports 115,2 KBaud * 4=460,8 KBaud */
 
#define SMSCSIO_TYPE_FDC   1
 
#define SMSCSIO_TYPE_LPC   2
 
#define SMSCSIO_TYPE_FLAT   4
 
#define SMSCSIO_TYPE_PAGED   8
 

Functions

 MODULE_AUTHOR ("Daniele Peri <[email protected]>")
 
 MODULE_DESCRIPTION ("SMC IrCC SIR/FIR controller driver")
 
 MODULE_LICENSE ("GPL")
 
 module_param_named (nopnp, smsc_nopnp, bool, 0)
 
 MODULE_PARM_DESC (nopnp,"Do not use PNP to detect controller settings, defaults to true")
 
 module_param (ircc_dma, int, 0)
 
 MODULE_PARM_DESC (ircc_dma,"DMA channel")
 
 module_param (ircc_irq, int, 0)
 
 MODULE_PARM_DESC (ircc_irq,"IRQ line")
 
 module_param (ircc_fir, int, 0)
 
 MODULE_PARM_DESC (ircc_fir,"FIR Base Address")
 
 module_param (ircc_sir, int, 0)
 
 MODULE_PARM_DESC (ircc_sir,"SIR Base Address")
 
 module_param (ircc_cfg, int, 0)
 
 MODULE_PARM_DESC (ircc_cfg,"Configuration register base address")
 
 module_param (ircc_transceiver, int, 0)
 
 MODULE_PARM_DESC (ircc_transceiver,"Transceiver type")
 
 MODULE_DEVICE_TABLE (pnp, smsc_ircc_pnp_table)
 
 module_init (smsc_ircc_init)
 
 module_exit (smsc_ircc_cleanup)
 

Macro Definition Documentation

#define DMA_INVAL   255

Definition at line 85 of file smsc-ircc2.c.

#define FIR   4 /* SuperIO Chip has fast IRDA */

Definition at line 283 of file smsc-ircc2.c.

#define IRQ_INVAL   255

Definition at line 90 of file smsc-ircc2.c.

#define KEY55_1   0 /* SuperIO Configuration mode with Key <0x55> */

Definition at line 279 of file smsc-ircc2.c.

#define KEY55_2   1 /* SuperIO Configuration mode with Key <0x55,0x55> */

Definition at line 280 of file smsc-ircc2.c.

#define NoIRDA   2 /* SuperIO Chip has no IRDA Port */

Definition at line 281 of file smsc-ircc2.c.

#define SERx4   8 /* SuperIO Chip supports 115,2 KBaud * 4=460,8 KBaud */

Definition at line 284 of file smsc-ircc2.c.

#define SIR   0 /* SuperIO Chip has only slow IRDA */

Definition at line 282 of file smsc-ircc2.c.

#define SMSC_IRCC2_C_DEFAULT_TRANSCEIVER   1

Definition at line 180 of file smsc-ircc2.c.

#define SMSC_IRCC2_C_IRDA_FALLBACK_SPEED   9600

Definition at line 179 of file smsc-ircc2.c.

#define SMSC_IRCC2_C_NET_TIMEOUT   0

Definition at line 181 of file smsc-ircc2.c.

#define SMSC_IRCC2_C_NUMBER_OF_TRANSCEIVERS   (ARRAY_SIZE(smsc_transceivers) - 1)

Definition at line 275 of file smsc-ircc2.c.

#define SMSC_IRCC2_C_SIR_STOP   0

Definition at line 182 of file smsc-ircc2.c.

#define SMSC_IRCC2_DRIVER_NAME   "smsc-ircc2"

Definition at line 177 of file smsc-ircc2.c.

#define SMSCSIO_TYPE_FDC   1

Definition at line 342 of file smsc-ircc2.c.

#define SMSCSIO_TYPE_FLAT   4

Definition at line 344 of file smsc-ircc2.c.

#define SMSCSIO_TYPE_LPC   2

Definition at line 343 of file smsc-ircc2.c.

#define SMSCSIO_TYPE_PAGED   8

Definition at line 345 of file smsc-ircc2.c.

Function Documentation

MODULE_AUTHOR ( "Daniele Peri <[email protected]>"  )
MODULE_DESCRIPTION ( "SMC IrCC SIR/FIR controller driver )
MODULE_DEVICE_TABLE ( pnp  ,
smsc_ircc_pnp_table   
)
module_exit ( smsc_ircc_cleanup  )
module_init ( smsc_ircc_init  )
MODULE_LICENSE ( "GPL"  )
module_param ( ircc_dma  ,
int  ,
 
)
module_param ( ircc_irq  ,
int  ,
 
)
module_param ( ircc_fir  ,
int  ,
 
)
module_param ( ircc_sir  ,
int  ,
 
)
module_param ( ircc_cfg  ,
int  ,
 
)
module_param ( ircc_transceiver  ,
int  ,
 
)
module_param_named ( nopnp  ,
smsc_nopnp  ,
bool  ,
 
)
MODULE_PARM_DESC ( nopnp  ,
"Do not use PNP to detect controller  settings,
defaults to true  
)
MODULE_PARM_DESC ( ircc_dma  ,
"DMA channel  
)
MODULE_PARM_DESC ( ircc_irq  ,
"IRQ line  
)
MODULE_PARM_DESC ( ircc_fir  ,
"FIR Base Address  
)
MODULE_PARM_DESC ( ircc_sir  ,
"SIR Base Address  
)
MODULE_PARM_DESC ( ircc_cfg  ,
"Configuration register base address  
)
MODULE_PARM_DESC ( ircc_transceiver  ,
"Transceiver type  
)