From b35cf64ecd57375d9f88e1914f4f05fc17a1adf4 Mon Sep 17 00:00:00 2001 From: Mika Westerberg Date: Thu, 17 Jan 2013 12:31:06 +0200 Subject: [PATCH] --- yaml --- r: 358779 b: refs/heads/master c: 7272194ed391f9db8bb320c50d715e7e6bba8ff3 h: refs/heads/master i: 358777: 9158489f7e0f59a7e2690558afcdba5d775d7f92 358775: d8d2d7045b644be9a6d380723a18546836e35f6c v: v3 --- [refs] | 2 +- trunk/drivers/i2c/busses/i2c-designware-platdrv.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index b790a24217fc..9d8dff54f514 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 17a76b4b32aca7c19df6988213dfe2eb4b631431 +refs/heads/master: 7272194ed391f9db8bb320c50d715e7e6bba8ff3 diff --git a/trunk/drivers/i2c/busses/i2c-designware-platdrv.c b/trunk/drivers/i2c/busses/i2c-designware-platdrv.c index 343357a2b5b4..d8afc85420be 100644 --- a/trunk/drivers/i2c/busses/i2c-designware-platdrv.c +++ b/trunk/drivers/i2c/busses/i2c-designware-platdrv.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include "i2c-designware-core.h" @@ -149,6 +150,10 @@ static int dw_i2c_probe(struct platform_device *pdev) } of_i2c_register_devices(adap); + pm_runtime_set_active(&pdev->dev); + pm_runtime_enable(&pdev->dev); + pm_runtime_put(&pdev->dev); + return 0; err_free_irq: @@ -175,6 +180,8 @@ static int dw_i2c_remove(struct platform_device *pdev) struct resource *mem; platform_set_drvdata(pdev, NULL); + pm_runtime_get_sync(&pdev->dev); + i2c_del_adapter(&dev->adapter); put_device(&pdev->dev); @@ -186,6 +193,9 @@ static int dw_i2c_remove(struct platform_device *pdev) free_irq(dev->irq, dev); kfree(dev); + pm_runtime_put(&pdev->dev); + pm_runtime_disable(&pdev->dev); + mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); release_mem_region(mem->start, resource_size(mem)); return 0;