If CONFIG_PM_SLEEP is not defined then the functions are defined as
NULL. And as a result we are getting build failure with
alpha allmodconfig with the error:

drivers/gpu/drm/vc4/vc4_v3d.c: In function 'vc4_v3d_set_power':
include/linux/stddef.h:7:14: error: called object is not a function or function 
pointer
 #define NULL ((void *)0)
              ^
include/linux/pm.h:776:30: note: in expansion of macro 'NULL'
 #define pm_generic_poweroff  NULL
                              ^
drivers/gpu/drm/vc4/vc4_v3d.c:157:10: note: in expansion of macro 
'pm_generic_poweroff'
   return pm_generic_poweroff(&vc4->v3d->pdev->dev);
          ^
include/linux/stddef.h:7:14: error: called object is not a function or function 
pointer
 #define NULL ((void *)0)
              ^
include/linux/pm.h:764:28: note: in expansion of macro 'NULL'
 #define pm_generic_resume  NULL
                            ^
drivers/gpu/drm/vc4/vc4_v3d.c:159:10: note: in expansion of macro 
'pm_generic_resume'
   return pm_generic_resume(&vc4->v3d->pdev->dev);
          ^

Fixes: d5b1a78a772f ("drm/vc4: Add support for drawing 3D frames.")
Cc: Eric Anholt <[email protected]>
Signed-off-by: Sudip Mukherjee <[email protected]>
---

build log is at:
https://travis-ci.org/sudipm-mukherjee/parport/jobs/97149763

Also tested with x86_64 allmodconfig.

 include/linux/pm.h | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/include/linux/pm.h b/include/linux/pm.h
index 528be67..5fe5dbb 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -755,13 +755,22 @@ static inline void dpm_for_each_dev(void *data, void 
(*fn)(struct device *, void
 {
 }
 
+static inline int pm_generic_resume(struct device *dev)
+{
+       return 0;
+}
+
+static inline int pm_generic_poweroff(struct device *dev)
+{
+       return 0;
+}
+
 #define pm_generic_prepare             NULL
 #define pm_generic_suspend_late                NULL
 #define pm_generic_suspend_noirq       NULL
 #define pm_generic_suspend             NULL
 #define pm_generic_resume_early                NULL
 #define pm_generic_resume_noirq                NULL
-#define pm_generic_resume              NULL
 #define pm_generic_freeze_noirq                NULL
 #define pm_generic_freeze_late         NULL
 #define pm_generic_freeze              NULL
@@ -773,7 +782,6 @@ static inline void dpm_for_each_dev(void *data, void 
(*fn)(struct device *, void
 #define pm_generic_restore             NULL
 #define pm_generic_poweroff_noirq      NULL
 #define pm_generic_poweroff_late       NULL
-#define pm_generic_poweroff            NULL
 #define pm_generic_complete            NULL
 #endif /* !CONFIG_PM_SLEEP */
 
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to