pata_atiixp: update port enabledness test handling
PATCH 1/2 pata_atiixp: update port enabledness test handling
Port enabledness test fits much better into init_one() instead of pre_reset(). The reason why these tests are in pre_reset() is purely historical at this point. Move it to init_one(). This will help further changes.
--- drivers/ata/pata_atiixp.c | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-)
drivers/ata/pata_atiixp.c +13 -19
@@ -32,21 +32,6 @@ enum { ATIIXP_IDE_UDMA_MODE = 0x56 }; -static int atiixp_pre_reset (struct ata_link *link,unsigned long deadline) -{ -struct ata_port *ap = link->ap; -static const struct pci_bits atiixp_enable_bits[] = { - {0x48 ,1 ,0x01 ,0x00 }, - {0x48 ,1 ,0x08 ,0x00 } - }; -struct pci_dev *pdev =to_pci_dev (ap->host->dev); - -if (!pci_test_config_bits (pdev, &atiixp_enable_bits[ap->port_no])) -return -ENOENT ; - -return ata_sff_prereset (link, deadline); -} -static int atiixp_cable_detect (struct ata_port *ap) {struct pci_dev *pdev =to_pci_dev (ap->host->dev);
@@ -229,10 +214,9 @@ static struct ata_port_operations atiixp .cable_detect = atiixp_cable_detect, .set_piomode = atiixp_set_piomode, .set_dmamode = atiixp_set_dmamode, - .prereset = atiixp_pre_reset, }; -static int atiixp_init_one (struct pci_dev *dev,const struct pci_device_id *id) +static int atiixp_init_one (struct pci_dev *pdev,const struct pci_device_id *id) {static const struct ata_port_info info = { .flags =ATA_FLAG_SLAVE_POSS ,
@@ -241,8 +225,18 @@ static int atiixp_init_one(struct pci_de .udma_mask = 0x3F, .port_ops = &atiixp_port_ops }; -const struct ata_port_info *ppi[] = { &info,NULL }; -return ata_pci_sff_init_one (dev, ppi, &atiixp_sht,NULL ); +static const struct pci_bits atiixp_enable_bits[] = { + {0x48 ,1 ,0x01 ,0x00 }, + {0x48 ,1 ,0x08 ,0x00 } + }; +const struct ata_port_info *ppi[] = { &info, &info }; +int i; + +for (i =0 ; i <2 ; i++) +if (!pci_test_config_bits (pdev, &atiixp_enable_bits[i])) + ppi[i] = &ata_dummy_port_info; + +return ata_pci_sff_init_one (pdev, ppi, &atiixp_sht,NULL ); }static const struct pci_device_id atiixp[] = {
Quoted 4 lines · Tejun Heo
Port enabledness test fits much better into
init_one()instead ofpre_reset(). The reason why these tests are inpre_reset()is purely historical at this point. Move it toinit_one(). This will help further changes.
Eh... I'm holding the second patch for now. Will follow up later.
Thanks.
Signature · 1 line
tejun
Quoted 6 lines · Tejun Heo
Port enabledness test fits much better into
init_one()instead ofpre_reset(). The reason why these tests are inpre_reset()is purely historical at this point. Move it toinit_one(). This will help further changes.Signed-off-by Tejun Heo <[email protected]>
Jeff, the second one turned out to be unnecessary but this patch is worthy on its own. Can you please put it into #upstream?
Thanks.
Signature · 1 line
tejun
Quoted 10 lines · Tejun Heo
Quoted 6 lines · Tejun Heo
Port enabledness test fits much better into
init_one()instead ofpre_reset(). The reason why these tests are inpre_reset()is purely historical at this point. Move it toinit_one(). This will help further changes.Signed-off-by Tejun Heo <[email protected]>Jeff, the second one turned out to be unnecessary but this patch is worthy on its own. Can you please put
You mean upstream commit 16028232bf6dc5ed7e4bd341ef335f386229ad0b ?
Jeff