diff options
Diffstat (limited to 'drivers/ide/legacy/umc8672.c')
-rw-r--r-- | drivers/ide/legacy/umc8672.c | 27 |
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 | ||
134 | static int __init umc8672_probe(void) | 134 | static 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 | ||
183 | int probe_umc8672; | 158 | int probe_umc8672; |