diff options
Diffstat (limited to 'drivers/ide/legacy/ide-cs.c')
-rw-r--r-- | drivers/ide/legacy/ide-cs.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/ide/legacy/ide-cs.c b/drivers/ide/legacy/ide-cs.c index 8dbf4d9b6447..fc53dcfbfe38 100644 --- a/drivers/ide/legacy/ide-cs.c +++ b/drivers/ide/legacy/ide-cs.c | |||
@@ -154,6 +154,11 @@ static const struct ide_port_ops idecs_port_ops = { | |||
154 | .quirkproc = ide_undecoded_slave, | 154 | .quirkproc = ide_undecoded_slave, |
155 | }; | 155 | }; |
156 | 156 | ||
157 | static const struct ide_port_info idecs_port_info = { | ||
158 | .port_ops = &idecs_port_ops, | ||
159 | .host_flags = IDE_HFLAG_NO_DMA, | ||
160 | }; | ||
161 | |||
157 | static ide_hwif_t *idecs_register(unsigned long io, unsigned long ctl, | 162 | static ide_hwif_t *idecs_register(unsigned long io, unsigned long ctl, |
158 | unsigned long irq, struct pcmcia_device *handle) | 163 | unsigned long irq, struct pcmcia_device *handle) |
159 | { | 164 | { |
@@ -187,13 +192,11 @@ static ide_hwif_t *idecs_register(unsigned long io, unsigned long ctl, | |||
187 | 192 | ||
188 | i = hwif->index; | 193 | i = hwif->index; |
189 | 194 | ||
190 | ide_init_port_data(hwif, i); | ||
191 | ide_init_port_hw(hwif, &hw); | 195 | ide_init_port_hw(hwif, &hw); |
192 | hwif->port_ops = &idecs_port_ops; | ||
193 | 196 | ||
194 | idx[0] = i; | 197 | idx[0] = i; |
195 | 198 | ||
196 | ide_device_add(idx, NULL); | 199 | ide_device_add(idx, &idecs_port_info); |
197 | 200 | ||
198 | if (hwif->present) | 201 | if (hwif->present) |
199 | return hwif; | 202 | return hwif; |