Commit c2bf9f44 authored by Jens Axboe's avatar Jens Axboe Committed by Linus Torvalds

[PATCH] ide low level driver updates

All of them in a single patch, would be silly to split. Does two things:

o Inc module usage count to forcefully pin the module

o Make the chipset init data __devinitdata

o Kill ->init_setup() and just make it generic
parent 20ddfc00
......@@ -10,7 +10,7 @@ extern unsigned int init_chipset_pdcadma(struct pci_dev *, const char *);
extern void init_hwif_pdcadma(ide_hwif_t *);
extern void init_dma_pdcadma(ide_hwif_t *, unsigned long);
static ide_pci_device_t pdcadma_chipsets[] __initdata = {
static ide_pci_device_t pdcadma_chipsets[] __devinitdata = {
{
vendor: PCI_VENDOR_ID_PDC,
device: PCI_DEVICE_ID_PDC_1841,
......
......@@ -530,6 +530,7 @@ static int __devinit aec62xx_init_one(struct pci_dev *dev, const struct pci_devi
if (dev->device != d->device)
BUG();
d->init_setup(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -98,7 +98,7 @@ static unsigned int init_chipset_aec62xx(struct pci_dev *, const char *);
static void init_hwif_aec62xx(ide_hwif_t *);
static void init_dma_aec62xx(ide_hwif_t *, unsigned long);
static ide_pci_device_t aec62xx_chipsets[] __initdata = {
static ide_pci_device_t aec62xx_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_ARTOP,
device: PCI_DEVICE_ID_ARTOP_ATP850UF,
......
......@@ -858,6 +858,7 @@ static int __devinit alim15x3_init_one(struct pci_dev *dev, const struct pci_dev
d->init_hwif = init_hwif_common_ali15x3;
#endif /* CONFIG_SPARC64 */
ide_setup_pci_device(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -30,7 +30,7 @@ static void init_hwif_common_ali15x3(ide_hwif_t *);
static void init_hwif_ali15x3(ide_hwif_t *);
static void init_dma_ali15x3(ide_hwif_t *, unsigned long);
static ide_pci_device_t ali15x3_chipsets[] __initdata = {
static ide_pci_device_t ali15x3_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_AL,
device: PCI_DEVICE_ID_AL_M5229,
......
......@@ -400,6 +400,7 @@ static int __devinit amd74xx_init_one(struct pci_dev *dev, const struct pci_devi
if (dev->device != d->device)
BUG();
ide_setup_pci_device(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -29,7 +29,7 @@ static unsigned int init_chipset_amd74xx(struct pci_dev *, const char *);
static void init_hwif_amd74xx(ide_hwif_t *);
static void init_dma_amd74xx(ide_hwif_t *, unsigned long);
static ide_pci_device_t amd74xx_chipsets[] __initdata = {
static ide_pci_device_t amd74xx_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_AMD,
device: PCI_DEVICE_ID_AMD_COBRA_7401,
......
......@@ -728,12 +728,9 @@ static void __init init_hwif_cmd64x (ide_hwif_t *hwif)
if (dev->device == PCI_DEVICE_ID_CMD_643)
hwif->ultra_mask = 0x80;
if (dev->device == PCI_DEVICE_ID_CMD_646)
{
if (class_rev > 0x04)
hwif->ultra_mask = 0x07;
else
hwif->ultra_mask = 0x80;
}
hwif->ultra_mask = (class_rev > 0x04) ? 0x07 : 0x80;
if (dev->device == PCI_DEVICE_ID_CMD_648)
hwif->ultra_mask = 0x1f;
#ifdef CONFIG_BLK_DEV_IDEDMA
hwif->ide_dma_check = &cmd64x_config_drive_for_dma;
......@@ -774,6 +771,7 @@ static int __devinit cmd64x_init_one(struct pci_dev *dev, const struct pci_devic
if (dev->device != d->device)
BUG();
ide_setup_pci_device(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -83,7 +83,7 @@ static unsigned int init_chipset_cmd64x(struct pci_dev *, const char *);
static void init_hwif_cmd64x(ide_hwif_t *);
static void init_dma_cmd64x(ide_hwif_t *, unsigned long);
static ide_pci_device_t cmd64x_chipsets[] __initdata = {
static ide_pci_device_t cmd64x_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_CMD,
device: PCI_DEVICE_ID_CMD_643,
......
......@@ -427,6 +427,7 @@ static int __devinit cs5530_init_one(struct pci_dev *dev, const struct pci_devic
if (dev->device != d->device)
BUG();
ide_setup_pci_device(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -29,7 +29,7 @@ static unsigned int init_chipset_cs5530(struct pci_dev *, const char *);
static void init_hwif_cs5530(ide_hwif_t *);
static void init_dma_cs5530(ide_hwif_t *, unsigned long);
static ide_pci_device_t cs5530_chipsets[] __initdata = {
static ide_pci_device_t cs5530_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_CYRIX,
device: PCI_DEVICE_ID_CYRIX_5530_IDE,
......
......@@ -438,6 +438,7 @@ static int __devinit cy82c693_init_one(struct pci_dev *dev, const struct pci_dev
dev2 = pci_find_slot(dev->bus->number, dev->devfn + 1);
ide_setup_pci_devices(dev, dev2, d);
}
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -68,7 +68,7 @@ extern unsigned int init_chipset_cy82c693(struct pci_dev *, const char *);
extern void init_hwif_cy82c693(ide_hwif_t *);
extern void init_iops_cy82c693(ide_hwif_t *);
static ide_pci_device_t cy82c693_chipsets[] __initdata = {
static ide_pci_device_t cy82c693_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_CONTAQ,
device: PCI_DEVICE_ID_CONTAQ_82C693,
......
......@@ -65,26 +65,6 @@ static void init_dma_generic (ide_hwif_t *hwif, unsigned long dmabase)
extern void ide_setup_pci_device(struct pci_dev *, ide_pci_device_t *);
static void __init init_setup_generic (struct pci_dev *dev, ide_pci_device_t *d)
{
if ((d->vendor == PCI_VENDOR_ID_UMC) &&
(d->device == PCI_DEVICE_ID_UMC_UM8886A) &&
(!(PCI_FUNC(dev->devfn) & 1)))
return; /* UM8886A/BF pair */
if ((d->vendor == PCI_VENDOR_ID_OPTI) &&
(d->device == PCI_DEVICE_ID_OPTI_82C558) &&
(!(PCI_FUNC(dev->devfn) & 1)))
return;
ide_setup_pci_device(dev, d);
}
static void __init init_setup_unknown (struct pci_dev *dev, ide_pci_device_t *d)
{
ide_setup_pci_device(dev, d);
}
#if 0
/* Logic to add back later on */
......@@ -114,7 +94,18 @@ static int __devinit generic_init_one(struct pci_dev *dev, const struct pci_devi
if (dev->device != d->device)
BUG();
d->init_setup(dev, d);
if ((d->vendor == PCI_VENDOR_ID_UMC) &&
(d->device == PCI_DEVICE_ID_UMC_UM8886A) &&
(!(PCI_FUNC(dev->devfn) & 1)))
return 1; /* UM8886A/BF pair */
if ((d->vendor == PCI_VENDOR_ID_OPTI) &&
(d->device == PCI_DEVICE_ID_OPTI_82C558) &&
(!(PCI_FUNC(dev->devfn) & 1)))
return 1;
ide_setup_pci_device(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -5,17 +5,15 @@
#include <linux/pci.h>
#include <linux/ide.h>
static void init_setup_generic(struct pci_dev *, ide_pci_device_t *);
static unsigned int init_chipset_generic(struct pci_dev *, const char *);
static void init_hwif_generic(ide_hwif_t *);
static void init_dma_generic(ide_hwif_t *, unsigned long);
static ide_pci_device_t generic_chipsets[] __initdata = {
static ide_pci_device_t generic_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_NS,
device: PCI_DEVICE_ID_NS_87410,
name: "NS87410",
init_setup: init_setup_generic,
init_chipset: init_chipset_generic,
init_iops: NULL,
init_hwif: init_hwif_generic,
......@@ -29,7 +27,6 @@ static ide_pci_device_t generic_chipsets[] __initdata = {
vendor: PCI_VENDOR_ID_PCTECH,
device: PCI_DEVICE_ID_PCTECH_SAMURAI_IDE,
name: "SAMURAI",
init_setup: init_setup_generic,
init_chipset: init_chipset_generic,
init_iops: NULL,
init_hwif: init_hwif_generic,
......@@ -43,7 +40,6 @@ static ide_pci_device_t generic_chipsets[] __initdata = {
vendor: PCI_VENDOR_ID_HOLTEK,
device: PCI_DEVICE_ID_HOLTEK_6565,
name: "HT6565",
init_setup: init_setup_generic,
init_chipset: init_chipset_generic,
init_iops: NULL,
init_hwif: init_hwif_generic,
......@@ -57,7 +53,6 @@ static ide_pci_device_t generic_chipsets[] __initdata = {
vendor: PCI_VENDOR_ID_UMC,
device: PCI_DEVICE_ID_UMC_UM8673F,
name: "UM8673F",
init_setup: init_setup_generic,
init_chipset: init_chipset_generic,
init_iops: NULL,
init_hwif: init_hwif_generic,
......@@ -71,7 +66,6 @@ static ide_pci_device_t generic_chipsets[] __initdata = {
vendor: PCI_VENDOR_ID_UMC,
device: PCI_DEVICE_ID_UMC_UM8886A,
name: "UM8886A",
init_setup: init_setup_generic,
init_chipset: init_chipset_generic,
init_iops: NULL,
init_hwif: init_hwif_generic,
......@@ -85,7 +79,6 @@ static ide_pci_device_t generic_chipsets[] __initdata = {
vendor: PCI_VENDOR_ID_UMC,
device: PCI_DEVICE_ID_UMC_UM8886BF,
name: "UM8886BF",
init_setup: init_setup_generic,
init_chipset: init_chipset_generic,
init_iops: NULL,
init_hwif: init_hwif_generic,
......@@ -99,7 +92,6 @@ static ide_pci_device_t generic_chipsets[] __initdata = {
vendor: PCI_VENDOR_ID_HINT,
device: PCI_DEVICE_ID_HINT_VXPROII_IDE,
name: "HINT_IDE",
init_setup: init_setup_generic,
init_chipset: init_chipset_generic,
init_iops: NULL,
init_hwif: init_hwif_generic,
......@@ -113,7 +105,6 @@ static ide_pci_device_t generic_chipsets[] __initdata = {
vendor: PCI_VENDOR_ID_VIA,
device: PCI_DEVICE_ID_VIA_82C561,
name: "VIA_IDE",
init_setup: init_setup_generic,
init_chipset: init_chipset_generic,
init_iops: NULL,
init_hwif: init_hwif_generic,
......@@ -127,7 +118,6 @@ static ide_pci_device_t generic_chipsets[] __initdata = {
vendor: PCI_VENDOR_ID_OPTI,
device: PCI_DEVICE_ID_OPTI_82C558,
name: "OPTI621V",
init_setup: init_setup_generic,
init_chipset: init_chipset_generic,
init_iops: NULL,
init_hwif: init_hwif_generic,
......@@ -145,12 +135,11 @@ static ide_pci_device_t generic_chipsets[] __initdata = {
}
};
static ide_pci_device_t unknown_chipset[] __initdata = {
static ide_pci_device_t unknown_chipset[] __devinitdata = {
{ /* 0 */
vendor: 0,
device: 0,
name: "PCI_IDE",
init_setup: init_setup_generic,
init_chipset: init_chipset_generic,
init_iops: NULL,
init_hwif: init_hwif_generic,
......
......@@ -334,6 +334,7 @@ static int __devinit hpt34x_init_one(struct pci_dev *dev, const struct pci_devic
d->bootable = (pcicmd & PCI_COMMAND_MEMORY) ? OFF_BOARD : NEVER_BOARD;
ide_setup_pci_device(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -35,7 +35,7 @@ static unsigned int init_chipset_hpt34x(struct pci_dev *, const char *);
static void init_hwif_hpt34x(ide_hwif_t *);
static void init_dma_hpt34x(ide_hwif_t *, unsigned long);
static ide_pci_device_t hpt34x_chipsets[] __initdata = {
static ide_pci_device_t hpt34x_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_TTI,
device: PCI_DEVICE_ID_TTI_HPT343,
......
/*
* linux/drivers/ide/hpt366.c Version 0.33 April 17, 2002
* linux/drivers/ide/hpt366.c Version 0.34 Sept 17, 2002
*
* Copyright (C) 1999-2002 Andre Hedrick <andre@linux-ide.org>
* Portions Copyright (C) 2001 Sun Microsystems, Inc.
......@@ -1185,6 +1185,7 @@ static int __devinit hpt366_init_one(struct pci_dev *dev, const struct pci_devic
if (dev->device != d->device)
BUG();
d->init_setup(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -441,7 +441,7 @@ static unsigned int init_chipset_hpt366(struct pci_dev *, const char *);
static void init_hwif_hpt366(ide_hwif_t *);
static void init_dma_hpt366(ide_hwif_t *, unsigned long);
static ide_pci_device_t hpt366_chipsets[] __initdata = {
static ide_pci_device_t hpt366_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_TTI,
device: PCI_DEVICE_ID_TTI_HPT366,
......
......@@ -303,8 +303,9 @@ static int __devinit it8172_init_one(struct pci_dev *dev, const struct pci_devic
ide_pci_device_t *d = &it8172_chipsets[id->driver_data];
if ((!(PCI_FUNC(dev->devfn) & 1) ||
(!((dev->class >> 8) == PCI_CLASS_STORAGE_IDE))))
return 0; /* IT8172 is more than only a IDE controller */
return 1; /* IT8172 is more than only a IDE controller */
ide_setup_pci_device(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -19,7 +19,7 @@ static unsigned int init_chipset_it8172(struct pci_dev *, const char *);
static void init_hwif_it8172(ide_hwif_t *);
static void init_dma_it8172(ide_hwif_t *, unsigned long);
static ide_pci_device_t it8172_chipsets[] __initdata = {
static ide_pci_device_t it8172_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_ITE,
device: PCI_DEVICE_ID_ITE_IT8172G,
......
......@@ -236,6 +236,7 @@ static int __devinit ns87415_init_one(struct pci_dev *dev, const struct pci_devi
if (dev->device != d->device)
BUG();
ide_setup_pci_device(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -8,7 +8,7 @@
static void init_hwif_ns87415(ide_hwif_t *);
static void init_dma_ns87415(ide_hwif_t *, unsigned long);
static ide_pci_device_t ns87415_chipsets[] __initdata = {
static ide_pci_device_t ns87415_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_NS,
device: PCI_DEVICE_ID_NS_87415,
......
......@@ -343,6 +343,7 @@ static int __devinit nforce_init_one(struct pci_dev *dev, const struct pci_devic
if (dev->device != d->device)
BUG();
ide_setup_pci_device(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -29,7 +29,7 @@ static unsigned int init_chipset_nforce(struct pci_dev *, const char *);
static void init_hwif_nforce(ide_hwif_t *);
static void init_dma_nforce(ide_hwif_t *, unsigned long);
static ide_pci_device_t nvidia_chipsets[] __initdata = {
static ide_pci_device_t nvidia_chipsets[] __devinitdata = {
{
vendor: PCI_VENDOR_ID_NVIDIA,
device: PCI_DEVICE_ID_NVIDIA_NFORCE_IDE,
......
......@@ -370,6 +370,7 @@ static int __devinit opti621_init_one(struct pci_dev *dev, const struct pci_devi
if (dev->device != d->device)
BUG();
ide_setup_pci_device(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -9,7 +9,7 @@ static void init_setup_opti621(struct pci_dev *, ide_pci_device_t *);
static void init_hwif_opti621(ide_hwif_t *);
static void init_dma_opti621(ide_hwif_t *, unsigned long);
static ide_pci_device_t opti621_chipsets[] __initdata = {
static ide_pci_device_t opti621_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_OPTI,
device: PCI_DEVICE_ID_OPTI_82C621,
......
......@@ -663,6 +663,7 @@ static int __devinit pdc202new_init_one(struct pci_dev *dev, const struct pci_de
if (dev->device != d->device)
BUG();
d->init_setup(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -225,7 +225,7 @@ static unsigned int init_chipset_pdcnew(struct pci_dev *, const char *);
static void init_hwif_pdc202new(ide_hwif_t *);
static void init_dma_pdc202new(ide_hwif_t *, unsigned long);
static ide_pci_device_t pdcnew_chipsets[] __initdata = {
static ide_pci_device_t pdcnew_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_PROMISE,
device: PCI_DEVICE_ID_PROMISE_20268,
......
......@@ -397,6 +397,9 @@ static int config_chipset_for_dma (ide_drive_t *drive)
cable ? "40" : "80", cable);
#endif /* PDC202_DEBUG_CABLE */
break;
case PCI_DEVICE_ID_PROMISE_20246:
ultra_66 = 0;
break;
default:
BUG();
}
......@@ -544,16 +547,18 @@ static int pdc202xx_old_ide_dma_begin(ide_drive_t *drive)
if (drive->addressing == 1) {
struct request *rq = HWGROUP(drive)->rq;
ide_hwif_t *hwif = HWIF(drive);
struct pci_dev *dev = hwif->pci_dev;
u32 high_16 = pci_resource_start(dev, 4);
// struct pci_dev *dev = hwif->pci_dev;
// u32 high_16 = pci_resource_start(dev, 4);
u32 high_16 = hwif->dma_master;
u32 atapi_reg = high_16 + (hwif->channel ? 0x24 : 0x20);
u32 word_count = 0;
u8 clock = hwif->INB(high_16 + 0x11);
hwif->OUTB(clock|(hwif->channel ? 0x08 : 0x02), high_16+0x11);
word_count = (rq->nr_sectors << 8);
word_count = (rq->cmd == READ) ? word_count | 0x05000000 :
word_count | 0x06000000;
word_count = (rq_data_dir(rq) == READ) ?
word_count | 0x05000000 :
word_count | 0x06000000;
hwif->OUTL(word_count, atapi_reg);
}
return __ide_dma_begin(drive);
......@@ -563,7 +568,8 @@ static int pdc202xx_old_ide_dma_end(ide_drive_t *drive)
{
if (drive->addressing == 1) {
ide_hwif_t *hwif = HWIF(drive);
u32 high_16 = pci_resource_start(hwif->pci_dev, 4);
// u32 high_16 = pci_resource_start(hwif->pci_dev, 4);
u32 high_16 = hwif->dma_master;
u32 atapi_reg = high_16 + (hwif->channel ? 0x24 : 0x20);
u8 clock = 0;
......@@ -577,8 +583,9 @@ static int pdc202xx_old_ide_dma_end(ide_drive_t *drive)
static int pdc202xx_old_ide_dma_test_irq(ide_drive_t *drive)
{
ide_hwif_t *hwif = HWIF(drive);
struct pci_dev *dev = hwif->pci_dev;
unsigned long high_16 = pci_resource_start(dev, 4);
// struct pci_dev *dev = hwif->pci_dev;
// unsigned long high_16 = pci_resource_start(dev, 4);
u32 high_16 = hwif->dma_master;
u8 dma_stat = hwif->INB(hwif->dma_status);
u8 sc1d = hwif->INB((high_16 + 0x001d));
......@@ -935,6 +942,7 @@ static int __devinit pdc202xx_init_one(struct pci_dev *dev, const struct pci_dev
if (dev->device != d->device)
BUG();
d->init_setup(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -225,7 +225,7 @@ static unsigned int init_chipset_pdc202xx(struct pci_dev *, const char *);
static void init_hwif_pdc202xx(ide_hwif_t *);
static void init_dma_pdc202xx(ide_hwif_t *, unsigned long);
static ide_pci_device_t pdc202xx_chipsets[] __initdata = {
static ide_pci_device_t pdc202xx_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_PROMISE,
device: PCI_DEVICE_ID_PROMISE_20246,
......
......@@ -133,6 +133,7 @@ static int __devinit pdcadma_init_one(struct pci_dev *dev, const struct pci_devi
if (dev->device != d->device)
BUG();
ide_setup_pci_device(dev, d);
MOD_INC_USE_COUNT;
return 1;
}
......
......@@ -30,7 +30,7 @@ static unsigned int init_chipset_pdcadma(struct pci_dev *, const char *);
static void init_hwif_pdcadma(ide_hwif_t *);
static void init_dma_pdcadma(ide_hwif_t *, unsigned long);
static ide_pci_device_t pdcadma_chipsets[] __initdata = {
static ide_pci_device_t pdcadma_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_PDC,
device: PCI_DEVICE_ID_PDC_1841,
......
......@@ -529,7 +529,7 @@ static int piix_config_drive_xfer_rate (ide_drive_t *drive)
* out to be nice and simple
*/
static unsigned int __init init_chipset_piix (struct pci_dev *dev, const char *name)
static unsigned int __devinit init_chipset_piix (struct pci_dev *dev, const char *name)
{
switch(dev->device) {
case PCI_DEVICE_ID_INTEL_82801AA_1:
......@@ -680,6 +680,7 @@ static int __devinit piix_init_one(struct pci_dev *dev, const struct pci_device_
if (dev->device != d->device)
BUG();
d->init_setup(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -17,7 +17,7 @@ static u8 piix_proc;
static int piix_get_info(char *, char **, off_t, int);
static ide_pci_host_proc_t piix_procs[] __initdata = {
static ide_pci_host_proc_t piix_procs[] __devinitdata = {
{
name: "piix",
set: 1,
......@@ -28,7 +28,7 @@ static ide_pci_host_proc_t piix_procs[] __initdata = {
#endif /* defined(DISPLAY_PIIX_TIMINGS) && defined(CONFIG_PROC_FS) */
static void init_setup_piix(struct pci_dev *, ide_pci_device_t *);
static unsigned int __init init_chipset_piix(struct pci_dev *, const char *);
static unsigned int __devinit init_chipset_piix(struct pci_dev *, const char *);
static void init_hwif_piix(ide_hwif_t *);
static void init_dma_piix(ide_hwif_t *, unsigned long);
......@@ -38,7 +38,7 @@ static void init_dma_piix(ide_hwif_t *, unsigned long);
*
*/
static ide_pci_device_t piix_pci_info[] __initdata = {
static ide_pci_device_t piix_pci_info[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_INTEL,
device: PCI_DEVICE_ID_INTEL_82371FB_0,
......
......@@ -62,6 +62,7 @@ static int __devinit rz1000_init_one(struct pci_dev *dev, const struct pci_devic
if (dev->device != d->device)
BUG();
ide_setup_pci_device(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -7,7 +7,7 @@
static void init_hwif_rz1000(ide_hwif_t *);
static ide_pci_device_t rz1000_chipsets[] __initdata = {
static ide_pci_device_t rz1000_chipsets[] __devinitdata = {
{
vendor: PCI_VENDOR_ID_PCTECH,
device: PCI_DEVICE_ID_PCTECH_RZ1000,
......
......@@ -784,6 +784,7 @@ static int __devinit svwks_init_one(struct pci_dev *dev, const struct pci_device
if (dev->device != d->device)
BUG();
d->init_setup(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -37,7 +37,7 @@ static unsigned int init_chipset_svwks(struct pci_dev *, const char *);
static void init_hwif_svwks(ide_hwif_t *);
static void init_dma_svwks(ide_hwif_t *, unsigned long);
static ide_pci_device_t serverworks_chipsets[] __initdata = {
static ide_pci_device_t serverworks_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_SERVERWORKS,
device: PCI_DEVICE_ID_SERVERWORKS_OSB4IDE,
......
......@@ -844,6 +844,7 @@ static int __devinit siimage_init_one(struct pci_dev *dev, const struct pci_devi
if (dev->device != d->device)
BUG();
ide_setup_pci_device(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -112,7 +112,7 @@ static void init_iops_siimage(ide_hwif_t *);
static void init_hwif_siimage(ide_hwif_t *);
static void init_dma_siimage(ide_hwif_t *, unsigned long);
static ide_pci_device_t siimage_chipsets[] __initdata = {
static ide_pci_device_t siimage_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_CMD,
device: PCI_DEVICE_ID_SII_680,
......
......@@ -1030,6 +1030,7 @@ static int __devinit sis5513_init_one(struct pci_dev *dev, const struct pci_devi
if (dev->device != d->device)
BUG();
ide_setup_pci_device(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -29,7 +29,7 @@ static unsigned int init_chipset_sis5513(struct pci_dev *, const char *);
static void init_hwif_sis5513(ide_hwif_t *);
static void init_dma_sis5513(ide_hwif_t *, unsigned long);
static ide_pci_device_t sis5513_chipsets[] __initdata = {
static ide_pci_device_t sis5513_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_SI,
device: PCI_DEVICE_ID_SI_5513,
......
......@@ -288,6 +288,7 @@ static int __devinit sl82c105_init_one(struct pci_dev *dev, const struct pci_dev
if (dev->device != d->device)
BUG();
ide_setup_pci_device(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -9,7 +9,7 @@ static unsigned int init_chipset_sl82c105(struct pci_dev *, const char *);
static void init_hwif_sl82c105(ide_hwif_t *);
static void init_dma_sl82c105(ide_hwif_t *, unsigned long);
static ide_pci_device_t sl82c105_chipsets[] __initdata = {
static ide_pci_device_t sl82c105_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_WINBOND,
device: PCI_DEVICE_ID_WINBOND_82C105,
......
......@@ -372,6 +372,7 @@ static int __devinit slc90e66_init_one(struct pci_dev *dev, const struct pci_dev
if (dev->device != d->device)
BUG();
ide_setup_pci_device(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -31,7 +31,7 @@ static unsigned int init_chipset_slc90e66(struct pci_dev *, const char *);
static void init_hwif_slc90e66(ide_hwif_t *);
static void init_dma_slc90e66(ide_hwif_t *, unsigned long);
static ide_pci_device_t slc90e66_chipsets[] __initdata = {
static ide_pci_device_t slc90e66_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_EFAR,
device: PCI_DEVICE_ID_EFAR_SLC90E66_1,
......
......@@ -403,6 +403,7 @@ static int __devinit trm290_init_one(struct pci_dev *dev, const struct pci_devic
if (dev->device != d->device)
BUG();
ide_setup_pci_device(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -7,7 +7,7 @@
extern void init_hwif_trm290(ide_hwif_t *);
static ide_pci_device_t trm290_chipsets[] __initdata = {
static ide_pci_device_t trm290_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_TEKRAM,
device: PCI_DEVICE_ID_TEKRAM_DC290,
......
......@@ -641,6 +641,7 @@ static int __devinit via_init_one(struct pci_dev *dev, const struct pci_device_i
if (dev->device != d->device)
BUG();
ide_setup_pci_device(dev, d);
MOD_INC_USE_COUNT;
return 0;
}
......
......@@ -29,7 +29,7 @@ static unsigned int init_chipset_via82cxxx(struct pci_dev *, const char *);
static void init_hwif_via82cxxx(ide_hwif_t *);
static void init_dma_via82cxxx(ide_hwif_t *, unsigned long);
static ide_pci_device_t via82cxxx_chipsets[] __initdata = {
static ide_pci_device_t via82cxxx_chipsets[] __devinitdata = {
{ /* 0 */
vendor: PCI_VENDOR_ID_VIA,
device: PCI_DEVICE_ID_VIA_82C576_1,
......
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