// SPDX-License-Identifier: GPL-2.0-only /* * RZ1000/1001 driver based upon * * linux/drivers/ide/pci/rz1000.c Version 0.06 January 12, 2003 * Copyright (C) 1995-1998 Linus Torvalds & author (see below) * Principal Author: [email protected] (Mark Lord) * * See linux/MAINTAINERS for address of current maintainer. * * This file provides support for disabling the buggy read-ahead * mode of the RZ1000 IDE chipset, commonly used on Intel motherboards. */ #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 … /** * rz1000_set_mode - mode setting function * @link: ATA link * @unused: returned device on set_mode failure * * Use a non standard set_mode function. We don't want to be tuned. We * would prefer to be BIOS generic but for the fact our hardware is * whacked out. */ static int rz1000_set_mode(struct ata_link *link, struct ata_device **unused) { … } static const struct scsi_host_template rz1000_sht = …; static struct ata_port_operations rz1000_port_ops = …; static int rz1000_fifo_disable(struct pci_dev *pdev) { … } /** * rz1000_init_one - Register RZ1000 ATA PCI device with kernel services * @pdev: PCI device to register * @ent: Entry in rz1000_pci_tbl matching with @pdev * * Configure an RZ1000 interface. This doesn't require much special * handling except that we *MUST* kill the chipset readahead or the * user may experience data corruption. */ static int rz1000_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) { … } #ifdef CONFIG_PM_SLEEP static int rz1000_reinit_one(struct pci_dev *pdev) { … } #endif static const struct pci_device_id pata_rz1000[] = …; static struct pci_driver rz1000_pci_driver = …; module_pci_driver(…) …; MODULE_AUTHOR(…) …; MODULE_DESCRIPTION(…) …; MODULE_LICENSE(…) …; MODULE_DEVICE_TABLE(pci, pata_rz1000); MODULE_VERSION(…);