diff mbox

drm/omap: tiler: add hibernation callback

Message ID 1424887700-5909-1-git-send-email-grygorii.strashko@linaro.org
State New
Headers show

Commit Message

Grygorii.Strashko@linaro.org Feb. 25, 2015, 6:08 p.m. UTC
From: Grygorii Strashko <grygorii.strashko@linaro.org>

Setting a dev_pm_ops resume callback but not a set of
hibernation handler means that pm function will not be
called upon hibernation.
Fix this by using SIMPLE_DEV_PM_OPS, which appropriately
assigns the suspend and hibernation handlers and move
omap_dmm_resume under CONFIG_PM_SLEEP to avoid build warnings.

Signed-off-by: Grygorii Strashko <grygorii.strashko@linaro.org>
---
 drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

Comments

Grygorii.Strashko@linaro.org March 18, 2015, 2:56 p.m. UTC | #1
Hi All,

On 02/25/2015 08:08 PM, grygorii.strashko@linaro.org wrote:
> From: Grygorii Strashko <grygorii.strashko@linaro.org>
>
> Setting a dev_pm_ops resume callback but not a set of
> hibernation handler means that pm function will not be
> called upon hibernation.
> Fix this by using SIMPLE_DEV_PM_OPS, which appropriately
> assigns the suspend and hibernation handlers and move
> omap_dmm_resume under CONFIG_PM_SLEEP to avoid build warnings.
>
> Signed-off-by: Grygorii Strashko <grygorii.strashko@linaro.org>
> ---
>   drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 10 +++-------
>   1 file changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
> index 56c6055..afb8cfc 100644
> --- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
> +++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
> @@ -941,7 +941,7 @@ error:
>   }
>   #endif
>
> -#ifdef CONFIG_PM
> +#ifdef CONFIG_PM_SLEEP
>   static int omap_dmm_resume(struct device *dev)
>   {
>   	struct tcm_area area;
> @@ -965,12 +965,10 @@ static int omap_dmm_resume(struct device *dev)
>
>   	return 0;
>   }
> -
> -static const struct dev_pm_ops omap_dmm_pm_ops = {
> -	.resume = omap_dmm_resume,
> -};
>   #endif
>
> +SIMPLE_DEV_PM_OPS(omap_dmm_pm_ops, NULL, omap_dmm_resume);
> +
>   #if defined(CONFIG_OF)
>   static const struct of_device_id dmm_of_match[] = {
>   	{ .compatible = "ti,omap4-dmm", },
> @@ -986,9 +984,7 @@ struct platform_driver omap_dmm_driver = {
>   		.owner = THIS_MODULE,
>   		.name = DMM_DRIVER_NAME,
>   		.of_match_table = of_match_ptr(dmm_of_match),
> -#ifdef CONFIG_PM
>   		.pm = &omap_dmm_pm_ops,
> -#endif
>   	},
>   };
>
>

Any comments on this?
Grygorii.Strashko@linaro.org March 20, 2015, 2:57 p.m. UTC | #2
On 03/20/2015 01:43 PM, Tomi Valkeinen wrote:
> On 18/03/15 16:56, Grygorii.Strashko@linaro.org wrote:
>> Hi All,
>>
>> On 02/25/2015 08:08 PM, grygorii.strashko@linaro.org wrote:
>>> From: Grygorii Strashko <grygorii.strashko@linaro.org>
>>>
>>> Setting a dev_pm_ops resume callback but not a set of
>>> hibernation handler means that pm function will not be
>>> called upon hibernation.
>>> Fix this by using SIMPLE_DEV_PM_OPS, which appropriately
>>> assigns the suspend and hibernation handlers and move
>>> omap_dmm_resume under CONFIG_PM_SLEEP to avoid build warnings.
>>>
>>> Signed-off-by: Grygorii Strashko <grygorii.strashko@linaro.org>
>>> ---
>>>    drivers/gpu/drm/omapdrm/omap_dmm_tiler.c | 10 +++-------
>>>    1 file changed, 3 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
>>> b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
>>> index 56c6055..afb8cfc 100644
>>> --- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
>>> +++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
>>> @@ -941,7 +941,7 @@ error:
>>>    }
>>>    #endif
>>>
>>> -#ifdef CONFIG_PM
>>> +#ifdef CONFIG_PM_SLEEP
>>>    static int omap_dmm_resume(struct device *dev)
>>>    {
>>>        struct tcm_area area;
>>> @@ -965,12 +965,10 @@ static int omap_dmm_resume(struct device *dev)
>>>
>>>        return 0;
>>>    }
>>> -
>>> -static const struct dev_pm_ops omap_dmm_pm_ops = {
>>> -    .resume = omap_dmm_resume,
>>> -};
>>>    #endif
>>>
>>> +SIMPLE_DEV_PM_OPS(omap_dmm_pm_ops, NULL, omap_dmm_resume);
>>> +
>>>    #if defined(CONFIG_OF)
>>>    static const struct of_device_id dmm_of_match[] = {
>>>        { .compatible = "ti,omap4-dmm", },
>>> @@ -986,9 +984,7 @@ struct platform_driver omap_dmm_driver = {
>>>            .owner = THIS_MODULE,
>>>            .name = DMM_DRIVER_NAME,
>>>            .of_match_table = of_match_ptr(dmm_of_match),
>>> -#ifdef CONFIG_PM
>>>            .pm = &omap_dmm_pm_ops,
>>> -#endif
>>>        },
>>>    };
>>>
>>>
>>
>> Any comments on this?
>
> Sorry, I missed this. I'll add it to my omapdrm branch.
>
Thanks.
diff mbox

Patch

diff --git a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
index 56c6055..afb8cfc 100644
--- a/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
+++ b/drivers/gpu/drm/omapdrm/omap_dmm_tiler.c
@@ -941,7 +941,7 @@  error:
 }
 #endif
 
-#ifdef CONFIG_PM
+#ifdef CONFIG_PM_SLEEP
 static int omap_dmm_resume(struct device *dev)
 {
 	struct tcm_area area;
@@ -965,12 +965,10 @@  static int omap_dmm_resume(struct device *dev)
 
 	return 0;
 }
-
-static const struct dev_pm_ops omap_dmm_pm_ops = {
-	.resume = omap_dmm_resume,
-};
 #endif
 
+SIMPLE_DEV_PM_OPS(omap_dmm_pm_ops, NULL, omap_dmm_resume);
+
 #if defined(CONFIG_OF)
 static const struct of_device_id dmm_of_match[] = {
 	{ .compatible = "ti,omap4-dmm", },
@@ -986,9 +984,7 @@  struct platform_driver omap_dmm_driver = {
 		.owner = THIS_MODULE,
 		.name = DMM_DRIVER_NAME,
 		.of_match_table = of_match_ptr(dmm_of_match),
-#ifdef CONFIG_PM
 		.pm = &omap_dmm_pm_ops,
-#endif
 	},
 };