[PATCH 1/5] omap: mailbox: initial hwmod support for omap3

2010-10-26 Thread Omar Ramirez Luna
From: Felipe Contreras 

HWMOD support for omap3.

Signed-off-by: Felipe Contreras 
Signed-off-by: Omar Ramirez Luna 
---
 arch/arm/mach-omap2/devices.c  |  100 ---
 arch/arm/mach-omap2/mailbox.c  |1 +
 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |   54 +++
 3 files changed, 70 insertions(+), 85 deletions(-)

diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
index eaf3799..d977572 100644
--- a/arch/arm/mach-omap2/devices.c
+++ b/arch/arm/mach-omap2/devices.c
@@ -141,95 +141,25 @@ static inline void omap_init_camera(void)
 #endif
 
 #if defined(CONFIG_OMAP_MBOX_FWK) || defined(CONFIG_OMAP_MBOX_FWK_MODULE)
-
-#define MBOX_REG_SIZE   0x120
-
-#ifdef CONFIG_ARCH_OMAP2
-static struct resource omap2_mbox_resources[] = {
-   {
-   .start  = OMAP24XX_MAILBOX_BASE,
-   .end= OMAP24XX_MAILBOX_BASE + MBOX_REG_SIZE - 1,
-   .flags  = IORESOURCE_MEM,
-   },
-   {
-   .start  = INT_24XX_MAIL_U0_MPU,
-   .flags  = IORESOURCE_IRQ,
-   .name   = "dsp",
-   },
-   {
-   .start  = INT_24XX_MAIL_U3_MPU,
-   .flags  = IORESOURCE_IRQ,
-   .name   = "iva",
-   },
-};
-static int omap2_mbox_resources_sz = ARRAY_SIZE(omap2_mbox_resources);
-#else
-#define omap2_mbox_resources   NULL
-#define omap2_mbox_resources_sz0
-#endif
-
-#ifdef CONFIG_ARCH_OMAP3
-static struct resource omap3_mbox_resources[] = {
-   {
-   .start  = OMAP34XX_MAILBOX_BASE,
-   .end= OMAP34XX_MAILBOX_BASE + MBOX_REG_SIZE - 1,
-   .flags  = IORESOURCE_MEM,
-   },
-   {
-   .start  = INT_24XX_MAIL_U0_MPU,
-   .flags  = IORESOURCE_IRQ,
-   .name   = "dsp",
-   },
-};
-static int omap3_mbox_resources_sz = ARRAY_SIZE(omap3_mbox_resources);
-#else
-#define omap3_mbox_resources   NULL
-#define omap3_mbox_resources_sz0
-#endif
-
-#ifdef CONFIG_ARCH_OMAP4
-
-#define OMAP4_MBOX_REG_SIZE0x130
-static struct resource omap4_mbox_resources[] = {
-   {
-   .start  = OMAP44XX_MAILBOX_BASE,
-   .end= OMAP44XX_MAILBOX_BASE +
-   OMAP4_MBOX_REG_SIZE - 1,
-   .flags  = IORESOURCE_MEM,
-   },
-   {
-   .start  = OMAP44XX_IRQ_MAIL_U0,
-   .flags  = IORESOURCE_IRQ,
-   .name   = "mbox",
-   },
-};
-static int omap4_mbox_resources_sz = ARRAY_SIZE(omap4_mbox_resources);
-#else
-#define omap4_mbox_resources   NULL
-#define omap4_mbox_resources_sz0
-#endif
-
-static struct platform_device mbox_device = {
-   .name   = "omap-mailbox",
-   .id = -1,
-};
-
 static inline void omap_init_mbox(void)
 {
-   if (cpu_is_omap24xx()) {
-   mbox_device.resource = omap2_mbox_resources;
-   mbox_device.num_resources = omap2_mbox_resources_sz;
-   } else if (cpu_is_omap34xx()) {
-   mbox_device.resource = omap3_mbox_resources;
-   mbox_device.num_resources = omap3_mbox_resources_sz;
-   } else if (cpu_is_omap44xx()) {
-   mbox_device.resource = omap4_mbox_resources;
-   mbox_device.num_resources = omap4_mbox_resources_sz;
-   } else {
-   pr_err("%s: platform not supported\n", __func__);
+   struct omap_hwmod *oh;
+   struct omap_device *od;
+
+   oh = omap_hwmod_lookup("mailbox");
+   if (!oh) {
+   pr_err("%s: unable to find hwmod\n", __func__);
+   return;
+   }
+
+   od = omap_device_build("omap-mailbox", -1, oh,
+   NULL, 0,
+   NULL, 0,
+   0);
+   if (!od) {
+   pr_err("%s: could not build device\n", __func__);
return;
}
-   platform_device_register(&mbox_device);
 }
 #else
 static inline void omap_init_mbox(void) { }
diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c
index 40ddeca..1ddb82d 100644
--- a/arch/arm/mach-omap2/mailbox.c
+++ b/arch/arm/mach-omap2/mailbox.c
@@ -15,6 +15,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 
 #define MAILBOX_REVISION   0x000
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c 
b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
index ed6bf4a..9e9e843 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -45,6 +45,7 @@ static struct omap_hwmod omap3xxx_wd_timer2_hwmod;
 static struct omap_hwmod omap3xxx_i2c1_hwmod;
 static struct omap_hwmod omap3xxx_i2c2_hwmod;
 static struct omap_hwmod omap3xxx_i2c3_hwmod;
+sta

RE: [PATCH 1/5] omap: mailbox: initial hwmod support for omap3

2010-10-26 Thread Varadarajan, Charulatha
 

> -Original Message-
> From: linux-omap-ow...@vger.kernel.org 
> [mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of 
> Ramirez Luna, Omar
> Sent: Wednesday, October 27, 2010 3:23 AM
> To: Tony Lindgren; Hiroshi DOYU
> Cc: Felipe Contreras; Dmitry Kasatkin; Kevin Hilman; Ramirez 
> Luna, Omar; Anna, Suman; Paul Walmsley; Cousson, Benoit; 
> Raja, Govindraj; C.A, Subramaniam; linux-omap@vger.kernel.org
> Subject: [PATCH 1/5] omap: mailbox: initial hwmod support for omap3
> 
> From: Felipe Contreras 
> 
> HWMOD support for omap3.

Use "hwmod".

> 
> Signed-off-by: Felipe Contreras 
> Signed-off-by: Omar Ramirez Luna 
> ---
>  arch/arm/mach-omap2/devices.c  |  100 
> ---
>  arch/arm/mach-omap2/mailbox.c  |1 +
>  arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |   54 +++
>  3 files changed, 70 insertions(+), 85 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/devices.c 
> b/arch/arm/mach-omap2/devices.c
> index eaf3799..d977572 100644
> --- a/arch/arm/mach-omap2/devices.c
> +++ b/arch/arm/mach-omap2/devices.c
> @@ -141,95 +141,25 @@ static inline void omap_init_camera(void)
>  #endif
>  
>  #if defined(CONFIG_OMAP_MBOX_FWK) || 
> defined(CONFIG_OMAP_MBOX_FWK_MODULE)
> -
> -#define MBOX_REG_SIZE   0x120
> -
> -#ifdef CONFIG_ARCH_OMAP2
> -static struct resource omap2_mbox_resources[] = {
> - {
> - .start  = OMAP24XX_MAILBOX_BASE,
> - .end= OMAP24XX_MAILBOX_BASE + 
> MBOX_REG_SIZE - 1,
> - .flags  = IORESOURCE_MEM,
> - },
> - {
> - .start  = INT_24XX_MAIL_U0_MPU,
> - .flags  = IORESOURCE_IRQ,
> - .name   = "dsp",
> - },
> - {
> - .start  = INT_24XX_MAIL_U3_MPU,
> - .flags  = IORESOURCE_IRQ,
> - .name   = "iva",
> - },
> -};
> -static int omap2_mbox_resources_sz = 
> ARRAY_SIZE(omap2_mbox_resources);
> -#else
> -#define omap2_mbox_resources NULL
> -#define omap2_mbox_resources_sz  0
> -#endif
> -
> -#ifdef CONFIG_ARCH_OMAP3
> -static struct resource omap3_mbox_resources[] = {
> - {
> - .start  = OMAP34XX_MAILBOX_BASE,
> - .end= OMAP34XX_MAILBOX_BASE + 
> MBOX_REG_SIZE - 1,
> - .flags  = IORESOURCE_MEM,
> - },
> - {
> - .start  = INT_24XX_MAIL_U0_MPU,
> - .flags  = IORESOURCE_IRQ,
> - .name   = "dsp",
> - },
> -};
> -static int omap3_mbox_resources_sz = 
> ARRAY_SIZE(omap3_mbox_resources);
> -#else
> -#define omap3_mbox_resources NULL
> -#define omap3_mbox_resources_sz  0
> -#endif
> -
> -#ifdef CONFIG_ARCH_OMAP4
> -
> -#define OMAP4_MBOX_REG_SIZE  0x130
> -static struct resource omap4_mbox_resources[] = {
> - {
> - .start  = OMAP44XX_MAILBOX_BASE,
> - .end= OMAP44XX_MAILBOX_BASE +
> - OMAP4_MBOX_REG_SIZE - 1,
> - .flags  = IORESOURCE_MEM,
> - },
> - {
> - .start  = OMAP44XX_IRQ_MAIL_U0,
> - .flags  = IORESOURCE_IRQ,
> - .name   = "mbox",
> - },
> -};
> -static int omap4_mbox_resources_sz = 
> ARRAY_SIZE(omap4_mbox_resources);
> -#else
> -#define omap4_mbox_resources NULL
> -#define omap4_mbox_resources_sz  0
> -#endif
> -
> -static struct platform_device mbox_device = {
> - .name   = "omap-mailbox",
> - .id = -1,
> -};
> -
>  static inline void omap_init_mbox(void)
>  {
> - if (cpu_is_omap24xx()) {
> - mbox_device.resource = omap2_mbox_resources;
> - mbox_device.num_resources = omap2_mbox_resources_sz;
> - } else if (cpu_is_omap34xx()) {
> - mbox_device.resource = omap3_mbox_resources;
> - mbox_device.num_resources = omap3_mbox_resources_sz;
> - } else if (cpu_is_omap44xx()) {
> - mbox_device.resource = omap4_mbox_resources;
> - mbox_device.num_resources = omap4_mbox_resources_sz;
> - } else {
> - pr_err("%s: platform not supported\n", __func__);
> + struct omap_hwmod *oh;
> + struct omap_device *od;
> +
> + oh = omap_hwmod_lookup("mailbox");
> + if (!oh) {
> + pr_err("%s: unable to find hwmod\n", __func__);
> + return;
&

Re: [PATCH 1/5] omap: mailbox: initial hwmod support for omap3

2010-10-27 Thread Omar Ramirez Luna
On Wed, Oct 27, 2010 at 12:07 AM, Varadarajan, Charulatha  wrote:
>> HWMOD support for omap3.
>
> Use "hwmod".

ok

...
> This patch series breaks OMAP4 support.

indeed, I'll try to exercise a sanity use case with omap4 and its hwmod data

>
> OMAP2 support is broken with this patch and the same is fixed
> in the next patch. Hence patch 2 should be ordered before patch 1.
>

Agree

>> --- a/arch/arm/mach-omap2/mailbox.c
>> +++ b/arch/arm/mach-omap2/mailbox.c
>> @@ -15,6 +15,7 @@
>>  #include 
>>  #include 
>>  #include 
>> +#include 
>
> Is this required? I do not see this file using any hwmod info.

might have been kept with the rebase, I'll check again

Regards,

Omar
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/5] omap: mailbox: initial hwmod support for omap3

2010-11-09 Thread Kevin Hilman
Omar Ramirez Luna  writes:

> From: Felipe Contreras 
>
> HWMOD support for omap3.

-ENO_DESCRIPTIVE_CHANGELOG

Please describe in more detail what is happening here, starting with a
better subject:

   omap: mailbox: build device using omap_device/omap_hwmod

and the changelog should describe that what is being changed is that 
there is no longer a need for static platform_device and resources since
all of this data is contained in the omap_hwmod for the mailbox.


> Signed-off-by: Felipe Contreras 
> Signed-off-by: Omar Ramirez Luna 
> ---
>  arch/arm/mach-omap2/devices.c  |  100 ---
>  arch/arm/mach-omap2/mailbox.c  |1 +
>  arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |   54 +++

please separate out the addition of hwmod_data into it's own patch that
comes before this.  As mentioned by Charu, all the hwmod data could be
added early in the series, before this conversion is done.

Kevin
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/5] omap: mailbox: initial hwmod support for omap3

2010-11-09 Thread Ramirez Luna, Omar
On Tue, Nov 9, 2010 at 5:38 PM, Kevin Hilman
 wrote:
>> ---
>>  arch/arm/mach-omap2/devices.c              |  100 
>> ---
>>  arch/arm/mach-omap2/mailbox.c              |    1 +
>>  arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |   54 +++
>
> please separate out the addition of hwmod_data into it's own patch that
> comes before this.  As mentioned by Charu, all the hwmod data could be
> added early in the series, before this conversion is done.

Yes, this was changed in v2 [1], thanks for your comments, they will
be addressed in the next version.

Regards,

Omar

---
[1] http://www.mail-archive.com/linux-omap@vger.kernel.org/msg38171.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html