public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] omap: mailbox: hwmod support and dependent cleanup patches
@ 2010-10-26 21:52 Omar Ramirez Luna
  2010-10-26 21:53 ` [PATCH 1/5] omap: mailbox: initial hwmod support for omap3 Omar Ramirez Luna
                   ` (4 more replies)
  0 siblings, 5 replies; 18+ messages in thread
From: Omar Ramirez Luna @ 2010-10-26 21:52 UTC (permalink / raw)
  To: Tony Lindgren, Hiroshi DOYU
  Cc: Felipe Contreras, Dmitry Kasatkin, Kevin Hilman,
	Omar Ramirez Luna, Suman Anna, Paul Walmsley, Benoit Cousson,
	Govindraj.R, C A Subramaniam, linux-omap

HWMOD support for omap2 and omap3 chips, plus cleanups.

1. omap: mailbox: initial hwmod support for omap3
Changes were made to:
- Rebase to latest code.
- Detect the hwmod by filling prcm union for omap2, without
  this it was unable to build the hwmod at runtime.
- Replace magic number for defines.
- Use ioremap again instead of relying on the one made by hwmod,
  as noted in http://patchwork.kernel.org/patch/101661/

Tested on 3430 and 3630

2. omap: mailbox: initial hwmod support for omap2
Was only compiled tested!! Unfortunately I don't have the HW for it.

4. omap: mailbox: fix detection for previously supported chips
Original patch was using features framework, but when compiled as a module
it was breaking, this patch uses cpu_is_omap34xx macro instead.

This is meant as a short term solution until proper cleanup is done, as suggested in:

http://marc.info/?l=linux-arm-kernel&m=128534253231481&w=2

Felipe Contreras (2):
  omap: mailbox: initial hwmod support for omap3
  omap: mailbox: add omap_device latency information

Omar Ramirez Luna (4):
  omap: mailbox: initial hwmod support for omap2
  omap: mailbox: fix detection for previously supported chips
  omap: mailbox: remove unreachable return

 arch/arm/mach-omap2/devices.c              |  104 +++++++---------------------
 arch/arm/mach-omap2/mailbox.c              |   40 +++++-----
 arch/arm/mach-omap2/omap_hwmod_2420_data.c |   55 +++++++++++++++
 arch/arm/mach-omap2/omap_hwmod_2430_data.c |   54 ++++++++++++++
 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |   54 ++++++++++++++
 arch/arm/plat-omap/include/plat/mailbox.h  |    6 ++
 6 files changed, 213 insertions(+), 100 deletions(-)


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

* [PATCH 1/5] omap: mailbox: initial hwmod support for omap3
  2010-10-26 21:52 [PATCH 0/5] omap: mailbox: hwmod support and dependent cleanup patches Omar Ramirez Luna
@ 2010-10-26 21:53 ` Omar Ramirez Luna
  2010-10-27  5:07   ` Varadarajan, Charulatha
  2010-11-09 23:38   ` Kevin Hilman
  2010-10-26 21:53 ` [PATCH 2/5] omap: mailbox: initial hwmod support for omap2 Omar Ramirez Luna
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 18+ messages in thread
From: Omar Ramirez Luna @ 2010-10-26 21:53 UTC (permalink / raw)
  To: Tony Lindgren, Hiroshi DOYU
  Cc: Felipe Contreras, Dmitry Kasatkin, Kevin Hilman,
	Omar Ramirez Luna, Suman Anna, Paul Walmsley, Benoit Cousson,
	Govindraj.R, C A Subramaniam, linux-omap

From: Felipe Contreras <felipe.contreras@gmail.com>

HWMOD support for omap3.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
---
 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;
+	}
+
+	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 <linux/platform_device.h>
 #include <linux/io.h>
 #include <plat/mailbox.h>
+#include <plat/omap_hwmod.h>
 #include <mach/irqs.h>
 
 #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;
+static struct omap_hwmod omap3xxx_mailbox_hwmod;
 
 /* L3 -> L4_CORE interface */
 static struct omap_hwmod_ocp_if omap3xxx_l3_main__l4_core = {
@@ -736,6 +737,58 @@ static struct omap_hwmod omap3xxx_i2c3_hwmod = {
 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
 };
 
+/* Mailbox */
+
+static struct omap_hwmod_class omap3xxx_mailbox_hwmod_class = {
+	.name = "mailbox",
+};
+
+static struct omap_hwmod_irq_info omap3xxx_mailbox_irqs[] = {
+	{ .name = "dsp", .irq = INT_24XX_MAIL_U0_MPU },
+};
+
+static struct omap_hwmod_addr_space omap3xxx_mailbox_addrs[] = {
+	{
+		.pa_start	= OMAP34XX_MAILBOX_BASE,
+		.pa_end		= OMAP34XX_MAILBOX_BASE + SZ_4K - 1,
+		.flags		= ADDR_TYPE_RT
+	},
+};
+
+/* L4_CORE -> Mailbox */
+static struct omap_hwmod_ocp_if omap3xxx_l4_core__mailbox = {
+	.master		= &omap3xxx_l4_core_hwmod,
+	.slave		= &omap3xxx_mailbox_hwmod,
+	.addr		= omap3xxx_mailbox_addrs,
+	.addr_cnt	= ARRAY_SIZE(omap3xxx_mailbox_addrs),
+	.user		= OCP_USER_MPU | OCP_USER_SDMA,
+};
+
+/* Mailbox slave ports */
+static struct omap_hwmod_ocp_if *omap3xxx_mailbox_slaves[] = {
+	&omap3xxx_l4_core__mailbox,
+};
+
+static struct omap_hwmod omap3xxx_mailbox_hwmod = {
+	.name		= "mailbox",
+	.class		= &omap3xxx_mailbox_hwmod_class,
+	.prcm		= {
+		.omap2 = {
+			.prcm_reg_id = 1,
+			.module_bit = OMAP3430_EN_MAILBOXES_SHIFT,
+			.module_offs = CORE_MOD,
+			.idlest_reg_id = 1,
+			.idlest_idle_bit = OMAP3430_ST_MAILBOXES_SHIFT,
+		},
+	},
+	.main_clk	= "mailboxes_ick",
+	.mpu_irqs	= omap3xxx_mailbox_irqs,
+	.mpu_irqs_cnt	= ARRAY_SIZE(omap3xxx_mailbox_irqs),
+	.slaves		= omap3xxx_mailbox_slaves,
+	.slaves_cnt	= ARRAY_SIZE(omap3xxx_mailbox_slaves),
+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
+};
+
 static __initdata struct omap_hwmod *omap3xxx_hwmods[] = {
 	&omap3xxx_l3_main_hwmod,
 	&omap3xxx_l4_core_hwmod,
@@ -751,6 +804,7 @@ static __initdata struct omap_hwmod *omap3xxx_hwmods[] = {
 	&omap3xxx_i2c1_hwmod,
 	&omap3xxx_i2c2_hwmod,
 	&omap3xxx_i2c3_hwmod,
+	&omap3xxx_mailbox_hwmod,
 	NULL,
 };
 
-- 
1.7.1


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

* [PATCH 2/5] omap: mailbox: initial hwmod support for omap2
  2010-10-26 21:52 [PATCH 0/5] omap: mailbox: hwmod support and dependent cleanup patches Omar Ramirez Luna
  2010-10-26 21:53 ` [PATCH 1/5] omap: mailbox: initial hwmod support for omap3 Omar Ramirez Luna
@ 2010-10-26 21:53 ` Omar Ramirez Luna
  2010-10-27  5:07   ` Varadarajan, Charulatha
  2010-10-26 21:53 ` [PATCH 3/5] omap: mailbox: add omap_device latency information Omar Ramirez Luna
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 18+ messages in thread
From: Omar Ramirez Luna @ 2010-10-26 21:53 UTC (permalink / raw)
  To: Tony Lindgren, Hiroshi DOYU
  Cc: Felipe Contreras, Dmitry Kasatkin, Kevin Hilman,
	Omar Ramirez Luna, Suman Anna, Paul Walmsley, Benoit Cousson,
	Govindraj.R, C A Subramaniam, linux-omap

HWMOD support for omap2430 and 2420.

Compiled tested only.

Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
---
 arch/arm/mach-omap2/omap_hwmod_2420_data.c |   55 ++++++++++++++++++++++++++++
 arch/arm/mach-omap2/omap_hwmod_2430_data.c |   54 +++++++++++++++++++++++++++
 2 files changed, 109 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
index a1a3dd6..e417fb4 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
@@ -81,6 +81,7 @@ static struct omap_hwmod omap2420_uart2_hwmod;
 static struct omap_hwmod omap2420_uart3_hwmod;
 static struct omap_hwmod omap2420_i2c1_hwmod;
 static struct omap_hwmod omap2420_i2c2_hwmod;
+static struct omap_hwmod omap2420_mailbox_hwmod;
 
 /* L4_CORE -> L4_WKUP interface */
 static struct omap_hwmod_ocp_if omap2420_l4_core__l4_wkup = {
@@ -557,6 +558,59 @@ static struct omap_hwmod omap2420_i2c2_hwmod = {
 	.flags		= HWMOD_16BIT_REG,
 };
 
+/* Mailbox */
+
+static struct omap_hwmod_class omap2420_mailbox_hwmod_class = {
+	.name = "mailbox",
+};
+
+static struct omap_hwmod_irq_info omap2420_mailbox_irqs[] = {
+	{ .name = "dsp", .irq = INT_24XX_MAIL_U0_MPU },
+	{ .name = "iva", .irq = INT_24XX_MAIL_U3_MPU },
+};
+
+static struct omap_hwmod_addr_space omap2420_mailbox_addrs[] = {
+	{
+		.pa_start	= OMAP24XX_MAILBOX_BASE,
+		.pa_end		= OMAP24XX_MAILBOX_BASE + SZ_4K - 1,
+		.flags		= ADDR_TYPE_RT
+	},
+};
+
+/* L4_CORE -> Mailbox */
+static struct omap_hwmod_ocp_if omap2420_l4_core__mailbox = {
+	.master		= &omap2420_l4_core_hwmod,
+	.slave		= &omap2420_mailbox_hwmod,
+	.addr		= omap2420_mailbox_addrs,
+	.addr_cnt	= ARRAY_SIZE(omap2420_mailbox_addrs),
+	.user		= OCP_USER_MPU | OCP_USER_SDMA,
+};
+
+/* Mailbox slave ports */
+static struct omap_hwmod_ocp_if *omap2420_mailbox_slaves[] = {
+	&omap2420_l4_core__mailbox,
+};
+
+static struct omap_hwmod omap2420_mailbox_hwmod = {
+	.name		= "mailbox",
+	.class		= &omap2420_mailbox_hwmod_class,
+	.prcm		= {
+		.omap2 = {
+			.prcm_reg_id = 1,
+			.module_bit = OMAP24XX_EN_MAILBOXES_SHIFT,
+			.module_offs = CORE_MOD,
+			.idlest_reg_id = 1,
+			.idlest_idle_bit = OMAP24XX_ST_MAILBOXES_SHIFT,
+		},
+	},
+	.main_clk	= "mailboxes_ick",
+	.mpu_irqs	= omap2420_mailbox_irqs,
+	.mpu_irqs_cnt	= ARRAY_SIZE(omap2420_mailbox_irqs),
+	.slaves		= omap2420_mailbox_slaves,
+	.slaves_cnt	= ARRAY_SIZE(omap2420_mailbox_slaves),
+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2420),
+};
+
 static __initdata struct omap_hwmod *omap2420_hwmods[] = {
 	&omap2420_l3_main_hwmod,
 	&omap2420_l4_core_hwmod,
@@ -569,6 +623,7 @@ static __initdata struct omap_hwmod *omap2420_hwmods[] = {
 	&omap2420_uart3_hwmod,
 	&omap2420_i2c1_hwmod,
 	&omap2420_i2c2_hwmod,
+	&omap2420_mailbox_hwmod,
 	NULL,
 };
 
diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
index 7cf0d3a..1a7d2d9 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
@@ -81,6 +81,7 @@ static struct omap_hwmod omap2430_uart2_hwmod;
 static struct omap_hwmod omap2430_uart3_hwmod;
 static struct omap_hwmod omap2430_i2c1_hwmod;
 static struct omap_hwmod omap2430_i2c2_hwmod;
+static struct omap_hwmod omap2430_mailbox_hwmod;
 
 /* I2C IP block address space length (in bytes) */
 #define OMAP2_I2C_AS_LEN		128
@@ -569,6 +570,58 @@ static struct omap_hwmod omap2430_i2c2_hwmod = {
 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
 };
 
+/* Mailbox */
+
+static struct omap_hwmod_class omap2430_mailbox_hwmod_class = {
+	.name = "mailbox",
+};
+
+static struct omap_hwmod_irq_info omap2430_mailbox_irqs[] = {
+	{ .name = "dsp", .irq = INT_24XX_MAIL_U0_MPU },
+};
+
+static struct omap_hwmod_addr_space omap2430_mailbox_addrs[] = {
+	{
+		.pa_start	= OMAP24XX_MAILBOX_BASE,
+		.pa_end		= OMAP24XX_MAILBOX_BASE + SZ_4K - 1,
+		.flags		= ADDR_TYPE_RT
+	},
+};
+
+/* L4_CORE -> Mailbox */
+static struct omap_hwmod_ocp_if omap2430_l4_core__mailbox = {
+	.master		= &omap2430_l4_core_hwmod,
+	.slave		= &omap2430_mailbox_hwmod,
+	.addr		= omap2430_mailbox_addrs,
+	.addr_cnt	= ARRAY_SIZE(omap2430_mailbox_addrs),
+	.user		= OCP_USER_MPU | OCP_USER_SDMA,
+};
+
+/* Mailbox slave ports */
+static struct omap_hwmod_ocp_if *omap2430_mailbox_slaves[] = {
+	&omap2430_l4_core__mailbox,
+};
+
+static struct omap_hwmod omap2430_mailbox_hwmod = {
+	.name		= "mailbox",
+	.class		= &omap2430_mailbox_hwmod_class,
+	.prcm		= {
+		.omap2 = {
+			.prcm_reg_id = 1,
+			.module_bit = OMAP24XX_EN_MAILBOXES_SHIFT,
+			.module_offs = CORE_MOD,
+			.idlest_reg_id = 1,
+			.idlest_idle_bit = OMAP24XX_ST_MAILBOXES_SHIFT,
+		},
+	},
+	.main_clk	= "mailboxes_ick",
+	.mpu_irqs	= omap2430_mailbox_irqs,
+	.mpu_irqs_cnt	= ARRAY_SIZE(omap2430_mailbox_irqs),
+	.slaves		= omap2430_mailbox_slaves,
+	.slaves_cnt	= ARRAY_SIZE(omap2430_mailbox_slaves),
+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP2430),
+};
+
 static __initdata struct omap_hwmod *omap2430_hwmods[] = {
 	&omap2430_l3_main_hwmod,
 	&omap2430_l4_core_hwmod,
@@ -581,6 +634,7 @@ static __initdata struct omap_hwmod *omap2430_hwmods[] = {
 	&omap2430_uart3_hwmod,
 	&omap2430_i2c1_hwmod,
 	&omap2430_i2c2_hwmod,
+	&omap2430_mailbox_hwmod,
 	NULL,
 };
 
-- 
1.7.1


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

* [PATCH 3/5] omap: mailbox: add omap_device latency information
  2010-10-26 21:52 [PATCH 0/5] omap: mailbox: hwmod support and dependent cleanup patches Omar Ramirez Luna
  2010-10-26 21:53 ` [PATCH 1/5] omap: mailbox: initial hwmod support for omap3 Omar Ramirez Luna
  2010-10-26 21:53 ` [PATCH 2/5] omap: mailbox: initial hwmod support for omap2 Omar Ramirez Luna
@ 2010-10-26 21:53 ` Omar Ramirez Luna
  2010-11-09 23:48   ` Kevin Hilman
  2010-10-26 21:53 ` [PATCH 4/5] omap: mailbox: fix detection for previously supported chips Omar Ramirez Luna
  2010-10-26 21:53 ` [PATCH 5/5] omap: mailbox: remove unreachable return Omar Ramirez Luna
  4 siblings, 1 reply; 18+ messages in thread
From: Omar Ramirez Luna @ 2010-10-26 21:53 UTC (permalink / raw)
  To: Tony Lindgren, Hiroshi DOYU
  Cc: Felipe Contreras, Dmitry Kasatkin, Kevin Hilman,
	Omar Ramirez Luna, Suman Anna, Paul Walmsley, Benoit Cousson,
	Govindraj.R, C A Subramaniam, linux-omap

From: Felipe Contreras <felipe.contreras@gmail.com>

So that we can enable the main clock.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
---
 arch/arm/mach-omap2/devices.c             |   19 +++++++++++++++++--
 arch/arm/mach-omap2/mailbox.c             |   21 +++++++++------------
 arch/arm/plat-omap/include/plat/mailbox.h |    6 ++++++
 3 files changed, 32 insertions(+), 14 deletions(-)

diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
index d977572..337fd7a 100644
--- a/arch/arm/mach-omap2/devices.c
+++ b/arch/arm/mach-omap2/devices.c
@@ -29,6 +29,7 @@
 #include <plat/dma.h>
 #include <plat/omap_hwmod.h>
 #include <plat/omap_device.h>
+#include <plat/mailbox.h>
 
 #include "mux.h"
 #include "control.h"
@@ -141,10 +142,20 @@ static inline void omap_init_camera(void)
 #endif
 
 #if defined(CONFIG_OMAP_MBOX_FWK) || defined(CONFIG_OMAP_MBOX_FWK_MODULE)
+static struct omap_device_pm_latency mbox_latencies[] = {
+	[0] = {
+		.activate_func = omap_device_enable_clocks,
+		.activate_lat = 50000, /* FIXME random value */
+		.deactivate_func = omap_device_enable_clocks,
+		.deactivate_lat = 50000, /* FIXME random value */
+	},
+};
+
 static inline void omap_init_mbox(void)
 {
 	struct omap_hwmod *oh;
 	struct omap_device *od;
+	struct omap_mbox_platform_data pdata;
 
 	oh = omap_hwmod_lookup("mailbox");
 	if (!oh) {
@@ -152,10 +163,14 @@ static inline void omap_init_mbox(void)
 		return;
 	}
 
+	pdata.device_enable = omap_device_enable;
+	pdata.device_disable = omap_device_idle;
+
 	od = omap_device_build("omap-mailbox", -1, oh,
-			NULL, 0,
-			NULL, 0,
+			&pdata, sizeof(pdata),
+			mbox_latencies, ARRAY_SIZE(mbox_latencies),
 			0);
+
 	if (!od) {
 		pr_err("%s: could not build device\n", __func__);
 		return;
diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c
index 1ddb82d..61f2149 100644
--- a/arch/arm/mach-omap2/mailbox.c
+++ b/arch/arm/mach-omap2/mailbox.c
@@ -53,6 +53,7 @@
 #define OMAP4_MBOX_NR_REGS		(OMAP4_MBOX_REG_SIZE / sizeof(u32))
 
 static void __iomem *mbox_base;
+static struct platform_device *mbox_pdev;
 
 struct omap_mbox2_fifo {
 	unsigned long msg;
@@ -71,8 +72,6 @@ struct omap_mbox2_priv {
 	unsigned long irqdisable;
 };
 
-static struct clk *mbox_ick_handle;
-
 static void omap2_mbox_enable_irq(struct omap_mbox *mbox,
 				  omap_mbox_type_t irq);
 
@@ -91,14 +90,10 @@ static int omap2_mbox_startup(struct omap_mbox *mbox)
 {
 	u32 l;
 	unsigned long timeout;
+	struct omap_mbox_platform_data *pdata = mbox_pdev->dev.platform_data;
 
-	mbox_ick_handle = clk_get(NULL, "mailboxes_ick");
-	if (IS_ERR(mbox_ick_handle)) {
-		printk(KERN_ERR "Could not get mailboxes_ick: %ld\n",
-			PTR_ERR(mbox_ick_handle));
-		return PTR_ERR(mbox_ick_handle);
-	}
-	clk_enable(mbox_ick_handle);
+	if (pdata->device_enable)
+		pdata->device_enable(mbox_pdev);
 
 	if (cpu_is_omap44xx()) {
 		mbox_write_reg(OMAP4_SOFTRESET, MAILBOX_SYSCONFIG);
@@ -144,9 +139,9 @@ static int omap2_mbox_startup(struct omap_mbox *mbox)
 
 static void omap2_mbox_shutdown(struct omap_mbox *mbox)
 {
-	clk_disable(mbox_ick_handle);
-	clk_put(mbox_ick_handle);
-	mbox_ick_handle = NULL;
+	struct omap_mbox_platform_data *pdata = mbox_pdev->dev.platform_data;
+	if (pdata->device_disable)
+		pdata->device_disable(mbox_pdev);
 }
 
 /* Mailbox FIFO handle functions */
@@ -428,6 +423,8 @@ static int __devinit omap2_mbox_probe(struct platform_device *pdev)
 	if (!mbox_base)
 		return -ENOMEM;
 
+	mbox_pdev = pdev;
+
 	ret = omap_mbox_register(&pdev->dev, list);
 	if (ret) {
 		iounmap(mbox_base);
diff --git a/arch/arm/plat-omap/include/plat/mailbox.h b/arch/arm/plat-omap/include/plat/mailbox.h
index 9976565..59443b1 100644
--- a/arch/arm/plat-omap/include/plat/mailbox.h
+++ b/arch/arm/plat-omap/include/plat/mailbox.h
@@ -11,6 +11,7 @@
 
 typedef u32 mbox_msg_t;
 struct omap_mbox;
+struct platform_device;
 
 typedef int __bitwise omap_mbox_irq_t;
 #define IRQ_TX ((__force omap_mbox_irq_t) 1)
@@ -59,6 +60,11 @@ struct omap_mbox {
 	void			*priv;
 };
 
+struct omap_mbox_platform_data {
+	int (*device_enable)(struct platform_device *pdev);
+	int (*device_disable)(struct platform_device *pdev);
+};
+
 int omap_mbox_msg_send(struct omap_mbox *, mbox_msg_t msg);
 void omap_mbox_init_seq(struct omap_mbox *);
 
-- 
1.7.1


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

* [PATCH 4/5] omap: mailbox: fix detection for previously supported chips
  2010-10-26 21:52 [PATCH 0/5] omap: mailbox: hwmod support and dependent cleanup patches Omar Ramirez Luna
                   ` (2 preceding siblings ...)
  2010-10-26 21:53 ` [PATCH 3/5] omap: mailbox: add omap_device latency information Omar Ramirez Luna
@ 2010-10-26 21:53 ` Omar Ramirez Luna
  2010-10-27  5:06   ` Varadarajan, Charulatha
  2010-10-26 21:53 ` [PATCH 5/5] omap: mailbox: remove unreachable return Omar Ramirez Luna
  4 siblings, 1 reply; 18+ messages in thread
From: Omar Ramirez Luna @ 2010-10-26 21:53 UTC (permalink / raw)
  To: Tony Lindgren, Hiroshi DOYU
  Cc: Felipe Contreras, Dmitry Kasatkin, Kevin Hilman,
	Omar Ramirez Luna, Suman Anna, Paul Walmsley, Benoit Cousson,
	Govindraj.R, C A Subramaniam, linux-omap

Fix the mailbox detection for OMAP3630 and 2430, also minor
cleanup on conditional ifdef's that could affect it.

Given that 2430 has an iva too include it, as the same steps
for omap3 apply.

Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
---
 arch/arm/mach-omap2/mailbox.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c
index 61f2149..b8fd120 100644
--- a/arch/arm/mach-omap2/mailbox.c
+++ b/arch/arm/mach-omap2/mailbox.c
@@ -277,7 +277,7 @@ static struct omap_mbox_ops omap2_mbox_ops = {
 
 /* FIXME: the following structs should be filled automatically by the user id */
 
-#if defined(CONFIG_ARCH_OMAP3430) || defined(CONFIG_ARCH_OMAP2420)
+#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP2)
 /* DSP */
 static struct omap_mbox2_priv omap2_mbox_dsp_priv = {
 	.tx_fifo = {
@@ -302,7 +302,7 @@ struct omap_mbox mbox_dsp_info = {
 };
 #endif
 
-#if defined(CONFIG_ARCH_OMAP3430)
+#if defined(CONFIG_ARCH_OMAP3)
 struct omap_mbox *omap3_mboxes[] = { &mbox_dsp_info, NULL };
 #endif
 
@@ -390,15 +390,19 @@ static int __devinit omap2_mbox_probe(struct platform_device *pdev)
 
 	if (false)
 		;
-#if defined(CONFIG_ARCH_OMAP3430)
-	else if (cpu_is_omap3430()) {
+#if defined(CONFIG_ARCH_OMAP3)
+	else if (cpu_is_omap34xx()) {
 		list = omap3_mboxes;
 
 		list[0]->irq = platform_get_irq_byname(pdev, "dsp");
 	}
 #endif
-#if defined(CONFIG_ARCH_OMAP2420)
-	else if (cpu_is_omap2420()) {
+#if defined(CONFIG_ARCH_OMAP2)
+	else if (cpu_is_omap2430()) {
+		list = omap2_mboxes;
+
+		list[0]->irq = platform_get_irq_byname(pdev, "dsp");
+	} else if (cpu_is_omap2420()) {
 		list = omap2_mboxes;
 
 		list[0]->irq = platform_get_irq_byname(pdev, "dsp");
-- 
1.7.1


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

* [PATCH 5/5] omap: mailbox: remove unreachable return
  2010-10-26 21:52 [PATCH 0/5] omap: mailbox: hwmod support and dependent cleanup patches Omar Ramirez Luna
                   ` (3 preceding siblings ...)
  2010-10-26 21:53 ` [PATCH 4/5] omap: mailbox: fix detection for previously supported chips Omar Ramirez Luna
@ 2010-10-26 21:53 ` Omar Ramirez Luna
  4 siblings, 0 replies; 18+ messages in thread
From: Omar Ramirez Luna @ 2010-10-26 21:53 UTC (permalink / raw)
  To: Tony Lindgren, Hiroshi DOYU
  Cc: Felipe Contreras, Dmitry Kasatkin, Kevin Hilman,
	Omar Ramirez Luna, Suman Anna, Paul Walmsley, Benoit Cousson,
	Govindraj.R, C A Subramaniam, linux-omap

Remove unreachable return statement.

Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
---
 arch/arm/mach-omap2/mailbox.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c
index b8fd120..2dd0e07 100644
--- a/arch/arm/mach-omap2/mailbox.c
+++ b/arch/arm/mach-omap2/mailbox.c
@@ -435,8 +435,6 @@ static int __devinit omap2_mbox_probe(struct platform_device *pdev)
 		return ret;
 	}
 	return 0;
-
-	return ret;
 }
 
 static int __devexit omap2_mbox_remove(struct platform_device *pdev)
-- 
1.7.1


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

* RE: [PATCH 4/5] omap: mailbox: fix detection for previously supported chips
  2010-10-26 21:53 ` [PATCH 4/5] omap: mailbox: fix detection for previously supported chips Omar Ramirez Luna
@ 2010-10-27  5:06   ` Varadarajan, Charulatha
  2010-10-27  7:28     ` Felipe Contreras
  0 siblings, 1 reply; 18+ messages in thread
From: Varadarajan, Charulatha @ 2010-10-27  5:06 UTC (permalink / raw)
  To: Ramirez Luna, Omar, Tony Lindgren, Hiroshi DOYU
  Cc: Felipe Contreras, Dmitry Kasatkin, Kevin Hilman, Anna, Suman,
	Paul Walmsley, Cousson, Benoit, Raja, Govindraj, C.A, Subramaniam,
	linux-omap@vger.kernel.org

 

> -----Original Message-----
> From: linux-omap-owner@vger.kernel.org 
> [mailto:linux-omap-owner@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 4/5] omap: mailbox: fix detection for 
> previously supported chips
> 
> Fix the mailbox detection for OMAP3630 and 2430, also minor
> cleanup on conditional ifdef's that could affect it.
> 
> Given that 2430 has an iva too include it, as the same steps
> for omap3 apply.
> 
> Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
> ---
>  arch/arm/mach-omap2/mailbox.c |   16 ++++++++++------
>  1 files changed, 10 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/mailbox.c 
> b/arch/arm/mach-omap2/mailbox.c
> index 61f2149..b8fd120 100644
> --- a/arch/arm/mach-omap2/mailbox.c
> +++ b/arch/arm/mach-omap2/mailbox.c
> @@ -277,7 +277,7 @@ static struct omap_mbox_ops omap2_mbox_ops = {
>  
>  /* FIXME: the following structs should be filled 
> automatically by the user id */
>  
> -#if defined(CONFIG_ARCH_OMAP3430) || defined(CONFIG_ARCH_OMAP2420)
> +#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP2)
>  /* DSP */
>  static struct omap_mbox2_priv omap2_mbox_dsp_priv = {
>  	.tx_fifo = {
> @@ -302,7 +302,7 @@ struct omap_mbox mbox_dsp_info = {
>  };
>  #endif
>  
> -#if defined(CONFIG_ARCH_OMAP3430)
> +#if defined(CONFIG_ARCH_OMAP3)
>  struct omap_mbox *omap3_mboxes[] = { &mbox_dsp_info, NULL };
>  #endif
>  
> @@ -390,15 +390,19 @@ static int __devinit 
> omap2_mbox_probe(struct platform_device *pdev)
>  
>  	if (false)
>  		;
> -#if defined(CONFIG_ARCH_OMAP3430)
> -	else if (cpu_is_omap3430()) {
> +#if defined(CONFIG_ARCH_OMAP3)
> +	else if (cpu_is_omap34xx()) {

Use cpu_is_* check only. No need to have #if CONFIG_ARCH_* checks.

>  		list = omap3_mboxes;
>  
>  		list[0]->irq = platform_get_irq_byname(pdev, "dsp");
>  	}
>  #endif
> -#if defined(CONFIG_ARCH_OMAP2420)
> -	else if (cpu_is_omap2420()) {
> +#if defined(CONFIG_ARCH_OMAP2)
> +	else if (cpu_is_omap2430()) {
> +		list = omap2_mboxes;
> +
> +		list[0]->irq = platform_get_irq_byname(pdev, "dsp");
> +	} else if (cpu_is_omap2420()) {

Ditto

>  		list = omap2_mboxes;
>  
>  		list[0]->irq = platform_get_irq_byname(pdev, "dsp");
> -- 
> 1.7.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe 
> linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

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

* RE: [PATCH 2/5] omap: mailbox: initial hwmod support for omap2
  2010-10-26 21:53 ` [PATCH 2/5] omap: mailbox: initial hwmod support for omap2 Omar Ramirez Luna
@ 2010-10-27  5:07   ` Varadarajan, Charulatha
  0 siblings, 0 replies; 18+ messages in thread
From: Varadarajan, Charulatha @ 2010-10-27  5:07 UTC (permalink / raw)
  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

 

> -----Original Message-----
> From: linux-omap-owner@vger.kernel.org 
> [mailto:linux-omap-owner@vger.kernel.org] On Behalf Of Omar 
> Ramirez Luna
> 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 2/5] omap: mailbox: initial hwmod support for omap2
> 
> HWMOD support for omap2430 and 2420.

It is preferred to use the following $Subject while adding hwmod data
"OMAP2: hwmod data: Add mailbox"

-V Charulatha

<<snip>>

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

* RE: [PATCH 1/5] omap: mailbox: initial hwmod support for omap3
  2010-10-26 21:53 ` [PATCH 1/5] omap: mailbox: initial hwmod support for omap3 Omar Ramirez Luna
@ 2010-10-27  5:07   ` Varadarajan, Charulatha
  2010-10-27 11:50     ` Omar Ramirez Luna
  2010-11-09 23:38   ` Kevin Hilman
  1 sibling, 1 reply; 18+ messages in thread
From: Varadarajan, Charulatha @ 2010-10-27  5:07 UTC (permalink / raw)
  To: Ramirez Luna, Omar, Tony Lindgren, Hiroshi DOYU
  Cc: Felipe Contreras, Dmitry Kasatkin, Kevin Hilman, Anna, Suman,
	Paul Walmsley, Cousson, Benoit, Raja, Govindraj, C.A, Subramaniam,
	linux-omap@vger.kernel.org

 

> -----Original Message-----
> From: linux-omap-owner@vger.kernel.org 
> [mailto:linux-omap-owner@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 <felipe.contreras@gmail.com>
> 
> HWMOD support for omap3.

Use "hwmod".

> 
> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
> Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
> ---
>  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;
> +	}
> +
> +	od = omap_device_build("omap-mailbox", -1, oh,
> +			NULL, 0,
> +			NULL, 0,
> +			0);

This patch series breaks OMAP4 support.

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. 

> +	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 <linux/platform_device.h>
>  #include <linux/io.h>
>  #include <plat/mailbox.h>
> +#include <plat/omap_hwmod.h>

Is this required? I do not see this file using any hwmod info.

-V Charulatha

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

* Re: [PATCH 4/5] omap: mailbox: fix detection for previously supported chips
  2010-10-27  5:06   ` Varadarajan, Charulatha
@ 2010-10-27  7:28     ` Felipe Contreras
  2010-10-27  9:00       ` Grazvydas Ignotas
  0 siblings, 1 reply; 18+ messages in thread
From: Felipe Contreras @ 2010-10-27  7:28 UTC (permalink / raw)
  To: Varadarajan, Charulatha
  Cc: Ramirez Luna, Omar, Tony Lindgren, Hiroshi DOYU, Dmitry Kasatkin,
	Kevin Hilman, Anna, Suman, Paul Walmsley, Cousson, Benoit,
	Raja, Govindraj, C.A, Subramaniam, linux-omap@vger.kernel.org

On Wed, Oct 27, 2010 at 8:06 AM, Varadarajan, Charulatha <charu@ti.com> wrote:
>> Fix the mailbox detection for OMAP3630 and 2430, also minor
>> cleanup on conditional ifdef's that could affect it.
>>
>> Given that 2430 has an iva too include it, as the same steps
>> for omap3 apply.
>>
>> Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
>> ---
>>  arch/arm/mach-omap2/mailbox.c |   16 ++++++++++------
>>  1 files changed, 10 insertions(+), 6 deletions(-)
>>
>> diff --git a/arch/arm/mach-omap2/mailbox.c
>> b/arch/arm/mach-omap2/mailbox.c
>> index 61f2149..b8fd120 100644
>> --- a/arch/arm/mach-omap2/mailbox.c
>> +++ b/arch/arm/mach-omap2/mailbox.c
>> @@ -277,7 +277,7 @@ static struct omap_mbox_ops omap2_mbox_ops = {
>>
>>  /* FIXME: the following structs should be filled
>> automatically by the user id */
>>
>> -#if defined(CONFIG_ARCH_OMAP3430) || defined(CONFIG_ARCH_OMAP2420)
>> +#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP2)
>>  /* DSP */
>>  static struct omap_mbox2_priv omap2_mbox_dsp_priv = {
>>       .tx_fifo = {
>> @@ -302,7 +302,7 @@ struct omap_mbox mbox_dsp_info = {
>>  };
>>  #endif
>>
>> -#if defined(CONFIG_ARCH_OMAP3430)
>> +#if defined(CONFIG_ARCH_OMAP3)
>>  struct omap_mbox *omap3_mboxes[] = { &mbox_dsp_info, NULL };
>>  #endif
>>
>> @@ -390,15 +390,19 @@ static int __devinit
>> omap2_mbox_probe(struct platform_device *pdev)
>>
>>       if (false)
>>               ;
>> -#if defined(CONFIG_ARCH_OMAP3430)
>> -     else if (cpu_is_omap3430()) {
>> +#if defined(CONFIG_ARCH_OMAP3)
>> +     else if (cpu_is_omap34xx()) {
>
> Use cpu_is_* check only. No need to have #if CONFIG_ARCH_* checks.

Some people conditionally compile only for one architecture, like in
consumer devices. There's no point in wasting space for that.

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

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

* Re: [PATCH 4/5] omap: mailbox: fix detection for previously supported chips
  2010-10-27  7:28     ` Felipe Contreras
@ 2010-10-27  9:00       ` Grazvydas Ignotas
  2010-10-27  9:46         ` Felipe Contreras
  0 siblings, 1 reply; 18+ messages in thread
From: Grazvydas Ignotas @ 2010-10-27  9:00 UTC (permalink / raw)
  To: Felipe Contreras
  Cc: Varadarajan, Charulatha, Ramirez Luna, Omar, Tony Lindgren,
	Hiroshi DOYU, Dmitry Kasatkin, Kevin Hilman, Anna, Suman,
	Paul Walmsley, Cousson, Benoit, Raja, Govindraj, C.A, Subramaniam,
	linux-omap@vger.kernel.org

On Wed, Oct 27, 2010 at 10:28 AM, Felipe Contreras
<felipe.contreras@gmail.com> wrote:
> On Wed, Oct 27, 2010 at 8:06 AM, Varadarajan, Charulatha <charu@ti.com> wrote:
>>
>> Use cpu_is_* check only. No need to have #if CONFIG_ARCH_* checks.
>
> Some people conditionally compile only for one architecture, like in
> consumer devices. There's no point in wasting space for that.

And cpu_is_* calls become constants in such cases, allowing compiler
to optimize away unneeded 'if' blocks, not to mention cpu_is_* allows
multi-omap support. cpu_is_* is the way to go.

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

* Re: [PATCH 4/5] omap: mailbox: fix detection for previously supported chips
  2010-10-27  9:00       ` Grazvydas Ignotas
@ 2010-10-27  9:46         ` Felipe Contreras
  0 siblings, 0 replies; 18+ messages in thread
From: Felipe Contreras @ 2010-10-27  9:46 UTC (permalink / raw)
  To: Grazvydas Ignotas
  Cc: Varadarajan, Charulatha, Ramirez Luna, Omar, Tony Lindgren,
	Hiroshi DOYU, Dmitry Kasatkin, Kevin Hilman, Anna, Suman,
	Paul Walmsley, Cousson, Benoit, Raja, Govindraj, C.A, Subramaniam,
	linux-omap@vger.kernel.org

On Wed, Oct 27, 2010 at 12:00 PM, Grazvydas Ignotas <notasas@gmail.com> wrote:
> On Wed, Oct 27, 2010 at 10:28 AM, Felipe Contreras
> <felipe.contreras@gmail.com> wrote:
>> On Wed, Oct 27, 2010 at 8:06 AM, Varadarajan, Charulatha <charu@ti.com> wrote:
>>>
>>> Use cpu_is_* check only. No need to have #if CONFIG_ARCH_* checks.
>>
>> Some people conditionally compile only for one architecture, like in
>> consumer devices. There's no point in wasting space for that.
>
> And cpu_is_* calls become constants in such cases, allowing compiler
> to optimize away unneeded 'if' blocks, not to mention cpu_is_* allows
> multi-omap support. cpu_is_* is the way to go.

The problem is not the cpu_is_* calls, the problem is what is inside
them (e.g. omap3_mboxes). If CONFIG_ARCH_OMAP3 is not defined, then
compilation would be broken, unless you always include all the arrays.

Multi-omap support is already there, because it means
CONFIG_ARCH_OMAP3, CONFIG_ARCH_OMAP2, etc.

-- 
Felipe Contreras

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

* Re: [PATCH 1/5] omap: mailbox: initial hwmod support for omap3
  2010-10-27  5:07   ` Varadarajan, Charulatha
@ 2010-10-27 11:50     ` Omar Ramirez Luna
  0 siblings, 0 replies; 18+ messages in thread
From: Omar Ramirez Luna @ 2010-10-27 11:50 UTC (permalink / raw)
  To: Varadarajan, Charulatha
  Cc: Tony Lindgren, Hiroshi DOYU, Felipe Contreras, Dmitry Kasatkin,
	Kevin Hilman, Anna, Suman, Paul Walmsley, Cousson, Benoit,
	Raja, Govindraj, C.A, Subramaniam, linux-omap@vger.kernel.org

On Wed, Oct 27, 2010 at 12:07 AM, Varadarajan, Charulatha <charu@ti.com> 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 <linux/platform_device.h>
>>  #include <linux/io.h>
>>  #include <plat/mailbox.h>
>> +#include <plat/omap_hwmod.h>
>
> 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 majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH 1/5] omap: mailbox: initial hwmod support for omap3
  2010-10-26 21:53 ` [PATCH 1/5] omap: mailbox: initial hwmod support for omap3 Omar Ramirez Luna
  2010-10-27  5:07   ` Varadarajan, Charulatha
@ 2010-11-09 23:38   ` Kevin Hilman
  2010-11-10  3:08     ` Ramirez Luna, Omar
  1 sibling, 1 reply; 18+ messages in thread
From: Kevin Hilman @ 2010-11-09 23:38 UTC (permalink / raw)
  To: Omar Ramirez Luna
  Cc: Tony Lindgren, Hiroshi DOYU, Felipe Contreras, Dmitry Kasatkin,
	Suman Anna, Paul Walmsley, Benoit Cousson, Govindraj.R,
	C A Subramaniam, linux-omap

Omar Ramirez Luna <omar.ramirez@ti.com> writes:

> From: Felipe Contreras <felipe.contreras@gmail.com>
>
> 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 <felipe.contreras@gmail.com>
> Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
> ---
>  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

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

* Re: [PATCH 3/5] omap: mailbox: add omap_device latency information
  2010-10-26 21:53 ` [PATCH 3/5] omap: mailbox: add omap_device latency information Omar Ramirez Luna
@ 2010-11-09 23:48   ` Kevin Hilman
  2010-11-10  1:18     ` Felipe Contreras
  2010-11-10  3:03     ` Ramirez Luna, Omar
  0 siblings, 2 replies; 18+ messages in thread
From: Kevin Hilman @ 2010-11-09 23:48 UTC (permalink / raw)
  To: Omar Ramirez Luna
  Cc: Tony Lindgren, Hiroshi DOYU, Felipe Contreras, Dmitry Kasatkin,
	Suman Anna, Paul Walmsley, Benoit Cousson, Govindraj.R,
	C A Subramaniam, linux-omap

Omar Ramirez Luna <omar.ramirez@ti.com> writes:

> From: Felipe Contreras <felipe.contreras@gmail.com>
>
> So that we can enable the main clock.

-ENO_DESCRIPTIVE_CHANGELOG

omap_device_enable/disable do more than just manage the clocks

> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
> Signed-off-by: Omar Ramirez Luna <omar.ramirez@ti.com>
> ---
>  arch/arm/mach-omap2/devices.c             |   19 +++++++++++++++++--
>  arch/arm/mach-omap2/mailbox.c             |   21 +++++++++------------
>  arch/arm/plat-omap/include/plat/mailbox.h |    6 ++++++
>  3 files changed, 32 insertions(+), 14 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
> index d977572..337fd7a 100644
> --- a/arch/arm/mach-omap2/devices.c
> +++ b/arch/arm/mach-omap2/devices.c
> @@ -29,6 +29,7 @@
>  #include <plat/dma.h>
>  #include <plat/omap_hwmod.h>
>  #include <plat/omap_device.h>
> +#include <plat/mailbox.h>
>  
>  #include "mux.h"
>  #include "control.h"
> @@ -141,10 +142,20 @@ static inline void omap_init_camera(void)
>  #endif
>  
>  #if defined(CONFIG_OMAP_MBOX_FWK) || defined(CONFIG_OMAP_MBOX_FWK_MODULE)
> +static struct omap_device_pm_latency mbox_latencies[] = {
> +	[0] = {
> +		.activate_func = omap_device_enable_clocks,
> +		.activate_lat = 50000, /* FIXME random value */
> +		.deactivate_func = omap_device_enable_clocks,
> +		.deactivate_lat = 50000, /* FIXME random value */
> +	},
> +};

hmm, I'm hoping you're not expecting this to merge when using random values.

>  static inline void omap_init_mbox(void)
>  {
>  	struct omap_hwmod *oh;
>  	struct omap_device *od;
> +	struct omap_mbox_platform_data pdata;
>  
>  	oh = omap_hwmod_lookup("mailbox");
>  	if (!oh) {
> @@ -152,10 +163,14 @@ static inline void omap_init_mbox(void)
>  		return;
>  	}
>  
> +	pdata.device_enable = omap_device_enable;
> +	pdata.device_disable = omap_device_idle;

If the driver want's to use the hooks, just use the runtime PM API.
More on this below.

>  	od = omap_device_build("omap-mailbox", -1, oh,
> -			NULL, 0,
> -			NULL, 0,
> +			&pdata, sizeof(pdata),
> +			mbox_latencies, ARRAY_SIZE(mbox_latencies),
>  			0);
> +
>  	if (!od) {
>  		pr_err("%s: could not build device\n", __func__);
>  		return;
> diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c
> index 1ddb82d..61f2149 100644
> --- a/arch/arm/mach-omap2/mailbox.c
> +++ b/arch/arm/mach-omap2/mailbox.c
> @@ -53,6 +53,7 @@
>  #define OMAP4_MBOX_NR_REGS		(OMAP4_MBOX_REG_SIZE / sizeof(u32))
>  
>  static void __iomem *mbox_base;
> +static struct platform_device *mbox_pdev;
>
>  struct omap_mbox2_fifo {
>  	unsigned long msg;
> @@ -71,8 +72,6 @@ struct omap_mbox2_priv {
>  	unsigned long irqdisable;
>  };
>  
> -static struct clk *mbox_ick_handle;
> -
>  static void omap2_mbox_enable_irq(struct omap_mbox *mbox,
>  				  omap_mbox_type_t irq);
>  
> @@ -91,14 +90,10 @@ static int omap2_mbox_startup(struct omap_mbox *mbox)
>  {
>  	u32 l;
>  	unsigned long timeout;
> +	struct omap_mbox_platform_data *pdata = mbox_pdev->dev.platform_data;
>  
> -	mbox_ick_handle = clk_get(NULL, "mailboxes_ick");
> -	if (IS_ERR(mbox_ick_handle)) {
> -		printk(KERN_ERR "Could not get mailboxes_ick: %ld\n",
> -			PTR_ERR(mbox_ick_handle));
> -		return PTR_ERR(mbox_ick_handle);
> -	}
> -	clk_enable(mbox_ick_handle);
> +	if (pdata->device_enable)
> +		pdata->device_enable(mbox_pdev);

        pm_runtime_get_sync(dev)
        
>  	if (cpu_is_omap44xx()) {
>  		mbox_write_reg(OMAP4_SOFTRESET, MAILBOX_SYSCONFIG);
> @@ -144,9 +139,9 @@ static int omap2_mbox_startup(struct omap_mbox *mbox)
>  
>  static void omap2_mbox_shutdown(struct omap_mbox *mbox)
>  {
> -	clk_disable(mbox_ick_handle);
> -	clk_put(mbox_ick_handle);
> -	mbox_ick_handle = NULL;
> +	struct omap_mbox_platform_data *pdata = mbox_pdev->dev.platform_data;
> +	if (pdata->device_disable)
> +		pdata->device_disable(mbox_pdev);

        pm_runtime_put(dev)

>  }
>  
>  /* Mailbox FIFO handle functions */
> @@ -428,6 +423,8 @@ static int __devinit omap2_mbox_probe(struct platform_device *pdev)
>  	if (!mbox_base)
>  		return -ENOMEM;
>  
> +	mbox_pdev = pdev;

please don't use a global for this.  What if a future SoC has more than
one mailbox?

How about adding a field to struct omap_mbox?

>  	ret = omap_mbox_register(&pdev->dev, list);
>  	if (ret) {
>  		iounmap(mbox_base);
> diff --git a/arch/arm/plat-omap/include/plat/mailbox.h b/arch/arm/plat-omap/include/plat/mailbox.h
> index 9976565..59443b1 100644
> --- a/arch/arm/plat-omap/include/plat/mailbox.h
> +++ b/arch/arm/plat-omap/include/plat/mailbox.h
> @@ -11,6 +11,7 @@
>  
>  typedef u32 mbox_msg_t;
>  struct omap_mbox;
> +struct platform_device;
>  
>  typedef int __bitwise omap_mbox_irq_t;
>  #define IRQ_TX ((__force omap_mbox_irq_t) 1)
> @@ -59,6 +60,11 @@ struct omap_mbox {
>  	void			*priv;
>  };
>  
> +struct omap_mbox_platform_data {
> +	int (*device_enable)(struct platform_device *pdev);
> +	int (*device_disable)(struct platform_device *pdev);
> +};
> +
>  int omap_mbox_msg_send(struct omap_mbox *, mbox_msg_t msg);
>  void omap_mbox_init_seq(struct omap_mbox *);

Kevin

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

* Re: [PATCH 3/5] omap: mailbox: add omap_device latency information
  2010-11-09 23:48   ` Kevin Hilman
@ 2010-11-10  1:18     ` Felipe Contreras
  2010-11-10  3:03     ` Ramirez Luna, Omar
  1 sibling, 0 replies; 18+ messages in thread
From: Felipe Contreras @ 2010-11-10  1:18 UTC (permalink / raw)
  To: Kevin Hilman
  Cc: Omar Ramirez Luna, Tony Lindgren, Hiroshi DOYU, Dmitry Kasatkin,
	Suman Anna, Paul Walmsley, Benoit Cousson, Govindraj.R,
	C A Subramaniam, linux-omap

On Wed, Nov 10, 2010 at 1:48 AM, Kevin Hilman
<khilman@deeprootsystems.com> wrote:
>>  #if defined(CONFIG_OMAP_MBOX_FWK) || defined(CONFIG_OMAP_MBOX_FWK_MODULE)
>> +static struct omap_device_pm_latency mbox_latencies[] = {
>> +     [0] = {
>> +             .activate_func = omap_device_enable_clocks,
>> +             .activate_lat = 50000, /* FIXME random value */
>> +             .deactivate_func = omap_device_enable_clocks,
>> +             .deactivate_lat = 50000, /* FIXME random value */
>> +     },
>> +};
>
> hmm, I'm hoping you're not expecting this to merge when using random values.

No, I was hoping you would comment in the RFC I sent clearly
mentioning this was an experiment 6 months ago:
http://thread.gmane.org/gmane.linux.ports.arm.omap/36745

AFAICR this was one of the first patches for hwmod, so there was not
much reference. I did see more proper ways to set those latencies
after sending that patch (automatic calculation IIRC), but I didn't
manage to work on that code again. There are more important things to
do, like getting the only user of the mailbox to actually work.

>> --- a/arch/arm/mach-omap2/mailbox.c
>> +++ b/arch/arm/mach-omap2/mailbox.c
>> @@ -53,6 +53,7 @@
>>  #define OMAP4_MBOX_NR_REGS           (OMAP4_MBOX_REG_SIZE / sizeof(u32))
>>
>>  static void __iomem *mbox_base;
>> +static struct platform_device *mbox_pdev;

>> +     mbox_pdev = pdev;
>
> please don't use a global for this.  What if a future SoC has more than
> one mailbox?
>
> How about adding a field to struct omap_mbox?

If you see above, there can be only one (mbox_base is already global).
So support for multiple mailboxes would be the subject of a separate
patch.

Cheers.

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

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

* Re: [PATCH 3/5] omap: mailbox: add omap_device latency information
  2010-11-09 23:48   ` Kevin Hilman
  2010-11-10  1:18     ` Felipe Contreras
@ 2010-11-10  3:03     ` Ramirez Luna, Omar
  1 sibling, 0 replies; 18+ messages in thread
From: Ramirez Luna, Omar @ 2010-11-10  3:03 UTC (permalink / raw)
  To: Kevin Hilman
  Cc: Tony Lindgren, Hiroshi DOYU, Felipe Contreras, Dmitry Kasatkin,
	Suman Anna, Paul Walmsley, Benoit Cousson, Govindraj.R,
	C A Subramaniam, linux-omap

On Tue, Nov 9, 2010 at 5:48 PM, Kevin Hilman
<khilman@deeprootsystems.com> wrote:
>>  #if defined(CONFIG_OMAP_MBOX_FWK) || defined(CONFIG_OMAP_MBOX_FWK_MODULE)
>> +static struct omap_device_pm_latency mbox_latencies[] = {
>> +     [0] = {
>> +             .activate_func = omap_device_enable_clocks,
>> +             .activate_lat = 50000, /* FIXME random value */
>> +             .deactivate_func = omap_device_enable_clocks,
>> +             .deactivate_lat = 50000, /* FIXME random value */
>> +     },
>> +};
>
> hmm, I'm hoping you're not expecting this to merge when using random values.

This was changed on the second iteration of the patch [1], and is
still a WIP as some more comments have been made. I'll keep your
current comments though.

Regards,

Omar

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

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

* Re: [PATCH 1/5] omap: mailbox: initial hwmod support for omap3
  2010-11-09 23:38   ` Kevin Hilman
@ 2010-11-10  3:08     ` Ramirez Luna, Omar
  0 siblings, 0 replies; 18+ messages in thread
From: Ramirez Luna, Omar @ 2010-11-10  3:08 UTC (permalink / raw)
  To: Kevin Hilman
  Cc: Tony Lindgren, Hiroshi DOYU, Felipe Contreras, Dmitry Kasatkin,
	Suman Anna, Paul Walmsley, Benoit Cousson, Govindraj.R,
	C A Subramaniam, linux-omap

On Tue, Nov 9, 2010 at 5:38 PM, Kevin Hilman
<khilman@deeprootsystems.com> 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 majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2010-11-10  3:08 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-26 21:52 [PATCH 0/5] omap: mailbox: hwmod support and dependent cleanup patches Omar Ramirez Luna
2010-10-26 21:53 ` [PATCH 1/5] omap: mailbox: initial hwmod support for omap3 Omar Ramirez Luna
2010-10-27  5:07   ` Varadarajan, Charulatha
2010-10-27 11:50     ` Omar Ramirez Luna
2010-11-09 23:38   ` Kevin Hilman
2010-11-10  3:08     ` Ramirez Luna, Omar
2010-10-26 21:53 ` [PATCH 2/5] omap: mailbox: initial hwmod support for omap2 Omar Ramirez Luna
2010-10-27  5:07   ` Varadarajan, Charulatha
2010-10-26 21:53 ` [PATCH 3/5] omap: mailbox: add omap_device latency information Omar Ramirez Luna
2010-11-09 23:48   ` Kevin Hilman
2010-11-10  1:18     ` Felipe Contreras
2010-11-10  3:03     ` Ramirez Luna, Omar
2010-10-26 21:53 ` [PATCH 4/5] omap: mailbox: fix detection for previously supported chips Omar Ramirez Luna
2010-10-27  5:06   ` Varadarajan, Charulatha
2010-10-27  7:28     ` Felipe Contreras
2010-10-27  9:00       ` Grazvydas Ignotas
2010-10-27  9:46         ` Felipe Contreras
2010-10-26 21:53 ` [PATCH 5/5] omap: mailbox: remove unreachable return Omar Ramirez Luna

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox