The clk_prepare_enable() and clk_disable_unprepare() clock helpers were
introduced in kernel v3.3. Add them to compat.h for kernels that don't
provide them.

Signed-off-by: Laurent Pinchart <[email protected]>
---
 v4l/compat.h                      | 23 +++++++++++++++++++++++
 v4l/scripts/make_config_compat.pl |  1 +
 2 files changed, 24 insertions(+)

diff --git a/v4l/compat.h b/v4l/compat.h
index 66c5efa..dd4390c 100644
--- a/v4l/compat.h
+++ b/v4l/compat.h
@@ -1435,4 +1435,27 @@ static inline bool ether_addr_equal(const u8 *addr1, 
const u8 *addr2)
 }
 #endif
 
+#ifdef NEED_CLK_HELPERS
+#include <linux/clk.h>
+static inline int clk_prepare_enable(struct clk *clk)
+{
+       int ret;
+
+       ret = clk_prepare(clk);
+       if (ret)
+               return ret;
+       ret = clk_enable(clk);
+       if (ret)
+               clk_unprepare(clk);
+
+       return ret;
+}
+
+static inline void clk_disable_unprepare(struct clk *clk)
+{
+       clk_disable(clk);
+       clk_unprepare(clk);
+}
+#endif
+
 #endif /*  _COMPAT_H */
diff --git a/v4l/scripts/make_config_compat.pl 
b/v4l/scripts/make_config_compat.pl
index b1a1709..c50148d 100644
--- a/v4l/scripts/make_config_compat.pl
+++ b/v4l/scripts/make_config_compat.pl
@@ -606,6 +606,7 @@ sub check_other_dependencies()
        check_files_for_func("devm_kmalloc", "NEED_DEVM_KMALLOC", 
"include/linux/device.h");
        check_files_for_func("usb_speed_string", "NEED_USB_SPEED_STRING", 
"include/linux/usb/ch9.h");
        check_files_for_func("ether_addr_equal", "NEED_ETHER_ADDR_EQUAL", 
"include/linux/etherdevice.h");
+       check_files_for_func("clk_prepare_enable", "NEED_CLOCK_HELPERS", 
"include/linux/clk.h");
 
        # For tests for uapi-dependent logic
        check_files_for_func_uapi("usb_endpoint_maxp", 
"NEED_USB_ENDPOINT_MAXP", "usb/ch9.h");
-- 
1.8.3.2

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

Reply via email to