v2: Rebase on latest code and correct the device name in
lookup table (viric)
Remove lookup table on driver remove
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96571
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90075
Cc: [email protected]
Cc: [email protected]
Tested-by: Lluís Batlle i Rossell <[email protected]>
Signed-off-by: Shobhit Kumar <[email protected]>
---
drivers/pwm/pwm-lpss-platform.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/pwm/pwm-lpss-platform.c b/drivers/pwm/pwm-lpss-platform.c
index 5d6ed15..f157a6d 100644
--- a/drivers/pwm/pwm-lpss-platform.c
+++ b/drivers/pwm/pwm-lpss-platform.c
@@ -40,6 +40,11 @@ static const struct pwm_lpss_boardinfo pwm_lpss_bxt_info = {
.bypass = true,
};
+/* PWM consumed by the Intel GFX */
+static struct pwm_lookup lpss_pwm_lookup[] = {
+ PWM_LOOKUP("80860F09:00", 0, "0000:00:02.0", "pwm_lpss", 0,
PWM_POLARITY_NORMAL),
+};
+
static int pwm_lpss_probe_platform(struct platform_device *pdev)
{
const struct pwm_lpss_boardinfo *info;
@@ -60,6 +65,9 @@ static int pwm_lpss_probe_platform(struct platform_device
*pdev)
platform_set_drvdata(pdev, lpwm);
+ /* Register intel-gfx device as allowed consumer */
+ pwm_add_table(lpss_pwm_lookup, ARRAY_SIZE(lpss_pwm_lookup));
+
pm_runtime_set_active(&pdev->dev);
pm_runtime_enable(&pdev->dev);
@@ -71,6 +79,10 @@ static int pwm_lpss_remove_platform(struct platform_device
*pdev)
struct pwm_lpss_chip *lpwm = platform_get_drvdata(pdev);
pm_runtime_disable(&pdev->dev);
+
+ /* remove lookup table */
+ pwm_remove_table(lpss_pwm_lookup, ARRAY_SIZE(lpss_pwm_lookup));
+
return pwm_lpss_remove(lpwm);
}
--
2.7.4
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx