Re: drivers/block/ub.c

From: Oliver Neukum
Date: Sun Jun 27 2004 - 09:24:05 EST


Am Sonntag, 27. Juni 2004 16:08 schrieb Andries Brouwer:
> On Sun, Jun 27, 2004 at 07:04:36AM +0200, Oliver Neukum wrote:
> > > >> Yes, we have macros. Using those macros would not at all be an improvement here.
> > > >
> > > > How do you arrive at that unusual conclusion?
> > >
> > > The above writes clearly and simply what one wants.
> > > I expect that you propose writing
> > >
> > >         *((u32 *)(cmd->cdb + 2)) = cpu_to_be32(block);
> > >
> > > or some similar unspeakable ugliness.
> > > If you had something else in mind, please reveal what.
> >
> > That "ugliness" has the unspeakable advantage of producing sane code
> > on big endian architectures.
>
> I am not so sure. It tells the compiler to do a 4-byte access
> on an address that possibly is not 4-byte aligned.

We also have the unaligned family of macro. Probably the cleanest
solution would be a union to do away with the ugly casts that would
be needed.

Regards
Oliver
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/