On Thu, Oct 02, 2008 at 10:37:50AM -0600, Paul Walmsley wrote:
>  static void omap2_clk_wait_ready(struct clk *clk)
>  {
> -     void __iomem *reg, *other_reg, *st_reg;
> -     u32 bit;
> -
> -     /*
> -      * REVISIT: This code is pretty ugly.  It would be nice to generalize
> -      * it and pull it into struct clk itself somehow.
> -      */
> -     reg = clk->enable_reg;
> -     if ((((u32)reg & 0xff) >= CM_FCLKEN1) &&
> -         (((u32)reg & 0xff) <= OMAP24XX_CM_FCLKEN2))
> -             other_reg = (void __iomem *)(((u32)reg & ~0xf0) | 0x10); /* 
> CM_ICLKEN* */
> -     else if ((((u32)reg & 0xff) >= CM_ICLKEN1) &&
> -              (((u32)reg & 0xff) <= OMAP24XX_CM_ICLKEN4))
> -             other_reg = (void __iomem *)(((u32)reg & ~0xf0) | 0x00); /* 
> CM_FCLKEN* */
> +     u32 bit, other_reg, st_reg;
> +     unsigned long reg;
> +
> +     reg = (unsigned long)clk->enable_reg;
> +     if (((reg & 0xff) >= CM_FCLKEN1) &&
> +         ((reg & 0xff) <= OMAP24XX_CM_FCLKEN2))
> +             other_reg = ((reg & ~0xf0) | 0x10); /* CM_ICLKEN* */
> +     else if (((reg & 0xff) >= CM_ICLKEN1) &&
> +              ((reg & 0xff) <= OMAP24XX_CM_ICLKEN4))
> +             other_reg = ((reg & ~0xf0) | 0x00); /* CM_FCLKEN* */
>       else
>               return;
>  
>       /* REVISIT: What are the appropriate exclusions for 34XX? */
>       /* No check for DSS or cam clocks */
> -     if (cpu_is_omap24xx() && ((u32)reg & 0x0f) == 0) { /* CM_{F,I}CLKEN1 */
> +     if (cpu_is_omap24xx() && (reg & 0x0f) == 0) { /* CM_{F,I}CLKEN1 */
>               if (clk->enable_bit == OMAP24XX_EN_DSS2_SHIFT ||
>                   clk->enable_bit == OMAP24XX_EN_DSS1_SHIFT ||
>                   clk->enable_bit == OMAP24XX_EN_CAM_SHIFT)
> @@ -249,25 +245,25 @@ static void omap2_clk_wait_ready(struct clk *clk)
>       /* REVISIT: What are the appropriate exclusions for 34XX? */
>       /* OMAP3: ignore DSS-mod clocks */
>       if (cpu_is_omap34xx() &&
> -         (((u32)reg & ~0xff) == (u32)OMAP_CM_REGADDR(OMAP3430_DSS_MOD, 0) ||
> -          ((((u32)reg & ~0xff) == (u32)OMAP_CM_REGADDR(CORE_MOD, 0)) &&
> -          clk->enable_bit == OMAP3430_EN_SSI_SHIFT)))
> +         ((reg & ~0xff) == (u32)OMAP_CM_REGADDR(OMAP3430_DSS_MOD, 0) ||
> +          (((reg & ~0xff) == (u32)OMAP_CM_REGADDR(CORE_MOD, 0)) &&
> +           clk->enable_bit == OMAP3430_EN_SSI_SHIFT)))
>               return;
>  
>       /* Check if both functional and interface clocks
>        * are running. */
>       bit = 1 << clk->enable_bit;
> -     if (!(__raw_readl(other_reg) & bit))
> +     if (!(__raw_readl((void __iomem *)other_reg) & bit))

This isn't an improvement.  Moving casts to the readl/writel macros is
a definite no no.

The rest of the patch is fine.
--
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