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>
This commit is contained in:
@@ -326,28 +326,24 @@ static void __devinit opti621_port_init_devs(ide_hwif_t *hwif)
|
||||
hwif->drives[1].drive_data = PIO_DONT_KNOW;
|
||||
}
|
||||
|
||||
/*
|
||||
* init_hwif_opti621() is called once for each hwif found at boot.
|
||||
*/
|
||||
static void __devinit init_hwif_opti621(ide_hwif_t *hwif)
|
||||
{
|
||||
hwif->port_init_devs = opti621_port_init_devs;
|
||||
hwif->set_pio_mode = &opti621_set_pio_mode;
|
||||
}
|
||||
static const struct ide_port_ops opti621_port_ops = {
|
||||
.port_init_devs = opti621_port_init_devs,
|
||||
.set_pio_mode = opti621_set_pio_mode,
|
||||
};
|
||||
|
||||
static const struct ide_port_info opti621_chipsets[] __devinitdata = {
|
||||
{ /* 0 */
|
||||
.name = "OPTI621",
|
||||
.init_hwif = init_hwif_opti621,
|
||||
.enablebits = { {0x45, 0x80, 0x00}, {0x40, 0x08, 0x00} },
|
||||
.port_ops = &opti621_port_ops,
|
||||
.host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA,
|
||||
.pio_mask = ATA_PIO3,
|
||||
.swdma_mask = ATA_SWDMA2,
|
||||
.mwdma_mask = ATA_MWDMA2,
|
||||
}, { /* 1 */
|
||||
.name = "OPTI621X",
|
||||
.init_hwif = init_hwif_opti621,
|
||||
.enablebits = { {0x45, 0x80, 0x00}, {0x40, 0x08, 0x00} },
|
||||
.port_ops = &opti621_port_ops,
|
||||
.host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA,
|
||||
.pio_mask = ATA_PIO3,
|
||||
.swdma_mask = ATA_SWDMA2,
|
||||
|
||||
Reference in New Issue
Block a user