aboutsummaryrefslogtreecommitdiff
path: root/include/clk.h
diff options
context:
space:
mode:
authorJagan Teki2019-02-28 00:26:52 +0530
committerJagan Teki2019-05-09 00:44:13 +0530
commit75f98314f92f64fd3526464006d934d4fe9b2710 (patch)
tree3985d971f43df769093a3461e7dfb43c27893043 /include/clk.h
parentb24f9057e8a1c2e26acd3bdc2ba933cf9979b375 (diff)
clk: Get the CLK by index without device
Getting a CLK by index with device is not straight forward for some use-cases like handling clock operations for child node in parent driver. So we need to process the child node in parent probe via ofnode and process CLK operation for child without udevice but with ofnode. So add clk_get_by_index_nodev() and move the common code in clk_get_by_index_tail() to use for clk_get_by_index() Cc: Stephen Warren <swarren@nvidia.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/clk.h')
-rw-r--r--include/clk.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/clk.h b/include/clk.h
index 8e366163f95..d24e99713a3 100644
--- a/include/clk.h
+++ b/include/clk.h
@@ -8,6 +8,7 @@
#ifndef _CLK_H_
#define _CLK_H_
+#include <dm/ofnode.h>
#include <linux/errno.h>
#include <linux/types.h>
@@ -101,6 +102,20 @@ int clk_get_by_index_platdata(struct udevice *dev, int index,
int clk_get_by_index(struct udevice *dev, int index, struct clk *clk);
/**
+ * clock_get_by_index_nodev - Get/request a clock by integer index
+ * without a device.
+ *
+ * This is a version of clk_get_by_index() that does not use a device.
+ *
+ * @node: The client ofnode.
+ * @index: The index of the clock to request, within the client's list of
+ * clocks.
+ * @clock A pointer to a clock struct to initialize.
+ * @return 0 if OK, or a negative error code.
+ */
+int clk_get_by_index_nodev(ofnode node, int index, struct clk *clk);
+
+/**
* clock_get_bulk - Get/request all clocks of a device.
*
* This looks up and requests all clocks of the client device; each device is