aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-10-19 18:32:34 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-10-19 18:32:34 -0400
commit039788e1532368eeca1071a873c14e03920cdf38 (patch)
treeb12c736f5e6c96aebdca38155fe93c1ab377cda4
parent6157332edabdf77ccae2a033b53bbc9ae1d70ede (diff)
ide: replace ide_pci_device_t by struct ide_port_info
* Rename struct ide_pci_device_s to struct ide_port_info. * Remove ide_pci_device_t typedef. While at it: * Fix __ide_pci_register_driver() comment. * Fix aec62xx_init_one() comment. * Remove unused 'cds' field from ide_hwgroup_t. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
-rw-r--r--drivers/ide/pci/aec62xx.c8
-rw-r--r--drivers/ide/pci/alim15x3.c4
-rw-r--r--drivers/ide/pci/amd74xx.c4
-rw-r--r--drivers/ide/pci/atiixp.c3
-rw-r--r--drivers/ide/pci/cmd64x.c4
-rw-r--r--drivers/ide/pci/cs5520.c4
-rw-r--r--drivers/ide/pci/cs5530.c2
-rw-r--r--drivers/ide/pci/cs5535.c2
-rw-r--r--drivers/ide/pci/cy82c693.c2
-rw-r--r--drivers/ide/pci/generic.c4
-rw-r--r--drivers/ide/pci/hpt34x.c4
-rw-r--r--drivers/ide/pci/hpt366.c4
-rw-r--r--drivers/ide/pci/it8213.c2
-rw-r--r--drivers/ide/pci/it821x.c2
-rw-r--r--drivers/ide/pci/jmicron.c2
-rw-r--r--drivers/ide/pci/ns87415.c2
-rw-r--r--drivers/ide/pci/opti621.c2
-rw-r--r--drivers/ide/pci/pdc202xx_new.c4
-rw-r--r--drivers/ide/pci/pdc202xx_old.c4
-rw-r--r--drivers/ide/pci/piix.c6
-rw-r--r--drivers/ide/pci/rz1000.c2
-rw-r--r--drivers/ide/pci/sc1200.c2
-rw-r--r--drivers/ide/pci/scc_pata.c11
-rw-r--r--drivers/ide/pci/serverworks.c4
-rw-r--r--drivers/ide/pci/siimage.c2
-rw-r--r--drivers/ide/pci/sis5513.c2
-rw-r--r--drivers/ide/pci/sl82c105.c2
-rw-r--r--drivers/ide/pci/slc90e66.c2
-rw-r--r--drivers/ide/pci/tc86c001.c2
-rw-r--r--drivers/ide/pci/triflex.c2
-rw-r--r--drivers/ide/pci/trm290.c2
-rw-r--r--drivers/ide/pci/via82cxxx.c4
-rw-r--r--drivers/ide/setup-pci.c82
-rw-r--r--include/linux/ide.h18
34 files changed, 97 insertions, 109 deletions
diff --git a/drivers/ide/pci/aec62xx.c b/drivers/ide/pci/aec62xx.c
index 58fc670f913..b2dd8ce06b9 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
197static ide_pci_device_t aec62xx_chipsets[] __devinitdata = { 197static 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
259static int __devinit aec62xx_init_one(struct pci_dev *dev, const struct pci_device_id *id) 259static 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 fe816fd6766..db6b567c1ad 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
749static ide_pci_device_t ali15x3_chipset __devinitdata = { 749static 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 f6aa1d7f3fc..8ef7a5183ff 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
79static struct amd_ide_chip *amd_config; 79static struct amd_ide_chip *amd_config;
80static ide_pci_device_t *amd_chipset; 80static struct ide_port_info *amd_chipset;
81static unsigned int amd_80w; 81static unsigned int amd_80w;
82static unsigned int amd_clock; 82static 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
298static ide_pci_device_t amd74xx_chipsets[] __devinitdata = { 298static 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 30784305307..05972ff47cb 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 192static struct ide_port_info atiixp_pci_info[] __devinitdata = {
193static 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 5c1b897017b..ae01319ed13 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
551static ide_pci_device_t cmd64x_chipsets[] __devinitdata = { 551static 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
592static int __devinit cmd64x_init_one(struct pci_dev *dev, const struct pci_device_id *id) 592static 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 a9e1cafee69..71da68bcd11 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
144static ide_pci_device_t cyrix_chipsets[] __devinitdata = { 144static 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
155static int __devinit cs5520_init_one(struct pci_dev *dev, const struct pci_device_id *id) 155static 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 ba0c6eba024..c08416a1e73 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
264static ide_pci_device_t cs5530_chipset __devinitdata = { 264static 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 5ac82ffa5c0..c94bd06667b 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
189static ide_pci_device_t cs5535_chipset __devinitdata = { 189static 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 e70ffa90aef..c1adc1ba854 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
451static ide_pci_device_t cy82c693_chipset __devinitdata = { 451static 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 b377006d416..2d869aecfb8 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
70static ide_pci_device_t generic_chipsets[] __devinitdata = { 70static 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
124static int __devinit generic_init_one(struct pci_dev *dev, const struct pci_device_id *id) 124static 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 67af1a7dde3..18eaf6b7915 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
132static ide_pci_device_t hpt34x_chipsets[] __devinitdata = { 132static 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
159static int __devinit hpt34x_init_one(struct pci_dev *dev, const struct pci_device_id *id) 159static 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 18f5b7ddaee..d95ec7d7119 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
1428static ide_pci_device_t hpt366_chipsets[] __devinitdata = { 1428static 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 dfbe605120c..52e403f42d5 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
196static ide_pci_device_t it8213_chipsets[] __devinitdata = { 196static 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 ec45b724720..06bd5762e0a 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
641static ide_pci_device_t it821x_chipsets[] __devinitdata = { 641static 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 2eeff670d9a..f7fcc3b2ddb 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
121static ide_pci_device_t jmicron_chipset __devinitdata = { 121static 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 d21b5892382..f80be320cb9 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
263static ide_pci_device_t ns87415_chipset __devinitdata = { 263static 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 3573ffeaaa3..6152738c1ee 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
334static ide_pci_device_t opti621_chipsets[] __devinitdata = { 334static 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 d1e7823454f..4dc2a8a3e4a 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
516static ide_pci_device_t pdcnew_chipsets[] __devinitdata = { 516static 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
535static int __devinit pdc202new_init_one(struct pci_dev *dev, const struct pci_device_id *id) 535static 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 d0efe17d831..9aacc2f2876 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
393static ide_pci_device_t pdc202xx_chipsets[] __devinitdata = { 393static 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
422static int __devinit pdc202xx_init_one(struct pci_dev *dev, const struct pci_device_id *id) 422static 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 ec0c6e96a21..450d3d52bd1 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
399static ide_pci_device_t piix_pci_info[] __devinitdata = { 399static 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
450static int __devinit piix_init_one(struct pci_dev *dev, const struct pci_device_id *id) 450static 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 5f1ad9ef1fe..190af15bc83 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
52static ide_pci_device_t rz1000_chipset __devinitdata = { 52static 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 b2423e03bf3..bebe18a7aed 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
375static ide_pci_device_t sc1200_chipset __devinitdata = { 375static 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 ae9b50331d2..cb1bfe54b49 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
546static int __devinit init_setup_scc(struct pci_dev *dev, ide_pci_device_t *d) 546static 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
705static ide_pci_device_t scc_chipsets[] __devinitdata = { 706static 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
718static int __devinit scc_init_one(struct pci_dev *dev, const struct pci_device_id *id) 719static 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 2814b47a092..be54f4fcb04 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
369static ide_pci_device_t serverworks_chipsets[] __devinitdata = { 369static 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
424static int __devinit svwks_init_one(struct pci_dev *dev, const struct pci_device_id *id) 424static 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 732043b4deb..f066bc5bc07 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
908static ide_pci_device_t siimage_chipsets[] __devinitdata = { 908static 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 1680926acf3..8223e0e8e3f 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
582static ide_pci_device_t sis5513_chipset __devinitdata = { 582static 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 7b5f7b6d3e0..8d12888eb38 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
390static ide_pci_device_t sl82c105_chipset __devinitdata = { 390static 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 4f22dffdf8e..9352d0c8d05 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
149static ide_pci_device_t slc90e66_chipset __devinitdata = { 149static 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 631506e9b5d..6e41ccb9f0a 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
221static ide_pci_device_t tc86c001_chipset __devinitdata = { 221static 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 30b52f62699..0755893a3d0 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
105static ide_pci_device_t triflex_device __devinitdata = { 105static 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 be5d145a94f..ed19f0a3444 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
322static ide_pci_device_t trm290_chipset __devinitdata = { 322static 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 0860b90f155..69a2a2c177e 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
435static ide_pci_device_t via82cxxx_chipset __devinitdata = { 435static 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 71be6999f96..3517eb0eddb 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
158static unsigned long ide_get_or_set_dma_base(ide_pci_device_t *d, ide_hwif_t *hwif) 158static 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
228void ide_setup_pci_noise (struct pci_dev *dev, ide_pci_device_t *d) 228void 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
248static int ide_pci_enable(struct pci_dev *dev, ide_pci_device_t *d) 248static 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
293static int ide_pci_configure(struct pci_dev *dev, ide_pci_device_t *d) 293static 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
329static int ide_pci_check_iomem(struct pci_dev *dev, ide_pci_device_t *d, int bar) 329static 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
361static ide_hwif_t *ide_hwif_configure(struct pci_dev *dev, ide_pci_device_t *d, ide_hwif_t *mate, int port, int irq) 361static 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 426static void ide_hwif_setup_dma(struct pci_dev *dev, struct ide_port_info *d, ide_hwif_t *hwif)
427static void ide_hwif_setup_dma(struct pci_dev *dev, ide_pci_device_t *d, ide_hwif_t *hwif)
428{
429}
430#else
431static 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
479static int ide_setup_pci_controller(struct pci_dev *dev, ide_pci_device_t *d, int noisy, int *config) 475static 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
527void ide_pci_setup_ports(struct pci_dev *dev, ide_pci_device_t *d, int pciirq, u8 *idx) 523void 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 */
617static int do_ide_setup_pci_device(struct pci_dev *dev, ide_pci_device_t *d, 613static 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
674int ide_setup_pci_device(struct pci_dev *dev, ide_pci_device_t *d) 671int 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)
687EXPORT_SYMBOL_GPL(ide_setup_pci_device); 684EXPORT_SYMBOL_GPL(ide_setup_pci_device);
688 685
689int ide_setup_pci_devices(struct pci_dev *dev1, struct pci_dev *dev2, 686int 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 ff1024eadbd..eaebd4fcb85 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
647struct ide_pci_device_s; 647struct ide_port_info;
648 648
649typedef struct hwif_s { 649typedef 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
1155void ide_pci_setup_ports(struct pci_dev *, struct ide_pci_device_s *, int, u8 *); 1153void ide_pci_setup_ports(struct pci_dev *, struct ide_port_info *, int, u8 *);
1156extern void ide_setup_pci_noise (struct pci_dev *dev, struct ide_pci_device_s *d); 1154void ide_setup_pci_noise(struct pci_dev *, struct ide_port_info *);
1157 1155
1158extern void default_hwif_iops(ide_hwif_t *); 1156extern void default_hwif_iops(ide_hwif_t *);
1159extern void default_hwif_mmiops(ide_hwif_t *); 1157extern 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
1232typedef struct ide_pci_device_s { 1230struct 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
1249extern int ide_setup_pci_device(struct pci_dev *, ide_pci_device_t *); 1247int ide_setup_pci_device(struct pci_dev *, struct ide_port_info *);
1250extern int ide_setup_pci_devices(struct pci_dev *, struct pci_dev *, ide_pci_device_t *); 1248int ide_setup_pci_devices(struct pci_dev *, struct pci_dev *, struct ide_port_info *);
1251 1249
1252void ide_map_sg(ide_drive_t *, struct request *); 1250void ide_map_sg(ide_drive_t *, struct request *);
1253void ide_init_sg_cmd(ide_drive_t *, struct request *); 1251void ide_init_sg_cmd(ide_drive_t *, struct request *);