aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/legacy/ht6560b.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/legacy/ht6560b.c')
-rw-r--r--drivers/ide/legacy/ht6560b.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/ide/legacy/ht6560b.c b/drivers/ide/legacy/ht6560b.c
index 78ca68e60f97..314e6c6aeb6c 100644
--- a/drivers/ide/legacy/ht6560b.c
+++ b/drivers/ide/legacy/ht6560b.c
@@ -82,7 +82,7 @@
82 * out how they setup those cycle time interfacing values, as they at Holtek 82 * out how they setup those cycle time interfacing values, as they at Holtek
83 * call them. IDESETUP.COM that is supplied with the drivers figures out 83 * call them. IDESETUP.COM that is supplied with the drivers figures out
84 * optimal values and fetches those values to drivers. I found out that 84 * optimal values and fetches those values to drivers. I found out that
85 * they use IDE_SELECT_REG to fetch timings to the ide board right after 85 * they use Select register to fetch timings to the ide board right after
86 * interface switching. After that it was quite easy to add code to 86 * interface switching. After that it was quite easy to add code to
87 * ht6560b.c. 87 * ht6560b.c.
88 * 88 *
@@ -127,6 +127,7 @@
127 */ 127 */
128static void ht6560b_selectproc (ide_drive_t *drive) 128static void ht6560b_selectproc (ide_drive_t *drive)
129{ 129{
130 ide_hwif_t *hwif = drive->hwif;
130 unsigned long flags; 131 unsigned long flags;
131 static u8 current_select = 0; 132 static u8 current_select = 0;
132 static u8 current_timing = 0; 133 static u8 current_timing = 0;
@@ -155,8 +156,8 @@ static void ht6560b_selectproc (ide_drive_t *drive)
155 /* 156 /*
156 * Set timing for this drive: 157 * Set timing for this drive:
157 */ 158 */
158 outb(timing, IDE_SELECT_REG); 159 outb(timing, hwif->io_ports[IDE_SELECT_OFFSET]);
159 (void)inb(IDE_STATUS_REG); 160 (void)inb(hwif->io_ports[IDE_STATUS_OFFSET]);
160#ifdef DEBUG 161#ifdef DEBUG
161 printk("ht6560b: %s: select=%#x timing=%#x\n", 162 printk("ht6560b: %s: select=%#x timing=%#x\n",
162 drive->name, select, timing); 163 drive->name, select, timing);
@@ -193,9 +194,9 @@ static int __init try_to_init_ht6560b(void)
193 * Ht6560b autodetected 194 * Ht6560b autodetected
194 */ 195 */
195 outb(HT_CONFIG_DEFAULT, HT_CONFIG_PORT); 196 outb(HT_CONFIG_DEFAULT, HT_CONFIG_PORT);
196 outb(HT_TIMING_DEFAULT, 0x1f6); /* IDE_SELECT_REG */ 197 outb(HT_TIMING_DEFAULT, 0x1f6); /* Select register */
197 (void) inb(0x1f7); /* IDE_STATUS_REG */ 198 (void)inb(0x1f7); /* Status register */
198 199
199 printk("ht6560b " HT6560B_VERSION 200 printk("ht6560b " HT6560B_VERSION
200 ": chipset detected and initialized" 201 ": chipset detected and initialized"
201#ifdef DEBUG 202#ifdef DEBUG