/* * pata_piccolo.c - Toshiba Piccolo PATA/SATA controller driver. * * This is basically an update to ata_generic.c to add Toshiba Piccolo support * then split out to keep ata_generic "clean". * * Copyright 2005 Red Hat Inc, all rights reserved. * * Elements from ide/pci/generic.c * Copyright (C) 2001-2002 Andre Hedrick <[email protected]> * Portions (C) Copyright 2002 Red Hat Inc <[email protected]> * * May be copied or modified under the terms of the GNU General Public License * * The timing data tables/programming info are courtesy of the NetBSD driver */ #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 … static void tosh_set_piomode(struct ata_port *ap, struct ata_device *adev) { … } static void tosh_set_dmamode(struct ata_port *ap, struct ata_device *adev) { … } static const struct scsi_host_template tosh_sht = …; static struct ata_port_operations tosh_port_ops = …; /** * ata_tosh_init_one - attach generic IDE * @dev: PCI device found * @id: match entry * * Called each time a matching IDE interface is found. We check if the * interface is one we wish to claim and if so we perform any chip * specific hacks then let the ATA layer do the heavy lifting. */ static int ata_tosh_init_one(struct pci_dev *dev, const struct pci_device_id *id) { … } static struct pci_device_id ata_tosh[] = …; static struct pci_driver ata_tosh_pci_driver = …; module_pci_driver(…) …; MODULE_AUTHOR(…) …; MODULE_DESCRIPTION(…) …; MODULE_LICENSE(…) …; MODULE_DEVICE_TABLE(pci, ata_tosh); MODULE_VERSION(…);