Re: [RFC] Documentation about unaligned memory access
From: Johannes Berg
Date: Mon Nov 26 2007 - 10:48:41 EST
> Going back to an earlier example:
> void myfunc(u8 *data, u32 value)
> {
> [...]
> *((u16 *) data) = cpu_to_le32(value);
> [...]
typo? should it be a u32 cast?
> To avoid the unaligned memory access, you could rewrite it as follows:
>
> void myfunc(u8 *data, u32 value)
> {
> [...]
> value = cpu_to_le32(value);
> memcpy(data, value, sizeof(value));
> [...]
> }
I think you should use put_unaligned here as well. Or maybe just reorder
this vs. the section below where you use get/put_unaligned.
johannes
Attachment:
signature.asc
Description: This is a digitally signed message part