Re: [PATCH 01/21] lib: add byteorder helpers for the aligned case

From: Pavel Machek
Date: Fri May 23 2008 - 09:22:12 EST


On Tue 2008-05-20 11:05:21, Harvey Harrison wrote:
> Some users know the pointer they are writeing to are aligned,
> rather than doing *(__le16 *)ptr = cpu_to_le16(val) add helpers
> wrapping this up that have the same convention as put_unaligned_le/be.
>
> Although the get_be/le versions duplicate the le16_to_cpup functionality
> add them anyway as it makes this a complete api and start work to
> eliminate {le|be}{16|32|64}_to_cpup uses (not many).
>
> This makes the api look like:
>
> get_unaligned_le16
> put_unaligned_le16
>
> get_le16
> put_le16
>
> With explicit alignment constraints.
>
> Signed-off-by: Harvey Harrison <harvey.harrison@xxxxxxxxx>
> ---
> include/linux/byteorder/generic.h | 60 +++++++++++++++++++++++++++++++++++++
> 1 files changed, 60 insertions(+), 0 deletions(-)
>
> diff --git a/include/linux/byteorder/generic.h b/include/linux/byteorder/generic.h
> index 0846e6b..1f0c07e 100644
> --- a/include/linux/byteorder/generic.h
> +++ b/include/linux/byteorder/generic.h
> @@ -119,6 +119,66 @@
> #define cpu_to_be16s __cpu_to_be16s
> #define be16_to_cpus __be16_to_cpus
>
> +static inline u16 get_le16(void *ptr)
> +{
> + return le16_to_cpu(*(__le16 *)ptr);
> +}
> +

Document the fact that void * passed in needs to be 16-bit aligned?

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
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/