> -----Original Message-----
> From: [email protected] 
> [mailto:[email protected]] 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; [email protected]
> Subject: [PATCH 1/5] omap: mailbox: initial hwmod support for omap3
> 
> From: Felipe Contreras <[email protected]>
> 
> HWMOD support for omap3.

Use "hwmod".

> 
> Signed-off-by: Felipe Contreras <[email protected]>
> Signed-off-by: Omar Ramirez Luna <[email protected]>
> ---
>  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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to