> -----Original Message----- > From: linux-omap-owner@xxxxxxxxxxxxxxx > [mailto:linux-omap-owner@xxxxxxxxxxxxxxx] 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@xxxxxxxxxxxxxxx > Subject: [PATCH 1/5] omap: mailbox: initial hwmod support for omap3 > > From: Felipe Contreras <felipe.contreras@xxxxxxxxx> > > HWMOD support for omap3. Use "hwmod". > > Signed-off-by: Felipe Contreras <felipe.contreras@xxxxxxxxx> > Signed-off-by: Omar Ramirez Luna <omar.ramirez@xxxxxx> > --- > 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-- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html