#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/blkdev.h>
#include <linux/delay.h>
#include <scsi/scsi_host.h>
#include <linux/libata.h>
#define DRV_NAME …
#define DRV_VERSION …
enum { … };
static bool enable_dma = …;
module_param(enable_dma, bool, 0);
MODULE_PARM_DESC(…) …;
static void cy82c693_set_piomode(struct ata_port *ap, struct ata_device *adev)
{ … }
static void cy82c693_set_dmamode(struct ata_port *ap, struct ata_device *adev)
{ … }
static const struct scsi_host_template cy82c693_sht = …;
static struct ata_port_operations cy82c693_port_ops = …;
static int cy82c693_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
{ … }
static const struct pci_device_id cy82c693[] = …;
static struct pci_driver cy82c693_pci_driver = …;
module_pci_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_DEVICE_TABLE(pci, cy82c693);
MODULE_VERSION(…);