aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/h8300/ide-h8300.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/h8300/ide-h8300.c')
-rw-r--r--drivers/ide/h8300/ide-h8300.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/ide/h8300/ide-h8300.c b/drivers/ide/h8300/ide-h8300.c
index 4a49b5c59acb..57d0d4ce8588 100644
--- a/drivers/ide/h8300/ide-h8300.c
+++ b/drivers/ide/h8300/ide-h8300.c
@@ -88,7 +88,7 @@ void __init h8300_ide_init(void)
88{ 88{
89 hw_regs_t hw; 89 hw_regs_t hw;
90 ide_hwif_t *hwif; 90 ide_hwif_t *hwif;
91 int idx; 91 int index;
92 92
93 if (!request_region(CONFIG_H8300_IDE_BASE, H8300_IDE_GAP*8, "ide-h8300")) 93 if (!request_region(CONFIG_H8300_IDE_BASE, H8300_IDE_GAP*8, "ide-h8300"))
94 goto out_busy; 94 goto out_busy;
@@ -100,14 +100,17 @@ void __init h8300_ide_init(void)
100 hw_setup(&hw); 100 hw_setup(&hw);
101 101
102 /* register if */ 102 /* register if */
103 idx = ide_register_hw(&hw, NULL, 1, &hwif); 103 hwif = ide_find_port(hw.io_ports[IDE_DATA_OFFSET]);
104 if (idx == -1) { 104 if (hwif == NULL) {
105 printk(KERN_ERR "ide-h8300: IDE I/F register failed\n"); 105 printk(KERN_ERR "ide-h8300: IDE I/F register failed\n");
106 return; 106 return;
107 } 107 }
108 108
109 index = hwif->index;
110 ide_init_port_data(hwif, index);
111 ide_init_port_hw(hwif, &hw);
109 hwif_setup(hwif); 112 hwif_setup(hwif);
110 printk(KERN_INFO "ide%d: H8/300 generic IDE interface\n", idx); 113 printk(KERN_INFO "ide%d: H8/300 generic IDE interface\n", index);
111 return; 114 return;
112 115
113out_busy: 116out_busy: