diff options
-rw-r--r-- | drivers/ide/arm/bast-ide.c | 2 | ||||
-rw-r--r-- | drivers/ide/arm/icside.c | 2 | ||||
-rw-r--r-- | drivers/ide/arm/ide_arm.c | 2 | ||||
-rw-r--r-- | drivers/ide/arm/palm_bk3710.c | 2 | ||||
-rw-r--r-- | drivers/ide/arm/rapide.c | 2 | ||||
-rw-r--r-- | drivers/ide/cris/ide-cris.c | 2 | ||||
-rw-r--r-- | drivers/ide/h8300/ide-h8300.c | 3 | ||||
-rw-r--r-- | drivers/ide/ide-generic.c | 2 | ||||
-rw-r--r-- | drivers/ide/ide-pnp.c | 2 | ||||
-rw-r--r-- | drivers/ide/ide.c | 15 | ||||
-rw-r--r-- | drivers/ide/legacy/buddha.c | 2 | ||||
-rw-r--r-- | drivers/ide/legacy/falconide.c | 2 | ||||
-rw-r--r-- | drivers/ide/legacy/gayle.c | 2 | ||||
-rw-r--r-- | drivers/ide/legacy/ide-cs.c | 2 | ||||
-rw-r--r-- | drivers/ide/legacy/ide_platform.c | 2 | ||||
-rw-r--r-- | drivers/ide/legacy/macide.c | 2 | ||||
-rw-r--r-- | drivers/ide/legacy/q40ide.c | 2 | ||||
-rw-r--r-- | drivers/ide/pci/delkin_cb.c | 2 | ||||
-rw-r--r-- | include/linux/ide.h | 2 |
19 files changed, 21 insertions, 31 deletions
diff --git a/drivers/ide/arm/bast-ide.c b/drivers/ide/arm/bast-ide.c index ec46c44b061c..3bd2c6dcd80b 100644 --- a/drivers/ide/arm/bast-ide.c +++ b/drivers/ide/arm/bast-ide.c | |||
@@ -41,7 +41,7 @@ static int __init bastide_register(unsigned int base, unsigned int aux, int irq) | |||
41 | hw.io_ports[IDE_CONTROL_OFFSET] = aux + (6 * 0x20); | 41 | hw.io_ports[IDE_CONTROL_OFFSET] = aux + (6 * 0x20); |
42 | hw.irq = irq; | 42 | hw.irq = irq; |
43 | 43 | ||
44 | hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]); | 44 | hwif = ide_find_port(); |
45 | if (hwif == NULL) | 45 | if (hwif == NULL) |
46 | goto out; | 46 | goto out; |
47 | 47 | ||
diff --git a/drivers/ide/arm/icside.c b/drivers/ide/arm/icside.c index e816b0ffcfe6..fd12bbe93f11 100644 --- a/drivers/ide/arm/icside.c +++ b/drivers/ide/arm/icside.c | |||
@@ -400,7 +400,7 @@ icside_setup(void __iomem *base, struct cardinfo *info, struct expansion_card *e | |||
400 | unsigned long port = (unsigned long)base + info->dataoffset; | 400 | unsigned long port = (unsigned long)base + info->dataoffset; |
401 | ide_hwif_t *hwif; | 401 | ide_hwif_t *hwif; |
402 | 402 | ||
403 | hwif = ide_find_port(port); | 403 | hwif = ide_find_port(); |
404 | if (hwif) { | 404 | if (hwif) { |
405 | int i; | 405 | int i; |
406 | 406 | ||
diff --git a/drivers/ide/arm/ide_arm.c b/drivers/ide/arm/ide_arm.c index be9ff7334c52..82643df7c49a 100644 --- a/drivers/ide/arm/ide_arm.c +++ b/drivers/ide/arm/ide_arm.c | |||
@@ -34,7 +34,7 @@ static int __init ide_arm_init(void) | |||
34 | ide_std_init_ports(&hw, IDE_ARM_IO, IDE_ARM_IO + 0x206); | 34 | ide_std_init_ports(&hw, IDE_ARM_IO, IDE_ARM_IO + 0x206); |
35 | hw.irq = IDE_ARM_IRQ; | 35 | hw.irq = IDE_ARM_IRQ; |
36 | 36 | ||
37 | hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]); | 37 | hwif = ide_find_port(); |
38 | if (hwif) { | 38 | if (hwif) { |
39 | ide_init_port_hw(hwif, &hw); | 39 | ide_init_port_hw(hwif, &hw); |
40 | idx[0] = hwif->index; | 40 | idx[0] = hwif->index; |
diff --git a/drivers/ide/arm/palm_bk3710.c b/drivers/ide/arm/palm_bk3710.c index 420fcb78a7cd..caa419404daa 100644 --- a/drivers/ide/arm/palm_bk3710.c +++ b/drivers/ide/arm/palm_bk3710.c | |||
@@ -378,7 +378,7 @@ static int __devinit palm_bk3710_probe(struct platform_device *pdev) | |||
378 | hw.irq = irq->start; | 378 | hw.irq = irq->start; |
379 | hw.chipset = ide_palm3710; | 379 | hw.chipset = ide_palm3710; |
380 | 380 | ||
381 | hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]); | 381 | hwif = ide_find_port(); |
382 | if (hwif == NULL) | 382 | if (hwif == NULL) |
383 | goto out; | 383 | goto out; |
384 | 384 | ||
diff --git a/drivers/ide/arm/rapide.c b/drivers/ide/arm/rapide.c index b30adcf321c3..2c3d0ec91dc3 100644 --- a/drivers/ide/arm/rapide.c +++ b/drivers/ide/arm/rapide.c | |||
@@ -44,7 +44,7 @@ rapide_probe(struct expansion_card *ec, const struct ecard_id *id) | |||
44 | goto release; | 44 | goto release; |
45 | } | 45 | } |
46 | 46 | ||
47 | hwif = ide_find_port((unsigned long)base); | 47 | hwif = ide_find_port(); |
48 | if (hwif) { | 48 | if (hwif) { |
49 | memset(&hw, 0, sizeof(hw)); | 49 | memset(&hw, 0, sizeof(hw)); |
50 | rapide_setup_ports(&hw, base, base + 0x818, 1 << 6, ec->irq); | 50 | rapide_setup_ports(&hw, base, base + 0x818, 1 << 6, ec->irq); |
diff --git a/drivers/ide/cris/ide-cris.c b/drivers/ide/cris/ide-cris.c index 31266d278095..790a7759d455 100644 --- a/drivers/ide/cris/ide-cris.c +++ b/drivers/ide/cris/ide-cris.c | |||
@@ -804,7 +804,7 @@ static int __init init_e100_ide(void) | |||
804 | 804 | ||
805 | cris_setup_ports(&hw, cris_ide_base_address(h)); | 805 | cris_setup_ports(&hw, cris_ide_base_address(h)); |
806 | 806 | ||
807 | hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]); | 807 | hwif = ide_find_port(); |
808 | if (hwif == NULL) | 808 | if (hwif == NULL) |
809 | continue; | 809 | continue; |
810 | ide_init_port_data(hwif, hwif->index); | 810 | ide_init_port_data(hwif, hwif->index); |
diff --git a/drivers/ide/h8300/ide-h8300.c b/drivers/ide/h8300/ide-h8300.c index 4108ec4ffa7f..92b02b96d7db 100644 --- a/drivers/ide/h8300/ide-h8300.c +++ b/drivers/ide/h8300/ide-h8300.c | |||
@@ -99,8 +99,7 @@ static int __init h8300_ide_init(void) | |||
99 | 99 | ||
100 | hw_setup(&hw); | 100 | hw_setup(&hw); |
101 | 101 | ||
102 | /* register if */ | 102 | hwif = ide_find_port(); |
103 | hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]); | ||
104 | if (hwif == NULL) { | 103 | if (hwif == NULL) { |
105 | printk(KERN_ERR "ide-h8300: IDE I/F register failed\n"); | 104 | printk(KERN_ERR "ide-h8300: IDE I/F register failed\n"); |
106 | return -ENOENT; | 105 | return -ENOENT; |
diff --git a/drivers/ide/ide-generic.c b/drivers/ide/ide-generic.c index 25fda0a3263f..f3ec02ed4492 100644 --- a/drivers/ide/ide-generic.c +++ b/drivers/ide/ide-generic.c | |||
@@ -33,7 +33,7 @@ static ssize_t store_add(struct class *cls, const char *buf, size_t n) | |||
33 | if (sscanf(buf, "%x:%x:%d", &base, &ctl, &irq) != 3) | 33 | if (sscanf(buf, "%x:%x:%d", &base, &ctl, &irq) != 3) |
34 | return -EINVAL; | 34 | return -EINVAL; |
35 | 35 | ||
36 | hwif = ide_find_port(base); | 36 | hwif = ide_find_port(); |
37 | if (hwif == NULL) | 37 | if (hwif == NULL) |
38 | return -ENOENT; | 38 | return -ENOENT; |
39 | 39 | ||
diff --git a/drivers/ide/ide-pnp.c b/drivers/ide/ide-pnp.c index 34c2ad36ce54..efc193602bf8 100644 --- a/drivers/ide/ide-pnp.c +++ b/drivers/ide/ide-pnp.c | |||
@@ -38,7 +38,7 @@ static int idepnp_probe(struct pnp_dev * dev, const struct pnp_device_id *dev_id | |||
38 | pnp_port_start(dev, 1)); | 38 | pnp_port_start(dev, 1)); |
39 | hw.irq = pnp_irq(dev, 0); | 39 | hw.irq = pnp_irq(dev, 0); |
40 | 40 | ||
41 | hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]); | 41 | hwif = ide_find_port(); |
42 | if (hwif) { | 42 | if (hwif) { |
43 | u8 index = hwif->index; | 43 | u8 index = hwif->index; |
44 | u8 idx[4] = { index, 0xff, 0xff, 0xff }; | 44 | u8 idx[4] = { index, 0xff, 0xff, 0xff }; |
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index 917c72dcd33d..4ca511156a11 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c | |||
@@ -232,28 +232,19 @@ static int ide_system_bus_speed(void) | |||
232 | return pci_dev_present(pci_default) ? 33 : 50; | 232 | return pci_dev_present(pci_default) ? 33 : 50; |
233 | } | 233 | } |
234 | 234 | ||
235 | ide_hwif_t * ide_find_port(unsigned long base) | 235 | ide_hwif_t *ide_find_port(void) |
236 | { | 236 | { |
237 | ide_hwif_t *hwif; | 237 | ide_hwif_t *hwif; |
238 | int i; | 238 | int i; |
239 | 239 | ||
240 | for (i = 0; i < MAX_HWIFS; i++) { | 240 | for (i = 0; i < MAX_HWIFS; i++) { |
241 | hwif = &ide_hwifs[i]; | 241 | hwif = &ide_hwifs[i]; |
242 | if (hwif->io_ports[IDE_DATA_OFFSET] == base) | ||
243 | goto found; | ||
244 | } | ||
245 | |||
246 | for (i = 0; i < MAX_HWIFS; i++) { | ||
247 | hwif = &ide_hwifs[i]; | ||
248 | if (hwif->chipset == ide_unknown) | 242 | if (hwif->chipset == ide_unknown) |
249 | goto found; | 243 | return hwif; |
250 | } | 244 | } |
251 | 245 | ||
252 | hwif = NULL; | 246 | return NULL; |
253 | found: | ||
254 | return hwif; | ||
255 | } | 247 | } |
256 | |||
257 | EXPORT_SYMBOL_GPL(ide_find_port); | 248 | EXPORT_SYMBOL_GPL(ide_find_port); |
258 | 249 | ||
259 | static struct resource* hwif_request_region(ide_hwif_t *hwif, | 250 | static struct resource* hwif_request_region(ide_hwif_t *hwif, |
diff --git a/drivers/ide/legacy/buddha.c b/drivers/ide/legacy/buddha.c index fdd3791e465f..6956eb8f2d5f 100644 --- a/drivers/ide/legacy/buddha.c +++ b/drivers/ide/legacy/buddha.c | |||
@@ -221,7 +221,7 @@ fail_base2: | |||
221 | 221 | ||
222 | buddha_setup_ports(&hw, base, ctl, irq_port, ack_intr); | 222 | buddha_setup_ports(&hw, base, ctl, irq_port, ack_intr); |
223 | 223 | ||
224 | hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]); | 224 | hwif = ide_find_port(); |
225 | if (hwif) { | 225 | if (hwif) { |
226 | u8 index = hwif->index; | 226 | u8 index = hwif->index; |
227 | 227 | ||
diff --git a/drivers/ide/legacy/falconide.c b/drivers/ide/legacy/falconide.c index e950afa5939c..b88a3c192d84 100644 --- a/drivers/ide/legacy/falconide.c +++ b/drivers/ide/legacy/falconide.c | |||
@@ -76,7 +76,7 @@ static int __init falconide_init(void) | |||
76 | 76 | ||
77 | falconide_setup_ports(&hw); | 77 | falconide_setup_ports(&hw); |
78 | 78 | ||
79 | hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]); | 79 | hwif = ide_find_port(); |
80 | if (hwif) { | 80 | if (hwif) { |
81 | u8 index = hwif->index; | 81 | u8 index = hwif->index; |
82 | u8 idx[4] = { index, 0xff, 0xff, 0xff }; | 82 | u8 idx[4] = { index, 0xff, 0xff, 0xff }; |
diff --git a/drivers/ide/legacy/gayle.c b/drivers/ide/legacy/gayle.c index e3b4638cc883..fcc8d52bf2a1 100644 --- a/drivers/ide/legacy/gayle.c +++ b/drivers/ide/legacy/gayle.c | |||
@@ -175,7 +175,7 @@ found: | |||
175 | 175 | ||
176 | gayle_setup_ports(&hw, base, ctrlport, irqport, ack_intr); | 176 | gayle_setup_ports(&hw, base, ctrlport, irqport, ack_intr); |
177 | 177 | ||
178 | hwif = ide_find_port(base); | 178 | hwif = ide_find_port(); |
179 | if (hwif) { | 179 | if (hwif) { |
180 | u8 index = hwif->index; | 180 | u8 index = hwif->index; |
181 | 181 | ||
diff --git a/drivers/ide/legacy/ide-cs.c b/drivers/ide/legacy/ide-cs.c index 9a23b94f2939..b97b8d51b3eb 100644 --- a/drivers/ide/legacy/ide-cs.c +++ b/drivers/ide/legacy/ide-cs.c | |||
@@ -156,7 +156,7 @@ static int idecs_register(unsigned long io, unsigned long ctl, unsigned long irq | |||
156 | hw.chipset = ide_pci; | 156 | hw.chipset = ide_pci; |
157 | hw.dev = &handle->dev; | 157 | hw.dev = &handle->dev; |
158 | 158 | ||
159 | hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]); | 159 | hwif = ide_find_port(); |
160 | if (hwif == NULL) | 160 | if (hwif == NULL) |
161 | return -1; | 161 | return -1; |
162 | 162 | ||
diff --git a/drivers/ide/legacy/ide_platform.c b/drivers/ide/legacy/ide_platform.c index 361b1bb544bf..ffa57c1175d0 100644 --- a/drivers/ide/legacy/ide_platform.c +++ b/drivers/ide/legacy/ide_platform.c | |||
@@ -89,7 +89,7 @@ static int __devinit plat_ide_probe(struct platform_device *pdev) | |||
89 | res_alt->start, res_alt->end - res_alt->start + 1); | 89 | res_alt->start, res_alt->end - res_alt->start + 1); |
90 | } | 90 | } |
91 | 91 | ||
92 | hwif = ide_find_port((unsigned long)base); | 92 | hwif = ide_find_port(); |
93 | if (!hwif) { | 93 | if (!hwif) { |
94 | ret = -ENODEV; | 94 | ret = -ENODEV; |
95 | goto out; | 95 | goto out; |
diff --git a/drivers/ide/legacy/macide.c b/drivers/ide/legacy/macide.c index eaf5dbe58bc2..7429b80cb089 100644 --- a/drivers/ide/legacy/macide.c +++ b/drivers/ide/legacy/macide.c | |||
@@ -120,7 +120,7 @@ static int __init macide_init(void) | |||
120 | 120 | ||
121 | macide_setup_ports(&hw, base, irq, ack_intr); | 121 | macide_setup_ports(&hw, base, irq, ack_intr); |
122 | 122 | ||
123 | hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]); | 123 | hwif = ide_find_port(); |
124 | if (hwif) { | 124 | if (hwif) { |
125 | u8 index = hwif->index; | 125 | u8 index = hwif->index; |
126 | u8 idx[4] = { index, 0xff, 0xff, 0xff }; | 126 | u8 idx[4] = { index, 0xff, 0xff, 0xff }; |
diff --git a/drivers/ide/legacy/q40ide.c b/drivers/ide/legacy/q40ide.c index 2da28759686e..fcbff0eced1b 100644 --- a/drivers/ide/legacy/q40ide.c +++ b/drivers/ide/legacy/q40ide.c | |||
@@ -137,7 +137,7 @@ static int __init q40ide_init(void) | |||
137 | // m68kide_iops, | 137 | // m68kide_iops, |
138 | q40ide_default_irq(pcide_bases[i])); | 138 | q40ide_default_irq(pcide_bases[i])); |
139 | 139 | ||
140 | hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]); | 140 | hwif = ide_find_port(); |
141 | if (hwif) { | 141 | if (hwif) { |
142 | ide_init_port_data(hwif, hwif->index); | 142 | ide_init_port_data(hwif, hwif->index); |
143 | ide_init_port_hw(hwif, &hw); | 143 | ide_init_port_hw(hwif, &hw); |
diff --git a/drivers/ide/pci/delkin_cb.c b/drivers/ide/pci/delkin_cb.c index 961698d655eb..53857f809667 100644 --- a/drivers/ide/pci/delkin_cb.c +++ b/drivers/ide/pci/delkin_cb.c | |||
@@ -78,7 +78,7 @@ delkin_cb_probe (struct pci_dev *dev, const struct pci_device_id *id) | |||
78 | hw.irq = dev->irq; | 78 | hw.irq = dev->irq; |
79 | hw.chipset = ide_pci; /* this enables IRQ sharing */ | 79 | hw.chipset = ide_pci; /* this enables IRQ sharing */ |
80 | 80 | ||
81 | hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]); | 81 | hwif = ide_find_port(); |
82 | if (hwif == NULL) | 82 | if (hwif == NULL) |
83 | goto out_disable; | 83 | goto out_disable; |
84 | 84 | ||
diff --git a/include/linux/ide.h b/include/linux/ide.h index 5f3e82ae901a..c5728dd5d9d9 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -170,7 +170,7 @@ typedef struct hw_regs_s { | |||
170 | struct device *dev; | 170 | struct device *dev; |
171 | } hw_regs_t; | 171 | } hw_regs_t; |
172 | 172 | ||
173 | struct hwif_s * ide_find_port(unsigned long); | 173 | struct hwif_s *ide_find_port(void); |
174 | void ide_init_port_data(struct hwif_s *, unsigned int); | 174 | void ide_init_port_data(struct hwif_s *, unsigned int); |
175 | void ide_init_port_hw(struct hwif_s *, hw_regs_t *); | 175 | void ide_init_port_hw(struct hwif_s *, hw_regs_t *); |
176 | 176 | ||