Re: [patch 06/16] Fix matroxfb on big-endian hardware

Al Viro
2005-05-23T23:53:06Z

On Mon, May 23, 2005 at 04:22:07PM -0700, Chris Wright wrote:
> - mga_writel(mmio, 0, *chardata);
> +#if defined(__BIG_ENDIAN)
> + fb_writel((*chardata) << 24, mmio.vaddr);
> +#else
> + fb_writel(*chardata, mmio.vaddr);
> +#endif

So basically you are passing it cpu_to_le32(*chardata)?

> +#if defined(__BIG_ENDIAN)
> + fb_writel((*(u_int16_t*)chardata) << 16, mmio.vaddr);
> +#else
> + fb_writel(*(u_int16_t*)chardata, mmio.vaddr);
> +#endif

*yuck*

cpu_to_le32(le16_to_cpu(*(__le16 *)chardata)? Is that what you are doing
here?