#include <linux/module.h>
#include <linux/slab.h>
#include <linux/blkdev.h>
#include <linux/device.h>
#include <linux/init.h>
#include <linux/eisa.h>
#include <linux/interrupt.h>
#include <scsi/scsi_host.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_transport.h>
#include <scsi/scsi_transport_spi.h>
#include "53c700.h"
#define MAX_SLOTS …
static __u8 __initdata id_array[MAX_SLOTS] = …;
static char *sim710;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
module_param(sim710, charp, 0);
#ifdef MODULE
#define ARG_SEP …
#else
#define ARG_SEP …
#endif
static __init int
param_setup(char *str)
{ … }
__setup(…);
static struct scsi_host_template sim710_driver_template = …;
static int sim710_probe_common(struct device *dev, unsigned long base_addr,
int irq, int clock, int differential,
int scsi_id)
{ … }
static int sim710_device_remove(struct device *dev)
{ … }
#ifdef CONFIG_EISA
static struct eisa_device_id sim710_eisa_ids[] = …;
MODULE_DEVICE_TABLE(eisa, sim710_eisa_ids);
static int sim710_eisa_probe(struct device *dev)
{ … }
static struct eisa_driver sim710_eisa_driver = …;
#endif
static int __init sim710_init(void)
{ … }
static void __exit sim710_exit(void)
{ … }
module_init(…) …;
module_exit(sim710_exit);