clk: support hardware-specific debugfs entries
PATCH RESEND 1/1 clk: support hardware-specific debugfs entries
Add a new clk_ops->debug_init method to allow a clock hardware driver to populate the clock's debugfs directory with entries beyond those common for every clock.
Signed-off-by Alex Elder <[email protected]>
--- drivers/clk/clk.c | 4 ++++ include/linux/clk-provider.h | 8 ++++++++ 2 files changed, 12 insertions(+)
drivers/clk/clk.c +4 -0
@@ -277,6 +277,10 @@ static int clk_debug_create_one(struct clk *clk, struct dentry *pdentry)if (!d) goto err_out; +if (clk->ops->debug_init) +if (clk->ops->debug_init (clk->hw, clk->dentry)) + goto err_out; + ret =0 ; goto out;
include/linux/clk-provider.h +8 -0
@@ -32,6 +32,7 @@#define CLK_GET_ACCURACY_NOCACHE BIT(8)/* do not use the cached clk accuracy */ struct clk_hw ; +struct dentry ;/** * struct clk_ops - Callback operations for hardware clocks; these are to
@@ -127,6 +128,12 @@ struct clk_hw;* separately via calls to .set_parent and .set_rate. * Returns 0 on success, -EERROR otherwise. * +* @debug_init: Set up type-specific debugfs entries for this clock. This +* is called once, after the debugfs directory entry for this +* clock has been created. The dentry pointer representing that +* directory is provided as an argument. Called with +* prepare_lock held. Returns 0 on success, -EERROR otherwise. +* * * The clk_enable/clk_disable and clk_prepare/clk_unprepare pairs allow * implementations to split any work between atomic (enable) and sleepable
@@ -165,6 +172,7 @@ struct clk_ops {unsigned long (*recalc_accuracy)(struct clk_hw *hw,unsigned long parent_accuracy);void (*init)(struct clk_hw *hw); +int (*debug_init)(struct clk_hw *hw,struct dentry *dentry); };/**
Signature · 1 line
1.7.9.5
PATCH RESEND 1/1 clk: support hardware-specific debugfs entries
Quoting Alex Elder (2014-03-21 04:43:56)
Quoted 5 lines
Add a new
clk_ops->debug_initmethod to allow a clock hardware driver to populate the clock's debugfs directory with entries beyond those common for every clock.Signed-off-by Alex Elder <[email protected]>
Taken into clk-next.
Regards,
Mike
Quoted 56 lines
--- drivers/clk/clk.c | 4 ++++ include/linux/clk-provider.h | 8 ++++++++ 2 files changed, 12 insertions(+)drivers/clk/clk.c +4
-0@@ -277,6 +277,10 @@ static int clk_debug_create_one(struct clk *clk, struct dentry *pdentry)if (!d) goto err_out; +if (clk->ops->debug_init) +if (clk->ops->debug_init (clk->hw, clk->dentry)) + goto err_out; + ret =0 ; goto out;include/linux/clk-provider.h +8
-0@@ -32,6 +32,7 @@#define CLK_GET_ACCURACY_NOCACHE BIT(8)/* do not use the cached clk accuracy */ struct clk_hw ; +struct dentry ;/** * struct clk_ops - Callback operations for hardware clocks; these are to @@ -127,6 +128,12 @@ struct clk_hw;* separately via calls to .set_parent and .set_rate. * Returns 0 on success, -EERROR otherwise. * +* @debug_init: Set up type-specific debugfs entries for this clock. This +* is called once, after the debugfs directory entry for this +* clock has been created. The dentry pointer representing that +* directory is provided as an argument. Called with +* prepare_lock held. Returns 0 on success, -EERROR otherwise. +* * * The clk_enable/clk_disable and clk_prepare/clk_unprepare pairs allow * implementations to split any work between atomic (enable) and sleepable @@ -165,6 +172,7 @@ struct clk_ops {unsigned long (*recalc_accuracy)(struct clk_hw *hw,unsigned long parent_accuracy);void (*init)(struct clk_hw *hw); +int (*debug_init)(struct clk_hw *hw,struct dentry *dentry); };/** Signature · 1 line
1.7.9.5