#include <linux/moduleparam.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/isapnp.h>
#include <linux/mutex.h>
#include <asm/io.h>
#include "../base.h"
#if 0
#define ISAPNP_REGION_OK
#endif
int isapnp_disable;
static int isapnp_rdp;
static int isapnp_reset = …;
static int isapnp_verbose = …;
module_param(isapnp_disable, int, 0);
MODULE_PARM_DESC(…) …;
module_param(isapnp_rdp, int, 0);
MODULE_PARM_DESC(…) …;
module_param(isapnp_reset, int, 0);
MODULE_PARM_DESC(…) …;
module_param(isapnp_verbose, int, 0);
MODULE_PARM_DESC(…) …;
#define _PIDXR …
#define _PNPWRP …
#define _STAG_PNPVERNO …
#define _STAG_LOGDEVID …
#define _STAG_COMPATDEVID …
#define _STAG_IRQ …
#define _STAG_DMA …
#define _STAG_STARTDEP …
#define _STAG_ENDDEP …
#define _STAG_IOPORT …
#define _STAG_FIXEDIO …
#define _STAG_VENDOR …
#define _STAG_END …
#define _LTAG_MEMRANGE …
#define _LTAG_ANSISTR …
#define _LTAG_UNICODESTR …
#define _LTAG_VENDOR …
#define _LTAG_MEM32RANGE …
#define _LTAG_FIXEDMEM32RANGE …
#define ISAPNP_CFG_ACTIVATE …
#define ISAPNP_CFG_MEM …
#define ISAPNP_CFG_PORT …
#define ISAPNP_CFG_IRQ …
#define ISAPNP_CFG_DMA …
#define ISAPNP_MAX_MEM …
#define ISAPNP_MAX_PORT …
#define ISAPNP_MAX_IRQ …
#define ISAPNP_MAX_DMA …
static unsigned char isapnp_checksum_value;
static DEFINE_MUTEX(isapnp_cfg_mutex);
static int isapnp_csn_count;
static inline void write_data(unsigned char x)
{ … }
static inline void write_address(unsigned char x)
{ … }
static inline unsigned char read_data(void)
{ … }
unsigned char isapnp_read_byte(unsigned char idx)
{ … }
static unsigned short isapnp_read_word(unsigned char idx)
{ … }
void isapnp_write_byte(unsigned char idx, unsigned char val)
{ … }
static void isapnp_write_word(unsigned char idx, unsigned short val)
{ … }
static void isapnp_key(void)
{ … }
static void isapnp_wait(void)
{ … }
static void isapnp_wake(unsigned char csn)
{ … }
static void isapnp_device(unsigned char logdev)
{ … }
static void isapnp_activate(unsigned char logdev)
{ … }
static void isapnp_deactivate(unsigned char logdev)
{ … }
static void __init isapnp_peek(unsigned char *data, int bytes)
{ … }
#define RDP_STEP …
static int isapnp_next_rdp(void)
{ … }
static inline void isapnp_set_rdp(void)
{ … }
static int __init isapnp_isolate_rdp_select(void)
{ … }
static int __init isapnp_isolate(void)
{ … }
static int __init isapnp_read_tag(unsigned char *type, unsigned short *size)
{ … }
static void __init isapnp_skip_bytes(int count)
{ … }
static struct pnp_dev *__init isapnp_parse_device(struct pnp_card *card,
int size, int number)
{ … }
static void __init isapnp_parse_irq_resource(struct pnp_dev *dev,
unsigned int option_flags,
int size)
{ … }
static void __init isapnp_parse_dma_resource(struct pnp_dev *dev,
unsigned int option_flags,
int size)
{ … }
static void __init isapnp_parse_port_resource(struct pnp_dev *dev,
unsigned int option_flags,
int size)
{ … }
static void __init isapnp_parse_fixed_port_resource(struct pnp_dev *dev,
unsigned int option_flags,
int size)
{ … }
static void __init isapnp_parse_mem_resource(struct pnp_dev *dev,
unsigned int option_flags,
int size)
{ … }
static void __init isapnp_parse_mem32_resource(struct pnp_dev *dev,
unsigned int option_flags,
int size)
{ … }
static void __init isapnp_parse_fixed_mem32_resource(struct pnp_dev *dev,
unsigned int option_flags,
int size)
{ … }
static void __init
isapnp_parse_name(char *name, unsigned int name_max, unsigned short *size)
{ … }
static int __init isapnp_create_device(struct pnp_card *card,
unsigned short size)
{ … }
static void __init isapnp_parse_resource_map(struct pnp_card *card)
{ … }
static int __init isapnp_build_device_list(void)
{ … }
int isapnp_present(void)
{ … }
int isapnp_cfg_begin(int csn, int logdev)
{ … }
int isapnp_cfg_end(void)
{ … }
EXPORT_SYMBOL(…);
EXPORT_SYMBOL(…);
EXPORT_SYMBOL(…);
EXPORT_SYMBOL(…);
EXPORT_SYMBOL(…);
static int isapnp_get_resources(struct pnp_dev *dev)
{ … }
static int isapnp_set_resources(struct pnp_dev *dev)
{ … }
static int isapnp_disable_resources(struct pnp_dev *dev)
{ … }
struct pnp_protocol isapnp_protocol = …;
static int __init isapnp_init(void)
{ … }
device_initcall(isapnp_init);
static int __init isapnp_setup_disable(char *str)
{ … }
__setup(…);
static int __init isapnp_setup_isapnp(char *str)
{ … }
__setup(…);