diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-04-26 16:25:14 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-04-26 16:25:14 -0400 |
commit | ac95beedf8bc97b24f9540d4da9952f07221c023 (patch) | |
tree | c29837142c8083b6fcaf1767abcb0a4533676cd1 /drivers/ide/legacy/ali14xx.c | |
parent | 4a27214d7be31e122db4102166f49ec15958e8e9 (diff) |
ide: add struct ide_port_ops (take 2)
* Move hooks for port/host specific methods from ide_hwif_t to
'struct ide_port_ops'.
* Add 'const struct ide_port_ops *port_ops' to 'struct ide_port_info'
and ide_hwif_t.
* Update host drivers and core code accordingly.
While at it:
* Rename ata66_*() cable detect functions to *_cable_detect() to match
the standard naming. (Suggested by Sergei Shtylyov)
v2:
* Fix build for bast-ide. (Noticed by Andrew Morton)
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/legacy/ali14xx.c')
-rw-r--r-- | drivers/ide/legacy/ali14xx.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/ide/legacy/ali14xx.c b/drivers/ide/legacy/ali14xx.c index 33bb7b87be5d..a940784d5796 100644 --- a/drivers/ide/legacy/ali14xx.c +++ b/drivers/ide/legacy/ali14xx.c | |||
@@ -192,8 +192,13 @@ static int __init initRegisters(void) | |||
192 | return t; | 192 | return t; |
193 | } | 193 | } |
194 | 194 | ||
195 | static const struct ide_port_ops ali14xx_port_ops = { | ||
196 | .set_pio_mode = ali14xx_set_pio_mode, | ||
197 | }; | ||
198 | |||
195 | static const struct ide_port_info ali14xx_port_info = { | 199 | static const struct ide_port_info ali14xx_port_info = { |
196 | .chipset = ide_ali14xx, | 200 | .chipset = ide_ali14xx, |
201 | .port_ops = &ali14xx_port_ops, | ||
197 | .host_flags = IDE_HFLAG_NO_DMA | IDE_HFLAG_NO_AUTOTUNE, | 202 | .host_flags = IDE_HFLAG_NO_DMA | IDE_HFLAG_NO_AUTOTUNE, |
198 | .pio_mask = ATA_PIO4, | 203 | .pio_mask = ATA_PIO4, |
199 | }; | 204 | }; |
@@ -224,14 +229,12 @@ static int __init ali14xx_probe(void) | |||
224 | hwif = ide_find_port(); | 229 | hwif = ide_find_port(); |
225 | if (hwif) { | 230 | if (hwif) { |
226 | ide_init_port_hw(hwif, &hw[0]); | 231 | ide_init_port_hw(hwif, &hw[0]); |
227 | hwif->set_pio_mode = &ali14xx_set_pio_mode; | ||
228 | idx[0] = hwif->index; | 232 | idx[0] = hwif->index; |
229 | } | 233 | } |
230 | 234 | ||
231 | mate = ide_find_port(); | 235 | mate = ide_find_port(); |
232 | if (mate) { | 236 | if (mate) { |
233 | ide_init_port_hw(mate, &hw[1]); | 237 | ide_init_port_hw(mate, &hw[1]); |
234 | mate->set_pio_mode = &ali14xx_set_pio_mode; | ||
235 | idx[1] = mate->index; | 238 | idx[1] = mate->index; |
236 | } | 239 | } |
237 | 240 | ||