diff options
34 files changed, 97 insertions, 109 deletions
diff --git a/drivers/ide/pci/aec62xx.c b/drivers/ide/pci/aec62xx.c index 58fc670f913a..b2dd8ce06b93 100644 --- a/drivers/ide/pci/aec62xx.c +++ b/drivers/ide/pci/aec62xx.c | |||
@@ -194,7 +194,7 @@ static void __devinit init_hwif_aec62xx(ide_hwif_t *hwif) | |||
194 | } | 194 | } |
195 | } | 195 | } |
196 | 196 | ||
197 | static ide_pci_device_t aec62xx_chipsets[] __devinitdata = { | 197 | static struct ide_port_info aec62xx_chipsets[] __devinitdata = { |
198 | { /* 0 */ | 198 | { /* 0 */ |
199 | .name = "AEC6210", | 199 | .name = "AEC6210", |
200 | .init_chipset = init_chipset_aec62xx, | 200 | .init_chipset = init_chipset_aec62xx, |
@@ -253,12 +253,12 @@ static ide_pci_device_t aec62xx_chipsets[] __devinitdata = { | |||
253 | * finds a device matching our IDE device tables. | 253 | * finds a device matching our IDE device tables. |
254 | * | 254 | * |
255 | * NOTE: since we're going to modify the 'name' field for AEC-6[26]80[R] | 255 | * NOTE: since we're going to modify the 'name' field for AEC-6[26]80[R] |
256 | * chips, pass a local copy of 'struct pci_device_id' down the call chain. | 256 | * chips, pass a local copy of 'struct ide_port_info' down the call chain. |
257 | */ | 257 | */ |
258 | 258 | ||
259 | static int __devinit aec62xx_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 259 | static int __devinit aec62xx_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
260 | { | 260 | { |
261 | ide_pci_device_t d; | 261 | struct ide_port_info d; |
262 | u8 idx = id->driver_data; | 262 | u8 idx = id->driver_data; |
263 | 263 | ||
264 | d = aec62xx_chipsets[idx]; | 264 | d = aec62xx_chipsets[idx]; |
diff --git a/drivers/ide/pci/alim15x3.c b/drivers/ide/pci/alim15x3.c index fe816fd67669..db6b567c1ad7 100644 --- a/drivers/ide/pci/alim15x3.c +++ b/drivers/ide/pci/alim15x3.c | |||
@@ -746,7 +746,7 @@ static void __devinit init_dma_ali15x3 (ide_hwif_t *hwif, unsigned long dmabase) | |||
746 | ide_setup_dma(hwif, dmabase, 8); | 746 | ide_setup_dma(hwif, dmabase, 8); |
747 | } | 747 | } |
748 | 748 | ||
749 | static ide_pci_device_t ali15x3_chipset __devinitdata = { | 749 | static struct ide_port_info ali15x3_chipset __devinitdata = { |
750 | .name = "ALI15X3", | 750 | .name = "ALI15X3", |
751 | .init_chipset = init_chipset_ali15x3, | 751 | .init_chipset = init_chipset_ali15x3, |
752 | .init_hwif = init_hwif_ali15x3, | 752 | .init_hwif = init_hwif_ali15x3, |
@@ -772,7 +772,7 @@ static int __devinit alim15x3_init_one(struct pci_dev *dev, const struct pci_dev | |||
772 | { }, | 772 | { }, |
773 | }; | 773 | }; |
774 | 774 | ||
775 | ide_pci_device_t d = ali15x3_chipset; | 775 | struct ide_port_info d = ali15x3_chipset; |
776 | u8 rev = dev->revision; | 776 | u8 rev = dev->revision; |
777 | 777 | ||
778 | if (pci_dev_present(ati_rs100)) | 778 | if (pci_dev_present(ati_rs100)) |
diff --git a/drivers/ide/pci/amd74xx.c b/drivers/ide/pci/amd74xx.c index f6aa1d7f3fc3..8ef7a5183ffd 100644 --- a/drivers/ide/pci/amd74xx.c +++ b/drivers/ide/pci/amd74xx.c | |||
@@ -77,7 +77,7 @@ static struct amd_ide_chip { | |||
77 | }; | 77 | }; |
78 | 78 | ||
79 | static struct amd_ide_chip *amd_config; | 79 | static struct amd_ide_chip *amd_config; |
80 | static ide_pci_device_t *amd_chipset; | 80 | static struct ide_port_info *amd_chipset; |
81 | static unsigned int amd_80w; | 81 | static unsigned int amd_80w; |
82 | static unsigned int amd_clock; | 82 | static unsigned int amd_clock; |
83 | 83 | ||
@@ -295,7 +295,7 @@ static void __devinit init_hwif_amd74xx(ide_hwif_t *hwif) | |||
295 | .mwdma_mask = ATA_MWDMA2, \ | 295 | .mwdma_mask = ATA_MWDMA2, \ |
296 | } | 296 | } |
297 | 297 | ||
298 | static ide_pci_device_t amd74xx_chipsets[] __devinitdata = { | 298 | static struct ide_port_info amd74xx_chipsets[] __devinitdata = { |
299 | /* 0 */ DECLARE_AMD_DEV("AMD7401"), | 299 | /* 0 */ DECLARE_AMD_DEV("AMD7401"), |
300 | /* 1 */ DECLARE_AMD_DEV("AMD7409"), | 300 | /* 1 */ DECLARE_AMD_DEV("AMD7409"), |
301 | /* 2 */ DECLARE_AMD_DEV("AMD7411"), | 301 | /* 2 */ DECLARE_AMD_DEV("AMD7411"), |
diff --git a/drivers/ide/pci/atiixp.c b/drivers/ide/pci/atiixp.c index 307843053078..05972ff47cb5 100644 --- a/drivers/ide/pci/atiixp.c +++ b/drivers/ide/pci/atiixp.c | |||
@@ -189,8 +189,7 @@ static void __devinit init_hwif_atiixp(ide_hwif_t *hwif) | |||
189 | hwif->dma_host_off = &atiixp_dma_host_off; | 189 | hwif->dma_host_off = &atiixp_dma_host_off; |
190 | } | 190 | } |
191 | 191 | ||
192 | 192 | static struct ide_port_info atiixp_pci_info[] __devinitdata = { | |
193 | static ide_pci_device_t atiixp_pci_info[] __devinitdata = { | ||
194 | { /* 0 */ | 193 | { /* 0 */ |
195 | .name = "ATIIXP", | 194 | .name = "ATIIXP", |
196 | .init_hwif = init_hwif_atiixp, | 195 | .init_hwif = init_hwif_atiixp, |
diff --git a/drivers/ide/pci/cmd64x.c b/drivers/ide/pci/cmd64x.c index 5c1b897017b4..ae01319ed131 100644 --- a/drivers/ide/pci/cmd64x.c +++ b/drivers/ide/pci/cmd64x.c | |||
@@ -548,7 +548,7 @@ static void __devinit init_hwif_cmd64x(ide_hwif_t *hwif) | |||
548 | } | 548 | } |
549 | } | 549 | } |
550 | 550 | ||
551 | static ide_pci_device_t cmd64x_chipsets[] __devinitdata = { | 551 | static struct ide_port_info cmd64x_chipsets[] __devinitdata = { |
552 | { /* 0 */ | 552 | { /* 0 */ |
553 | .name = "CMD643", | 553 | .name = "CMD643", |
554 | .init_chipset = init_chipset_cmd64x, | 554 | .init_chipset = init_chipset_cmd64x, |
@@ -591,7 +591,7 @@ static ide_pci_device_t cmd64x_chipsets[] __devinitdata = { | |||
591 | 591 | ||
592 | static int __devinit cmd64x_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 592 | static int __devinit cmd64x_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
593 | { | 593 | { |
594 | ide_pci_device_t d; | 594 | struct ide_port_info d; |
595 | u8 idx = id->driver_data; | 595 | u8 idx = id->driver_data; |
596 | 596 | ||
597 | d = cmd64x_chipsets[idx]; | 597 | d = cmd64x_chipsets[idx]; |
diff --git a/drivers/ide/pci/cs5520.c b/drivers/ide/pci/cs5520.c index a9e1cafee69e..71da68bcd119 100644 --- a/drivers/ide/pci/cs5520.c +++ b/drivers/ide/pci/cs5520.c | |||
@@ -141,7 +141,7 @@ static void __devinit init_hwif_cs5520(ide_hwif_t *hwif) | |||
141 | .pio_mask = ATA_PIO4, \ | 141 | .pio_mask = ATA_PIO4, \ |
142 | } | 142 | } |
143 | 143 | ||
144 | static ide_pci_device_t cyrix_chipsets[] __devinitdata = { | 144 | static struct ide_port_info cyrix_chipsets[] __devinitdata = { |
145 | /* 0 */ DECLARE_CS_DEV("Cyrix 5510"), | 145 | /* 0 */ DECLARE_CS_DEV("Cyrix 5510"), |
146 | /* 1 */ DECLARE_CS_DEV("Cyrix 5520") | 146 | /* 1 */ DECLARE_CS_DEV("Cyrix 5520") |
147 | }; | 147 | }; |
@@ -154,7 +154,7 @@ static ide_pci_device_t cyrix_chipsets[] __devinitdata = { | |||
154 | 154 | ||
155 | static int __devinit cs5520_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 155 | static int __devinit cs5520_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
156 | { | 156 | { |
157 | ide_pci_device_t *d = &cyrix_chipsets[id->driver_data]; | 157 | struct ide_port_info *d = &cyrix_chipsets[id->driver_data]; |
158 | u8 idx[4] = { 0xff, 0xff, 0xff, 0xff }; | 158 | u8 idx[4] = { 0xff, 0xff, 0xff, 0xff }; |
159 | 159 | ||
160 | ide_setup_pci_noise(dev, d); | 160 | ide_setup_pci_noise(dev, d); |
diff --git a/drivers/ide/pci/cs5530.c b/drivers/ide/pci/cs5530.c index ba0c6eba024b..c08416a1e73d 100644 --- a/drivers/ide/pci/cs5530.c +++ b/drivers/ide/pci/cs5530.c | |||
@@ -261,7 +261,7 @@ static void __devinit init_hwif_cs5530 (ide_hwif_t *hwif) | |||
261 | hwif->udma_filter = cs5530_udma_filter; | 261 | hwif->udma_filter = cs5530_udma_filter; |
262 | } | 262 | } |
263 | 263 | ||
264 | static ide_pci_device_t cs5530_chipset __devinitdata = { | 264 | static struct ide_port_info cs5530_chipset __devinitdata = { |
265 | .name = "CS5530", | 265 | .name = "CS5530", |
266 | .init_chipset = init_chipset_cs5530, | 266 | .init_chipset = init_chipset_cs5530, |
267 | .init_hwif = init_hwif_cs5530, | 267 | .init_hwif = init_hwif_cs5530, |
diff --git a/drivers/ide/pci/cs5535.c b/drivers/ide/pci/cs5535.c index 5ac82ffa5c09..c94bd06667b9 100644 --- a/drivers/ide/pci/cs5535.c +++ b/drivers/ide/pci/cs5535.c | |||
@@ -186,7 +186,7 @@ static void __devinit init_hwif_cs5535(ide_hwif_t *hwif) | |||
186 | hwif->cbl = cs5535_cable_detect(hwif->pci_dev); | 186 | hwif->cbl = cs5535_cable_detect(hwif->pci_dev); |
187 | } | 187 | } |
188 | 188 | ||
189 | static ide_pci_device_t cs5535_chipset __devinitdata = { | 189 | static struct ide_port_info cs5535_chipset __devinitdata = { |
190 | .name = "CS5535", | 190 | .name = "CS5535", |
191 | .init_hwif = init_hwif_cs5535, | 191 | .init_hwif = init_hwif_cs5535, |
192 | .host_flags = IDE_HFLAG_SINGLE | IDE_HFLAG_POST_SET_MODE | | 192 | .host_flags = IDE_HFLAG_SINGLE | IDE_HFLAG_POST_SET_MODE | |
diff --git a/drivers/ide/pci/cy82c693.c b/drivers/ide/pci/cy82c693.c index e70ffa90aefe..c1adc1ba854c 100644 --- a/drivers/ide/pci/cy82c693.c +++ b/drivers/ide/pci/cy82c693.c | |||
@@ -448,7 +448,7 @@ static void __devinit init_iops_cy82c693(ide_hwif_t *hwif) | |||
448 | } | 448 | } |
449 | } | 449 | } |
450 | 450 | ||
451 | static ide_pci_device_t cy82c693_chipset __devinitdata = { | 451 | static struct ide_port_info cy82c693_chipset __devinitdata = { |
452 | .name = "CY82C693", | 452 | .name = "CY82C693", |
453 | .init_chipset = init_chipset_cy82c693, | 453 | .init_chipset = init_chipset_cy82c693, |
454 | .init_iops = init_iops_cy82c693, | 454 | .init_iops = init_iops_cy82c693, |
diff --git a/drivers/ide/pci/generic.c b/drivers/ide/pci/generic.c index b377006d416c..2d869aecfb87 100644 --- a/drivers/ide/pci/generic.c +++ b/drivers/ide/pci/generic.c | |||
@@ -67,7 +67,7 @@ MODULE_PARM_DESC(all_generic_ide, "IDE generic will claim all unknown PCI IDE st | |||
67 | .udma_mask = ATA_UDMA6, \ | 67 | .udma_mask = ATA_UDMA6, \ |
68 | } | 68 | } |
69 | 69 | ||
70 | static ide_pci_device_t generic_chipsets[] __devinitdata = { | 70 | static struct ide_port_info generic_chipsets[] __devinitdata = { |
71 | /* 0 */ DECLARE_GENERIC_PCI_DEV("Unknown", 0), | 71 | /* 0 */ DECLARE_GENERIC_PCI_DEV("Unknown", 0), |
72 | 72 | ||
73 | { /* 1 */ | 73 | { /* 1 */ |
@@ -123,7 +123,7 @@ static ide_pci_device_t generic_chipsets[] __devinitdata = { | |||
123 | 123 | ||
124 | static int __devinit generic_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 124 | static int __devinit generic_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
125 | { | 125 | { |
126 | ide_pci_device_t *d = &generic_chipsets[id->driver_data]; | 126 | struct ide_port_info *d = &generic_chipsets[id->driver_data]; |
127 | int ret = -ENODEV; | 127 | int ret = -ENODEV; |
128 | 128 | ||
129 | /* Don't use the generic entry unless instructed to do so */ | 129 | /* Don't use the generic entry unless instructed to do so */ |
diff --git a/drivers/ide/pci/hpt34x.c b/drivers/ide/pci/hpt34x.c index 67af1a7dde30..18eaf6b7915b 100644 --- a/drivers/ide/pci/hpt34x.c +++ b/drivers/ide/pci/hpt34x.c | |||
@@ -129,7 +129,7 @@ static void __devinit init_hwif_hpt34x(ide_hwif_t *hwif) | |||
129 | hwif->set_dma_mode = &hpt34x_set_mode; | 129 | hwif->set_dma_mode = &hpt34x_set_mode; |
130 | } | 130 | } |
131 | 131 | ||
132 | static ide_pci_device_t hpt34x_chipsets[] __devinitdata = { | 132 | static struct ide_port_info hpt34x_chipsets[] __devinitdata = { |
133 | { /* 0 */ | 133 | { /* 0 */ |
134 | .name = "HPT343", | 134 | .name = "HPT343", |
135 | .init_chipset = init_chipset_hpt34x, | 135 | .init_chipset = init_chipset_hpt34x, |
@@ -158,7 +158,7 @@ static ide_pci_device_t hpt34x_chipsets[] __devinitdata = { | |||
158 | 158 | ||
159 | static int __devinit hpt34x_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 159 | static int __devinit hpt34x_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
160 | { | 160 | { |
161 | ide_pci_device_t *d; | 161 | struct ide_port_info *d; |
162 | u16 pcicmd = 0; | 162 | u16 pcicmd = 0; |
163 | 163 | ||
164 | pci_read_config_word(dev, PCI_COMMAND, &pcicmd); | 164 | pci_read_config_word(dev, PCI_COMMAND, &pcicmd); |
diff --git a/drivers/ide/pci/hpt366.c b/drivers/ide/pci/hpt366.c index 18f5b7ddaee6..d95ec7d71192 100644 --- a/drivers/ide/pci/hpt366.c +++ b/drivers/ide/pci/hpt366.c | |||
@@ -1425,7 +1425,7 @@ static int __devinit hpt36x_init(struct pci_dev *dev, struct pci_dev *dev2) | |||
1425 | return 0; | 1425 | return 0; |
1426 | } | 1426 | } |
1427 | 1427 | ||
1428 | static ide_pci_device_t hpt366_chipsets[] __devinitdata = { | 1428 | static struct ide_port_info hpt366_chipsets[] __devinitdata = { |
1429 | { /* 0 */ | 1429 | { /* 0 */ |
1430 | .name = "HPT36x", | 1430 | .name = "HPT36x", |
1431 | .init_chipset = init_chipset_hpt366, | 1431 | .init_chipset = init_chipset_hpt366, |
@@ -1510,7 +1510,7 @@ static int __devinit hpt366_init_one(struct pci_dev *dev, const struct pci_devic | |||
1510 | { | 1510 | { |
1511 | struct hpt_info *info = NULL; | 1511 | struct hpt_info *info = NULL; |
1512 | struct pci_dev *dev2 = NULL; | 1512 | struct pci_dev *dev2 = NULL; |
1513 | ide_pci_device_t d; | 1513 | struct ide_port_info d; |
1514 | u8 idx = id->driver_data; | 1514 | u8 idx = id->driver_data; |
1515 | u8 rev = dev->revision; | 1515 | u8 rev = dev->revision; |
1516 | 1516 | ||
diff --git a/drivers/ide/pci/it8213.c b/drivers/ide/pci/it8213.c index dfbe605120cb..52e403f42d5f 100644 --- a/drivers/ide/pci/it8213.c +++ b/drivers/ide/pci/it8213.c | |||
@@ -193,7 +193,7 @@ static void __devinit init_hwif_it8213(ide_hwif_t *hwif) | |||
193 | .udma_mask = ATA_UDMA6, \ | 193 | .udma_mask = ATA_UDMA6, \ |
194 | } | 194 | } |
195 | 195 | ||
196 | static ide_pci_device_t it8213_chipsets[] __devinitdata = { | 196 | static struct ide_port_info it8213_chipsets[] __devinitdata = { |
197 | /* 0 */ DECLARE_ITE_DEV("IT8213"), | 197 | /* 0 */ DECLARE_ITE_DEV("IT8213"), |
198 | }; | 198 | }; |
199 | 199 | ||
diff --git a/drivers/ide/pci/it821x.c b/drivers/ide/pci/it821x.c index ec45b7247209..06bd5762e0a9 100644 --- a/drivers/ide/pci/it821x.c +++ b/drivers/ide/pci/it821x.c | |||
@@ -638,7 +638,7 @@ static unsigned int __devinit init_chipset_it821x(struct pci_dev *dev, const cha | |||
638 | .pio_mask = ATA_PIO4, \ | 638 | .pio_mask = ATA_PIO4, \ |
639 | } | 639 | } |
640 | 640 | ||
641 | static ide_pci_device_t it821x_chipsets[] __devinitdata = { | 641 | static struct ide_port_info it821x_chipsets[] __devinitdata = { |
642 | /* 0 */ DECLARE_ITE_DEV("IT8212"), | 642 | /* 0 */ DECLARE_ITE_DEV("IT8212"), |
643 | }; | 643 | }; |
644 | 644 | ||
diff --git a/drivers/ide/pci/jmicron.c b/drivers/ide/pci/jmicron.c index 2eeff670d9a6..f7fcc3b2ddbb 100644 --- a/drivers/ide/pci/jmicron.c +++ b/drivers/ide/pci/jmicron.c | |||
@@ -118,7 +118,7 @@ static void __devinit init_hwif_jmicron(ide_hwif_t *hwif) | |||
118 | hwif->cbl = ata66_jmicron(hwif); | 118 | hwif->cbl = ata66_jmicron(hwif); |
119 | } | 119 | } |
120 | 120 | ||
121 | static ide_pci_device_t jmicron_chipset __devinitdata = { | 121 | static struct ide_port_info jmicron_chipset __devinitdata = { |
122 | .name = "JMB", | 122 | .name = "JMB", |
123 | .init_hwif = init_hwif_jmicron, | 123 | .init_hwif = init_hwif_jmicron, |
124 | .host_flags = IDE_HFLAG_BOOTABLE, | 124 | .host_flags = IDE_HFLAG_BOOTABLE, |
diff --git a/drivers/ide/pci/ns87415.c b/drivers/ide/pci/ns87415.c index d21b58923829..f80be320cb99 100644 --- a/drivers/ide/pci/ns87415.c +++ b/drivers/ide/pci/ns87415.c | |||
@@ -260,7 +260,7 @@ static void __devinit init_hwif_ns87415 (ide_hwif_t *hwif) | |||
260 | hwif->ide_dma_end = &ns87415_ide_dma_end; | 260 | hwif->ide_dma_end = &ns87415_ide_dma_end; |
261 | } | 261 | } |
262 | 262 | ||
263 | static ide_pci_device_t ns87415_chipset __devinitdata = { | 263 | static struct ide_port_info ns87415_chipset __devinitdata = { |
264 | .name = "NS87415", | 264 | .name = "NS87415", |
265 | #ifdef CONFIG_SUPERIO | 265 | #ifdef CONFIG_SUPERIO |
266 | .init_iops = init_iops_ns87415, | 266 | .init_iops = init_iops_ns87415, |
diff --git a/drivers/ide/pci/opti621.c b/drivers/ide/pci/opti621.c index 3573ffeaaa34..6152738c1ee8 100644 --- a/drivers/ide/pci/opti621.c +++ b/drivers/ide/pci/opti621.c | |||
@@ -331,7 +331,7 @@ static void __devinit init_hwif_opti621 (ide_hwif_t *hwif) | |||
331 | hwif->set_pio_mode = &opti621_set_pio_mode; | 331 | hwif->set_pio_mode = &opti621_set_pio_mode; |
332 | } | 332 | } |
333 | 333 | ||
334 | static ide_pci_device_t opti621_chipsets[] __devinitdata = { | 334 | static struct ide_port_info opti621_chipsets[] __devinitdata = { |
335 | { /* 0 */ | 335 | { /* 0 */ |
336 | .name = "OPTI621", | 336 | .name = "OPTI621", |
337 | .init_hwif = init_hwif_opti621, | 337 | .init_hwif = init_hwif_opti621, |
diff --git a/drivers/ide/pci/pdc202xx_new.c b/drivers/ide/pci/pdc202xx_new.c index d1e7823454f3..4dc2a8a3e4a0 100644 --- a/drivers/ide/pci/pdc202xx_new.c +++ b/drivers/ide/pci/pdc202xx_new.c | |||
@@ -513,7 +513,7 @@ static struct pci_dev * __devinit pdc20270_get_dev2(struct pci_dev *dev) | |||
513 | .udma_mask = udma, \ | 513 | .udma_mask = udma, \ |
514 | } | 514 | } |
515 | 515 | ||
516 | static ide_pci_device_t pdcnew_chipsets[] __devinitdata = { | 516 | static struct ide_port_info pdcnew_chipsets[] __devinitdata = { |
517 | /* 0 */ DECLARE_PDCNEW_DEV("PDC20268", ATA_UDMA5), | 517 | /* 0 */ DECLARE_PDCNEW_DEV("PDC20268", ATA_UDMA5), |
518 | /* 1 */ DECLARE_PDCNEW_DEV("PDC20269", ATA_UDMA6), | 518 | /* 1 */ DECLARE_PDCNEW_DEV("PDC20269", ATA_UDMA6), |
519 | /* 2 */ DECLARE_PDCNEW_DEV("PDC20270", ATA_UDMA5), | 519 | /* 2 */ DECLARE_PDCNEW_DEV("PDC20270", ATA_UDMA5), |
@@ -534,7 +534,7 @@ static ide_pci_device_t pdcnew_chipsets[] __devinitdata = { | |||
534 | 534 | ||
535 | static int __devinit pdc202new_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 535 | static int __devinit pdc202new_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
536 | { | 536 | { |
537 | ide_pci_device_t *d; | 537 | struct ide_port_info *d; |
538 | struct pci_dev *bridge = dev->bus->self; | 538 | struct pci_dev *bridge = dev->bus->self; |
539 | u8 idx = id->driver_data; | 539 | u8 idx = id->driver_data; |
540 | 540 | ||
diff --git a/drivers/ide/pci/pdc202xx_old.c b/drivers/ide/pci/pdc202xx_old.c index d0efe17d8314..9aacc2f28768 100644 --- a/drivers/ide/pci/pdc202xx_old.c +++ b/drivers/ide/pci/pdc202xx_old.c | |||
@@ -390,7 +390,7 @@ static void __devinit pdc202ata4_fixup_irq(struct pci_dev *dev, | |||
390 | .udma_mask = udma, \ | 390 | .udma_mask = udma, \ |
391 | } | 391 | } |
392 | 392 | ||
393 | static ide_pci_device_t pdc202xx_chipsets[] __devinitdata = { | 393 | static struct ide_port_info pdc202xx_chipsets[] __devinitdata = { |
394 | { /* 0 */ | 394 | { /* 0 */ |
395 | .name = "PDC20246", | 395 | .name = "PDC20246", |
396 | .init_chipset = init_chipset_pdc202xx, | 396 | .init_chipset = init_chipset_pdc202xx, |
@@ -421,7 +421,7 @@ static ide_pci_device_t pdc202xx_chipsets[] __devinitdata = { | |||
421 | 421 | ||
422 | static int __devinit pdc202xx_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 422 | static int __devinit pdc202xx_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
423 | { | 423 | { |
424 | ide_pci_device_t *d; | 424 | struct ide_port_info *d; |
425 | u8 idx = id->driver_data; | 425 | u8 idx = id->driver_data; |
426 | 426 | ||
427 | d = &pdc202xx_chipsets[idx]; | 427 | d = &pdc202xx_chipsets[idx]; |
diff --git a/drivers/ide/pci/piix.c b/drivers/ide/pci/piix.c index ec0c6e96a213..450d3d52bd15 100644 --- a/drivers/ide/pci/piix.c +++ b/drivers/ide/pci/piix.c | |||
@@ -396,7 +396,7 @@ static void __devinit init_hwif_ich(ide_hwif_t *hwif) | |||
396 | .udma_mask = udma, \ | 396 | .udma_mask = udma, \ |
397 | } | 397 | } |
398 | 398 | ||
399 | static ide_pci_device_t piix_pci_info[] __devinitdata = { | 399 | static struct ide_port_info piix_pci_info[] __devinitdata = { |
400 | /* 0 */ DECLARE_PIIX_DEV("PIIXa", 0x00), /* no udma */ | 400 | /* 0 */ DECLARE_PIIX_DEV("PIIXa", 0x00), /* no udma */ |
401 | /* 1 */ DECLARE_PIIX_DEV("PIIXb", 0x00), /* no udma */ | 401 | /* 1 */ DECLARE_PIIX_DEV("PIIXb", 0x00), /* no udma */ |
402 | 402 | ||
@@ -449,9 +449,7 @@ static ide_pci_device_t piix_pci_info[] __devinitdata = { | |||
449 | 449 | ||
450 | static int __devinit piix_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 450 | static int __devinit piix_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
451 | { | 451 | { |
452 | ide_pci_device_t *d = &piix_pci_info[id->driver_data]; | 452 | return ide_setup_pci_device(dev, &piix_pci_info[id->driver_data]); |
453 | |||
454 | return ide_setup_pci_device(dev, d); | ||
455 | } | 453 | } |
456 | 454 | ||
457 | /** | 455 | /** |
diff --git a/drivers/ide/pci/rz1000.c b/drivers/ide/pci/rz1000.c index 5f1ad9ef1fe0..190af15bc832 100644 --- a/drivers/ide/pci/rz1000.c +++ b/drivers/ide/pci/rz1000.c | |||
@@ -49,7 +49,7 @@ static void __devinit init_hwif_rz1000 (ide_hwif_t *hwif) | |||
49 | } | 49 | } |
50 | } | 50 | } |
51 | 51 | ||
52 | static ide_pci_device_t rz1000_chipset __devinitdata = { | 52 | static struct ide_port_info rz1000_chipset __devinitdata = { |
53 | .name = "RZ100x", | 53 | .name = "RZ100x", |
54 | .init_hwif = init_hwif_rz1000, | 54 | .init_hwif = init_hwif_rz1000, |
55 | .chipset = ide_rz1000, | 55 | .chipset = ide_rz1000, |
diff --git a/drivers/ide/pci/sc1200.c b/drivers/ide/pci/sc1200.c index b2423e03bf36..bebe18a7aed9 100644 --- a/drivers/ide/pci/sc1200.c +++ b/drivers/ide/pci/sc1200.c | |||
@@ -372,7 +372,7 @@ static void __devinit init_hwif_sc1200 (ide_hwif_t *hwif) | |||
372 | hwif->ide_dma_end = &sc1200_ide_dma_end; | 372 | hwif->ide_dma_end = &sc1200_ide_dma_end; |
373 | } | 373 | } |
374 | 374 | ||
375 | static ide_pci_device_t sc1200_chipset __devinitdata = { | 375 | static struct ide_port_info sc1200_chipset __devinitdata = { |
376 | .name = "SC1200", | 376 | .name = "SC1200", |
377 | .init_hwif = init_hwif_sc1200, | 377 | .init_hwif = init_hwif_sc1200, |
378 | .host_flags = IDE_HFLAG_SERIALIZE | | 378 | .host_flags = IDE_HFLAG_SERIALIZE | |
diff --git a/drivers/ide/pci/scc_pata.c b/drivers/ide/pci/scc_pata.c index ae9b50331d2a..cb1bfe54b498 100644 --- a/drivers/ide/pci/scc_pata.c +++ b/drivers/ide/pci/scc_pata.c | |||
@@ -538,12 +538,13 @@ static int setup_mmio_scc (struct pci_dev *dev, const char *name) | |||
538 | /** | 538 | /** |
539 | * init_setup_scc - set up an SCC PATA Controller | 539 | * init_setup_scc - set up an SCC PATA Controller |
540 | * @dev: PCI device | 540 | * @dev: PCI device |
541 | * @d: IDE PCI device | 541 | * @d: IDE port info |
542 | * | 542 | * |
543 | * Perform the initial set up for this device. | 543 | * Perform the initial set up for this device. |
544 | */ | 544 | */ |
545 | 545 | ||
546 | static int __devinit init_setup_scc(struct pci_dev *dev, ide_pci_device_t *d) | 546 | static int __devinit init_setup_scc(struct pci_dev *dev, |
547 | struct ide_port_info *d) | ||
547 | { | 548 | { |
548 | unsigned long ctl_base; | 549 | unsigned long ctl_base; |
549 | unsigned long dma_base; | 550 | unsigned long dma_base; |
@@ -702,7 +703,7 @@ static void __devinit init_hwif_scc(ide_hwif_t *hwif) | |||
702 | .pio_mask = ATA_PIO4, \ | 703 | .pio_mask = ATA_PIO4, \ |
703 | } | 704 | } |
704 | 705 | ||
705 | static ide_pci_device_t scc_chipsets[] __devinitdata = { | 706 | static struct ide_port_info scc_chipsets[] __devinitdata = { |
706 | /* 0 */ DECLARE_SCC_DEV("sccIDE"), | 707 | /* 0 */ DECLARE_SCC_DEV("sccIDE"), |
707 | }; | 708 | }; |
708 | 709 | ||
@@ -717,9 +718,7 @@ static ide_pci_device_t scc_chipsets[] __devinitdata = { | |||
717 | 718 | ||
718 | static int __devinit scc_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 719 | static int __devinit scc_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
719 | { | 720 | { |
720 | ide_pci_device_t *d = &scc_chipsets[id->driver_data]; | 721 | return init_setup_scc(dev, &scc_chipsets[id->driver_data]); |
721 | |||
722 | return init_setup_scc(dev, d); | ||
723 | } | 722 | } |
724 | 723 | ||
725 | /** | 724 | /** |
diff --git a/drivers/ide/pci/serverworks.c b/drivers/ide/pci/serverworks.c index 2814b47a0920..be54f4fcb045 100644 --- a/drivers/ide/pci/serverworks.c +++ b/drivers/ide/pci/serverworks.c | |||
@@ -366,7 +366,7 @@ static void __devinit init_hwif_svwks (ide_hwif_t *hwif) | |||
366 | } | 366 | } |
367 | } | 367 | } |
368 | 368 | ||
369 | static ide_pci_device_t serverworks_chipsets[] __devinitdata = { | 369 | static struct ide_port_info serverworks_chipsets[] __devinitdata = { |
370 | { /* 0 */ | 370 | { /* 0 */ |
371 | .name = "SvrWks OSB4", | 371 | .name = "SvrWks OSB4", |
372 | .init_chipset = init_chipset_svwks, | 372 | .init_chipset = init_chipset_svwks, |
@@ -423,7 +423,7 @@ static ide_pci_device_t serverworks_chipsets[] __devinitdata = { | |||
423 | 423 | ||
424 | static int __devinit svwks_init_one(struct pci_dev *dev, const struct pci_device_id *id) | 424 | static int __devinit svwks_init_one(struct pci_dev *dev, const struct pci_device_id *id) |
425 | { | 425 | { |
426 | ide_pci_device_t d; | 426 | struct ide_port_info d; |
427 | u8 idx = id->driver_data; | 427 | u8 idx = id->driver_data; |
428 | 428 | ||
429 | d = serverworks_chipsets[idx]; | 429 | d = serverworks_chipsets[idx]; |
diff --git a/drivers/ide/pci/siimage.c b/drivers/ide/pci/siimage.c index 732043b4deb8..f066bc5bc07d 100644 --- a/drivers/ide/pci/siimage.c +++ b/drivers/ide/pci/siimage.c | |||
@@ -905,7 +905,7 @@ static void __devinit init_hwif_siimage(ide_hwif_t *hwif) | |||
905 | .udma_mask = ATA_UDMA6, \ | 905 | .udma_mask = ATA_UDMA6, \ |
906 | } | 906 | } |
907 | 907 | ||
908 | static ide_pci_device_t siimage_chipsets[] __devinitdata = { | 908 | static struct ide_port_info siimage_chipsets[] __devinitdata = { |
909 | /* 0 */ DECLARE_SII_DEV("SiI680"), | 909 | /* 0 */ DECLARE_SII_DEV("SiI680"), |
910 | /* 1 */ DECLARE_SII_DEV("SiI3112 Serial ATA"), | 910 | /* 1 */ DECLARE_SII_DEV("SiI3112 Serial ATA"), |
911 | /* 2 */ DECLARE_SII_DEV("Adaptec AAR-1210SA") | 911 | /* 2 */ DECLARE_SII_DEV("Adaptec AAR-1210SA") |
diff --git a/drivers/ide/pci/sis5513.c b/drivers/ide/pci/sis5513.c index 1680926acf3a..8223e0e8e3f4 100644 --- a/drivers/ide/pci/sis5513.c +++ b/drivers/ide/pci/sis5513.c | |||
@@ -579,7 +579,7 @@ static void __devinit init_hwif_sis5513 (ide_hwif_t *hwif) | |||
579 | hwif->cbl = ata66_sis5513(hwif); | 579 | hwif->cbl = ata66_sis5513(hwif); |
580 | } | 580 | } |
581 | 581 | ||
582 | static ide_pci_device_t sis5513_chipset __devinitdata = { | 582 | static struct ide_port_info sis5513_chipset __devinitdata = { |
583 | .name = "SIS5513", | 583 | .name = "SIS5513", |
584 | .init_chipset = init_chipset_sis5513, | 584 | .init_chipset = init_chipset_sis5513, |
585 | .init_hwif = init_hwif_sis5513, | 585 | .init_hwif = init_hwif_sis5513, |
diff --git a/drivers/ide/pci/sl82c105.c b/drivers/ide/pci/sl82c105.c index 7b5f7b6d3e0d..8d12888eb38f 100644 --- a/drivers/ide/pci/sl82c105.c +++ b/drivers/ide/pci/sl82c105.c | |||
@@ -387,7 +387,7 @@ static void __devinit init_hwif_sl82c105(ide_hwif_t *hwif) | |||
387 | hwif->serialized = hwif->mate->serialized = 1; | 387 | hwif->serialized = hwif->mate->serialized = 1; |
388 | } | 388 | } |
389 | 389 | ||
390 | static ide_pci_device_t sl82c105_chipset __devinitdata = { | 390 | static struct ide_port_info sl82c105_chipset __devinitdata = { |
391 | .name = "W82C105", | 391 | .name = "W82C105", |
392 | .init_chipset = init_chipset_sl82c105, | 392 | .init_chipset = init_chipset_sl82c105, |
393 | .init_hwif = init_hwif_sl82c105, | 393 | .init_hwif = init_hwif_sl82c105, |
diff --git a/drivers/ide/pci/slc90e66.c b/drivers/ide/pci/slc90e66.c index 4f22dffdf8ef..9352d0c8d055 100644 --- a/drivers/ide/pci/slc90e66.c +++ b/drivers/ide/pci/slc90e66.c | |||
@@ -146,7 +146,7 @@ static void __devinit init_hwif_slc90e66 (ide_hwif_t *hwif) | |||
146 | hwif->cbl = (reg47 & mask) ? ATA_CBL_PATA40 : ATA_CBL_PATA80; | 146 | hwif->cbl = (reg47 & mask) ? ATA_CBL_PATA40 : ATA_CBL_PATA80; |
147 | } | 147 | } |
148 | 148 | ||
149 | static ide_pci_device_t slc90e66_chipset __devinitdata = { | 149 | static struct ide_port_info slc90e66_chipset __devinitdata = { |
150 | .name = "SLC90E66", | 150 | .name = "SLC90E66", |
151 | .init_hwif = init_hwif_slc90e66, | 151 | .init_hwif = init_hwif_slc90e66, |
152 | .enablebits = {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, | 152 | .enablebits = {{0x41,0x80,0x80}, {0x43,0x80,0x80}}, |
diff --git a/drivers/ide/pci/tc86c001.c b/drivers/ide/pci/tc86c001.c index 631506e9b5d2..6e41ccb9f0a7 100644 --- a/drivers/ide/pci/tc86c001.c +++ b/drivers/ide/pci/tc86c001.c | |||
@@ -218,7 +218,7 @@ static unsigned int __devinit init_chipset_tc86c001(struct pci_dev *dev, | |||
218 | return err; | 218 | return err; |
219 | } | 219 | } |
220 | 220 | ||
221 | static ide_pci_device_t tc86c001_chipset __devinitdata = { | 221 | static struct ide_port_info tc86c001_chipset __devinitdata = { |
222 | .name = "TC86C001", | 222 | .name = "TC86C001", |
223 | .init_chipset = init_chipset_tc86c001, | 223 | .init_chipset = init_chipset_tc86c001, |
224 | .init_hwif = init_hwif_tc86c001, | 224 | .init_hwif = init_hwif_tc86c001, |
diff --git a/drivers/ide/pci/triflex.c b/drivers/ide/pci/triflex.c index 30b52f62699a..0755893a3d09 100644 --- a/drivers/ide/pci/triflex.c +++ b/drivers/ide/pci/triflex.c | |||
@@ -102,7 +102,7 @@ static void __devinit init_hwif_triflex(ide_hwif_t *hwif) | |||
102 | hwif->set_dma_mode = &triflex_set_mode; | 102 | hwif->set_dma_mode = &triflex_set_mode; |
103 | } | 103 | } |
104 | 104 | ||
105 | static ide_pci_device_t triflex_device __devinitdata = { | 105 | static struct ide_port_info triflex_device __devinitdata = { |
106 | .name = "TRIFLEX", | 106 | .name = "TRIFLEX", |
107 | .init_hwif = init_hwif_triflex, | 107 | .init_hwif = init_hwif_triflex, |
108 | .enablebits = {{0x80, 0x01, 0x01}, {0x80, 0x02, 0x02}}, | 108 | .enablebits = {{0x80, 0x01, 0x01}, {0x80, 0x02, 0x02}}, |
diff --git a/drivers/ide/pci/trm290.c b/drivers/ide/pci/trm290.c index be5d145a94f1..ed19f0a34444 100644 --- a/drivers/ide/pci/trm290.c +++ b/drivers/ide/pci/trm290.c | |||
@@ -319,7 +319,7 @@ static void __devinit init_hwif_trm290(ide_hwif_t *hwif) | |||
319 | #endif | 319 | #endif |
320 | } | 320 | } |
321 | 321 | ||
322 | static ide_pci_device_t trm290_chipset __devinitdata = { | 322 | static struct ide_port_info trm290_chipset __devinitdata = { |
323 | .name = "TRM290", | 323 | .name = "TRM290", |
324 | .init_hwif = init_hwif_trm290, | 324 | .init_hwif = init_hwif_trm290, |
325 | .chipset = ide_trm290, | 325 | .chipset = ide_trm290, |
diff --git a/drivers/ide/pci/via82cxxx.c b/drivers/ide/pci/via82cxxx.c index 0860b90f1550..69a2a2c177e7 100644 --- a/drivers/ide/pci/via82cxxx.c +++ b/drivers/ide/pci/via82cxxx.c | |||
@@ -432,7 +432,7 @@ static void __devinit init_hwif_via82cxxx(ide_hwif_t *hwif) | |||
432 | hwif->cbl = via82cxxx_cable_detect(hwif); | 432 | hwif->cbl = via82cxxx_cable_detect(hwif); |
433 | } | 433 | } |
434 | 434 | ||
435 | static ide_pci_device_t via82cxxx_chipset __devinitdata = { | 435 | static struct ide_port_info via82cxxx_chipset __devinitdata = { |
436 | .name = "VP_IDE", | 436 | .name = "VP_IDE", |
437 | .init_chipset = init_chipset_via82cxxx, | 437 | .init_chipset = init_chipset_via82cxxx, |
438 | .init_hwif = init_hwif_via82cxxx, | 438 | .init_hwif = init_hwif_via82cxxx, |
@@ -452,7 +452,7 @@ static int __devinit via_init_one(struct pci_dev *dev, const struct pci_device_i | |||
452 | struct pci_dev *isa = NULL; | 452 | struct pci_dev *isa = NULL; |
453 | struct via_isa_bridge *via_config; | 453 | struct via_isa_bridge *via_config; |
454 | u8 idx = id->driver_data; | 454 | u8 idx = id->driver_data; |
455 | ide_pci_device_t d; | 455 | struct ide_port_info d; |
456 | 456 | ||
457 | d = via82cxxx_chipset; | 457 | d = via82cxxx_chipset; |
458 | 458 | ||
diff --git a/drivers/ide/setup-pci.c b/drivers/ide/setup-pci.c index 71be6999f967..3517eb0eddbd 100644 --- a/drivers/ide/setup-pci.c +++ b/drivers/ide/setup-pci.c | |||
@@ -147,15 +147,15 @@ static int ide_setup_pci_baseregs (struct pci_dev *dev, const char *name) | |||
147 | #ifdef CONFIG_BLK_DEV_IDEDMA_PCI | 147 | #ifdef CONFIG_BLK_DEV_IDEDMA_PCI |
148 | /** | 148 | /** |
149 | * ide_get_or_set_dma_base - setup BMIBA | 149 | * ide_get_or_set_dma_base - setup BMIBA |
150 | * @d: IDE pci device data | 150 | * @d: IDE port info |
151 | * @hwif: Interface | 151 | * @hwif: IDE interface |
152 | * | 152 | * |
153 | * Fetch the DMA Bus-Master-I/O-Base-Address (BMIBA) from PCI space. | 153 | * Fetch the DMA Bus-Master-I/O-Base-Address (BMIBA) from PCI space. |
154 | * Where a device has a partner that is already in DMA mode we check | 154 | * Where a device has a partner that is already in DMA mode we check |
155 | * and enforce IDE simplex rules. | 155 | * and enforce IDE simplex rules. |
156 | */ | 156 | */ |
157 | 157 | ||
158 | static unsigned long ide_get_or_set_dma_base(ide_pci_device_t *d, ide_hwif_t *hwif) | 158 | static unsigned long ide_get_or_set_dma_base(struct ide_port_info *d, ide_hwif_t *hwif) |
159 | { | 159 | { |
160 | unsigned long dma_base = 0; | 160 | unsigned long dma_base = 0; |
161 | struct pci_dev *dev = hwif->pci_dev; | 161 | struct pci_dev *dev = hwif->pci_dev; |
@@ -225,7 +225,7 @@ static unsigned long ide_get_or_set_dma_base(ide_pci_device_t *d, ide_hwif_t *hw | |||
225 | } | 225 | } |
226 | #endif /* CONFIG_BLK_DEV_IDEDMA_PCI */ | 226 | #endif /* CONFIG_BLK_DEV_IDEDMA_PCI */ |
227 | 227 | ||
228 | void ide_setup_pci_noise (struct pci_dev *dev, ide_pci_device_t *d) | 228 | void ide_setup_pci_noise(struct pci_dev *dev, struct ide_port_info *d) |
229 | { | 229 | { |
230 | printk(KERN_INFO "%s: IDE controller at PCI slot %s\n", | 230 | printk(KERN_INFO "%s: IDE controller at PCI slot %s\n", |
231 | d->name, pci_name(dev)); | 231 | d->name, pci_name(dev)); |
@@ -237,15 +237,15 @@ EXPORT_SYMBOL_GPL(ide_setup_pci_noise); | |||
237 | /** | 237 | /** |
238 | * ide_pci_enable - do PCI enables | 238 | * ide_pci_enable - do PCI enables |
239 | * @dev: PCI device | 239 | * @dev: PCI device |
240 | * @d: IDE pci device data | 240 | * @d: IDE port info |
241 | * | 241 | * |
242 | * Enable the IDE PCI device. We attempt to enable the device in full | 242 | * Enable the IDE PCI device. We attempt to enable the device in full |
243 | * but if that fails then we only need BAR4 so we will enable that. | 243 | * but if that fails then we only need BAR4 so we will enable that. |
244 | * | 244 | * |
245 | * Returns zero on success or an error code | 245 | * Returns zero on success or an error code |
246 | */ | 246 | */ |
247 | 247 | ||
248 | static int ide_pci_enable(struct pci_dev *dev, ide_pci_device_t *d) | 248 | static int ide_pci_enable(struct pci_dev *dev, struct ide_port_info *d) |
249 | { | 249 | { |
250 | int ret; | 250 | int ret; |
251 | 251 | ||
@@ -260,9 +260,9 @@ static int ide_pci_enable(struct pci_dev *dev, ide_pci_device_t *d) | |||
260 | } | 260 | } |
261 | 261 | ||
262 | /* | 262 | /* |
263 | * assume all devices can do 32-bit dma for now. we can add a | 263 | * assume all devices can do 32-bit DMA for now, we can add |
264 | * dma mask field to the ide_pci_device_t if we need it (or let | 264 | * a DMA mask field to the struct ide_port_info if we need it |
265 | * lower level driver set the dma mask) | 265 | * (or let lower level driver set the DMA mask) |
266 | */ | 266 | */ |
267 | ret = pci_set_dma_mask(dev, DMA_32BIT_MASK); | 267 | ret = pci_set_dma_mask(dev, DMA_32BIT_MASK); |
268 | if (ret < 0) { | 268 | if (ret < 0) { |
@@ -284,13 +284,13 @@ out: | |||
284 | /** | 284 | /** |
285 | * ide_pci_configure - configure an unconfigured device | 285 | * ide_pci_configure - configure an unconfigured device |
286 | * @dev: PCI device | 286 | * @dev: PCI device |
287 | * @d: IDE pci device data | 287 | * @d: IDE port info |
288 | * | 288 | * |
289 | * Enable and configure the PCI device we have been passed. | 289 | * Enable and configure the PCI device we have been passed. |
290 | * Returns zero on success or an error code. | 290 | * Returns zero on success or an error code. |
291 | */ | 291 | */ |
292 | 292 | ||
293 | static int ide_pci_configure(struct pci_dev *dev, ide_pci_device_t *d) | 293 | static int ide_pci_configure(struct pci_dev *dev, struct ide_port_info *d) |
294 | { | 294 | { |
295 | u16 pcicmd = 0; | 295 | u16 pcicmd = 0; |
296 | /* | 296 | /* |
@@ -318,15 +318,15 @@ static int ide_pci_configure(struct pci_dev *dev, ide_pci_device_t *d) | |||
318 | 318 | ||
319 | /** | 319 | /** |
320 | * ide_pci_check_iomem - check a register is I/O | 320 | * ide_pci_check_iomem - check a register is I/O |
321 | * @dev: pci device | 321 | * @dev: PCI device |
322 | * @d: ide_pci_device | 322 | * @d: IDE port info |
323 | * @bar: bar number | 323 | * @bar: BAR number |
324 | * | 324 | * |
325 | * Checks if a BAR is configured and points to MMIO space. If so | 325 | * Checks if a BAR is configured and points to MMIO space. If so |
326 | * print an error and return an error code. Otherwise return 0 | 326 | * print an error and return an error code. Otherwise return 0 |
327 | */ | 327 | */ |
328 | 328 | ||
329 | static int ide_pci_check_iomem(struct pci_dev *dev, ide_pci_device_t *d, int bar) | 329 | static int ide_pci_check_iomem(struct pci_dev *dev, struct ide_port_info *d, int bar) |
330 | { | 330 | { |
331 | ulong flags = pci_resource_flags(dev, bar); | 331 | ulong flags = pci_resource_flags(dev, bar); |
332 | 332 | ||
@@ -348,7 +348,7 @@ static int ide_pci_check_iomem(struct pci_dev *dev, ide_pci_device_t *d, int bar | |||
348 | /** | 348 | /** |
349 | * ide_hwif_configure - configure an IDE interface | 349 | * ide_hwif_configure - configure an IDE interface |
350 | * @dev: PCI device holding interface | 350 | * @dev: PCI device holding interface |
351 | * @d: IDE pci data | 351 | * @d: IDE port info |
352 | * @mate: Paired interface if any | 352 | * @mate: Paired interface if any |
353 | * | 353 | * |
354 | * Perform the initial set up for the hardware interface structure. This | 354 | * Perform the initial set up for the hardware interface structure. This |
@@ -357,8 +357,8 @@ static int ide_pci_check_iomem(struct pci_dev *dev, ide_pci_device_t *d, int bar | |||
357 | * | 357 | * |
358 | * Returns the new hardware interface structure, or NULL on a failure | 358 | * Returns the new hardware interface structure, or NULL on a failure |
359 | */ | 359 | */ |
360 | 360 | ||
361 | static ide_hwif_t *ide_hwif_configure(struct pci_dev *dev, ide_pci_device_t *d, ide_hwif_t *mate, int port, int irq) | 361 | static ide_hwif_t *ide_hwif_configure(struct pci_dev *dev, struct ide_port_info *d, ide_hwif_t *mate, int port, int irq) |
362 | { | 362 | { |
363 | unsigned long ctl = 0, base = 0; | 363 | unsigned long ctl = 0, base = 0; |
364 | ide_hwif_t *hwif; | 364 | ide_hwif_t *hwif; |
@@ -400,7 +400,7 @@ static ide_hwif_t *ide_hwif_configure(struct pci_dev *dev, ide_pci_device_t *d, | |||
400 | } | 400 | } |
401 | hwif->chipset = d->chipset ? d->chipset : ide_pci; | 401 | hwif->chipset = d->chipset ? d->chipset : ide_pci; |
402 | hwif->pci_dev = dev; | 402 | hwif->pci_dev = dev; |
403 | hwif->cds = (struct ide_pci_device_s *) d; | 403 | hwif->cds = d; |
404 | hwif->channel = port; | 404 | hwif->channel = port; |
405 | 405 | ||
406 | if (!hwif->irq) | 406 | if (!hwif->irq) |
@@ -415,21 +415,17 @@ static ide_hwif_t *ide_hwif_configure(struct pci_dev *dev, ide_pci_device_t *d, | |||
415 | /** | 415 | /** |
416 | * ide_hwif_setup_dma - configure DMA interface | 416 | * ide_hwif_setup_dma - configure DMA interface |
417 | * @dev: PCI device | 417 | * @dev: PCI device |
418 | * @d: IDE pci data | 418 | * @d: IDE port info |
419 | * @hwif: Hardware interface we are configuring | 419 | * @hwif: IDE interface |
420 | * | 420 | * |
421 | * Set up the DMA base for the interface. Enable the master bits as | 421 | * Set up the DMA base for the interface. Enable the master bits as |
422 | * necessary and attempt to bring the device DMA into a ready to use | 422 | * necessary and attempt to bring the device DMA into a ready to use |
423 | * state | 423 | * state |
424 | */ | 424 | */ |
425 | 425 | ||
426 | #ifndef CONFIG_BLK_DEV_IDEDMA_PCI | 426 | static void ide_hwif_setup_dma(struct pci_dev *dev, struct ide_port_info *d, ide_hwif_t *hwif) |
427 | static void ide_hwif_setup_dma(struct pci_dev *dev, ide_pci_device_t *d, ide_hwif_t *hwif) | ||
428 | { | ||
429 | } | ||
430 | #else | ||
431 | static void ide_hwif_setup_dma(struct pci_dev *dev, ide_pci_device_t *d, ide_hwif_t *hwif) | ||
432 | { | 427 | { |
428 | #ifdef CONFIG_BLK_DEV_IDEDMA_PCI | ||
433 | u16 pcicmd; | 429 | u16 pcicmd; |
434 | 430 | ||
435 | pci_read_config_word(dev, PCI_COMMAND, &pcicmd); | 431 | pci_read_config_word(dev, PCI_COMMAND, &pcicmd); |
@@ -461,13 +457,13 @@ static void ide_hwif_setup_dma(struct pci_dev *dev, ide_pci_device_t *d, ide_hwi | |||
461 | "(BIOS)\n", hwif->name, d->name); | 457 | "(BIOS)\n", hwif->name, d->name); |
462 | } | 458 | } |
463 | } | 459 | } |
464 | } | ||
465 | #endif /* CONFIG_BLK_DEV_IDEDMA_PCI*/ | 460 | #endif /* CONFIG_BLK_DEV_IDEDMA_PCI*/ |
461 | } | ||
466 | 462 | ||
467 | /** | 463 | /** |
468 | * ide_setup_pci_controller - set up IDE PCI | 464 | * ide_setup_pci_controller - set up IDE PCI |
469 | * @dev: PCI device | 465 | * @dev: PCI device |
470 | * @d: IDE PCI data | 466 | * @d: IDE port info |
471 | * @noisy: verbose flag | 467 | * @noisy: verbose flag |
472 | * @config: returned as 1 if we configured the hardware | 468 | * @config: returned as 1 if we configured the hardware |
473 | * | 469 | * |
@@ -475,8 +471,8 @@ static void ide_hwif_setup_dma(struct pci_dev *dev, ide_pci_device_t *d, ide_hwi | |||
475 | * up the PCI side of the device, checks that the device is enabled | 471 | * up the PCI side of the device, checks that the device is enabled |
476 | * and enables it if need be | 472 | * and enables it if need be |
477 | */ | 473 | */ |
478 | 474 | ||
479 | static int ide_setup_pci_controller(struct pci_dev *dev, ide_pci_device_t *d, int noisy, int *config) | 475 | static int ide_setup_pci_controller(struct pci_dev *dev, struct ide_port_info *d, int noisy, int *config) |
480 | { | 476 | { |
481 | int ret; | 477 | int ret; |
482 | u16 pcicmd; | 478 | u16 pcicmd; |
@@ -511,7 +507,7 @@ out: | |||
511 | /** | 507 | /** |
512 | * ide_pci_setup_ports - configure ports/devices on PCI IDE | 508 | * ide_pci_setup_ports - configure ports/devices on PCI IDE |
513 | * @dev: PCI device | 509 | * @dev: PCI device |
514 | * @d: IDE pci device info | 510 | * @d: IDE port info |
515 | * @pciirq: IRQ line | 511 | * @pciirq: IRQ line |
516 | * @idx: ATA index table to update | 512 | * @idx: ATA index table to update |
517 | * | 513 | * |
@@ -524,7 +520,7 @@ out: | |||
524 | * where the chipset setup is not the default PCI IDE one. | 520 | * where the chipset setup is not the default PCI IDE one. |
525 | */ | 521 | */ |
526 | 522 | ||
527 | void ide_pci_setup_ports(struct pci_dev *dev, ide_pci_device_t *d, int pciirq, u8 *idx) | 523 | void ide_pci_setup_ports(struct pci_dev *dev, struct ide_port_info *d, int pciirq, u8 *idx) |
528 | { | 524 | { |
529 | int channels = (d->host_flags & IDE_HFLAG_SINGLE) ? 1 : 2, port; | 525 | int channels = (d->host_flags & IDE_HFLAG_SINGLE) ? 1 : 2, port; |
530 | ide_hwif_t *hwif, *mate = NULL; | 526 | ide_hwif_t *hwif, *mate = NULL; |
@@ -611,10 +607,11 @@ EXPORT_SYMBOL_GPL(ide_pci_setup_ports); | |||
611 | * | 607 | * |
612 | * One thing that is not standardized is the location of the | 608 | * One thing that is not standardized is the location of the |
613 | * primary/secondary interface "enable/disable" bits. For chipsets that | 609 | * primary/secondary interface "enable/disable" bits. For chipsets that |
614 | * we "know" about, this information is in the ide_pci_device_t struct; | 610 | * we "know" about, this information is in the struct ide_port_info; |
615 | * for all other chipsets, we just assume both interfaces are enabled. | 611 | * for all other chipsets, we just assume both interfaces are enabled. |
616 | */ | 612 | */ |
617 | static int do_ide_setup_pci_device(struct pci_dev *dev, ide_pci_device_t *d, | 613 | static int do_ide_setup_pci_device(struct pci_dev *dev, |
614 | struct ide_port_info *d, | ||
618 | u8 *idx, u8 noisy) | 615 | u8 *idx, u8 noisy) |
619 | { | 616 | { |
620 | int tried_config = 0; | 617 | int tried_config = 0; |
@@ -671,7 +668,7 @@ out: | |||
671 | return ret; | 668 | return ret; |
672 | } | 669 | } |
673 | 670 | ||
674 | int ide_setup_pci_device(struct pci_dev *dev, ide_pci_device_t *d) | 671 | int ide_setup_pci_device(struct pci_dev *dev, struct ide_port_info *d) |
675 | { | 672 | { |
676 | u8 idx[4] = { 0xff, 0xff, 0xff, 0xff }; | 673 | u8 idx[4] = { 0xff, 0xff, 0xff, 0xff }; |
677 | int ret; | 674 | int ret; |
@@ -687,7 +684,7 @@ int ide_setup_pci_device(struct pci_dev *dev, ide_pci_device_t *d) | |||
687 | EXPORT_SYMBOL_GPL(ide_setup_pci_device); | 684 | EXPORT_SYMBOL_GPL(ide_setup_pci_device); |
688 | 685 | ||
689 | int ide_setup_pci_devices(struct pci_dev *dev1, struct pci_dev *dev2, | 686 | int ide_setup_pci_devices(struct pci_dev *dev1, struct pci_dev *dev2, |
690 | ide_pci_device_t *d) | 687 | struct ide_port_info *d) |
691 | { | 688 | { |
692 | struct pci_dev *pdev[] = { dev1, dev2 }; | 689 | struct pci_dev *pdev[] = { dev1, dev2 }; |
693 | int ret, i; | 690 | int ret, i; |
@@ -728,9 +725,6 @@ static LIST_HEAD(ide_pci_drivers); | |||
728 | * hands the controllers off to the core PCI code to do the rest of | 725 | * hands the controllers off to the core PCI code to do the rest of |
729 | * the work. | 726 | * the work. |
730 | * | 727 | * |
731 | * The driver_data of the driver table must point to an ide_pci_device_t | ||
732 | * describing the interface. | ||
733 | * | ||
734 | * Returns are the same as for pci_register_driver | 728 | * Returns are the same as for pci_register_driver |
735 | */ | 729 | */ |
736 | 730 | ||
diff --git a/include/linux/ide.h b/include/linux/ide.h index ff1024eadbd1..eaebd4fcb857 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -644,7 +644,7 @@ typedef struct ide_drive_s { | |||
644 | ((1<<ide_pci)|(1<<ide_cmd646)|(1<<ide_ali14xx)) | 644 | ((1<<ide_pci)|(1<<ide_cmd646)|(1<<ide_ali14xx)) |
645 | #define IDE_CHIPSET_IS_PCI(c) ((IDE_CHIPSET_PCI_MASK >> (c)) & 1) | 645 | #define IDE_CHIPSET_IS_PCI(c) ((IDE_CHIPSET_PCI_MASK >> (c)) & 1) |
646 | 646 | ||
647 | struct ide_pci_device_s; | 647 | struct ide_port_info; |
648 | 648 | ||
649 | typedef struct hwif_s { | 649 | typedef struct hwif_s { |
650 | struct hwif_s *next; /* for linked-list in ide_hwgroup_t */ | 650 | struct hwif_s *next; /* for linked-list in ide_hwgroup_t */ |
@@ -680,7 +680,7 @@ typedef struct hwif_s { | |||
680 | hwif_chipset_t chipset; /* sub-module for tuning.. */ | 680 | hwif_chipset_t chipset; /* sub-module for tuning.. */ |
681 | 681 | ||
682 | struct pci_dev *pci_dev; /* for pci chipsets */ | 682 | struct pci_dev *pci_dev; /* for pci chipsets */ |
683 | struct ide_pci_device_s *cds; /* chipset device struct */ | 683 | struct ide_port_info *cds; /* chipset device struct */ |
684 | 684 | ||
685 | ide_ack_intr_t *ack_intr; | 685 | ide_ack_intr_t *ack_intr; |
686 | 686 | ||
@@ -831,8 +831,6 @@ typedef struct hwgroup_s { | |||
831 | 831 | ||
832 | /* for pci chipsets */ | 832 | /* for pci chipsets */ |
833 | struct pci_dev *pci_dev; | 833 | struct pci_dev *pci_dev; |
834 | /* chipset device struct */ | ||
835 | struct ide_pci_device_s *cds; | ||
836 | 834 | ||
837 | /* current request */ | 835 | /* current request */ |
838 | struct request *rq; | 836 | struct request *rq; |
@@ -1152,8 +1150,8 @@ extern int __ide_pci_register_driver(struct pci_driver *driver, struct module *o | |||
1152 | #define ide_pci_register_driver(d) pci_register_driver(d) | 1150 | #define ide_pci_register_driver(d) pci_register_driver(d) |
1153 | #endif | 1151 | #endif |
1154 | 1152 | ||
1155 | void ide_pci_setup_ports(struct pci_dev *, struct ide_pci_device_s *, int, u8 *); | 1153 | void ide_pci_setup_ports(struct pci_dev *, struct ide_port_info *, int, u8 *); |
1156 | extern void ide_setup_pci_noise (struct pci_dev *dev, struct ide_pci_device_s *d); | 1154 | void ide_setup_pci_noise(struct pci_dev *, struct ide_port_info *); |
1157 | 1155 | ||
1158 | extern void default_hwif_iops(ide_hwif_t *); | 1156 | extern void default_hwif_iops(ide_hwif_t *); |
1159 | extern void default_hwif_mmiops(ide_hwif_t *); | 1157 | extern void default_hwif_mmiops(ide_hwif_t *); |
@@ -1229,7 +1227,7 @@ enum { | |||
1229 | # define IDE_HFLAG_OFF_BOARD 0 | 1227 | # define IDE_HFLAG_OFF_BOARD 0 |
1230 | #endif | 1228 | #endif |
1231 | 1229 | ||
1232 | typedef struct ide_pci_device_s { | 1230 | struct ide_port_info { |
1233 | char *name; | 1231 | char *name; |
1234 | unsigned int (*init_chipset)(struct pci_dev *, const char *); | 1232 | unsigned int (*init_chipset)(struct pci_dev *, const char *); |
1235 | void (*init_iops)(ide_hwif_t *); | 1233 | void (*init_iops)(ide_hwif_t *); |
@@ -1244,10 +1242,10 @@ typedef struct ide_pci_device_s { | |||
1244 | u8 swdma_mask; | 1242 | u8 swdma_mask; |
1245 | u8 mwdma_mask; | 1243 | u8 mwdma_mask; |
1246 | u8 udma_mask; | 1244 | u8 udma_mask; |
1247 | } ide_pci_device_t; | 1245 | }; |
1248 | 1246 | ||
1249 | extern int ide_setup_pci_device(struct pci_dev *, ide_pci_device_t *); | 1247 | int ide_setup_pci_device(struct pci_dev *, struct ide_port_info *); |
1250 | extern int ide_setup_pci_devices(struct pci_dev *, struct pci_dev *, ide_pci_device_t *); | 1248 | int ide_setup_pci_devices(struct pci_dev *, struct pci_dev *, struct ide_port_info *); |
1251 | 1249 | ||
1252 | void ide_map_sg(ide_drive_t *, struct request *); | 1250 | void ide_map_sg(ide_drive_t *, struct request *); |
1253 | void ide_init_sg_cmd(ide_drive_t *, struct request *); | 1251 | void ide_init_sg_cmd(ide_drive_t *, struct request *); |