Commit e30fdb1e authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  [libata] pata_artop: kill gcc warning
  [PATCH] libata: turn off NCQ if queue depth is adjusted to 1
  [PATCH] libata: cosmetic changes to constants
  [libata] DocBook minor updates, fixes
  [libata] PCI ID table cleanup in various drivers
  [libata] Print out Status register, if a BSY-sleep takes too long
  [libata] init probe_ent->private_data in a common location
  [libata] minor PCI IDE probe fixes and cleanups
  [libata] Use new PCI_VDEVICE() macro to dramatically shorten ID lists
  [PATCH] Fix reference of uninitialised memory in ata_device_add()
parents 5b9b5572 15a7c3bb
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
</authorgroup> </authorgroup>
<copyright> <copyright>
<year>2003-2005</year> <year>2003-2006</year>
<holder>Jeff Garzik</holder> <holder>Jeff Garzik</holder>
</copyright> </copyright>
......
...@@ -299,76 +299,46 @@ static const struct ata_port_info ahci_port_info[] = { ...@@ -299,76 +299,46 @@ static const struct ata_port_info ahci_port_info[] = {
static const struct pci_device_id ahci_pci_tbl[] = { static const struct pci_device_id ahci_pci_tbl[] = {
/* Intel */ /* Intel */
{ PCI_VENDOR_ID_INTEL, 0x2652, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(INTEL, 0x2652), board_ahci }, /* ICH6 */
board_ahci }, /* ICH6 */ { PCI_VDEVICE(INTEL, 0x2653), board_ahci }, /* ICH6M */
{ PCI_VENDOR_ID_INTEL, 0x2653, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(INTEL, 0x27c1), board_ahci }, /* ICH7 */
board_ahci }, /* ICH6M */ { PCI_VDEVICE(INTEL, 0x27c5), board_ahci }, /* ICH7M */
{ PCI_VENDOR_ID_INTEL, 0x27c1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(INTEL, 0x27c3), board_ahci }, /* ICH7R */
board_ahci }, /* ICH7 */ { PCI_VDEVICE(AL, 0x5288), board_ahci }, /* ULi M5288 */
{ PCI_VENDOR_ID_INTEL, 0x27c5, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(INTEL, 0x2681), board_ahci }, /* ESB2 */
board_ahci }, /* ICH7M */ { PCI_VDEVICE(INTEL, 0x2682), board_ahci }, /* ESB2 */
{ PCI_VENDOR_ID_INTEL, 0x27c3, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(INTEL, 0x2683), board_ahci }, /* ESB2 */
board_ahci }, /* ICH7R */ { PCI_VDEVICE(INTEL, 0x27c6), board_ahci }, /* ICH7-M DH */
{ PCI_VENDOR_ID_AL, 0x5288, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(INTEL, 0x2821), board_ahci }, /* ICH8 */
board_ahci }, /* ULi M5288 */ { PCI_VDEVICE(INTEL, 0x2822), board_ahci }, /* ICH8 */
{ PCI_VENDOR_ID_INTEL, 0x2681, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(INTEL, 0x2824), board_ahci }, /* ICH8 */
board_ahci }, /* ESB2 */ { PCI_VDEVICE(INTEL, 0x2829), board_ahci }, /* ICH8M */
{ PCI_VENDOR_ID_INTEL, 0x2682, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(INTEL, 0x282a), board_ahci }, /* ICH8M */
board_ahci }, /* ESB2 */
{ PCI_VENDOR_ID_INTEL, 0x2683, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_ahci }, /* ESB2 */
{ PCI_VENDOR_ID_INTEL, 0x27c6, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_ahci }, /* ICH7-M DH */
{ PCI_VENDOR_ID_INTEL, 0x2821, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_ahci }, /* ICH8 */
{ PCI_VENDOR_ID_INTEL, 0x2822, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_ahci }, /* ICH8 */
{ PCI_VENDOR_ID_INTEL, 0x2824, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_ahci }, /* ICH8 */
{ PCI_VENDOR_ID_INTEL, 0x2829, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_ahci }, /* ICH8M */
{ PCI_VENDOR_ID_INTEL, 0x282a, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_ahci }, /* ICH8M */
/* JMicron */ /* JMicron */
{ 0x197b, 0x2360, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(JMICRON, 0x2360), board_ahci }, /* JMicron JMB360 */
board_ahci }, /* JMicron JMB360 */ { PCI_VDEVICE(JMICRON, 0x2361), board_ahci }, /* JMicron JMB361 */
{ 0x197b, 0x2361, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(JMICRON, 0x2363), board_ahci }, /* JMicron JMB363 */
board_ahci }, /* JMicron JMB361 */ { PCI_VDEVICE(JMICRON, 0x2365), board_ahci }, /* JMicron JMB365 */
{ 0x197b, 0x2363, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(JMICRON, 0x2366), board_ahci }, /* JMicron JMB366 */
board_ahci }, /* JMicron JMB363 */
{ 0x197b, 0x2365, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_ahci }, /* JMicron JMB365 */
{ 0x197b, 0x2366, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_ahci }, /* JMicron JMB366 */
/* ATI */ /* ATI */
{ PCI_VENDOR_ID_ATI, 0x4380, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(ATI, 0x4380), board_ahci }, /* ATI SB600 non-raid */
board_ahci }, /* ATI SB600 non-raid */ { PCI_VDEVICE(ATI, 0x4381), board_ahci }, /* ATI SB600 raid */
{ PCI_VENDOR_ID_ATI, 0x4381, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_ahci }, /* ATI SB600 raid */
/* VIA */ /* VIA */
{ PCI_VENDOR_ID_VIA, 0x3349, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(VIA, 0x3349), board_ahci_vt8251 }, /* VIA VT8251 */
board_ahci_vt8251 }, /* VIA VT8251 */
/* NVIDIA */ /* NVIDIA */
{ PCI_VENDOR_ID_NVIDIA, 0x044c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(NVIDIA, 0x044c), board_ahci }, /* MCP65 */
board_ahci }, /* MCP65 */ { PCI_VDEVICE(NVIDIA, 0x044d), board_ahci }, /* MCP65 */
{ PCI_VENDOR_ID_NVIDIA, 0x044d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(NVIDIA, 0x044e), board_ahci }, /* MCP65 */
board_ahci }, /* MCP65 */ { PCI_VDEVICE(NVIDIA, 0x044f), board_ahci }, /* MCP65 */
{ PCI_VENDOR_ID_NVIDIA, 0x044e, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_ahci }, /* MCP65 */
{ PCI_VENDOR_ID_NVIDIA, 0x044f, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_ahci }, /* MCP65 */
/* SiS */ /* SiS */
{ PCI_VENDOR_ID_SI, 0x1184, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(SI, 0x1184), board_ahci }, /* SiS 966 */
board_ahci }, /* SiS 966 */ { PCI_VDEVICE(SI, 0x1185), board_ahci }, /* SiS 966 */
{ PCI_VENDOR_ID_SI, 0x1185, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(SI, 0x0186), board_ahci }, /* SiS 968 */
board_ahci }, /* SiS 966 */
{ PCI_VENDOR_ID_SI, 0x0186, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_ahci }, /* SiS 968 */
{ } /* terminate list */ { } /* terminate list */
}; };
......
...@@ -2340,7 +2340,8 @@ unsigned int ata_busy_sleep (struct ata_port *ap, ...@@ -2340,7 +2340,8 @@ unsigned int ata_busy_sleep (struct ata_port *ap,
if (status & ATA_BUSY) if (status & ATA_BUSY)
ata_port_printk(ap, KERN_WARNING, ata_port_printk(ap, KERN_WARNING,
"port is slow to respond, please be patient\n"); "port is slow to respond, please be patient "
"(Status 0x%x)\n", status);
timeout = timer_start + tmout; timeout = timer_start + tmout;
while ((status & ATA_BUSY) && (time_before(jiffies, timeout))) { while ((status & ATA_BUSY) && (time_before(jiffies, timeout))) {
...@@ -2350,7 +2351,8 @@ unsigned int ata_busy_sleep (struct ata_port *ap, ...@@ -2350,7 +2351,8 @@ unsigned int ata_busy_sleep (struct ata_port *ap,
if (status & ATA_BUSY) { if (status & ATA_BUSY) {
ata_port_printk(ap, KERN_ERR, "port failed to respond " ata_port_printk(ap, KERN_ERR, "port failed to respond "
"(%lu secs)\n", tmout / HZ); "(%lu secs, Status 0x%x)\n",
tmout / HZ, status);
return 1; return 1;
} }
...@@ -5478,11 +5480,10 @@ int ata_device_add(const struct ata_probe_ent *ent) ...@@ -5478,11 +5480,10 @@ int ata_device_add(const struct ata_probe_ent *ent)
int irq_line = ent->irq; int irq_line = ent->irq;
ap = ata_port_add(ent, host, i); ap = ata_port_add(ent, host, i);
host->ports[i] = ap;
if (!ap) if (!ap)
goto err_out; goto err_out;
host->ports[i] = ap;
/* dummy? */ /* dummy? */
if (ent->dummy_port_mask & (1 << i)) { if (ent->dummy_port_mask & (1 << i)) {
ata_port_printk(ap, KERN_INFO, "DUMMY\n"); ata_port_printk(ap, KERN_INFO, "DUMMY\n");
...@@ -5740,7 +5741,7 @@ void ata_host_remove(struct ata_host *host) ...@@ -5740,7 +5741,7 @@ void ata_host_remove(struct ata_host *host)
/** /**
* ata_scsi_release - SCSI layer callback hook for host unload * ata_scsi_release - SCSI layer callback hook for host unload
* @host: libata host to be unloaded * @shost: libata host to be unloaded
* *
* Performs all duties necessary to shut down a libata port... * Performs all duties necessary to shut down a libata port...
* Kill port kthread, disable port, and release resources. * Kill port kthread, disable port, and release resources.
...@@ -5786,6 +5787,7 @@ ata_probe_ent_alloc(struct device *dev, const struct ata_port_info *port) ...@@ -5786,6 +5787,7 @@ ata_probe_ent_alloc(struct device *dev, const struct ata_port_info *port)
probe_ent->mwdma_mask = port->mwdma_mask; probe_ent->mwdma_mask = port->mwdma_mask;
probe_ent->udma_mask = port->udma_mask; probe_ent->udma_mask = port->udma_mask;
probe_ent->port_ops = port->port_ops; probe_ent->port_ops = port->port_ops;
probe_ent->private_data = port->private_data;
return probe_ent; return probe_ent;
} }
......
...@@ -889,6 +889,7 @@ int ata_scsi_change_queue_depth(struct scsi_device *sdev, int queue_depth) ...@@ -889,6 +889,7 @@ int ata_scsi_change_queue_depth(struct scsi_device *sdev, int queue_depth)
{ {
struct ata_port *ap = ata_shost_to_port(sdev->host); struct ata_port *ap = ata_shost_to_port(sdev->host);
struct ata_device *dev; struct ata_device *dev;
unsigned long flags;
int max_depth; int max_depth;
if (queue_depth < 1) if (queue_depth < 1)
...@@ -904,6 +905,14 @@ int ata_scsi_change_queue_depth(struct scsi_device *sdev, int queue_depth) ...@@ -904,6 +905,14 @@ int ata_scsi_change_queue_depth(struct scsi_device *sdev, int queue_depth)
queue_depth = max_depth; queue_depth = max_depth;
scsi_adjust_queue_depth(sdev, MSG_SIMPLE_TAG, queue_depth); scsi_adjust_queue_depth(sdev, MSG_SIMPLE_TAG, queue_depth);
spin_lock_irqsave(ap->lock, flags);
if (queue_depth > 1)
dev->flags &= ~ATA_DFLAG_NCQ_OFF;
else
dev->flags |= ATA_DFLAG_NCQ_OFF;
spin_unlock_irqrestore(ap->lock, flags);
return queue_depth; return queue_depth;
} }
...@@ -1293,7 +1302,8 @@ static unsigned int ata_scsi_rw_xlat(struct ata_queued_cmd *qc, const u8 *scsicm ...@@ -1293,7 +1302,8 @@ static unsigned int ata_scsi_rw_xlat(struct ata_queued_cmd *qc, const u8 *scsicm
*/ */
goto nothing_to_do; goto nothing_to_do;
if ((dev->flags & (ATA_DFLAG_PIO | ATA_DFLAG_NCQ)) == ATA_DFLAG_NCQ) { if ((dev->flags & (ATA_DFLAG_PIO | ATA_DFLAG_NCQ_OFF |
ATA_DFLAG_NCQ)) == ATA_DFLAG_NCQ) {
/* yay, NCQ */ /* yay, NCQ */
if (!lba_48_ok(block, n_block)) if (!lba_48_ok(block, n_block))
goto out_of_range; goto out_of_range;
...@@ -3174,7 +3184,7 @@ void ata_scsi_dev_rescan(void *data) ...@@ -3174,7 +3184,7 @@ void ata_scsi_dev_rescan(void *data)
/** /**
* ata_sas_port_alloc - Allocate port for a SAS attached SATA device * ata_sas_port_alloc - Allocate port for a SAS attached SATA device
* @pdev: PCI device that the scsi device is attached to * @host: ATA host container for all SAS ports
* @port_info: Information from low-level host driver * @port_info: Information from low-level host driver
* @shost: SCSI host that the scsi device is attached to * @shost: SCSI host that the scsi device is attached to
* *
......
...@@ -828,7 +828,6 @@ ata_pci_init_native_mode(struct pci_dev *pdev, struct ata_port_info **port, int ...@@ -828,7 +828,6 @@ ata_pci_init_native_mode(struct pci_dev *pdev, struct ata_port_info **port, int
probe_ent->irq = pdev->irq; probe_ent->irq = pdev->irq;
probe_ent->irq_flags = IRQF_SHARED; probe_ent->irq_flags = IRQF_SHARED;
probe_ent->private_data = port[0]->private_data;
if (ports & ATA_PORT_PRIMARY) { if (ports & ATA_PORT_PRIMARY) {
probe_ent->port[p].cmd_addr = pci_resource_start(pdev, 0); probe_ent->port[p].cmd_addr = pci_resource_start(pdev, 0);
...@@ -878,7 +877,6 @@ static struct ata_probe_ent *ata_pci_init_legacy_port(struct pci_dev *pdev, ...@@ -878,7 +877,6 @@ static struct ata_probe_ent *ata_pci_init_legacy_port(struct pci_dev *pdev,
return NULL; return NULL;
probe_ent->n_ports = 2; probe_ent->n_ports = 2;
probe_ent->private_data = port[0]->private_data;
if (port_mask & ATA_PORT_PRIMARY) { if (port_mask & ATA_PORT_PRIMARY) {
probe_ent->irq = ATA_PRIMARY_IRQ; probe_ent->irq = ATA_PRIMARY_IRQ;
...@@ -908,6 +906,8 @@ static struct ata_probe_ent *ata_pci_init_legacy_port(struct pci_dev *pdev, ...@@ -908,6 +906,8 @@ static struct ata_probe_ent *ata_pci_init_legacy_port(struct pci_dev *pdev,
probe_ent->_host_flags |= ATA_HOST_SIMPLEX; probe_ent->_host_flags |= ATA_HOST_SIMPLEX;
} }
ata_std_ports(&probe_ent->port[1]); ata_std_ports(&probe_ent->port[1]);
/* FIXME: could be pointing to stack area; must copy */
probe_ent->pinfo2 = port[1]; probe_ent->pinfo2 = port[1];
} else } else
probe_ent->dummy_port_mask |= ATA_PORT_SECONDARY; probe_ent->dummy_port_mask |= ATA_PORT_SECONDARY;
...@@ -946,35 +946,21 @@ int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info, ...@@ -946,35 +946,21 @@ int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info,
{ {
struct ata_probe_ent *probe_ent = NULL; struct ata_probe_ent *probe_ent = NULL;
struct ata_port_info *port[2]; struct ata_port_info *port[2];
u8 tmp8, mask; u8 mask;
unsigned int legacy_mode = 0; unsigned int legacy_mode = 0;
int disable_dev_on_err = 1; int disable_dev_on_err = 1;
int rc; int rc;
DPRINTK("ENTER\n"); DPRINTK("ENTER\n");
BUG_ON(n_ports < 1 || n_ports > 2);
port[0] = port_info[0]; port[0] = port_info[0];
if (n_ports > 1) if (n_ports > 1)
port[1] = port_info[1]; port[1] = port_info[1];
else else
port[1] = port[0]; port[1] = port[0];
if ((port[0]->flags & ATA_FLAG_NO_LEGACY) == 0
&& (pdev->class >> 8) == PCI_CLASS_STORAGE_IDE) {
/* TODO: What if one channel is in native mode ... */
pci_read_config_byte(pdev, PCI_CLASS_PROG, &tmp8);
mask = (1 << 2) | (1 << 0);
if ((tmp8 & mask) != mask)
legacy_mode = (1 << 3);
}
/* FIXME... */
if ((!legacy_mode) && (n_ports > 2)) {
printk(KERN_ERR "ata: BUG: native mode, n_ports > 2\n");
n_ports = 2;
/* For now */
}
/* FIXME: Really for ATA it isn't safe because the device may be /* FIXME: Really for ATA it isn't safe because the device may be
multi-purpose and we want to leave it alone if it was already multi-purpose and we want to leave it alone if it was already
enabled. Secondly for shared use as Arjan says we want refcounting enabled. Secondly for shared use as Arjan says we want refcounting
...@@ -987,6 +973,16 @@ int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info, ...@@ -987,6 +973,16 @@ int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info,
if (rc) if (rc)
return rc; return rc;
if ((pdev->class >> 8) == PCI_CLASS_STORAGE_IDE) {
u8 tmp8;
/* TODO: What if one channel is in native mode ... */
pci_read_config_byte(pdev, PCI_CLASS_PROG, &tmp8);
mask = (1 << 2) | (1 << 0);
if ((tmp8 & mask) != mask)
legacy_mode = (1 << 3);
}
rc = pci_request_regions(pdev, DRV_NAME); rc = pci_request_regions(pdev, DRV_NAME);
if (rc) { if (rc) {
disable_dev_on_err = 0; disable_dev_on_err = 0;
...@@ -1039,7 +1035,7 @@ int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info, ...@@ -1039,7 +1035,7 @@ int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info,
goto err_out_regions; goto err_out_regions;
} }
/* FIXME: If we get no DMA mask we should fall back to PIO */ /* TODO: If we get no DMA mask we should fall back to PIO */
rc = pci_set_dma_mask(pdev, ATA_DMA_MASK); rc = pci_set_dma_mask(pdev, ATA_DMA_MASK);
if (rc) if (rc)
goto err_out_regions; goto err_out_regions;
...@@ -1062,13 +1058,17 @@ int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info, ...@@ -1062,13 +1058,17 @@ int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info,
pci_set_master(pdev); pci_set_master(pdev);
/* FIXME: check ata_device_add return */ if (!ata_device_add(probe_ent)) {
ata_device_add(probe_ent); rc = -ENODEV;
goto err_out_ent;
}
kfree(probe_ent); kfree(probe_ent);
return 0; return 0;
err_out_ent:
kfree(probe_ent);
err_out_regions: err_out_regions:
if (legacy_mode & ATA_PORT_PRIMARY) if (legacy_mode & ATA_PORT_PRIMARY)
release_region(ATA_PRIMARY_CMD, 8); release_region(ATA_PRIMARY_CMD, 8);
......
...@@ -644,10 +644,11 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id) ...@@ -644,10 +644,11 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
return ata_pci_init_one(pdev, port_info, 2); return ata_pci_init_one(pdev, port_info, 2);
} }
static struct pci_device_id ali[] = { static const struct pci_device_id ali[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M5228), }, { PCI_VDEVICE(AL, PCI_DEVICE_ID_AL_M5228), },
{ PCI_DEVICE(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M5229), }, { PCI_VDEVICE(AL, PCI_DEVICE_ID_AL_M5229), },
{ 0, },
{ },
}; };
static struct pci_driver ali_pci_driver = { static struct pci_driver ali_pci_driver = {
......
...@@ -662,27 +662,28 @@ static int amd_init_one(struct pci_dev *pdev, const struct pci_device_id *id) ...@@ -662,27 +662,28 @@ static int amd_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
} }
static const struct pci_device_id amd[] = { static const struct pci_device_id amd[] = {
{ PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_COBRA_7401, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_COBRA_7401), 0 },
{ PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7409, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 }, { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_VIPER_7409), 1 },
{ PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7411, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 3 }, { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_VIPER_7411), 3 },
{ PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_OPUS_7441, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 }, { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_OPUS_7441), 4 },
{ PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8111_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 5 }, { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_8111_IDE), 5 },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 7 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_IDE), 7 },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE2_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 8 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE2_IDE), 8 },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE2S_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 8 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE2S_IDE), 8 },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE3_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 8 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE3_IDE), 8 },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE3S_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 8 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE3S_IDE), 8 },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 8 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_IDE), 8 },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 8 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_IDE), 8 },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 8 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_IDE), 8 },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 8 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_IDE), 8 },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 8 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_IDE), 8 },
{ PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CS5536_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 9 }, { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_CS5536_IDE), 9 },
{ 0, },
{ },
}; };
static struct pci_driver amd_pci_driver = { static struct pci_driver amd_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = amd, .id_table = amd,
.probe = amd_init_one, .probe = amd_init_one,
.remove = ata_pci_remove_one .remove = ata_pci_remove_one
...@@ -698,7 +699,6 @@ static void __exit amd_exit(void) ...@@ -698,7 +699,6 @@ static void __exit amd_exit(void)
pci_unregister_driver(&amd_pci_driver); pci_unregister_driver(&amd_pci_driver);
} }
MODULE_AUTHOR("Alan Cox"); MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("low-level driver for AMD PATA IDE"); MODULE_DESCRIPTION("low-level driver for AMD PATA IDE");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -426,7 +426,7 @@ static int artop_init_one (struct pci_dev *pdev, const struct pci_device_id *id) ...@@ -426,7 +426,7 @@ static int artop_init_one (struct pci_dev *pdev, const struct pci_device_id *id)
.port_ops = &artop6260_ops, .port_ops = &artop6260_ops,
}; };
struct ata_port_info *port_info[2]; struct ata_port_info *port_info[2];
struct ata_port_info *info; struct ata_port_info *info = NULL;
int ports = 2; int ports = 2;
if (!printed_version++) if (!printed_version++)
...@@ -470,16 +470,20 @@ static int artop_init_one (struct pci_dev *pdev, const struct pci_device_id *id) ...@@ -470,16 +470,20 @@ static int artop_init_one (struct pci_dev *pdev, const struct pci_device_id *id)
pci_write_config_byte(pdev, 0x4a, (reg & ~0x01) | 0x80); pci_write_config_byte(pdev, 0x4a, (reg & ~0x01) | 0x80);
} }
BUG_ON(info == NULL);
port_info[0] = port_info[1] = info; port_info[0] = port_info[1] = info;
return ata_pci_init_one(pdev, port_info, ports); return ata_pci_init_one(pdev, port_info, ports);
} }
static const struct pci_device_id artop_pci_tbl[] = { static const struct pci_device_id artop_pci_tbl[] = {
{ 0x1191, 0x0005, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VDEVICE(ARTOP, 0x0005), 0 },
{ 0x1191, 0x0006, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, { PCI_VDEVICE(ARTOP, 0x0006), 1 },
{ 0x1191, 0x0007, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, { PCI_VDEVICE(ARTOP, 0x0007), 1 },
{ 0x1191, 0x0008, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2}, { PCI_VDEVICE(ARTOP, 0x0008), 2 },
{ 0x1191, 0x0009, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2}, { PCI_VDEVICE(ARTOP, 0x0009), 2 },
{ } /* terminate list */ { } /* terminate list */
}; };
...@@ -500,7 +504,6 @@ static void __exit artop_exit(void) ...@@ -500,7 +504,6 @@ static void __exit artop_exit(void)
pci_unregister_driver(&artop_pci_driver); pci_unregister_driver(&artop_pci_driver);
} }
module_init(artop_init); module_init(artop_init);
module_exit(artop_exit); module_exit(artop_exit);
......
...@@ -267,12 +267,13 @@ static int atiixp_init_one(struct pci_dev *dev, const struct pci_device_id *id) ...@@ -267,12 +267,13 @@ static int atiixp_init_one(struct pci_dev *dev, const struct pci_device_id *id)
return ata_pci_init_one(dev, port_info, 2); return ata_pci_init_one(dev, port_info, 2);
} }
static struct pci_device_id atiixp[] = { static const struct pci_device_id atiixp[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP200_IDE), }, { PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP200_IDE), },
{ PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP300_IDE), }, { PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP300_IDE), },
{ PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP400_IDE), }, { PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP400_IDE), },
{ PCI_DEVICE(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP600_IDE), }, { PCI_VDEVICE(ATI, PCI_DEVICE_ID_ATI_IXP600_IDE), },
{ 0, },
{ },
}; };
static struct pci_driver atiixp_pci_driver = { static struct pci_driver atiixp_pci_driver = {
...@@ -293,7 +294,6 @@ static void __exit atiixp_exit(void) ...@@ -293,7 +294,6 @@ static void __exit atiixp_exit(void)
pci_unregister_driver(&atiixp_pci_driver); pci_unregister_driver(&atiixp_pci_driver);
} }
MODULE_AUTHOR("Alan Cox"); MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("low-level driver for ATI IXP200/300/400"); MODULE_DESCRIPTION("low-level driver for ATI IXP200/300/400");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -468,16 +468,17 @@ static int cmd64x_init_one(struct pci_dev *pdev, const struct pci_device_id *id) ...@@ -468,16 +468,17 @@ static int cmd64x_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
return ata_pci_init_one(pdev, port_info, 2); return ata_pci_init_one(pdev, port_info, 2);
} }
static struct pci_device_id cmd64x[] = { static const struct pci_device_id cmd64x[] = {
{ PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_CMD_643, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VDEVICE(CMD, PCI_DEVICE_ID_CMD_643), 0 },
{ PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_CMD_646, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, { PCI_VDEVICE(CMD, PCI_DEVICE_ID_CMD_646), 1 },
{ PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_CMD_648, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4}, { PCI_VDEVICE(CMD, PCI_DEVICE_ID_CMD_648), 4 },
{ PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_CMD_649, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 5}, { PCI_VDEVICE(CMD, PCI_DEVICE_ID_CMD_649), 5 },
{ 0, },
{ },
}; };
static struct pci_driver cmd64x_pci_driver = { static struct pci_driver cmd64x_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = cmd64x, .id_table = cmd64x,
.probe = cmd64x_init_one, .probe = cmd64x_init_one,
.remove = ata_pci_remove_one .remove = ata_pci_remove_one
...@@ -488,13 +489,11 @@ static int __init cmd64x_init(void) ...@@ -488,13 +489,11 @@ static int __init cmd64x_init(void)
return pci_register_driver(&cmd64x_pci_driver); return pci_register_driver(&cmd64x_pci_driver);
} }
static void __exit cmd64x_exit(void) static void __exit cmd64x_exit(void)
{ {
pci_unregister_driver(&cmd64x_pci_driver); pci_unregister_driver(&cmd64x_pci_driver);
} }
MODULE_AUTHOR("Alan Cox"); MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("low-level driver for CMD64x series PATA controllers"); MODULE_DESCRIPTION("low-level driver for CMD64x series PATA controllers");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -299,10 +299,11 @@ static void __devexit cs5520_remove_one(struct pci_dev *pdev) ...@@ -299,10 +299,11 @@ static void __devexit cs5520_remove_one(struct pci_dev *pdev)
/* For now keep DMA off. We can set it for all but A rev CS5510 once the /* For now keep DMA off. We can set it for all but A rev CS5510 once the
core ATA code can handle it */ core ATA code can handle it */
static struct pci_device_id pata_cs5520[] = { static const struct pci_device_id pata_cs5520[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5510), }, { PCI_VDEVICE(CYRIX, PCI_DEVICE_ID_CYRIX_5510), },
{ PCI_DEVICE(PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5520), }, { PCI_VDEVICE(CYRIX, PCI_DEVICE_ID_CYRIX_5520), },
{ 0, },
{ },
}; };
static struct pci_driver cs5520_pci_driver = { static struct pci_driver cs5520_pci_driver = {
...@@ -312,7 +313,6 @@ static struct pci_driver cs5520_pci_driver = { ...@@ -312,7 +313,6 @@ static struct pci_driver cs5520_pci_driver = {
.remove = cs5520_remove_one .remove = cs5520_remove_one
}; };
static int __init cs5520_init(void) static int __init cs5520_init(void)
{ {
return pci_register_driver(&cs5520_pci_driver); return pci_register_driver(&cs5520_pci_driver);
......
...@@ -353,13 +353,14 @@ static int cs5530_init_one(struct pci_dev *dev, const struct pci_device_id *id) ...@@ -353,13 +353,14 @@ static int cs5530_init_one(struct pci_dev *dev, const struct pci_device_id *id)
return -ENODEV; return -ENODEV;
} }
static struct pci_device_id cs5530[] = { static const struct pci_device_id cs5530[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5530_IDE), }, { PCI_VDEVICE(CYRIX, PCI_DEVICE_ID_CYRIX_5530_IDE), },
{ 0, },
{ },
}; };
static struct pci_driver cs5530_pci_driver = { static struct pci_driver cs5530_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = cs5530, .id_table = cs5530,
.probe = cs5530_init_one, .probe = cs5530_init_one,
.remove = ata_pci_remove_one .remove = ata_pci_remove_one
...@@ -370,13 +371,11 @@ static int __init cs5530_init(void) ...@@ -370,13 +371,11 @@ static int __init cs5530_init(void)
return pci_register_driver(&cs5530_pci_driver); return pci_register_driver(&cs5530_pci_driver);
} }
static void __exit cs5530_exit(void) static void __exit cs5530_exit(void)
{ {
pci_unregister_driver(&cs5530_pci_driver); pci_unregister_driver(&cs5530_pci_driver);
} }
MODULE_AUTHOR("Alan Cox"); MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("low-level driver for the Cyrix/NS/AMD 5530"); MODULE_DESCRIPTION("low-level driver for the Cyrix/NS/AMD 5530");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -257,9 +257,10 @@ static int cs5535_init_one(struct pci_dev *dev, const struct pci_device_id *id) ...@@ -257,9 +257,10 @@ static int cs5535_init_one(struct pci_dev *dev, const struct pci_device_id *id)
return ata_pci_init_one(dev, ports, 1); return ata_pci_init_one(dev, ports, 1);
} }
static struct pci_device_id cs5535[] = { static const struct pci_device_id cs5535[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_NS, 0x002D), }, { PCI_VDEVICE(NS, 0x002D), },
{ 0, },
{ },
}; };
static struct pci_driver cs5535_pci_driver = { static struct pci_driver cs5535_pci_driver = {
...@@ -274,13 +275,11 @@ static int __init cs5535_init(void) ...@@ -274,13 +275,11 @@ static int __init cs5535_init(void)
return pci_register_driver(&cs5535_pci_driver); return pci_register_driver(&cs5535_pci_driver);
} }
static void __exit cs5535_exit(void) static void __exit cs5535_exit(void)
{ {
pci_unregister_driver(&cs5535_pci_driver); pci_unregister_driver(&cs5535_pci_driver);
} }
MODULE_AUTHOR("Alan Cox, Jens Altmann, Wolfgan Zuleger, Alexander Kiausch"); MODULE_AUTHOR("Alan Cox, Jens Altmann, Wolfgan Zuleger, Alexander Kiausch");
MODULE_DESCRIPTION("low-level driver for the NS/AMD 5530"); MODULE_DESCRIPTION("low-level driver for the NS/AMD 5530");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -184,8 +184,8 @@ static int cy82c693_init_one(struct pci_dev *pdev, const struct pci_device_id *i ...@@ -184,8 +184,8 @@ static int cy82c693_init_one(struct pci_dev *pdev, const struct pci_device_id *i
}; };
static struct ata_port_info *port_info[1] = { &info }; static struct ata_port_info *port_info[1] = { &info };
/* Devfn 1 is the ATA primary. The secondary is magic and on devfn2. For the /* Devfn 1 is the ATA primary. The secondary is magic and on devfn2.
moment we don't handle the secondary. FIXME */ For the moment we don't handle the secondary. FIXME */
if (PCI_FUNC(pdev->devfn) != 1) if (PCI_FUNC(pdev->devfn) != 1)
return -ENODEV; return -ENODEV;
...@@ -193,13 +193,14 @@ static int cy82c693_init_one(struct pci_dev *pdev, const struct pci_device_id *i ...@@ -193,13 +193,14 @@ static int cy82c693_init_one(struct pci_dev *pdev, const struct pci_device_id *i
return ata_pci_init_one(pdev, port_info, 1); return ata_pci_init_one(pdev, port_info, 1);
} }
static struct pci_device_id cy82c693[] = { static const struct pci_device_id cy82c693[] = {
{ PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VDEVICE(CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693), },
{ 0, },
{ },
}; };
static struct pci_driver cy82c693_pci_driver = { static struct pci_driver cy82c693_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = cy82c693, .id_table = cy82c693,
.probe = cy82c693_init_one, .probe = cy82c693_init_one,
.remove = ata_pci_remove_one .remove = ata_pci_remove_one
......
...@@ -305,7 +305,8 @@ static int efar_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -305,7 +305,8 @@ static int efar_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
} }
static const struct pci_device_id efar_pci_tbl[] = { static const struct pci_device_id efar_pci_tbl[] = {
{ 0x1055, 0x9130, PCI_ANY_ID, PCI_ANY_ID, }, { PCI_VDEVICE(EFAR, 0x9130), },
{ } /* terminate list */ { } /* terminate list */
}; };
...@@ -326,7 +327,6 @@ static void __exit efar_exit(void) ...@@ -326,7 +327,6 @@ static void __exit efar_exit(void)
pci_unregister_driver(&efar_pci_driver); pci_unregister_driver(&efar_pci_driver);
} }
module_init(efar_init); module_init(efar_init);
module_exit(efar_exit); module_exit(efar_exit);
......
...@@ -444,13 +444,14 @@ static int hpt36x_init_one(struct pci_dev *dev, const struct pci_device_id *id) ...@@ -444,13 +444,14 @@ static int hpt36x_init_one(struct pci_dev *dev, const struct pci_device_id *id)
return ata_pci_init_one(dev, port_info, 2); return ata_pci_init_one(dev, port_info, 2);
} }
static struct pci_device_id hpt36x[] = { static const struct pci_device_id hpt36x[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_TTI, PCI_DEVICE_ID_TTI_HPT366), }, { PCI_VDEVICE(TTI, PCI_DEVICE_ID_TTI_HPT366), },
{ 0, },
{ },
}; };
static struct pci_driver hpt36x_pci_driver = { static struct pci_driver hpt36x_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = hpt36x, .id_table = hpt36x,
.probe = hpt36x_init_one, .probe = hpt36x_init_one,
.remove = ata_pci_remove_one .remove = ata_pci_remove_one
......
...@@ -1219,17 +1219,18 @@ static int hpt37x_init_one(struct pci_dev *dev, const struct pci_device_id *id) ...@@ -1219,17 +1219,18 @@ static int hpt37x_init_one(struct pci_dev *dev, const struct pci_device_id *id)
return ata_pci_init_one(dev, port_info, 2); return ata_pci_init_one(dev, port_info, 2);
} }
static struct pci_device_id hpt37x[] = { static const struct pci_device_id hpt37x[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_TTI, PCI_DEVICE_ID_TTI_HPT366), }, { PCI_VDEVICE(TTI, PCI_DEVICE_ID_TTI_HPT366), },
{ PCI_DEVICE(PCI_VENDOR_ID_TTI, PCI_DEVICE_ID_TTI_HPT371), }, { PCI_VDEVICE(TTI, PCI_DEVICE_ID_TTI_HPT371), },
{ PCI_DEVICE(PCI_VENDOR_ID_TTI, PCI_DEVICE_ID_TTI_HPT372), }, { PCI_VDEVICE(TTI, PCI_DEVICE_ID_TTI_HPT372), },
{ PCI_DEVICE(PCI_VENDOR_ID_TTI, PCI_DEVICE_ID_TTI_HPT374), }, { PCI_VDEVICE(TTI, PCI_DEVICE_ID_TTI_HPT374), },
{ PCI_DEVICE(PCI_VENDOR_ID_TTI, PCI_DEVICE_ID_TTI_HPT302), }, { PCI_VDEVICE(TTI, PCI_DEVICE_ID_TTI_HPT302), },
{ 0, },
{ },
}; };
static struct pci_driver hpt37x_pci_driver = { static struct pci_driver hpt37x_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = hpt37x, .id_table = hpt37x,
.probe = hpt37x_init_one, .probe = hpt37x_init_one,
.remove = ata_pci_remove_one .remove = ata_pci_remove_one
...@@ -1240,13 +1241,11 @@ static int __init hpt37x_init(void) ...@@ -1240,13 +1241,11 @@ static int __init hpt37x_init(void)
return pci_register_driver(&hpt37x_pci_driver); return pci_register_driver(&hpt37x_pci_driver);
} }
static void __exit hpt37x_exit(void) static void __exit hpt37x_exit(void)
{ {
pci_unregister_driver(&hpt37x_pci_driver); pci_unregister_driver(&hpt37x_pci_driver);
} }
MODULE_AUTHOR("Alan Cox"); MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("low-level driver for the Highpoint HPT37x/30x"); MODULE_DESCRIPTION("low-level driver for the Highpoint HPT37x/30x");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -560,16 +560,17 @@ static int hpt3x2n_init_one(struct pci_dev *dev, const struct pci_device_id *id) ...@@ -560,16 +560,17 @@ static int hpt3x2n_init_one(struct pci_dev *dev, const struct pci_device_id *id)
return ata_pci_init_one(dev, port_info, 2); return ata_pci_init_one(dev, port_info, 2);
} }
static struct pci_device_id hpt3x2n[] = { static const struct pci_device_id hpt3x2n[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_TTI, PCI_DEVICE_ID_TTI_HPT366), }, { PCI_VDEVICE(TTI, PCI_DEVICE_ID_TTI_HPT366), },
{ PCI_DEVICE(PCI_VENDOR_ID_TTI, PCI_DEVICE_ID_TTI_HPT372), }, { PCI_VDEVICE(TTI, PCI_DEVICE_ID_TTI_HPT372), },
{ PCI_DEVICE(PCI_VENDOR_ID_TTI, PCI_DEVICE_ID_TTI_HPT302), }, { PCI_VDEVICE(TTI, PCI_DEVICE_ID_TTI_HPT302), },
{ PCI_DEVICE(PCI_VENDOR_ID_TTI, PCI_DEVICE_ID_TTI_HPT372N), }, { PCI_VDEVICE(TTI, PCI_DEVICE_ID_TTI_HPT372N), },
{ 0, },
{ },
}; };
static struct pci_driver hpt3x2n_pci_driver = { static struct pci_driver hpt3x2n_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = hpt3x2n, .id_table = hpt3x2n,
.probe = hpt3x2n_init_one, .probe = hpt3x2n_init_one,
.remove = ata_pci_remove_one .remove = ata_pci_remove_one
...@@ -580,13 +581,11 @@ static int __init hpt3x2n_init(void) ...@@ -580,13 +581,11 @@ static int __init hpt3x2n_init(void)
return pci_register_driver(&hpt3x2n_pci_driver); return pci_register_driver(&hpt3x2n_pci_driver);
} }
static void __exit hpt3x2n_exit(void) static void __exit hpt3x2n_exit(void)
{ {
pci_unregister_driver(&hpt3x2n_pci_driver); pci_unregister_driver(&hpt3x2n_pci_driver);
} }
MODULE_AUTHOR("Alan Cox"); MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("low-level driver for the Highpoint HPT3x2n/30x"); MODULE_DESCRIPTION("low-level driver for the Highpoint HPT3x2n/30x");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -192,13 +192,14 @@ static int hpt3x3_init_one(struct pci_dev *dev, const struct pci_device_id *id) ...@@ -192,13 +192,14 @@ static int hpt3x3_init_one(struct pci_dev *dev, const struct pci_device_id *id)
return ata_pci_init_one(dev, port_info, 2); return ata_pci_init_one(dev, port_info, 2);
} }
static struct pci_device_id hpt3x3[] = { static const struct pci_device_id hpt3x3[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_TTI, PCI_DEVICE_ID_TTI_HPT343), }, { PCI_VDEVICE(TTI, PCI_DEVICE_ID_TTI_HPT343), },
{ 0, },
{ },
}; };
static struct pci_driver hpt3x3_pci_driver = { static struct pci_driver hpt3x3_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = hpt3x3, .id_table = hpt3x3,
.probe = hpt3x3_init_one, .probe = hpt3x3_init_one,
.remove = ata_pci_remove_one .remove = ata_pci_remove_one
......
...@@ -808,14 +808,15 @@ static int it821x_init_one(struct pci_dev *pdev, const struct pci_device_id *id) ...@@ -808,14 +808,15 @@ static int it821x_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
return ata_pci_init_one(pdev, port_info, 2); return ata_pci_init_one(pdev, port_info, 2);
} }
static struct pci_device_id it821x[] = { static const struct pci_device_id it821x[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_ITE, PCI_DEVICE_ID_ITE_8211), }, { PCI_VDEVICE(ITE, PCI_DEVICE_ID_ITE_8211), },
{ PCI_DEVICE(PCI_VENDOR_ID_ITE, PCI_DEVICE_ID_ITE_8212), }, { PCI_VDEVICE(ITE, PCI_DEVICE_ID_ITE_8212), },
{ 0, },
{ },
}; };
static struct pci_driver it821x_pci_driver = { static struct pci_driver it821x_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = it821x, .id_table = it821x,
.probe = it821x_init_one, .probe = it821x_init_one,
.remove = ata_pci_remove_one .remove = ata_pci_remove_one
...@@ -826,13 +827,11 @@ static int __init it821x_init(void) ...@@ -826,13 +827,11 @@ static int __init it821x_init(void)
return pci_register_driver(&it821x_pci_driver); return pci_register_driver(&it821x_pci_driver);
} }
static void __exit it821x_exit(void) static void __exit it821x_exit(void)
{ {
pci_unregister_driver(&it821x_pci_driver); pci_unregister_driver(&it821x_pci_driver);
} }
MODULE_AUTHOR("Alan Cox"); MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("low-level driver for the IT8211/IT8212 IDE RAID controller"); MODULE_DESCRIPTION("low-level driver for the IT8211/IT8212 IDE RAID controller");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -229,11 +229,12 @@ static int jmicron_init_one (struct pci_dev *pdev, const struct pci_device_id *i ...@@ -229,11 +229,12 @@ static int jmicron_init_one (struct pci_dev *pdev, const struct pci_device_id *i
} }
static const struct pci_device_id jmicron_pci_tbl[] = { static const struct pci_device_id jmicron_pci_tbl[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB361), 361}, { PCI_VDEVICE(JMICRON, PCI_DEVICE_ID_JMICRON_JMB361), 361},
{ PCI_DEVICE(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB363), 363}, { PCI_VDEVICE(JMICRON, PCI_DEVICE_ID_JMICRON_JMB363), 363},
{ PCI_DEVICE(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB365), 365}, { PCI_VDEVICE(JMICRON, PCI_DEVICE_ID_JMICRON_JMB365), 365},
{ PCI_DEVICE(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB366), 366}, { PCI_VDEVICE(JMICRON, PCI_DEVICE_ID_JMICRON_JMB366), 366},
{ PCI_DEVICE(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB368), 368}, { PCI_VDEVICE(JMICRON, PCI_DEVICE_ID_JMICRON_JMB368), 368},
{ } /* terminate list */ { } /* terminate list */
}; };
......
...@@ -274,11 +274,10 @@ static void __devexit mpiix_remove_one(struct pci_dev *pdev) ...@@ -274,11 +274,10 @@ static void __devexit mpiix_remove_one(struct pci_dev *pdev)
dev_set_drvdata(dev, NULL); dev_set_drvdata(dev, NULL);
} }
static const struct pci_device_id mpiix[] = { static const struct pci_device_id mpiix[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371MX), }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_82371MX), },
{ 0, },
{ },
}; };
static struct pci_driver mpiix_pci_driver = { static struct pci_driver mpiix_pci_driver = {
...@@ -293,13 +292,11 @@ static int __init mpiix_init(void) ...@@ -293,13 +292,11 @@ static int __init mpiix_init(void)
return pci_register_driver(&mpiix_pci_driver); return pci_register_driver(&mpiix_pci_driver);
} }
static void __exit mpiix_exit(void) static void __exit mpiix_exit(void)
{ {
pci_unregister_driver(&mpiix_pci_driver); pci_unregister_driver(&mpiix_pci_driver);
} }
MODULE_AUTHOR("Alan Cox"); MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("low-level driver for Intel MPIIX"); MODULE_DESCRIPTION("low-level driver for Intel MPIIX");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -142,7 +142,8 @@ static int netcell_init_one (struct pci_dev *pdev, const struct pci_device_id *e ...@@ -142,7 +142,8 @@ static int netcell_init_one (struct pci_dev *pdev, const struct pci_device_id *e
} }
static const struct pci_device_id netcell_pci_tbl[] = { static const struct pci_device_id netcell_pci_tbl[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_NETCELL, PCI_DEVICE_ID_REVOLUTION), }, { PCI_VDEVICE(NETCELL, PCI_DEVICE_ID_REVOLUTION), },
{ } /* terminate list */ { } /* terminate list */
}; };
......
...@@ -200,12 +200,13 @@ static int ns87410_init_one(struct pci_dev *dev, const struct pci_device_id *id) ...@@ -200,12 +200,13 @@ static int ns87410_init_one(struct pci_dev *dev, const struct pci_device_id *id)
} }
static const struct pci_device_id ns87410[] = { static const struct pci_device_id ns87410[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_87410), }, { PCI_VDEVICE(NS, PCI_DEVICE_ID_NS_87410), },
{ 0, },
{ },
}; };
static struct pci_driver ns87410_pci_driver = { static struct pci_driver ns87410_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = ns87410, .id_table = ns87410,
.probe = ns87410_init_one, .probe = ns87410_init_one,
.remove = ata_pci_remove_one .remove = ata_pci_remove_one
...@@ -216,13 +217,11 @@ static int __init ns87410_init(void) ...@@ -216,13 +217,11 @@ static int __init ns87410_init(void)
return pci_register_driver(&ns87410_pci_driver); return pci_register_driver(&ns87410_pci_driver);
} }
static void __exit ns87410_exit(void) static void __exit ns87410_exit(void)
{ {
pci_unregister_driver(&ns87410_pci_driver); pci_unregister_driver(&ns87410_pci_driver);
} }
MODULE_AUTHOR("Alan Cox"); MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("low-level driver for Nat Semi 87410"); MODULE_DESCRIPTION("low-level driver for Nat Semi 87410");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -303,7 +303,8 @@ static int oldpiix_init_one (struct pci_dev *pdev, const struct pci_device_id *e ...@@ -303,7 +303,8 @@ static int oldpiix_init_one (struct pci_dev *pdev, const struct pci_device_id *e
} }
static const struct pci_device_id oldpiix_pci_tbl[] = { static const struct pci_device_id oldpiix_pci_tbl[] = {
{ PCI_DEVICE(0x8086, 0x1230), }, { PCI_VDEVICE(INTEL, 0x1230), },
{ } /* terminate list */ { } /* terminate list */
}; };
...@@ -324,7 +325,6 @@ static void __exit oldpiix_exit(void) ...@@ -324,7 +325,6 @@ static void __exit oldpiix_exit(void)
pci_unregister_driver(&oldpiix_pci_driver); pci_unregister_driver(&oldpiix_pci_driver);
} }
module_init(oldpiix_init); module_init(oldpiix_init);
module_exit(oldpiix_exit); module_exit(oldpiix_exit);
......
...@@ -256,13 +256,14 @@ static int opti_init_one(struct pci_dev *dev, const struct pci_device_id *id) ...@@ -256,13 +256,14 @@ static int opti_init_one(struct pci_dev *dev, const struct pci_device_id *id)
} }
static const struct pci_device_id opti[] = { static const struct pci_device_id opti[] = {
{ PCI_VENDOR_ID_OPTI, PCI_DEVICE_ID_OPTI_82C621, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { PCI_VDEVICE(OPTI, PCI_DEVICE_ID_OPTI_82C621), 0 },
{ PCI_VENDOR_ID_OPTI, PCI_DEVICE_ID_OPTI_82C825, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, { PCI_VDEVICE(OPTI, PCI_DEVICE_ID_OPTI_82C825), 1 },
{ 0, },
{ },
}; };
static struct pci_driver opti_pci_driver = { static struct pci_driver opti_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = opti, .id_table = opti,
.probe = opti_init_one, .probe = opti_init_one,
.remove = ata_pci_remove_one .remove = ata_pci_remove_one
...@@ -273,7 +274,6 @@ static int __init opti_init(void) ...@@ -273,7 +274,6 @@ static int __init opti_init(void)
return pci_register_driver(&opti_pci_driver); return pci_register_driver(&opti_pci_driver);
} }
static void __exit opti_exit(void) static void __exit opti_exit(void)
{ {
pci_unregister_driver(&opti_pci_driver); pci_unregister_driver(&opti_pci_driver);
......
...@@ -512,12 +512,13 @@ static int optidma_init_one(struct pci_dev *dev, const struct pci_device_id *id) ...@@ -512,12 +512,13 @@ static int optidma_init_one(struct pci_dev *dev, const struct pci_device_id *id)
} }
static const struct pci_device_id optidma[] = { static const struct pci_device_id optidma[] = {
{ PCI_DEVICE(0x1045, 0xD568), }, /* Opti 82C700 */ { PCI_VDEVICE(OPTI, 0xD568), }, /* Opti 82C700 */
{ 0, },
{ },
}; };
static struct pci_driver optidma_pci_driver = { static struct pci_driver optidma_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = optidma, .id_table = optidma,
.probe = optidma_init_one, .probe = optidma_init_one,
.remove = ata_pci_remove_one .remove = ata_pci_remove_one
...@@ -528,13 +529,11 @@ static int __init optidma_init(void) ...@@ -528,13 +529,11 @@ static int __init optidma_init(void)
return pci_register_driver(&optidma_pci_driver); return pci_register_driver(&optidma_pci_driver);
} }
static void __exit optidma_exit(void) static void __exit optidma_exit(void)
{ {
pci_unregister_driver(&optidma_pci_driver); pci_unregister_driver(&optidma_pci_driver);
} }
MODULE_AUTHOR("Alan Cox"); MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("low-level driver for Opti Firestar/Firestar Plus"); MODULE_DESCRIPTION("low-level driver for Opti Firestar/Firestar Plus");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -108,13 +108,14 @@ static struct pdc2027x_udma_timing { ...@@ -108,13 +108,14 @@ static struct pdc2027x_udma_timing {
}; };
static const struct pci_device_id pdc2027x_pci_tbl[] = { static const struct pci_device_id pdc2027x_pci_tbl[] = {
{ PCI_VENDOR_ID_PROMISE, PCI_DEVICE_ID_PROMISE_20268, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PDC_UDMA_100 }, { PCI_VDEVICE(PROMISE, PCI_DEVICE_ID_PROMISE_20268), PDC_UDMA_100 },
{ PCI_VENDOR_ID_PROMISE, PCI_DEVICE_ID_PROMISE_20269, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PDC_UDMA_133 }, { PCI_VDEVICE(PROMISE, PCI_DEVICE_ID_PROMISE_20269), PDC_UDMA_133 },
{ PCI_VENDOR_ID_PROMISE, PCI_DEVICE_ID_PROMISE_20270, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PDC_UDMA_100 }, { PCI_VDEVICE(PROMISE, PCI_DEVICE_ID_PROMISE_20270), PDC_UDMA_100 },
{ PCI_VENDOR_ID_PROMISE, PCI_DEVICE_ID_PROMISE_20271, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PDC_UDMA_133 }, { PCI_VDEVICE(PROMISE, PCI_DEVICE_ID_PROMISE_20271), PDC_UDMA_133 },
{ PCI_VENDOR_ID_PROMISE, PCI_DEVICE_ID_PROMISE_20275, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PDC_UDMA_133 }, { PCI_VDEVICE(PROMISE, PCI_DEVICE_ID_PROMISE_20275), PDC_UDMA_133 },
{ PCI_VENDOR_ID_PROMISE, PCI_DEVICE_ID_PROMISE_20276, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PDC_UDMA_133 }, { PCI_VDEVICE(PROMISE, PCI_DEVICE_ID_PROMISE_20276), PDC_UDMA_133 },
{ PCI_VENDOR_ID_PROMISE, PCI_DEVICE_ID_PROMISE_20277, PCI_ANY_ID, PCI_ANY_ID, 0, 0, PDC_UDMA_133 }, { PCI_VDEVICE(PROMISE, PCI_DEVICE_ID_PROMISE_20277), PDC_UDMA_133 },
{ } /* terminate list */ { } /* terminate list */
}; };
......
...@@ -385,17 +385,18 @@ static int pdc_init_one(struct pci_dev *dev, const struct pci_device_id *id) ...@@ -385,17 +385,18 @@ static int pdc_init_one(struct pci_dev *dev, const struct pci_device_id *id)
return ata_pci_init_one(dev, port_info, 2); return ata_pci_init_one(dev, port_info, 2);
} }
static struct pci_device_id pdc[] = { static const struct pci_device_id pdc[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_PROMISE, PCI_DEVICE_ID_PROMISE_20246), 0}, { PCI_VDEVICE(PROMISE, PCI_DEVICE_ID_PROMISE_20246), 0 },
{ PCI_DEVICE(PCI_VENDOR_ID_PROMISE, PCI_DEVICE_ID_PROMISE_20262), 1}, { PCI_VDEVICE(PROMISE, PCI_DEVICE_ID_PROMISE_20262), 1 },
{ PCI_DEVICE(PCI_VENDOR_ID_PROMISE, PCI_DEVICE_ID_PROMISE_20263), 1}, { PCI_VDEVICE(PROMISE, PCI_DEVICE_ID_PROMISE_20263), 1 },
{ PCI_DEVICE(PCI_VENDOR_ID_PROMISE, PCI_DEVICE_ID_PROMISE_20265), 2}, { PCI_VDEVICE(PROMISE, PCI_DEVICE_ID_PROMISE_20265), 2 },
{ PCI_DEVICE(PCI_VENDOR_ID_PROMISE, PCI_DEVICE_ID_PROMISE_20267), 2}, { PCI_VDEVICE(PROMISE, PCI_DEVICE_ID_PROMISE_20267), 2 },
{ 0, },
{ },
}; };
static struct pci_driver pdc_pci_driver = { static struct pci_driver pdc_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = pdc, .id_table = pdc,
.probe = pdc_init_one, .probe = pdc_init_one,
.remove = ata_pci_remove_one .remove = ata_pci_remove_one
...@@ -406,13 +407,11 @@ static int __init pdc_init(void) ...@@ -406,13 +407,11 @@ static int __init pdc_init(void)
return pci_register_driver(&pdc_pci_driver); return pci_register_driver(&pdc_pci_driver);
} }
static void __exit pdc_exit(void) static void __exit pdc_exit(void)
{ {
pci_unregister_driver(&pdc_pci_driver); pci_unregister_driver(&pdc_pci_driver);
} }
MODULE_AUTHOR("Alan Cox"); MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("low-level driver for Promise 2024x and 20262-20267"); MODULE_DESCRIPTION("low-level driver for Promise 2024x and 20262-20267");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -300,7 +300,8 @@ static int radisys_init_one (struct pci_dev *pdev, const struct pci_device_id *e ...@@ -300,7 +300,8 @@ static int radisys_init_one (struct pci_dev *pdev, const struct pci_device_id *e
} }
static const struct pci_device_id radisys_pci_tbl[] = { static const struct pci_device_id radisys_pci_tbl[] = {
{ 0x1331, 0x8201, PCI_ANY_ID, PCI_ANY_ID, }, { PCI_VDEVICE(RADISYS, 0x8201), },
{ } /* terminate list */ { } /* terminate list */
}; };
...@@ -321,7 +322,6 @@ static void __exit radisys_exit(void) ...@@ -321,7 +322,6 @@ static void __exit radisys_exit(void)
pci_unregister_driver(&radisys_pci_driver); pci_unregister_driver(&radisys_pci_driver);
} }
module_init(radisys_init); module_init(radisys_init);
module_exit(radisys_exit); module_exit(radisys_exit);
......
...@@ -170,20 +170,20 @@ static int rz1000_init_one (struct pci_dev *pdev, const struct pci_device_id *en ...@@ -170,20 +170,20 @@ static int rz1000_init_one (struct pci_dev *pdev, const struct pci_device_id *en
return -ENODEV; return -ENODEV;
} }
static struct pci_device_id pata_rz1000[] = { static const struct pci_device_id pata_rz1000[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_PCTECH, PCI_DEVICE_ID_PCTECH_RZ1000), }, { PCI_VDEVICE(PCTECH, PCI_DEVICE_ID_PCTECH_RZ1000), },
{ PCI_DEVICE(PCI_VENDOR_ID_PCTECH, PCI_DEVICE_ID_PCTECH_RZ1001), }, { PCI_VDEVICE(PCTECH, PCI_DEVICE_ID_PCTECH_RZ1001), },
{ 0, },
{ },
}; };
static struct pci_driver rz1000_pci_driver = { static struct pci_driver rz1000_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = pata_rz1000, .id_table = pata_rz1000,
.probe = rz1000_init_one, .probe = rz1000_init_one,
.remove = ata_pci_remove_one .remove = ata_pci_remove_one
}; };
static int __init rz1000_init(void) static int __init rz1000_init(void)
{ {
return pci_register_driver(&rz1000_pci_driver); return pci_register_driver(&rz1000_pci_driver);
......
...@@ -253,13 +253,14 @@ static int sc1200_init_one(struct pci_dev *dev, const struct pci_device_id *id) ...@@ -253,13 +253,14 @@ static int sc1200_init_one(struct pci_dev *dev, const struct pci_device_id *id)
return ata_pci_init_one(dev, port_info, 1); return ata_pci_init_one(dev, port_info, 1);
} }
static struct pci_device_id sc1200[] = { static const struct pci_device_id sc1200[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_SCx200_IDE), }, { PCI_VDEVICE(NS, PCI_DEVICE_ID_NS_SCx200_IDE), },
{ 0, },
{ },
}; };
static struct pci_driver sc1200_pci_driver = { static struct pci_driver sc1200_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = sc1200, .id_table = sc1200,
.probe = sc1200_init_one, .probe = sc1200_init_one,
.remove = ata_pci_remove_one .remove = ata_pci_remove_one
...@@ -270,13 +271,11 @@ static int __init sc1200_init(void) ...@@ -270,13 +271,11 @@ static int __init sc1200_init(void)
return pci_register_driver(&sc1200_pci_driver); return pci_register_driver(&sc1200_pci_driver);
} }
static void __exit sc1200_exit(void) static void __exit sc1200_exit(void)
{ {
pci_unregister_driver(&sc1200_pci_driver); pci_unregister_driver(&sc1200_pci_driver);
} }
MODULE_AUTHOR("Alan Cox, Mark Lord"); MODULE_AUTHOR("Alan Cox, Mark Lord");
MODULE_DESCRIPTION("low-level driver for the NS/AMD SC1200"); MODULE_DESCRIPTION("low-level driver for the NS/AMD SC1200");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -553,13 +553,14 @@ static int serverworks_init_one(struct pci_dev *pdev, const struct pci_device_id ...@@ -553,13 +553,14 @@ static int serverworks_init_one(struct pci_dev *pdev, const struct pci_device_id
return ata_pci_init_one(pdev, port_info, ports); return ata_pci_init_one(pdev, port_info, ports);
} }
static struct pci_device_id serverworks[] = { static const struct pci_device_id serverworks[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_OSB4IDE), 0}, { PCI_VDEVICE(SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_OSB4IDE), 0},
{ PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB5IDE), 2}, { PCI_VDEVICE(SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB5IDE), 2},
{ PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB6IDE), 2}, { PCI_VDEVICE(SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB6IDE), 2},
{ PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB6IDE2), 2}, { PCI_VDEVICE(SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB6IDE2), 2},
{ PCI_DEVICE(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_HT1000IDE), 2}, { PCI_VDEVICE(SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_HT1000IDE), 2},
{ 0, },
{ },
}; };
static struct pci_driver serverworks_pci_driver = { static struct pci_driver serverworks_pci_driver = {
...@@ -574,13 +575,11 @@ static int __init serverworks_init(void) ...@@ -574,13 +575,11 @@ static int __init serverworks_init(void)
return pci_register_driver(&serverworks_pci_driver); return pci_register_driver(&serverworks_pci_driver);
} }
static void __exit serverworks_exit(void) static void __exit serverworks_exit(void)
{ {
pci_unregister_driver(&serverworks_pci_driver); pci_unregister_driver(&serverworks_pci_driver);
} }
MODULE_AUTHOR("Alan Cox"); MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("low-level driver for Serverworks OSB4/CSB5/CSB6"); MODULE_DESCRIPTION("low-level driver for Serverworks OSB4/CSB5/CSB6");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -348,12 +348,13 @@ static int sil680_init_one(struct pci_dev *pdev, const struct pci_device_id *id) ...@@ -348,12 +348,13 @@ static int sil680_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
} }
static const struct pci_device_id sil680[] = { static const struct pci_device_id sil680[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_CMD, PCI_DEVICE_ID_SII_680), }, { PCI_VDEVICE(CMD, PCI_DEVICE_ID_SII_680), },
{ 0, },
{ },
}; };
static struct pci_driver sil680_pci_driver = { static struct pci_driver sil680_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = sil680, .id_table = sil680,
.probe = sil680_init_one, .probe = sil680_init_one,
.remove = ata_pci_remove_one .remove = ata_pci_remove_one
...@@ -364,13 +365,11 @@ static int __init sil680_init(void) ...@@ -364,13 +365,11 @@ static int __init sil680_init(void)
return pci_register_driver(&sil680_pci_driver); return pci_register_driver(&sil680_pci_driver);
} }
static void __exit sil680_exit(void) static void __exit sil680_exit(void)
{ {
pci_unregister_driver(&sil680_pci_driver); pci_unregister_driver(&sil680_pci_driver);
} }
MODULE_AUTHOR("Alan Cox"); MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("low-level driver for SI680 PATA"); MODULE_DESCRIPTION("low-level driver for SI680 PATA");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -988,8 +988,9 @@ static int sis_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -988,8 +988,9 @@ static int sis_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
} }
static const struct pci_device_id sis_pci_tbl[] = { static const struct pci_device_id sis_pci_tbl[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_SI, 0x5513), }, /* SiS 5513 */ { PCI_VDEVICE(SI, 0x5513), }, /* SiS 5513 */
{ PCI_DEVICE(PCI_VENDOR_ID_SI, 0x5518), }, /* SiS 5518 */ { PCI_VDEVICE(SI, 0x5518), }, /* SiS 5518 */
{ } { }
}; };
...@@ -1010,7 +1011,6 @@ static void __exit sis_exit(void) ...@@ -1010,7 +1011,6 @@ static void __exit sis_exit(void)
pci_unregister_driver(&sis_pci_driver); pci_unregister_driver(&sis_pci_driver);
} }
module_init(sis_init); module_init(sis_init);
module_exit(sis_exit); module_exit(sis_exit);
......
...@@ -351,9 +351,10 @@ static int sl82c105_init_one(struct pci_dev *dev, const struct pci_device_id *id ...@@ -351,9 +351,10 @@ static int sl82c105_init_one(struct pci_dev *dev, const struct pci_device_id *id
return ata_pci_init_one(dev, port_info, 1); /* For now */ return ata_pci_init_one(dev, port_info, 1); /* For now */
} }
static struct pci_device_id sl82c105[] = { static const struct pci_device_id sl82c105[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_WINBOND, PCI_DEVICE_ID_WINBOND_82C105), }, { PCI_VDEVICE(WINBOND, PCI_DEVICE_ID_WINBOND_82C105), },
{ 0, },
{ },
}; };
static struct pci_driver sl82c105_pci_driver = { static struct pci_driver sl82c105_pci_driver = {
...@@ -368,13 +369,11 @@ static int __init sl82c105_init(void) ...@@ -368,13 +369,11 @@ static int __init sl82c105_init(void)
return pci_register_driver(&sl82c105_pci_driver); return pci_register_driver(&sl82c105_pci_driver);
} }
static void __exit sl82c105_exit(void) static void __exit sl82c105_exit(void)
{ {
pci_unregister_driver(&sl82c105_pci_driver); pci_unregister_driver(&sl82c105_pci_driver);
} }
MODULE_AUTHOR("Alan Cox"); MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("low-level driver for Sl82c105"); MODULE_DESCRIPTION("low-level driver for Sl82c105");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -248,13 +248,13 @@ static int triflex_init_one(struct pci_dev *dev, const struct pci_device_id *id) ...@@ -248,13 +248,13 @@ static int triflex_init_one(struct pci_dev *dev, const struct pci_device_id *id)
} }
static const struct pci_device_id triflex[] = { static const struct pci_device_id triflex[] = {
{ PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_TRIFLEX_IDE, { PCI_VDEVICE(COMPAQ, PCI_DEVICE_ID_COMPAQ_TRIFLEX_IDE), },
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
{ 0, }, { },
}; };
static struct pci_driver triflex_pci_driver = { static struct pci_driver triflex_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = triflex, .id_table = triflex,
.probe = triflex_init_one, .probe = triflex_init_one,
.remove = ata_pci_remove_one .remove = ata_pci_remove_one
...@@ -265,13 +265,11 @@ static int __init triflex_init(void) ...@@ -265,13 +265,11 @@ static int __init triflex_init(void)
return pci_register_driver(&triflex_pci_driver); return pci_register_driver(&triflex_pci_driver);
} }
static void __exit triflex_exit(void) static void __exit triflex_exit(void)
{ {
pci_unregister_driver(&triflex_pci_driver); pci_unregister_driver(&triflex_pci_driver);
} }
MODULE_AUTHOR("Alan Cox"); MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("low-level driver for Compaq Triflex"); MODULE_DESCRIPTION("low-level driver for Compaq Triflex");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -529,15 +529,16 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id) ...@@ -529,15 +529,16 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
} }
static const struct pci_device_id via[] = { static const struct pci_device_id via[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C576_1), }, { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_82C576_1), },
{ PCI_DEVICE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_1), }, { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_82C586_1), },
{ PCI_DEVICE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_6410), }, { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_6410), },
{ PCI_DEVICE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_SATA_EIDE), }, { PCI_VDEVICE(VIA, PCI_DEVICE_ID_VIA_SATA_EIDE), },
{ 0, },
{ },
}; };
static struct pci_driver via_pci_driver = { static struct pci_driver via_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = via, .id_table = via,
.probe = via_init_one, .probe = via_init_one,
.remove = ata_pci_remove_one .remove = ata_pci_remove_one
...@@ -548,13 +549,11 @@ static int __init via_init(void) ...@@ -548,13 +549,11 @@ static int __init via_init(void)
return pci_register_driver(&via_pci_driver); return pci_register_driver(&via_pci_driver);
} }
static void __exit via_exit(void) static void __exit via_exit(void)
{ {
pci_unregister_driver(&via_pci_driver); pci_unregister_driver(&via_pci_driver);
} }
MODULE_AUTHOR("Alan Cox"); MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("low-level driver for VIA PATA"); MODULE_DESCRIPTION("low-level driver for VIA PATA");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -192,8 +192,7 @@ static struct ata_port_info adma_port_info[] = { ...@@ -192,8 +192,7 @@ static struct ata_port_info adma_port_info[] = {
}; };
static const struct pci_device_id adma_ata_pci_tbl[] = { static const struct pci_device_id adma_ata_pci_tbl[] = {
{ PCI_VENDOR_ID_PDC, 0x1841, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(PDC, 0x1841), board_1841_idx },
board_1841_idx },
{ } /* terminate list */ { } /* terminate list */
}; };
......
...@@ -533,19 +533,20 @@ static const struct ata_port_info mv_port_info[] = { ...@@ -533,19 +533,20 @@ static const struct ata_port_info mv_port_info[] = {
}; };
static const struct pci_device_id mv_pci_tbl[] = { static const struct pci_device_id mv_pci_tbl[] = {
{PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x5040), 0, 0, chip_504x}, { PCI_VDEVICE(MARVELL, 0x5040), chip_504x },
{PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x5041), 0, 0, chip_504x}, { PCI_VDEVICE(MARVELL, 0x5041), chip_504x },
{PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x5080), 0, 0, chip_5080}, { PCI_VDEVICE(MARVELL, 0x5080), chip_5080 },
{PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x5081), 0, 0, chip_508x}, { PCI_VDEVICE(MARVELL, 0x5081), chip_508x },
{PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x6040), 0, 0, chip_604x}, { PCI_VDEVICE(MARVELL, 0x6040), chip_604x },
{PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x6041), 0, 0, chip_604x}, { PCI_VDEVICE(MARVELL, 0x6041), chip_604x },
{PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x6042), 0, 0, chip_6042}, { PCI_VDEVICE(MARVELL, 0x6042), chip_6042 },
{PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x6080), 0, 0, chip_608x}, { PCI_VDEVICE(MARVELL, 0x6080), chip_608x },
{PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0x6081), 0, 0, chip_608x}, { PCI_VDEVICE(MARVELL, 0x6081), chip_608x },
{PCI_DEVICE(PCI_VENDOR_ID_ADAPTEC2, 0x0241), 0, 0, chip_604x}, { PCI_VDEVICE(ADAPTEC2, 0x0241), chip_604x },
{} /* terminate list */
{ } /* terminate list */
}; };
static struct pci_driver mv_pci_driver = { static struct pci_driver mv_pci_driver = {
......
...@@ -106,45 +106,32 @@ enum nv_host_type ...@@ -106,45 +106,32 @@ enum nv_host_type
}; };
static const struct pci_device_id nv_pci_tbl[] = { static const struct pci_device_id nv_pci_tbl[] = {
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE2S_SATA, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE2S_SATA), NFORCE2 },
PCI_ANY_ID, PCI_ANY_ID, 0, 0, NFORCE2 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA), NFORCE3 },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA2), NFORCE3 },
PCI_ANY_ID, PCI_ANY_ID, 0, 0, NFORCE3 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_SATA), CK804 },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA2, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_SATA2), CK804 },
PCI_ANY_ID, PCI_ANY_ID, 0, 0, NFORCE3 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_SATA), CK804 },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_SATA, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_SATA2), CK804 },
PCI_ANY_ID, PCI_ANY_ID, 0, 0, CK804 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_SATA), GENERIC },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_SATA2, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_SATA2), GENERIC },
PCI_ANY_ID, PCI_ANY_ID, 0, 0, CK804 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_SATA), GENERIC },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_SATA, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_SATA2), GENERIC },
PCI_ANY_ID, PCI_ANY_ID, 0, 0, CK804 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA), GENERIC },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_SATA2, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA2), GENERIC },
PCI_ANY_ID, PCI_ANY_ID, 0, 0, CK804 }, { PCI_VDEVICE(NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA3), GENERIC },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_SATA, { PCI_VDEVICE(NVIDIA, 0x045c), GENERIC },
PCI_ANY_ID, PCI_ANY_ID, 0, 0, GENERIC }, { PCI_VDEVICE(NVIDIA, 0x045d), GENERIC },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_SATA2, { PCI_VDEVICE(NVIDIA, 0x045e), GENERIC },
PCI_ANY_ID, PCI_ANY_ID, 0, 0, GENERIC }, { PCI_VDEVICE(NVIDIA, 0x045f), GENERIC },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_SATA,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, GENERIC },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_SATA2,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, GENERIC },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, GENERIC },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA2,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, GENERIC },
{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_MCP61_SATA3,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, GENERIC },
{ PCI_VENDOR_ID_NVIDIA, 0x045c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, GENERIC },
{ PCI_VENDOR_ID_NVIDIA, 0x045d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, GENERIC },
{ PCI_VENDOR_ID_NVIDIA, 0x045e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, GENERIC },
{ PCI_VENDOR_ID_NVIDIA, 0x045f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, GENERIC },
{ PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID, { PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID,
PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_STORAGE_IDE<<8, 0xffff00, GENERIC }, PCI_CLASS_STORAGE_IDE<<8, 0xffff00, GENERIC },
{ PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID, { PCI_VENDOR_ID_NVIDIA, PCI_ANY_ID,
PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_STORAGE_RAID<<8, 0xffff00, GENERIC }, PCI_CLASS_STORAGE_RAID<<8, 0xffff00, GENERIC },
{ 0, } /* terminate list */
{ } /* terminate list */
}; };
static struct pci_driver nv_pci_driver = { static struct pci_driver nv_pci_driver = {
......
...@@ -234,48 +234,31 @@ static const struct ata_port_info pdc_port_info[] = { ...@@ -234,48 +234,31 @@ static const struct ata_port_info pdc_port_info[] = {
}; };
static const struct pci_device_id pdc_ata_pci_tbl[] = { static const struct pci_device_id pdc_ata_pci_tbl[] = {
{ PCI_VENDOR_ID_PROMISE, 0x3371, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(PROMISE, 0x3371), board_2037x },
board_2037x }, { PCI_VDEVICE(PROMISE, 0x3570), board_2037x },
{ PCI_VENDOR_ID_PROMISE, 0x3570, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(PROMISE, 0x3571), board_2037x },
board_2037x }, { PCI_VDEVICE(PROMISE, 0x3373), board_2037x },
{ PCI_VENDOR_ID_PROMISE, 0x3571, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(PROMISE, 0x3375), board_2037x },
board_2037x }, { PCI_VDEVICE(PROMISE, 0x3376), board_2037x },
{ PCI_VENDOR_ID_PROMISE, 0x3373, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(PROMISE, 0x3574), board_2057x },
board_2037x }, { PCI_VDEVICE(PROMISE, 0x3d75), board_2057x },
{ PCI_VENDOR_ID_PROMISE, 0x3375, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(PROMISE, 0x3d73), board_2037x },
board_2037x },
{ PCI_VENDOR_ID_PROMISE, 0x3376, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(PROMISE, 0x3318), board_20319 },
board_2037x }, { PCI_VDEVICE(PROMISE, 0x3319), board_20319 },
{ PCI_VENDOR_ID_PROMISE, 0x3574, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(PROMISE, 0x3515), board_20319 },
board_2057x }, { PCI_VDEVICE(PROMISE, 0x3519), board_20319 },
{ PCI_VENDOR_ID_PROMISE, 0x3d75, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(PROMISE, 0x3d17), board_20319 },
board_2057x }, { PCI_VDEVICE(PROMISE, 0x3d18), board_40518 },
{ PCI_VENDOR_ID_PROMISE, 0x3d73, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_2037x }, { PCI_VDEVICE(PROMISE, 0x6629), board_20619 },
{ PCI_VENDOR_ID_PROMISE, 0x3318, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_20319 },
{ PCI_VENDOR_ID_PROMISE, 0x3319, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_20319 },
{ PCI_VENDOR_ID_PROMISE, 0x3515, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_20319 },
{ PCI_VENDOR_ID_PROMISE, 0x3519, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_20319 },
{ PCI_VENDOR_ID_PROMISE, 0x3d17, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_20319 },
{ PCI_VENDOR_ID_PROMISE, 0x3d18, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_40518 },
{ PCI_VENDOR_ID_PROMISE, 0x6629, PCI_ANY_ID, PCI_ANY_ID, 0, 0,
board_20619 },
/* TODO: remove all associated board_20771 code, as it completely /* TODO: remove all associated board_20771 code, as it completely
* duplicates board_2037x code, unless reason for separation can be * duplicates board_2037x code, unless reason for separation can be
* divined. * divined.
*/ */
#if 0 #if 0
{ PCI_VENDOR_ID_PROMISE, 0x3570, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(PROMISE, 0x3570), board_20771 },
board_20771 },
#endif #endif
{ } /* terminate list */ { } /* terminate list */
......
...@@ -185,8 +185,7 @@ static const struct ata_port_info qs_port_info[] = { ...@@ -185,8 +185,7 @@ static const struct ata_port_info qs_port_info[] = {
}; };
static const struct pci_device_id qs_ata_pci_tbl[] = { static const struct pci_device_id qs_ata_pci_tbl[] = {
{ PCI_VENDOR_ID_PDC, 0x2068, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(PDC, 0x2068), board_2068_idx },
board_2068_idx },
{ } /* terminate list */ { } /* terminate list */
}; };
......
...@@ -123,13 +123,14 @@ static void sil_thaw(struct ata_port *ap); ...@@ -123,13 +123,14 @@ static void sil_thaw(struct ata_port *ap);
static const struct pci_device_id sil_pci_tbl[] = { static const struct pci_device_id sil_pci_tbl[] = {
{ 0x1095, 0x3112, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112 }, { PCI_VDEVICE(CMD, 0x3112), sil_3112 },
{ 0x1095, 0x0240, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112 }, { PCI_VDEVICE(CMD, 0x0240), sil_3112 },
{ 0x1095, 0x3512, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3512 }, { PCI_VDEVICE(CMD, 0x3512), sil_3512 },
{ 0x1095, 0x3114, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3114 }, { PCI_VDEVICE(CMD, 0x3114), sil_3114 },
{ 0x1002, 0x436e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112 }, { PCI_VDEVICE(ATI, 0x436e), sil_3112 },
{ 0x1002, 0x4379, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112_no_sata_irq }, { PCI_VDEVICE(ATI, 0x4379), sil_3112_no_sata_irq },
{ 0x1002, 0x437a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112_no_sata_irq }, { PCI_VDEVICE(ATI, 0x437a), sil_3112_no_sata_irq },
{ } /* terminate list */ { } /* terminate list */
}; };
......
...@@ -344,11 +344,12 @@ static int sil24_pci_device_resume(struct pci_dev *pdev); ...@@ -344,11 +344,12 @@ static int sil24_pci_device_resume(struct pci_dev *pdev);
#endif #endif
static const struct pci_device_id sil24_pci_tbl[] = { static const struct pci_device_id sil24_pci_tbl[] = {
{ 0x1095, 0x3124, PCI_ANY_ID, PCI_ANY_ID, 0, 0, BID_SIL3124 }, { PCI_VDEVICE(CMD, 0x3124), BID_SIL3124 },
{ 0x8086, 0x3124, PCI_ANY_ID, PCI_ANY_ID, 0, 0, BID_SIL3124 }, { PCI_VDEVICE(INTEL, 0x3124), BID_SIL3124 },
{ 0x1095, 0x3132, PCI_ANY_ID, PCI_ANY_ID, 0, 0, BID_SIL3132 }, { PCI_VDEVICE(CMD, 0x3132), BID_SIL3132 },
{ 0x1095, 0x3131, PCI_ANY_ID, PCI_ANY_ID, 0, 0, BID_SIL3131 }, { PCI_VDEVICE(CMD, 0x3131), BID_SIL3131 },
{ 0x1095, 0x3531, PCI_ANY_ID, PCI_ANY_ID, 0, 0, BID_SIL3131 }, { PCI_VDEVICE(CMD, 0x3531), BID_SIL3131 },
{ } /* terminate list */ { } /* terminate list */
}; };
......
...@@ -67,13 +67,13 @@ static u32 sis_scr_read (struct ata_port *ap, unsigned int sc_reg); ...@@ -67,13 +67,13 @@ static u32 sis_scr_read (struct ata_port *ap, unsigned int sc_reg);
static void sis_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val); static void sis_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val);
static const struct pci_device_id sis_pci_tbl[] = { static const struct pci_device_id sis_pci_tbl[] = {
{ PCI_VENDOR_ID_SI, 0x180, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sis_180 }, { PCI_VDEVICE(SI, 0x180), sis_180 },
{ PCI_VENDOR_ID_SI, 0x181, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sis_180 }, { PCI_VDEVICE(SI, 0x181), sis_180 },
{ PCI_VENDOR_ID_SI, 0x182, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sis_180 }, { PCI_VDEVICE(SI, 0x182), sis_180 },
{ } /* terminate list */ { } /* terminate list */
}; };
static struct pci_driver sis_pci_driver = { static struct pci_driver sis_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = sis_pci_tbl, .id_table = sis_pci_tbl,
......
...@@ -469,15 +469,15 @@ static int k2_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *e ...@@ -469,15 +469,15 @@ static int k2_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *e
* controller * controller
* */ * */
static const struct pci_device_id k2_sata_pci_tbl[] = { static const struct pci_device_id k2_sata_pci_tbl[] = {
{ 0x1166, 0x0240, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 }, { PCI_VDEVICE(SERVERWORKS, 0x0240), 4 },
{ 0x1166, 0x0241, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 }, { PCI_VDEVICE(SERVERWORKS, 0x0241), 4 },
{ 0x1166, 0x0242, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 8 }, { PCI_VDEVICE(SERVERWORKS, 0x0242), 8 },
{ 0x1166, 0x024a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 }, { PCI_VDEVICE(SERVERWORKS, 0x024a), 4 },
{ 0x1166, 0x024b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 }, { PCI_VDEVICE(SERVERWORKS, 0x024b), 4 },
{ } { }
}; };
static struct pci_driver k2_sata_pci_driver = { static struct pci_driver k2_sata_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = k2_sata_pci_tbl, .id_table = k2_sata_pci_tbl,
...@@ -485,19 +485,16 @@ static struct pci_driver k2_sata_pci_driver = { ...@@ -485,19 +485,16 @@ static struct pci_driver k2_sata_pci_driver = {
.remove = ata_pci_remove_one, .remove = ata_pci_remove_one,
}; };
static int __init k2_sata_init(void) static int __init k2_sata_init(void)
{ {
return pci_register_driver(&k2_sata_pci_driver); return pci_register_driver(&k2_sata_pci_driver);
} }
static void __exit k2_sata_exit(void) static void __exit k2_sata_exit(void)
{ {
pci_unregister_driver(&k2_sata_pci_driver); pci_unregister_driver(&k2_sata_pci_driver);
} }
MODULE_AUTHOR("Benjamin Herrenschmidt"); MODULE_AUTHOR("Benjamin Herrenschmidt");
MODULE_DESCRIPTION("low-level driver for K2 SATA controller"); MODULE_DESCRIPTION("low-level driver for K2 SATA controller");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -230,12 +230,11 @@ static const struct ata_port_info pdc_port_info[] = { ...@@ -230,12 +230,11 @@ static const struct ata_port_info pdc_port_info[] = {
}; };
static const struct pci_device_id pdc_sata_pci_tbl[] = { static const struct pci_device_id pdc_sata_pci_tbl[] = {
{ PCI_VENDOR_ID_PROMISE, 0x6622, PCI_ANY_ID, PCI_ANY_ID, 0, 0, { PCI_VDEVICE(PROMISE, 0x6622), board_20621 },
board_20621 },
{ } /* terminate list */ { } /* terminate list */
}; };
static struct pci_driver pdc_sata_pci_driver = { static struct pci_driver pdc_sata_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = pdc_sata_pci_tbl, .id_table = pdc_sata_pci_tbl,
......
...@@ -61,13 +61,13 @@ static u32 uli_scr_read (struct ata_port *ap, unsigned int sc_reg); ...@@ -61,13 +61,13 @@ static u32 uli_scr_read (struct ata_port *ap, unsigned int sc_reg);
static void uli_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val); static void uli_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val);
static const struct pci_device_id uli_pci_tbl[] = { static const struct pci_device_id uli_pci_tbl[] = {
{ PCI_VENDOR_ID_AL, 0x5289, PCI_ANY_ID, PCI_ANY_ID, 0, 0, uli_5289 }, { PCI_VDEVICE(AL, 0x5289), uli_5289 },
{ PCI_VENDOR_ID_AL, 0x5287, PCI_ANY_ID, PCI_ANY_ID, 0, 0, uli_5287 }, { PCI_VDEVICE(AL, 0x5287), uli_5287 },
{ PCI_VENDOR_ID_AL, 0x5281, PCI_ANY_ID, PCI_ANY_ID, 0, 0, uli_5281 }, { PCI_VDEVICE(AL, 0x5281), uli_5281 },
{ } /* terminate list */ { } /* terminate list */
}; };
static struct pci_driver uli_pci_driver = { static struct pci_driver uli_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = uli_pci_tbl, .id_table = uli_pci_tbl,
......
...@@ -77,9 +77,9 @@ static void svia_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val); ...@@ -77,9 +77,9 @@ static void svia_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val);
static void vt6420_error_handler(struct ata_port *ap); static void vt6420_error_handler(struct ata_port *ap);
static const struct pci_device_id svia_pci_tbl[] = { static const struct pci_device_id svia_pci_tbl[] = {
{ 0x1106, 0x0591, PCI_ANY_ID, PCI_ANY_ID, 0, 0, vt6420 }, { PCI_VDEVICE(VIA, 0x0591), vt6420 },
{ 0x1106, 0x3149, PCI_ANY_ID, PCI_ANY_ID, 0, 0, vt6420 }, { PCI_VDEVICE(VIA, 0x3149), vt6420 },
{ 0x1106, 0x3249, PCI_ANY_ID, PCI_ANY_ID, 0, 0, vt6421 }, { PCI_VDEVICE(VIA, 0x3249), vt6421 },
{ } /* terminate list */ { } /* terminate list */
}; };
......
...@@ -442,16 +442,15 @@ static int __devinit vsc_sata_init_one (struct pci_dev *pdev, const struct pci_d ...@@ -442,16 +442,15 @@ static int __devinit vsc_sata_init_one (struct pci_dev *pdev, const struct pci_d
return rc; return rc;
} }
static const struct pci_device_id vsc_sata_pci_tbl[] = { static const struct pci_device_id vsc_sata_pci_tbl[] = {
{ PCI_VENDOR_ID_VITESSE, 0x7174, { PCI_VENDOR_ID_VITESSE, 0x7174,
PCI_ANY_ID, PCI_ANY_ID, 0x10600, 0xFFFFFF, 0 }, PCI_ANY_ID, PCI_ANY_ID, 0x10600, 0xFFFFFF, 0 },
{ PCI_VENDOR_ID_INTEL, 0x3200, { PCI_VENDOR_ID_INTEL, 0x3200,
PCI_ANY_ID, PCI_ANY_ID, 0x10600, 0xFFFFFF, 0 }, PCI_ANY_ID, PCI_ANY_ID, 0x10600, 0xFFFFFF, 0 },
{ } /* terminate list */ { } /* terminate list */
}; };
static struct pci_driver vsc_sata_pci_driver = { static struct pci_driver vsc_sata_pci_driver = {
.name = DRV_NAME, .name = DRV_NAME,
.id_table = vsc_sata_pci_tbl, .id_table = vsc_sata_pci_tbl,
...@@ -459,19 +458,16 @@ static struct pci_driver vsc_sata_pci_driver = { ...@@ -459,19 +458,16 @@ static struct pci_driver vsc_sata_pci_driver = {
.remove = ata_pci_remove_one, .remove = ata_pci_remove_one,
}; };
static int __init vsc_sata_init(void) static int __init vsc_sata_init(void)
{ {
return pci_register_driver(&vsc_sata_pci_driver); return pci_register_driver(&vsc_sata_pci_driver);
} }
static void __exit vsc_sata_exit(void) static void __exit vsc_sata_exit(void)
{ {
pci_unregister_driver(&vsc_sata_pci_driver); pci_unregister_driver(&vsc_sata_pci_driver);
} }
MODULE_AUTHOR("Jeremy Higdon"); MODULE_AUTHOR("Jeremy Higdon");
MODULE_DESCRIPTION("low-level driver for Vitesse VSC7174 SATA controller"); MODULE_DESCRIPTION("low-level driver for Vitesse VSC7174 SATA controller");
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
......
...@@ -109,6 +109,10 @@ static inline u32 ata_msg_init(int dval, int default_msg_enable_bits) ...@@ -109,6 +109,10 @@ static inline u32 ata_msg_init(int dval, int default_msg_enable_bits)
#define ATA_TAG_POISON 0xfafbfcfdU #define ATA_TAG_POISON 0xfafbfcfdU
/* move to PCI layer? */ /* move to PCI layer? */
#define PCI_VDEVICE(vendor, device) \
PCI_VENDOR_ID_##vendor, (device), \
PCI_ANY_ID, PCI_ANY_ID, 0, 0
static inline struct device *pci_dev_to_dev(struct pci_dev *pdev) static inline struct device *pci_dev_to_dev(struct pci_dev *pdev)
{ {
return &pdev->dev; return &pdev->dev;
...@@ -138,8 +142,9 @@ enum { ...@@ -138,8 +142,9 @@ enum {
ATA_DFLAG_NCQ = (1 << 3), /* device supports NCQ */ ATA_DFLAG_NCQ = (1 << 3), /* device supports NCQ */
ATA_DFLAG_CFG_MASK = (1 << 8) - 1, ATA_DFLAG_CFG_MASK = (1 << 8) - 1,
ATA_DFLAG_PIO = (1 << 8), /* device currently in PIO mode */ ATA_DFLAG_PIO = (1 << 8), /* device limited to PIO mode */
ATA_DFLAG_SUSPENDED = (1 << 9), /* device suspended */ ATA_DFLAG_NCQ_OFF = (1 << 9), /* devied limited to non-NCQ mode */
ATA_DFLAG_SUSPENDED = (1 << 10), /* device suspended */
ATA_DFLAG_INIT_MASK = (1 << 16) - 1, ATA_DFLAG_INIT_MASK = (1 << 16) - 1,
ATA_DFLAG_DETACH = (1 << 16), ATA_DFLAG_DETACH = (1 << 16),
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment