aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2014-11-05 11:34:46 -0500
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-11-11 17:44:19 -0500
commit01ac170ba29a9903ee590e1ef2d8e6b27b49a16c (patch)
tree094ddfd8225106cd1c0862b1db3a5298dc75fea3
parentcb39dcdd4ef6a31028ecd663768b99e6230d3ee6 (diff)
ACPI / LPSS: allow to use specific PM domain during ->probe()
The LPSS DMA controller would like to use the specific PM domain callbacks during early stage, namely in ->probe(). This patch moves the specific PM domain assignment early to be accessible during a whole life time of the device in the system. Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Tested-by: Scott Ashcroft <scott.ashcroft@talk21.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r--drivers/acpi/acpi_lpss.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/acpi/acpi_lpss.c b/drivers/acpi/acpi_lpss.c
index f6b71afb80ea..4804ae31b057 100644
--- a/drivers/acpi/acpi_lpss.c
+++ b/drivers/acpi/acpi_lpss.c
@@ -659,19 +659,17 @@ static int acpi_lpss_platform_notify(struct notifier_block *nb,
659 } 659 }
660 660
661 switch (action) { 661 switch (action) {
662 case BUS_NOTIFY_BOUND_DRIVER:
663 pdev->dev.pm_domain = &acpi_lpss_pm_domain;
664 break;
665 case BUS_NOTIFY_UNBOUND_DRIVER:
666 pdev->dev.pm_domain = NULL;
667 break;
668 case BUS_NOTIFY_ADD_DEVICE: 662 case BUS_NOTIFY_ADD_DEVICE:
663 pdev->dev.pm_domain = &acpi_lpss_pm_domain;
669 if (pdata->dev_desc->flags & LPSS_LTR) 664 if (pdata->dev_desc->flags & LPSS_LTR)
670 return sysfs_create_group(&pdev->dev.kobj, 665 return sysfs_create_group(&pdev->dev.kobj,
671 &lpss_attr_group); 666 &lpss_attr_group);
667 break;
672 case BUS_NOTIFY_DEL_DEVICE: 668 case BUS_NOTIFY_DEL_DEVICE:
673 if (pdata->dev_desc->flags & LPSS_LTR) 669 if (pdata->dev_desc->flags & LPSS_LTR)
674 sysfs_remove_group(&pdev->dev.kobj, &lpss_attr_group); 670 sysfs_remove_group(&pdev->dev.kobj, &lpss_attr_group);
671 pdev->dev.pm_domain = NULL;
672 break;
675 default: 673 default:
676 break; 674 break;
677 } 675 }