Hi Fernando,

From: "ext Guzman Lugo, Fernando" <[email protected]>
Subject: [PATCH] OMAP3: mailbox initialization for all omap versions
Date: Fri, 26 Mar 2010 20:30:34 +0100

> From 47783fc3e030d4e49d20ba412661cc1f38d8aec0 Mon Sep 17 00:00:00 2001
> From: Fernando Guzman Lugo <[email protected]>
> Date: Fri, 26 Mar 2010 13:06:32 -0600
> Subject: [PATCH] OMAP3: mailbox initialization for all omap versions
> 
> This removes the check for omap2420, omap3430, omap44xx
> and initialize mailbox for all versions
> 
> Signed-off-by: Fernando Guzman Lugo <[email protected]>

It seems that I missed one point previously when I commented. I have
just now found that "multi omap arch support" for mailbox is broken at
the previous commit:454bf340c986b798cd4c2fd676caffa2c1e61482

Considering to fix the above to keep "multi omap arch support", "omap
cpu type check" is necessary here. Could this be fixed as something below?

#if defined(CONFIG_ARCH_OMAP2)
static struct resource omap2_mbox_resources[] = {
       ...
};
#endif

#if defined(CONFIG_ARCH_OMAP3)
static struct resource omap3_mbox_resources[] = {
       ...
};
#endif

#if defined(CONFIG_ARCH_OMAP4)
static struct resource omap4_mbox_resources[] = {
       ...
};
#endif

static struct platform_device mbox_device = {
        .name           = "omap2-mailbox",
        .id             = -1,
};

static inline void omap_init_mbox(void)
{
#if defined(CONFIG_ARCH_OMAP2)
        if (cpu_is_omap2420()) {
                mbox_device.num_resources = ARRAY_SIZE(omap2_mbox_resources);
                mbox_device.resource = omap2_mbox_resources;
        }
#endif
#if defined(CONFIG_ARCH_OMAP3)
        if (cpu_is_omap3430()) {
                mbox_device.num_resources = ARRAY_SIZE(omap3_mbox_resources);
                mbox_device.resource = omap3_mbox_resources;
        }
#endif
#if defined(CONFIG_ARCH_OMAP4)
        if (cpu_is_omap44xx()) {
                mbox_device.num_resources = ARRAY_SIZE(omap4_mbox_resources);
                mbox_device.resource = omap4_mbox_resources;
        }
#endif
        if (!mbox_device.resource) {
                pr_err("%s: platform not supported\n", __func__);
                return;
        }
        platform_device_register(&mbox_device);
}

Then resource registration could be done at runtime. I'm not so sure
if the above cpu types are correct from h/w perspective, which should
be fixed appropriately.
--
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