[PATCH] OMAP2+: hwmod: remove OMAP_CHIP*
Grazvydas Ignotas
notasas at gmail.com
Mon Sep 5 07:27:08 EDT 2011
On Mon, Sep 5, 2011 at 5:43 AM, Paul Walmsley <paul at pwsan.com> wrote:
> diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
> index 84cc0bd..d7138070 100644
> --- a/arch/arm/mach-omap2/omap_hwmod.c
> +++ b/arch/arm/mach-omap2/omap_hwmod.c
<snip>
>
> int __init omap3xxx_hwmod_init(void)
> {
> - return omap_hwmod_register(omap3xxx_hwmods);
> + int r;
> + struct omap_hwmod **h = NULL;
> +
> + /* Register hwmods common to all OMAP3 */
> + r = omap_hwmod_register(omap3xxx_hwmods);
> + if (!r)
> + return r;
> +
> + /*
> + * Register hwmods common to individual OMAP3 families, all
> + * silicon revisions (e.g., 34xx, or AM3505/3517, or 36xx)
> + * All possible revisions should be included in this conditional.
> + */
> + if (omap_rev() == OMAP3430_REV_ES1_0 ||
> + omap_rev() == OMAP3430_REV_ES2_0 ||
> + omap_rev() == OMAP3430_REV_ES2_1 ||
> + omap_rev() == OMAP3430_REV_ES3_0 ||
> + omap_rev() == OMAP3430_REV_ES3_1 ||
> + omap_rev() == OMAP3430_REV_ES3_1_2) {
> + h = omap34xx_hwmods;
> + } else if (omap_rev() & OMAP3505_REV(0)) {
> + h = am35xx_hwmods;
This check will be always true I think?
Why not just use cpu_is_omap3xxx() for these tests, since it does same
omap_rev() call but only once per family?
> + } else if (omap_rev() == OMAP3630_REV_ES1_0 ||
> + omap_rev() == OMAP3630_REV_ES1_1 ||
> + omap_rev() == OMAP3630_REV_ES1_2) {
> + h = omap36xx_hwmods;
> + } else {
> + WARN(1, "OMAP3 hwmod family init: unknown chip type\n");
> + return -EINVAL;
> + };
> +
> + r = omap_hwmod_register(h);
> + if (!r)
> + return r;
> +
More information about the linux-arm-kernel
mailing list