clk: Drop dm.h header file in clk-provider.h
authorSimon Glass <sjg@chromium.org>
Sun, 19 Jul 2020 16:15:56 +0000 (10:15 -0600)
committerTom Rini <trini@konsulko.com>
Tue, 4 Aug 2020 02:19:54 +0000 (22:19 -0400)
This header file should not be included in other header files. Remove it
and use a forward declaration and un-inlining of dev_get_clk_ptr()
instead.

Fix up the kendryte header files to avoid build errors.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Sean Anderson <seanga2@gmail.com>
drivers/clk/clk-uclass.c
drivers/clk/kendryte/bypass.c
drivers/clk/kendryte/pll.c
include/kendryte/bypass.h
include/linux/clk-provider.h

index 15656f5..934cd57 100644 (file)
@@ -25,6 +25,11 @@ static inline const struct clk_ops *clk_dev_ops(struct udevice *dev)
        return (const struct clk_ops *)dev->driver->ops;
 }
 
+struct clk *dev_get_clk_ptr(struct udevice *dev)
+{
+       return (struct clk *)dev_get_uclass_priv(dev);
+}
+
 #if CONFIG_IS_ENABLED(OF_CONTROL)
 # if CONFIG_IS_ENABLED(OF_PLATDATA)
 int clk_get_by_driver_info(struct udevice *dev, struct phandle_1_arg *cells,
index d1fd281..5f1986f 100644 (file)
@@ -4,12 +4,15 @@
  */
 
 #define LOG_CATEGORY UCLASS_CLK
-#include <kendryte/bypass.h>
 
+#include <common.h>
+#include <clk.h>
 #include <clk-uclass.h>
+#include <dm.h>
+#include <log.h>
+#include <kendryte/bypass.h>
 #include <linux/clk-provider.h>
 #include <linux/err.h>
-#include <log.h>
 
 #define CLK_K210_BYPASS "k210_clk_bypass"
 
index 19e3588..ab6d75d 100644 (file)
@@ -3,18 +3,20 @@
  * Copyright (C) 2019-20 Sean Anderson <seanga2@gmail.com>
  */
 #define LOG_CATEGORY UCLASS_CLK
-#include <kendryte/pll.h>
 
-#include <asm/io.h>
+#include <common.h>
+#include <dm.h>
 /* For DIV_ROUND_DOWN_ULL, defined in linux/kernel.h */
 #include <div64.h>
+#include <log.h>
+#include <serial.h>
+#include <asm/io.h>
 #include <dt-bindings/clock/k210-sysctl.h>
+#include <kendryte/pll.h>
 #include <linux/bitfield.h>
 #include <linux/clk-provider.h>
 #include <linux/delay.h>
 #include <linux/err.h>
-#include <log.h>
-#include <serial.h>
 
 #define CLK_K210_PLL "k210_clk_pll"
 
index a081cbd..ab85bbc 100644 (file)
@@ -5,7 +5,7 @@
 #ifndef K210_BYPASS_H
 #define K210_BYPASS_H
 
-#include <clk.h>
+struct clk;
 
 struct k210_bypass {
        struct clk clk;
index 8a20743..79dce8f 100644 (file)
@@ -9,12 +9,13 @@
 #ifndef __LINUX_CLK_PROVIDER_H
 #define __LINUX_CLK_PROVIDER_H
 
-#include <dm.h>
 #include <linux/bitops.h>
 #include <linux/err.h>
 #include <clk-uclass.h>
 #include <linux/err.h>
 
+struct udevice;
+
 static inline void clk_dm(ulong id, struct clk *clk)
 {
        if (!IS_ERR(clk))
@@ -188,8 +189,5 @@ struct clk *clk_register_mux(struct device *dev, const char *name,
 const char *clk_hw_get_name(const struct clk *hw);
 ulong clk_generic_get_rate(struct clk *clk);
 
-static inline struct clk *dev_get_clk_ptr(struct udevice *dev)
-{
-       return (struct clk *)dev_get_uclass_priv(dev);
-}
+struct clk *dev_get_clk_ptr(struct udevice *dev);
 #endif /* __LINUX_CLK_PROVIDER_H */