Re: [PATCH] misc drivers/net endianness noise

Harvey Harrison
2008-05-21T00:58:56Z

On Wed, 2008-05-21 at 01:55 +0100, Al Viro wrote:
> On Tue, May 20, 2008 at 05:48:00PM -0700, Harvey Harrison wrote:
> > I was contemplating an api like:
> >
> > void put_le16(u16 val, __le16 *ptr)
> > {
> > *ptr = cpu_to_le16(val);
> > }
> >
> > which would allow the above to become:
> >
> > if (catc->is_f5u011)
> > put_be16(skb->len, tx_buf);
> > else
> > put_le16(skb->len, tx_buf);
> >
> > Thoughts?
>
> Do not grow API too much. Mental savings on recognizing what's done are
> offset by need to remember more helper functions...

Fair point, I was hoping to get the following family:

get_le16
put_le16

get_unaligned_le16
put_unaligned_le16

And get rid of the le16_to_cpup api.

Then the it's explicit when alignment is an issue, and the endianess is
also explicit. That and I think it just looks nicer than the existing
*p versions.

Just a thought,

Harvey