diff mbox

[1/2] clk: tegra: Export peripheral reset functions

Message ID 1364502688-5135-1-git-send-email-thierry.reding@avionic-design.de
State Accepted, archived
Headers show

Commit Message

Thierry Reding March 28, 2013, 8:31 p.m. UTC
The tegra_periph_reset_assert() and tegra_periph_reset_deassert()
functions can be used by drivers to reset peripherals. In order to allow
such drivers to be built as modules, export the functions.

Note that this restores the status quo as the functions were exported
before the move to the drivers/clk tree.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
---
 drivers/clk/tegra/clk-periph.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Stephen Warren March 28, 2013, 11:23 p.m. UTC | #1
On 03/28/2013 02:31 PM, Thierry Reding wrote:
> The tegra_periph_reset_assert() and tegra_periph_reset_deassert()
> functions can be used by drivers to reset peripherals. In order to allow
> such drivers to be built as modules, export the functions.
> 
> Note that this restores the status quo as the functions were exported
> before the move to the drivers/clk tree.

Hopefully soon we can replace these with the new module reset API that's
being cooked up. But this should do for now.

Peter, Prashant, can you please review this series too?
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stephen Warren March 29, 2013, 3:34 p.m. UTC | #2
On 03/28/2013 02:31 PM, Thierry Reding wrote:
> The tegra_periph_reset_assert() and tegra_periph_reset_deassert()
> functions can be used by drivers to reset peripherals. In order to allow
> such drivers to be built as modules, export the functions.
> 
> Note that this restores the status quo as the functions were exported
> before the move to the drivers/clk tree.

Mike,

Since I'm taking the Tegra CCF changes through the Tegra tree for this
kernel cycle, do you want me to wait for your ack on these small fixes,
or just go ahead and apply them?

Similarly, I assume you want to review/ack the Tegra114 clock driver
that Peter posted? If not, do let me know, since I'm currently waiting
for that. (Although I know Peter will post a V9 with minor fixes, but
99% of any review should still be applicable)

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Stephen Warren March 29, 2013, 9:45 p.m. UTC | #3
On 03/28/2013 02:31 PM, Thierry Reding wrote:
> The tegra_periph_reset_assert() and tegra_periph_reset_deassert()
> functions can be used by drivers to reset peripherals. In order to allow
> such drivers to be built as modules, export the functions.
> 
> Note that this restores the status quo as the functions were exported
> before the move to the drivers/clk tree.

I have applied this one patch to Tegra's for-3.10/clk branch, with
Mike's ack.
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Peter De Schrijver April 2, 2013, 9:34 a.m. UTC | #4
On Thu, Mar 28, 2013 at 09:31:27PM +0100, Thierry Reding wrote:
> The tegra_periph_reset_assert() and tegra_periph_reset_deassert()
> functions can be used by drivers to reset peripherals. In order to allow
> such drivers to be built as modules, export the functions.
> 
> Note that this restores the status quo as the functions were exported
> before the move to the drivers/clk tree.
> 

I guess we should move to the 'reset framework' at some point in the future?

Otherwise:

Acked-By: Peter De Schrijver <pdeschrijver@nvidia.com>


Cheers,

Peter.
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Mike Turquette April 2, 2013, 5:35 p.m. UTC | #5
Quoting Peter De Schrijver (2013-04-02 02:34:26)
> On Thu, Mar 28, 2013 at 09:31:27PM +0100, Thierry Reding wrote:
> > The tegra_periph_reset_assert() and tegra_periph_reset_deassert()
> > functions can be used by drivers to reset peripherals. In order to allow
> > such drivers to be built as modules, export the functions.
> > 
> > Note that this restores the status quo as the functions were exported
> > before the move to the drivers/clk tree.
> > 
> 
> I guess we should move to the 'reset framework' at some point in the future?
> 

Yes please do.  Peripheral reset stuff should not lurk in the clock
code.  I kind of brought this point up back in June of 2012:
http://article.gmane.org/gmane.linux.ports.tegra/5346/

Back then the discussion was around removing this export from your clock
driver and putting common reset code in clk.h (which is a bad idea).
Now that the reset framework exists this stuff really should be migrated
out of the clock framework entirely.

But as long as this patch is considered an incremental change then it's
OK by me.

Regards,
Mike

> Otherwise:
> 
> Acked-By: Peter De Schrijver <pdeschrijver@nvidia.com>
> 
> 
> Cheers,
> 
> Peter.
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/clk/tegra/clk-periph.c b/drivers/clk/tegra/clk-periph.c
index 788486e..9dbd301 100644
--- a/drivers/clk/tegra/clk-periph.c
+++ b/drivers/clk/tegra/clk-periph.c
@@ -16,6 +16,7 @@ 
 
 #include <linux/clk.h>
 #include <linux/clk-provider.h>
+#include <linux/export.h>
 #include <linux/slab.h>
 #include <linux/err.h>
 
@@ -128,6 +129,7 @@  void tegra_periph_reset_deassert(struct clk *c)
 
 	tegra_periph_reset(gate, 0);
 }
+EXPORT_SYMBOL(tegra_periph_reset_deassert);
 
 void tegra_periph_reset_assert(struct clk *c)
 {
@@ -147,6 +149,7 @@  void tegra_periph_reset_assert(struct clk *c)
 
 	tegra_periph_reset(gate, 1);
 }
+EXPORT_SYMBOL(tegra_periph_reset_assert);
 
 const struct clk_ops tegra_clk_periph_ops = {
 	.get_parent = clk_periph_get_parent,