These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / pwm / pwm-lpss-platform.c
index 18a9c88..54433fc 100644 (file)
@@ -14,6 +14,7 @@
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/platform_device.h>
+#include <linux/pm_runtime.h>
 
 #include "pwm-lpss.h"
 
@@ -36,6 +37,10 @@ static int pwm_lpss_probe_platform(struct platform_device *pdev)
                return PTR_ERR(lpwm);
 
        platform_set_drvdata(pdev, lpwm);
+
+       pm_runtime_set_active(&pdev->dev);
+       pm_runtime_enable(&pdev->dev);
+
        return 0;
 }
 
@@ -43,12 +48,14 @@ static int pwm_lpss_remove_platform(struct platform_device *pdev)
 {
        struct pwm_lpss_chip *lpwm = platform_get_drvdata(pdev);
 
+       pm_runtime_disable(&pdev->dev);
        return pwm_lpss_remove(lpwm);
 }
 
 static const struct acpi_device_id pwm_lpss_acpi_match[] = {
        { "80860F09", (unsigned long)&pwm_lpss_byt_info },
        { "80862288", (unsigned long)&pwm_lpss_bsw_info },
+       { "80865AC8", (unsigned long)&pwm_lpss_bxt_info },
        { },
 };
 MODULE_DEVICE_TABLE(acpi, pwm_lpss_acpi_match);