#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.
|
| 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) |
|
#define FIR 4 /* SuperIO Chip has fast IRDA */ |
#define NoIRDA 2 /* SuperIO Chip has no IRDA Port */ |
#define SERx4 8 /* SuperIO Chip supports 115,2 KBaud * 4=460,8 KBaud */ |
#define SIR 0 /* SuperIO Chip has only slow IRDA */ |
#define SMSC_IRCC2_C_DEFAULT_TRANSCEIVER 1 |
#define SMSC_IRCC2_C_IRDA_FALLBACK_SPEED 9600 |
#define SMSC_IRCC2_C_NET_TIMEOUT 0 |
#define SMSC_IRCC2_C_NUMBER_OF_TRANSCEIVERS (ARRAY_SIZE(smsc_transceivers) - 1) |
#define SMSC_IRCC2_C_SIR_STOP 0 |
#define SMSC_IRCC2_DRIVER_NAME "smsc-ircc2" |
#define SMSCSIO_TYPE_FDC 1 |
#define SMSCSIO_TYPE_FLAT 4 |
#define SMSCSIO_TYPE_LPC 2 |
#define SMSCSIO_TYPE_PAGED 8 |
MODULE_DEVICE_TABLE |
( |
pnp |
, |
|
|
smsc_ircc_pnp_table |
|
|
) |
| |
module_exit |
( |
smsc_ircc_cleanup |
| ) |
|
module_init |
( |
smsc_ircc_init |
| ) |
|
module_param |
( |
ircc_dma |
, |
|
|
int |
, |
|
|
0 |
|
|
) |
| |
module_param |
( |
ircc_irq |
, |
|
|
int |
, |
|
|
0 |
|
|
) |
| |
module_param |
( |
ircc_fir |
, |
|
|
int |
, |
|
|
0 |
|
|
) |
| |
module_param |
( |
ircc_sir |
, |
|
|
int |
, |
|
|
0 |
|
|
) |
| |
module_param |
( |
ircc_cfg |
, |
|
|
int |
, |
|
|
0 |
|
|
) |
| |
module_param |
( |
ircc_transceiver |
, |
|
|
int |
, |
|
|
0 |
|
|
) |
| |
module_param_named |
( |
nopnp |
, |
|
|
smsc_nopnp |
, |
|
|
bool |
, |
|
|
0 |
|
|
) |
| |
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" |
|
|
) |
| |