Dave Liu wrote:

> @@ -369,8 +370,8 @@ static int fsl_diu_enable_panel(struct fb_info *info)
>       struct diu_ad *ad = &fsl_diu_fb_ad;
>
>       debug("Entered: enable_panel\n");
> -     if (hw->desc[0] != (unsigned int)ad)
> -             hw->desc[0] = (unsigned int)ad;
> +     if (in_be32(&hw->desc[0]) != (unsigned int)ad)
> +             out_be32(&hw->desc[0], ad);

'ad' should be cast to a u32, not an "unsigned int".  You shouldn't
compare a sized type with an unsized type.

>       debug("desc[0] = 0x%x\n", hw->desc[0]);
>       return 0;
>  }
> @@ -380,8 +381,8 @@ static int fsl_diu_disable_panel(struct fb_info *info)
>       struct diu *hw = dr.diu_reg;
>
>       debug("Entered: disable_panel\n");
> -     if (hw->desc[0] != (unsigned int)&dummy_ad)
> -             hw->desc[0] = (unsigned int)&dummy_ad;
> +     if (in_be32(&hw->desc[0]) != (unsigned int)&dummy_ad)
> +             out_be32(&hw->desc[0], &dummy_ad);

Same thing here.

-- 
Timur Tabi
Linux kernel developer at Freescale
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to