linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 3/7] OMAP2+: use control module mfd driver in omap_type
@ 2012-06-27 18:04 Konstantin Baydarov
  2012-06-28  6:32 ` Tony Lindgren
  2012-08-08 13:50 ` Tony Lindgren
  0 siblings, 2 replies; 3+ messages in thread
From: Konstantin Baydarov @ 2012-06-27 18:04 UTC (permalink / raw)
  To: b-cousson, kishon, santosh.shilimkar, tony, paul
  Cc: balbi, amit.kucheria, linux-pm, linux-arm-kernel, linux-omap,
	amit.kachhap, Eduardo Valentin

OMAP system control module can be probed early, then
omap_type is safe to use its APIs.

TODO: add support for other omap versions

Signed-off-by: Konstantin Baydarov <kbaidarov@dev.rtsoft.ru>
---
 arch/arm/mach-omap2/id.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index 00486a8..1b0cec8 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -18,6 +18,7 @@
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/io.h>
+#include <linux/mfd/omap_control.h>
 
 #include <asm/cputype.h>
 
@@ -43,13 +44,13 @@ int omap_type(void)
 	u32 val = 0;
 
 	if (cpu_is_omap24xx()) {
-		val = omap_ctrl_readl(OMAP24XX_CONTROL_STATUS);
+		val = omap_control_status_read(OMAP24XX_CONTROL_STATUS);
 	} else if (cpu_is_am33xx()) {
-		val = omap_ctrl_readl(AM33XX_CONTROL_STATUS);
+		val = omap_control_status_read(AM33XX_CONTROL_STATUS);
 	} else if (cpu_is_omap34xx()) {
-		val = omap_ctrl_readl(OMAP343X_CONTROL_STATUS);
+		val = omap_control_status_read(OMAP343X_CONTROL_STATUS);
 	} else if (cpu_is_omap44xx()) {
-		val = omap_ctrl_readl(OMAP4_CTRL_MODULE_CORE_STATUS);
+		val = omap_control_status_read(OMAP4_CTRL_MODULE_CORE_STATUS);
 	} else {
 		pr_err("Cannot detect omap type!\n");
 		goto out;
-- 
1.7.7.6



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v3 3/7] OMAP2+: use control module mfd driver in omap_type
  2012-06-27 18:04 [PATCH v3 3/7] OMAP2+: use control module mfd driver in omap_type Konstantin Baydarov
@ 2012-06-28  6:32 ` Tony Lindgren
  2012-08-08 13:50 ` Tony Lindgren
  1 sibling, 0 replies; 3+ messages in thread
From: Tony Lindgren @ 2012-06-28  6:32 UTC (permalink / raw)
  To: Konstantin Baydarov
  Cc: amit.kucheria, kishon, balbi, linux-pm, linux-omap,
	linux-arm-kernel

Hi,

* Konstantin Baydarov <kbaidarov@dev.rtsoft.ru> [120627 11:09]:
> OMAP system control module can be probed early, then
> omap_type is safe to use its APIs.
> 
> TODO: add support for other omap versions
> 
> Signed-off-by: Konstantin Baydarov <kbaidarov@dev.rtsoft.ru>
> ---
>  arch/arm/mach-omap2/id.c |    9 +++++----
>  1 files changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
> index 00486a8..1b0cec8 100644
> --- a/arch/arm/mach-omap2/id.c
> +++ b/arch/arm/mach-omap2/id.c
> @@ -18,6 +18,7 @@
>  #include <linux/kernel.h>
>  #include <linux/init.h>
>  #include <linux/io.h>
> +#include <linux/mfd/omap_control.h>
>  
>  #include <asm/cputype.h>
>  
> @@ -43,13 +44,13 @@ int omap_type(void)
>  	u32 val = 0;
>  
>  	if (cpu_is_omap24xx()) {
> -		val = omap_ctrl_readl(OMAP24XX_CONTROL_STATUS);
> +		val = omap_control_status_read(OMAP24XX_CONTROL_STATUS);
>  	} else if (cpu_is_am33xx()) {
> -		val = omap_ctrl_readl(AM33XX_CONTROL_STATUS);
> +		val = omap_control_status_read(AM33XX_CONTROL_STATUS);
>  	} else if (cpu_is_omap34xx()) {
> -		val = omap_ctrl_readl(OMAP343X_CONTROL_STATUS);
> +		val = omap_control_status_read(OMAP343X_CONTROL_STATUS);
>  	} else if (cpu_is_omap44xx()) {
> -		val = omap_ctrl_readl(OMAP4_CTRL_MODULE_CORE_STATUS);
> +		val = omap_control_status_read(OMAP4_CTRL_MODULE_CORE_STATUS);
>  	} else {
>  		pr_err("Cannot detect omap type!\n");
>  		goto out;

I think you should keep the CONTROL_STATUS defines private to the
SCM core driver, there should be no need to pass it here. Just
make it int omap_control_status_read(void).

Of course that means that the SCM core is initialized to some extent
to know where to find the CONTROL_STATUS register. That should
probably be done as part of the set_globals calls done in init_early
in mach-omap2/io.c file.

Regards,

Tony

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v3 3/7] OMAP2+: use control module mfd driver in omap_type
  2012-06-27 18:04 [PATCH v3 3/7] OMAP2+: use control module mfd driver in omap_type Konstantin Baydarov
  2012-06-28  6:32 ` Tony Lindgren
@ 2012-08-08 13:50 ` Tony Lindgren
  1 sibling, 0 replies; 3+ messages in thread
From: Tony Lindgren @ 2012-08-08 13:50 UTC (permalink / raw)
  To: Konstantin Baydarov
  Cc: amit.kucheria, kishon, balbi, linux-pm, linux-omap,
	linux-arm-kernel

* Konstantin Baydarov <kbaidarov@dev.rtsoft.ru> [120627 11:09]:
> --- a/arch/arm/mach-omap2/id.c
> +++ b/arch/arm/mach-omap2/id.c
> @@ -18,6 +18,7 @@
>  #include <linux/kernel.h>
>  #include <linux/init.h>
>  #include <linux/io.h>
> +#include <linux/mfd/omap_control.h>
>  
>  #include <asm/cputype.h>
>  
> @@ -43,13 +44,13 @@ int omap_type(void)
>  	u32 val = 0;
>  
>  	if (cpu_is_omap24xx()) {
> -		val = omap_ctrl_readl(OMAP24XX_CONTROL_STATUS);
> +		val = omap_control_status_read(OMAP24XX_CONTROL_STATUS);
>  	} else if (cpu_is_am33xx()) {
> -		val = omap_ctrl_readl(AM33XX_CONTROL_STATUS);
> +		val = omap_control_status_read(AM33XX_CONTROL_STATUS);
>  	} else if (cpu_is_omap34xx()) {
> -		val = omap_ctrl_readl(OMAP343X_CONTROL_STATUS);
> +		val = omap_control_status_read(OMAP343X_CONTROL_STATUS);
>  	} else if (cpu_is_omap44xx()) {
> -		val = omap_ctrl_readl(OMAP4_CTRL_MODULE_CORE_STATUS);
> +		val = omap_control_status_read(OMAP4_CTRL_MODULE_CORE_STATUS);
>  	} else {
>  		pr_err("Cannot detect omap type!\n");
>  		goto out;

I think I already commented on this.. This needs to become just:

val = omap_control_status_read();

with no need to pass the status register as a parameter.

Regards,

Tony

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-08-08 13:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-27 18:04 [PATCH v3 3/7] OMAP2+: use control module mfd driver in omap_type Konstantin Baydarov
2012-06-28  6:32 ` Tony Lindgren
2012-08-08 13:50 ` Tony Lindgren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).