Old kernels are missing the definition of SET_SYSTEM_SLEEP_PM_OPS in linux/pm.h:

media_build/v4l/msp3400-driver.c:871:2: error: implicit declaration of function 
'SET_SYSTEM_SLEEP_PM_OPS' [-Werror=implicit-function-declaration]
media_build/v4l/msp3400-driver.c:872:1: error: initializer element is not 
constant
media_build/v4l/msp3400-driver.c:872:1: error: (near initialization for 
'msp3400_pm_ops.prepare')

Add it to compat.h to fix the compilation breakage.

Signed-off-by: Gianluca Gennari <gennar...@gmail.com
---
 v4l/compat.h                      |   14 ++++++++++++++
 v4l/scripts/make_config_compat.pl |    1 +
 2 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/v4l/compat.h b/v4l/compat.h
index 1556986..179ec26 100644
--- a/v4l/compat.h
+++ b/v4l/compat.h
@@ -963,4 +963,18 @@ static inline struct dma_async_tx_descriptor 
*dmaengine_prep_slave_sg(
 }
 #endif
 
+#ifdef NEED_SET_SYSTEM_SLEEP_PM_OPS
+#ifdef CONFIG_PM_SLEEP
+#define SET_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn) \
+        .suspend = suspend_fn, \
+        .resume = resume_fn, \
+        .freeze = suspend_fn, \
+        .thaw = resume_fn, \
+        .poweroff = suspend_fn, \
+        .restore = resume_fn,
+#else
+#define SET_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn)
+#endif
+#endif
+
 #endif /*  _COMPAT_H */
diff --git a/v4l/scripts/make_config_compat.pl 
b/v4l/scripts/make_config_compat.pl
index 7810cfb..15220e6 100755
--- a/v4l/scripts/make_config_compat.pl
+++ b/v4l/scripts/make_config_compat.pl
@@ -520,6 +520,7 @@ sub check_other_dependencies()
        check_file_for_func("include/linux/platform_device.h", 
"module_platform_driver", "NEED_MODULE_PLATFORM_DRIVER");
        check_file_for_func("include/linux/slab.h", "kmalloc_array", 
"NEED_KMALLOC_ARRAY");
        check_file_for_func("include/linux/dmaengine.h", 
"dmaengine_prep_slave_sg", "NEED_DMAENGINE_PREP_SLAVE_SG");
+       check_file_for_func("include/linux/pm.h", "SET_SYSTEM_SLEEP_PM_OPS", 
"NEED_SET_SYSTEM_SLEEP_PM_OPS");
 }
 
 # Do the basic rules
-- 
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to