Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7affb32a authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz Committed by Jeff Garzik
Browse files

pata_atp867x: add Power Management support



Cc: Jung-Ik (John) Lee <jilee@google.com>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
parent c59bcc37
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -533,6 +533,23 @@ static int atp867x_init_one(struct pci_dev *pdev,
	return rc;
}

#ifdef CONFIG_PM
static int atp867x_reinit_one(struct pci_dev *pdev)
{
	struct ata_host *host = dev_get_drvdata(&pdev->dev);
	int rc;

	rc = ata_pci_device_do_resume(pdev);
	if (rc)
		return rc;

	atp867x_fixup(host);

	ata_host_resume(host);
	return 0;
}
#endif

static struct pci_device_id atp867x_pci_tbl[] = {
	{ PCI_VDEVICE(ARTOP, PCI_DEVICE_ID_ARTOP_ATP867A),	0 },
	{ PCI_VDEVICE(ARTOP, PCI_DEVICE_ID_ARTOP_ATP867B),	0 },
@@ -544,6 +561,10 @@ static struct pci_driver atp867x_driver = {
	.id_table 	= atp867x_pci_tbl,
	.probe 		= atp867x_init_one,
	.remove		= ata_pci_remove_one,
#ifdef CONFIG_PM
	.suspend	= ata_pci_device_suspend,
	.resume		= atp867x_reinit_one,
#endif
};

static int __init atp867x_init(void)