Skip to content
  • Tejun Heo's avatar
    libata-sff: clean up inheritance in several drivers · 8930ff25
    Tejun Heo authored
    
    
    1. pata_cmd640 is PIO only.  Inherit from sff.
    
    2. pata_macio is BMDMA.  Inherit from bmdma and drop explicit
       bmdma_mode_filter() setting.
    
    3. In sata_mv, unlike mv5, mv6 is BMDMA.  Inherit from bmdma and
       don't clear ->post_internal_cmd().
    
    4. bf54x and icside are quasi-BMDMA controllers which don't use the
       standard BMDMA registers so they don't initialize bmdma_addr and
       inherit from sff to avoid the default mode_filter which disables
       DMA modes if bmdma_addr is not initialized.
    
    For 2 and 3, this patch makes the drivers explicitly specify
    ->mode_filter to ATA_OP_NULL while inheriting from ata_bmdma_port_ops.
    These will be removed by the next patch.
    
    This patch makes all and only BMDMA drivers inherit from
    ata_bmdma_port_ops to ease further SFF/BMDMA separation.
    
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
    8930ff25