summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-07-16 07:34:11 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-07-16 07:34:11 -0700
commitd0a8f8d77466650847920d631c84490632e709e1 (patch)
tree887bc3ce4ecb8900f737d33edc3a06334b3375df /include/linux
parent8d4ffba5f0a6a8eaf3bb1ecbd860ef88e3f37506 (diff)
parent72d71311e26c38a8629ee47b36ef0299967284eb (diff)
Merge "clk: Add support to set custom flags with clk_set_flags"
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/clk-provider.h3
-rw-r--r--include/linux/clk.h10
2 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
index 03b9f6fab0ff..23026ba6ff25 100644
--- a/include/linux/clk-provider.h
+++ b/include/linux/clk-provider.h
@@ -173,6 +173,8 @@ struct clk_rate_request {
* directory is provided as an argument. Called with
* prepare_lock held. Returns 0 on success, -EERROR otherwise.
*
+ * @set_flags: Set custom flags which deals with hardware specifics. Returns 0
+ * on success, -EEROR otherwise.
*
* The clk_enable/clk_disable and clk_prepare/clk_unprepare pairs allow
* implementations to split any work between atomic (enable) and sleepable
@@ -213,6 +215,7 @@ struct clk_ops {
int (*set_phase)(struct clk_hw *hw, int degrees);
void (*init)(struct clk_hw *hw);
int (*debug_init)(struct clk_hw *hw, struct dentry *dentry);
+ int (*set_flags)(struct clk_hw *hw, unsigned flags);
};
/**
diff --git a/include/linux/clk.h b/include/linux/clk.h
index c06bbd5ce952..76708a7c46c0 100644
--- a/include/linux/clk.h
+++ b/include/linux/clk.h
@@ -408,6 +408,16 @@ struct clk *clk_get_parent(struct clk *clk);
*/
struct clk *clk_get_sys(const char *dev_id, const char *con_id);
+/**
+ * clk_set_flags - set the custom specific flags for this clock
+ * @clk: clock source
+ * @flags: custom flags which would be hardware specific, defined for specific
+ * hardware.
+ *
+ * Returns success 0 or negative errno.
+ */
+int clk_set_flags(struct clk *clk, unsigned long flags);
+
#else /* !CONFIG_HAVE_CLK */
static inline struct clk *clk_get(struct device *dev, const char *id)