Re: [PATCH] dvb-usb: unaligned

From: Harvey Harrison
Date: Tue May 20 2008 - 20:53:36 EST


On Wed, 2008-05-21 at 01:47 +0100, Al Viro wrote:
> On Tue, May 20, 2008 at 05:42:46PM -0700, Harvey Harrison wrote:
> > On Wed, 2008-05-21 at 01:33 +0100, Al Viro wrote:
> > > Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
> > > ---
> > > drivers/media/dvb/dvb-usb/dvb-usb-firmware.c | 2 +-
> > > 1 files changed, 1 insertions(+), 1 deletions(-)
> > >
> > > diff --git a/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c b/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c
> > > index e1112e3..733a7ff 100644
> > > --- a/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c
> > > +++ b/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c
> > > @@ -127,7 +127,7 @@ int dvb_usb_get_hexline(const struct firmware *fw, struct hexline *hx,
> > > if ((*pos + hx->len + 4) >= fw->size)
> > > return -EINVAL;
> > >
> > > - hx->addr = le16_to_cpu( *((u16 *) &b[1]) );
> > > + hx->addr = b[1] | (b[2] << 8);
> >
> > ???hx->addr = get_unaligned_le16(&b[1]);
>
> Again, what's the benefit? Having a function doesn't mean that we need
> to use it religiously - if it doesn't make things more clear...

Just curious, is gcc smart enough to just turn this into a 2-byte load
on x86 (little-endian with no particular alignment constraints).
Otherwise it would have a better chance at doing this using the helper
function.

You're right though, it is a small consideration.

Harvey



--
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/