@@ -21,6 +21,7 @@
#include <linux/platform_device.h>
#include <linux/io.h>
#include <linux/clk.h>
+#include <linux/clk-provider.h>
#include <linux/err.h>
#include <linux/delay.h>
#include <linux/of.h>
@@ -32,6 +32,7 @@
#include <linux/io.h>
#include <linux/clk.h>
#include <linux/clkdev.h>
+#include <linux/clk-provider.h>
#include <linux/pm_runtime.h>
#include <linux/of.h>
#include <linux/notifier.h>
@@ -15,6 +15,7 @@
#include <linux/serial_8250.h>
#include <linux/ata_platform.h>
#include <linux/clk.h>
+#include <linux/clk-provider.h>
#include <linux/clkdev.h>
#include <linux/mv643xx_eth.h>
#include <linux/mv643xx_i2c.h>
@@ -19,6 +19,7 @@
#include <linux/clk.h>
#include <linux/clk-provider.h>
+#include <linux/clkdev.h>
#include <linux/kernel.h>
#include <linux/of.h>
#include <linux/of_address.h>
@@ -19,6 +19,7 @@
#include <linux/clk.h>
#include <linux/clk-provider.h>
+#include <linux/clkdev.h>
#include <linux/kernel.h>
#include <linux/of.h>
#include <linux/of_address.h>
@@ -18,6 +18,7 @@
#include <linux/string.h>
#include <linux/mutex.h>
#include <linux/clk.h>
+#include <linux/clk-provider.h>
#include <linux/clkdev.h>
#include <linux/of.h>
@@ -13,6 +13,7 @@
#include <linux/bug.h>
#include <linux/clk.h>
#include <linux/clk-provider.h>
+#include <linux/clkdev.h>
#include <linux/device.h>
#include <linux/errno.h>
#include <linux/i2c.h>
@@ -16,6 +16,29 @@
#ifdef CONFIG_COMMON_CLK
+/* Temporarily map the to-be-added API to the old API, just so stuff compiles */
+#define clk_core clk
+
+#define __clk_create_clk
+
+#define clk_provider_get clk_get
+#define clk_provider_get_sys clk_get_sys
+#define devm_clk_provider_get devm_clk_get
+#define of_clk_provider_get of_clk_get
+#define of_clk_provider_get_by_name of_clk_get_by_name
+
+#define clk_provider_set_rate clk_set_rate
+#define clk_provider_get_rate clk_get_rate
+#define clk_provider_round_rate clk_round_rate
+#define clk_provider_set_parent clk_set_parent
+#define clk_provider_get_parent clk_get_parent
+#define clk_provider_prepare clk_prepare
+#define clk_provider_unprepare clk_unprepare
+#define clk_provider_enable clk_enable
+#define clk_provider_disable clk_disable
+#define clk_provider_prepare_enable clk_prepare_enable
+#define clk_provider_disable_unprepare clk_unprepare
+
/*
* flags used across common struct clk. these flags should only affect the
* top-level framework. custom flags for dealing with hardware specifics
@@ -21,6 +21,7 @@
#define __LINUX_CLK_ZYNQ_H_
#include <linux/spinlock.h>
+#include <linux/clk-provider.h>
void zynq_clock_init(void);
To preserve git-bisectability, add aliases from the future provider API to the existing public API. Also includes clk-provider.h and clk-dev.h in a few places so the right functions are defined. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> --- v4: * Add more clk-provider.h includes to clk implementations * Add mapping for clk_provider_round_rate --- arch/arm/mach-omap2/display.c | 1 + arch/arm/mach-omap2/omap_device.c | 1 + arch/arm/plat-orion/common.c | 1 + drivers/clk/berlin/bg2.c | 1 + drivers/clk/berlin/bg2q.c | 1 + drivers/clk/clkdev.c | 1 + drivers/media/platform/exynos4-is/media-dev.c | 1 + include/linux/clk-provider.h | 23 +++++++++++++++++++++++ include/linux/clk/zynq.h | 1 + 9 files changed, 31 insertions(+)