aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/legacy/umc8672.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/legacy/umc8672.c')
-rw-r--r--drivers/ide/legacy/umc8672.c27
1 files changed, 1 insertions, 26 deletions
diff --git a/drivers/ide/legacy/umc8672.c b/drivers/ide/legacy/umc8672.c
index 757156060a6b..b48ee345f817 100644
--- a/drivers/ide/legacy/umc8672.c
+++ b/drivers/ide/legacy/umc8672.c
@@ -133,10 +133,7 @@ static const struct ide_port_info umc8672_port_info __initdata = {
133 133
134static int __init umc8672_probe(void) 134static int __init umc8672_probe(void)
135{ 135{
136 ide_hwif_t *hwif, *mate;
137 unsigned long flags; 136 unsigned long flags;
138 static u8 idx[4] = { 0xff, 0xff, 0xff, 0xff };
139 hw_regs_t hw[2];
140 137
141 if (!request_region(0x108, 2, "umc8672")) { 138 if (!request_region(0x108, 2, "umc8672")) {
142 printk(KERN_ERR "umc8672: ports 0x108-0x109 already in use.\n"); 139 printk(KERN_ERR "umc8672: ports 0x108-0x109 already in use.\n");
@@ -155,29 +152,7 @@ static int __init umc8672_probe(void)
155 umc_set_speeds(current_speeds); 152 umc_set_speeds(current_speeds);
156 local_irq_restore(flags); 153 local_irq_restore(flags);
157 154
158 memset(&hw, 0, sizeof(hw)); 155 return ide_legacy_device_add(&umc8672_port_info);
159
160 ide_std_init_ports(&hw[0], 0x1f0, 0x3f6);
161 hw[0].irq = 14;
162
163 ide_std_init_ports(&hw[1], 0x170, 0x376);
164 hw[1].irq = 15;
165
166 hwif = ide_find_port();
167 if (hwif) {
168 ide_init_port_hw(hwif, &hw[0]);
169 idx[0] = hwif->index;
170 }
171
172 mate = ide_find_port();
173 if (mate) {
174 ide_init_port_hw(mate, &hw[1]);
175 idx[1] = mate->index;
176 }
177
178 ide_device_add(idx, &umc8672_port_info);
179
180 return 0;
181} 156}
182 157
183int probe_umc8672; 158int probe_umc8672;