aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/cmd640.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-04-26 16:25:14 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-04-26 16:25:14 -0400
commitac95beedf8bc97b24f9540d4da9952f07221c023 (patch)
treec29837142c8083b6fcaf1767abcb0a4533676cd1 /drivers/ide/pci/cmd640.c
parent4a27214d7be31e122db4102166f49ec15958e8e9 (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/pci/cmd640.c')
-rw-r--r--drivers/ide/pci/cmd640.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/ide/pci/cmd640.c b/drivers/ide/pci/cmd640.c
index b076dbfc43a7..de1bbdcf2297 100644
--- a/drivers/ide/pci/cmd640.c
+++ b/drivers/ide/pci/cmd640.c
@@ -633,6 +633,9 @@ static void cmd640_set_pio_mode(ide_drive_t *drive, const u8 pio)
633 display_clocks(index); 633 display_clocks(index);
634} 634}
635 635
636static const struct ide_port_ops cmd640_port_ops = {
637 .set_pio_mode = cmd640_set_pio_mode,
638};
636#endif /* CONFIG_BLK_DEV_CMD640_ENHANCED */ 639#endif /* CONFIG_BLK_DEV_CMD640_ENHANCED */
637 640
638static int pci_conf1(void) 641static int pci_conf1(void)
@@ -678,6 +681,7 @@ static const struct ide_port_info cmd640_port_info __initdata = {
678 IDE_HFLAG_ABUSE_PREFETCH | 681 IDE_HFLAG_ABUSE_PREFETCH |
679 IDE_HFLAG_ABUSE_FAST_DEVSEL, 682 IDE_HFLAG_ABUSE_FAST_DEVSEL,
680#ifdef CONFIG_BLK_DEV_CMD640_ENHANCED 683#ifdef CONFIG_BLK_DEV_CMD640_ENHANCED
684 .port_ops = &cmd640_port_ops,
681 .pio_mask = ATA_PIO5, 685 .pio_mask = ATA_PIO5,
682#endif 686#endif
683}; 687};
@@ -752,9 +756,6 @@ static int __init cmd640x_init(void)
752 */ 756 */
753 if (cmd_hwif0) { 757 if (cmd_hwif0) {
754 ide_init_port_hw(cmd_hwif0, &hw[0]); 758 ide_init_port_hw(cmd_hwif0, &hw[0]);
755#ifdef CONFIG_BLK_DEV_CMD640_ENHANCED
756 cmd_hwif0->set_pio_mode = &cmd640_set_pio_mode;
757#endif /* CONFIG_BLK_DEV_CMD640_ENHANCED */
758 759
759 idx[0] = cmd_hwif0->index; 760 idx[0] = cmd_hwif0->index;
760 } 761 }
@@ -808,9 +809,6 @@ static int __init cmd640x_init(void)
808 */ 809 */
809 if (second_port_cmd640 && cmd_hwif1) { 810 if (second_port_cmd640 && cmd_hwif1) {
810 ide_init_port_hw(cmd_hwif1, &hw[1]); 811 ide_init_port_hw(cmd_hwif1, &hw[1]);
811#ifdef CONFIG_BLK_DEV_CMD640_ENHANCED
812 cmd_hwif1->set_pio_mode = &cmd640_set_pio_mode;
813#endif /* CONFIG_BLK_DEV_CMD640_ENHANCED */
814 812
815 idx[1] = cmd_hwif1->index; 813 idx[1] = cmd_hwif1->index;
816 } 814 }