diff options
Diffstat (limited to 'drivers/ata/pata_pdc202xx_old.c')
| -rw-r--r-- | drivers/ata/pata_pdc202xx_old.c | 17 | 
1 files changed, 15 insertions, 2 deletions
diff --git a/drivers/ata/pata_pdc202xx_old.c b/drivers/ata/pata_pdc202xx_old.c index 2f3c9bed63d..9ac0897cf8b 100644 --- a/drivers/ata/pata_pdc202xx_old.c +++ b/drivers/ata/pata_pdc202xx_old.c @@ -2,7 +2,7 @@   * pata_pdc202xx_old.c 	- Promise PDC202xx PATA for new ATA layer   *			  (C) 2005 Red Hat Inc   *			  Alan Cox <alan@lxorguk.ukuu.org.uk> - *			  (C) 2007,2009 Bartlomiej Zolnierkiewicz + *			  (C) 2007,2009,2010 Bartlomiej Zolnierkiewicz   *   * Based in part on linux/drivers/ide/pci/pdc202xx_old.c   * @@ -35,6 +35,15 @@ static int pdc2026x_cable_detect(struct ata_port *ap)  	return ATA_CBL_PATA80;  } +static void pdc202xx_exec_command(struct ata_port *ap, +				  const struct ata_taskfile *tf) +{ +	DPRINTK("ata%u: cmd 0x%X\n", ap->print_id, tf->command); + +	iowrite8(tf->command, ap->ioaddr.command_addr); +	ndelay(400); +} +  /**   *	pdc202xx_configure_piomode	-	set chip PIO timing   *	@ap: ATA interface @@ -271,6 +280,8 @@ static struct ata_port_operations pdc2024x_port_ops = {  	.cable_detect		= ata_cable_40wire,  	.set_piomode		= pdc202xx_set_piomode,  	.set_dmamode		= pdc202xx_set_dmamode, + +	.sff_exec_command	= pdc202xx_exec_command,  };  static struct ata_port_operations pdc2026x_port_ops = { @@ -284,6 +295,8 @@ static struct ata_port_operations pdc2026x_port_ops = {  	.dev_config		= pdc2026x_dev_config,  	.port_start		= pdc2026x_port_start, + +	.sff_exec_command	= pdc202xx_exec_command,  };  static int pdc202xx_init_one(struct pci_dev *dev, const struct pci_device_id *id) @@ -324,7 +337,7 @@ static int pdc202xx_init_one(struct pci_dev *dev, const struct pci_device_id *id  				return -ENODEV;  		}  	} -	return ata_pci_sff_init_one(dev, ppi, &pdc202xx_sht, NULL); +	return ata_pci_sff_init_one(dev, ppi, &pdc202xx_sht, NULL, 0);  }  static const struct pci_device_id pdc202xx[] = {  |