aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/ata_piix.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata/ata_piix.c')
-rw-r--r--drivers/ata/ata_piix.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c
index bb46b61a7c6b..eafb984313f6 100644
--- a/drivers/ata/ata_piix.c
+++ b/drivers/ata/ata_piix.c
@@ -162,15 +162,16 @@ struct piix_host_priv {
162 162
163static int piix_init_one(struct pci_dev *pdev, 163static int piix_init_one(struct pci_dev *pdev,
164 const struct pci_device_id *ent); 164 const struct pci_device_id *ent);
165static void piix_pata_error_handler(struct ata_port *ap); 165static int piix_pata_prereset(struct ata_link *link, unsigned long deadline);
166static void piix_set_piomode(struct ata_port *ap, struct ata_device *adev); 166static void piix_set_piomode(struct ata_port *ap, struct ata_device *adev);
167static void piix_set_dmamode(struct ata_port *ap, struct ata_device *adev); 167static void piix_set_dmamode(struct ata_port *ap, struct ata_device *adev);
168static void ich_set_dmamode(struct ata_port *ap, struct ata_device *adev); 168static void ich_set_dmamode(struct ata_port *ap, struct ata_device *adev);
169static int ich_pata_cable_detect(struct ata_port *ap); 169static int ich_pata_cable_detect(struct ata_port *ap);
170static u8 piix_vmw_bmdma_status(struct ata_port *ap); 170static u8 piix_vmw_bmdma_status(struct ata_port *ap);
171static int piix_sidpr_hardreset(struct ata_link *link, unsigned int *class,
172 unsigned long deadline);
171static int piix_sidpr_scr_read(struct ata_port *ap, unsigned int reg, u32 *val); 173static int piix_sidpr_scr_read(struct ata_port *ap, unsigned int reg, u32 *val);
172static int piix_sidpr_scr_write(struct ata_port *ap, unsigned int reg, u32 val); 174static int piix_sidpr_scr_write(struct ata_port *ap, unsigned int reg, u32 val);
173static void piix_sidpr_error_handler(struct ata_port *ap);
174#ifdef CONFIG_PM 175#ifdef CONFIG_PM
175static int piix_pci_device_suspend(struct pci_dev *pdev, pm_message_t mesg); 176static int piix_pci_device_suspend(struct pci_dev *pdev, pm_message_t mesg);
176static int piix_pci_device_resume(struct pci_dev *pdev); 177static int piix_pci_device_resume(struct pci_dev *pdev);
@@ -299,7 +300,7 @@ static struct ata_port_operations piix_pata_ops = {
299 .cable_detect = ata_cable_40wire, 300 .cable_detect = ata_cable_40wire,
300 .set_piomode = piix_set_piomode, 301 .set_piomode = piix_set_piomode,
301 .set_dmamode = piix_set_dmamode, 302 .set_dmamode = piix_set_dmamode,
302 .error_handler = piix_pata_error_handler, 303 .prereset = piix_pata_prereset,
303}; 304};
304 305
305static struct ata_port_operations piix_vmw_ops = { 306static struct ata_port_operations piix_vmw_ops = {
@@ -319,9 +320,9 @@ static struct ata_port_operations piix_sata_ops = {
319 320
320static struct ata_port_operations piix_sidpr_sata_ops = { 321static struct ata_port_operations piix_sidpr_sata_ops = {
321 .inherits = &piix_sata_ops, 322 .inherits = &piix_sata_ops,
323 .hardreset = piix_sidpr_hardreset,
322 .scr_read = piix_sidpr_scr_read, 324 .scr_read = piix_sidpr_scr_read,
323 .scr_write = piix_sidpr_scr_write, 325 .scr_write = piix_sidpr_scr_write,
324 .error_handler = piix_sidpr_error_handler,
325}; 326};
326 327
327static const struct piix_map_db ich5_map_db = { 328static const struct piix_map_db ich5_map_db = {
@@ -645,12 +646,6 @@ static int piix_pata_prereset(struct ata_link *link, unsigned long deadline)
645 return ata_std_prereset(link, deadline); 646 return ata_std_prereset(link, deadline);
646} 647}
647 648
648static void piix_pata_error_handler(struct ata_port *ap)
649{
650 ata_bmdma_drive_eh(ap, piix_pata_prereset, ata_std_softreset, NULL,
651 ata_std_postreset);
652}
653
654/** 649/**
655 * piix_set_piomode - Initialize host controller PATA PIO timings 650 * piix_set_piomode - Initialize host controller PATA PIO timings
656 * @ap: Port whose timings we are configuring 651 * @ap: Port whose timings we are configuring
@@ -1057,12 +1052,6 @@ static int piix_sidpr_hardreset(struct ata_link *link, unsigned int *class,
1057 return -EAGAIN; 1052 return -EAGAIN;
1058} 1053}
1059 1054
1060static void piix_sidpr_error_handler(struct ata_port *ap)
1061{
1062 ata_bmdma_drive_eh(ap, ata_std_prereset, ata_std_softreset,
1063 piix_sidpr_hardreset, ata_std_postreset);
1064}
1065
1066#ifdef CONFIG_PM 1055#ifdef CONFIG_PM
1067static int piix_broken_suspend(void) 1056static int piix_broken_suspend(void)
1068{ 1057{