Loading drivers/ata/ahci_platform.c +2 −9 Original line number Diff line number Diff line Loading @@ -68,13 +68,8 @@ static int ahci_probe(struct platform_device *pdev) return rc; } #ifdef CONFIG_PM_SLEEP static const struct dev_pm_ops ahci_pm_ops = { SET_SYSTEM_SLEEP_PM_OPS(ahci_platform_suspend, ahci_platform_resume) SET_RUNTIME_PM_OPS(ahci_platform_runtime_suspend, ahci_platform_runtime_resume, NULL) }; #endif static SIMPLE_DEV_PM_OPS(ahci_pm_ops, ahci_platform_suspend, ahci_platform_resume); static const struct of_device_id ahci_of_match[] = { { .compatible = "generic-ahci", }, Loading Loading @@ -103,9 +98,7 @@ static struct platform_driver ahci_driver = { .name = DRV_NAME, .of_match_table = ahci_of_match, .acpi_match_table = ahci_acpi_match, #ifdef CONFIG_PM_SLEEP .pm = &ahci_pm_ops, #endif }, }; module_platform_driver(ahci_driver); Loading drivers/ata/libahci_platform.c +17 −65 Original line number Diff line number Diff line Loading @@ -257,7 +257,7 @@ static void ahci_platform_put_resources(struct device *dev, void *res) int c; if (hpriv->got_runtime_pm) { pm_runtime_allow(dev); pm_runtime_put_sync(dev); pm_runtime_disable(dev); } Loading Loading @@ -477,10 +477,8 @@ struct ahci_host_priv *ahci_platform_get_resources(struct platform_device *pdev) if (rc == -EPROBE_DEFER) goto err_out; } pm_runtime_set_active(dev); pm_runtime_enable(dev); pm_runtime_forbid(dev); pm_runtime_get_sync(dev); hpriv->got_runtime_pm = true; devres_remove_group(dev, NULL); Loading Loading @@ -709,21 +707,6 @@ int ahci_platform_resume_host(struct device *dev) } EXPORT_SYMBOL_GPL(ahci_platform_resume_host); static int _ahci_platform_suspend(struct device *dev) { struct ata_host *host = dev_get_drvdata(dev); struct ahci_host_priv *hpriv = host->private_data; int rc; rc = ahci_platform_suspend_host(dev); if (rc) return rc; ahci_platform_disable_resources(hpriv); return 0; } /** * ahci_platform_suspend - Suspend an ahci-platform device * @dev: the platform device to suspend Loading @@ -735,45 +718,20 @@ static int _ahci_platform_suspend(struct device *dev) * 0 on success otherwise a negative error code */ int ahci_platform_suspend(struct device *dev) { return _ahci_platform_suspend(dev); } EXPORT_SYMBOL_GPL(ahci_platform_suspend); /** * ahci_platform_runtime_suspend - Runtime suspend an ahci-platform device * @dev: the platform device to suspend * * This function suspends the host associated with the device, followed by * disabling all the resources of the device. * * RETURNS: * 0 on success otherwise a negative error code */ int ahci_platform_runtime_suspend(struct device *dev) { return _ahci_platform_suspend(dev); } EXPORT_SYMBOL_GPL(ahci_platform_runtime_suspend); static int _ahci_platform_resume(struct device *dev) { struct ata_host *host = dev_get_drvdata(dev); struct ahci_host_priv *hpriv = host->private_data; int rc; rc = ahci_platform_enable_resources(hpriv); rc = ahci_platform_suspend_host(dev); if (rc) return rc; rc = ahci_platform_resume_host(dev); if (rc) { ahci_platform_disable_resources(hpriv); return rc; } return 0; } EXPORT_SYMBOL_GPL(ahci_platform_suspend); /** * ahci_platform_resume - Resume an ahci-platform device Loading @@ -787,37 +745,31 @@ static int _ahci_platform_resume(struct device *dev) */ int ahci_platform_resume(struct device *dev) { struct ata_host *host = dev_get_drvdata(dev); struct ahci_host_priv *hpriv = host->private_data; int rc; rc = _ahci_platform_resume(dev); rc = ahci_platform_enable_resources(hpriv); if (rc) return rc; rc = ahci_platform_resume_host(dev); if (rc) goto disable_resources; /* We resumed so update PM runtime state */ pm_runtime_disable(dev); pm_runtime_set_active(dev); pm_runtime_enable(dev); return 0; } EXPORT_SYMBOL_GPL(ahci_platform_resume); /** * ahci_platform_runtime_resume - Runtime resume an ahci-platform device * @dev: the platform device to resume * * This function enables all the resources of the device followed by * resuming the host associated with the device. * * RETURNS: * 0 on success otherwise a negative error code */ int ahci_platform_runtime_resume(struct device *dev) { return _ahci_platform_resume(dev); } EXPORT_SYMBOL_GPL(ahci_platform_runtime_resume); disable_resources: ahci_platform_disable_resources(hpriv); return rc; } EXPORT_SYMBOL_GPL(ahci_platform_resume); #endif MODULE_DESCRIPTION("AHCI SATA platform library"); Loading include/linux/ahci_platform.h +0 −2 Original line number Diff line number Diff line Loading @@ -42,7 +42,5 @@ int ahci_platform_suspend_host(struct device *dev); int ahci_platform_resume_host(struct device *dev); int ahci_platform_suspend(struct device *dev); int ahci_platform_resume(struct device *dev); int ahci_platform_runtime_suspend(struct device *dev); int ahci_platform_runtime_resume(struct device *dev); #endif /* _AHCI_PLATFORM_H */ Loading
drivers/ata/ahci_platform.c +2 −9 Original line number Diff line number Diff line Loading @@ -68,13 +68,8 @@ static int ahci_probe(struct platform_device *pdev) return rc; } #ifdef CONFIG_PM_SLEEP static const struct dev_pm_ops ahci_pm_ops = { SET_SYSTEM_SLEEP_PM_OPS(ahci_platform_suspend, ahci_platform_resume) SET_RUNTIME_PM_OPS(ahci_platform_runtime_suspend, ahci_platform_runtime_resume, NULL) }; #endif static SIMPLE_DEV_PM_OPS(ahci_pm_ops, ahci_platform_suspend, ahci_platform_resume); static const struct of_device_id ahci_of_match[] = { { .compatible = "generic-ahci", }, Loading Loading @@ -103,9 +98,7 @@ static struct platform_driver ahci_driver = { .name = DRV_NAME, .of_match_table = ahci_of_match, .acpi_match_table = ahci_acpi_match, #ifdef CONFIG_PM_SLEEP .pm = &ahci_pm_ops, #endif }, }; module_platform_driver(ahci_driver); Loading
drivers/ata/libahci_platform.c +17 −65 Original line number Diff line number Diff line Loading @@ -257,7 +257,7 @@ static void ahci_platform_put_resources(struct device *dev, void *res) int c; if (hpriv->got_runtime_pm) { pm_runtime_allow(dev); pm_runtime_put_sync(dev); pm_runtime_disable(dev); } Loading Loading @@ -477,10 +477,8 @@ struct ahci_host_priv *ahci_platform_get_resources(struct platform_device *pdev) if (rc == -EPROBE_DEFER) goto err_out; } pm_runtime_set_active(dev); pm_runtime_enable(dev); pm_runtime_forbid(dev); pm_runtime_get_sync(dev); hpriv->got_runtime_pm = true; devres_remove_group(dev, NULL); Loading Loading @@ -709,21 +707,6 @@ int ahci_platform_resume_host(struct device *dev) } EXPORT_SYMBOL_GPL(ahci_platform_resume_host); static int _ahci_platform_suspend(struct device *dev) { struct ata_host *host = dev_get_drvdata(dev); struct ahci_host_priv *hpriv = host->private_data; int rc; rc = ahci_platform_suspend_host(dev); if (rc) return rc; ahci_platform_disable_resources(hpriv); return 0; } /** * ahci_platform_suspend - Suspend an ahci-platform device * @dev: the platform device to suspend Loading @@ -735,45 +718,20 @@ static int _ahci_platform_suspend(struct device *dev) * 0 on success otherwise a negative error code */ int ahci_platform_suspend(struct device *dev) { return _ahci_platform_suspend(dev); } EXPORT_SYMBOL_GPL(ahci_platform_suspend); /** * ahci_platform_runtime_suspend - Runtime suspend an ahci-platform device * @dev: the platform device to suspend * * This function suspends the host associated with the device, followed by * disabling all the resources of the device. * * RETURNS: * 0 on success otherwise a negative error code */ int ahci_platform_runtime_suspend(struct device *dev) { return _ahci_platform_suspend(dev); } EXPORT_SYMBOL_GPL(ahci_platform_runtime_suspend); static int _ahci_platform_resume(struct device *dev) { struct ata_host *host = dev_get_drvdata(dev); struct ahci_host_priv *hpriv = host->private_data; int rc; rc = ahci_platform_enable_resources(hpriv); rc = ahci_platform_suspend_host(dev); if (rc) return rc; rc = ahci_platform_resume_host(dev); if (rc) { ahci_platform_disable_resources(hpriv); return rc; } return 0; } EXPORT_SYMBOL_GPL(ahci_platform_suspend); /** * ahci_platform_resume - Resume an ahci-platform device Loading @@ -787,37 +745,31 @@ static int _ahci_platform_resume(struct device *dev) */ int ahci_platform_resume(struct device *dev) { struct ata_host *host = dev_get_drvdata(dev); struct ahci_host_priv *hpriv = host->private_data; int rc; rc = _ahci_platform_resume(dev); rc = ahci_platform_enable_resources(hpriv); if (rc) return rc; rc = ahci_platform_resume_host(dev); if (rc) goto disable_resources; /* We resumed so update PM runtime state */ pm_runtime_disable(dev); pm_runtime_set_active(dev); pm_runtime_enable(dev); return 0; } EXPORT_SYMBOL_GPL(ahci_platform_resume); /** * ahci_platform_runtime_resume - Runtime resume an ahci-platform device * @dev: the platform device to resume * * This function enables all the resources of the device followed by * resuming the host associated with the device. * * RETURNS: * 0 on success otherwise a negative error code */ int ahci_platform_runtime_resume(struct device *dev) { return _ahci_platform_resume(dev); } EXPORT_SYMBOL_GPL(ahci_platform_runtime_resume); disable_resources: ahci_platform_disable_resources(hpriv); return rc; } EXPORT_SYMBOL_GPL(ahci_platform_resume); #endif MODULE_DESCRIPTION("AHCI SATA platform library"); Loading
include/linux/ahci_platform.h +0 −2 Original line number Diff line number Diff line Loading @@ -42,7 +42,5 @@ int ahci_platform_suspend_host(struct device *dev); int ahci_platform_resume_host(struct device *dev); int ahci_platform_suspend(struct device *dev); int ahci_platform_resume(struct device *dev); int ahci_platform_runtime_suspend(struct device *dev); int ahci_platform_runtime_resume(struct device *dev); #endif /* _AHCI_PLATFORM_H */