Re: [PATCH 1/5] omap: mailbox: initial hwmod support for omap3
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
Re: [PATCH 1/5] omap: mailbox: initial hwmod support for omap3
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
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
> -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; &
[PATCH 1/5] omap: mailbox: initial hwmod support for omap3
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