diff options
author | Tejun Heo <tj@kernel.org> | 2010-05-19 22:10:22 +0200 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2010-05-25 19:40:30 -0400 |
commit | 1c5afdf7a629d2e77de8dd043b97a33dcd7e6dfa (patch) | |
tree | 9f29bfdd32dd1bf497167cd7a8f596c7680059dd /drivers/ata/pata_ali.c | |
parent | c3b2889424c26f3b42962b6f39aabb4f1fd1b576 (diff) |
libata-sff: separate out BMDMA init
Separate out ata_pci_bmdma_prepare_host() and ata_pci_bmdma_init_one()
from their SFF counterparts. SFF ones no longer try to initialize
BMDMA or set PCI master.
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata/pata_ali.c')
-rw-r--r-- | drivers/ata/pata_ali.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/ata/pata_ali.c b/drivers/ata/pata_ali.c index f306e10c748..794ec6e3275 100644 --- a/drivers/ata/pata_ali.c +++ b/drivers/ata/pata_ali.c @@ -583,7 +583,10 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id) ppi[0] = &info_20_udma; } - return ata_pci_sff_init_one(pdev, ppi, &ali_sht, NULL, 0); + if (!ppi[0]->mwdma_mask && !ppi[0]->udma_mask) + return ata_pci_sff_init_one(pdev, ppi, &ali_sht, NULL, 0); + else + return ata_pci_bmdma_init_one(pdev, ppi, &ali_sht, NULL, 0); } #ifdef CONFIG_PM |