ns16650: Make sure we have CONFIG_CLK set before using infrastructure
[platform/kernel/u-boot.git] / include / clk.h
index 2f31cf7..7273127 100644 (file)
@@ -10,6 +10,7 @@
 #define _CLK_H_
 
 #include <linux/types.h>
+#include <asm/errno.h>
 
 /**
  * A clock is a hardware signal that oscillates autonomously at a specific
@@ -59,7 +60,11 @@ struct clk {
        unsigned long id;
 };
 
-#if CONFIG_IS_ENABLED(OF_CONTROL)
+#if CONFIG_IS_ENABLED(OF_CONTROL) && CONFIG_IS_ENABLED(CLK)
+struct phandle_2_cell;
+int clk_get_by_index_platdata(struct udevice *dev, int index,
+                             struct phandle_2_cell *cells, struct clk *clk);
+
 /**
  * clock_get_by_index - Get/request a clock by integer index.
  *
@@ -93,19 +98,6 @@ int clk_get_by_index(struct udevice *dev, int index, struct clk *clk);
  * @return 0 if OK, or a negative error code.
  */
 int clk_get_by_name(struct udevice *dev, const char *name, struct clk *clk);
-#else
-static inline int clk_get_by_index(struct udevice *dev, int index,
-                                  struct clk *clk)
-{
-       return -ENOSYS;
-}
-
-static int clk_get_by_name(struct udevice *dev, const char *name,
-                          struct clk *clk)
-{
-       return -ENOSYS;
-}
-#endif
 
 /**
  * clk_request - Request a clock by provider-specific ID.
@@ -170,5 +162,17 @@ int clk_enable(struct clk *clk);
 int clk_disable(struct clk *clk);
 
 int soc_clk_dump(void);
+#else
+static inline int clk_get_by_index(struct udevice *dev, int index,
+                                  struct clk *clk)
+{
+       return -ENOSYS;
+}
 
+static inline int clk_get_by_name(struct udevice *dev, const char *name,
+                          struct clk *clk)
+{
+       return -ENOSYS;
+}
+#endif
 #endif