The patch titled unaligned: use generic implementation on packed-struct arches has been added to the -mm tree. Its filename is unaligned-use-generic-implementation-on-packed-struct-arches.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: unaligned: use generic implementation on packed-struct arches From: Harvey Harrison <harvey.harrison@xxxxxxxxx> No functional changes, convert arches that use the packed-struct implementation for native-endianness and C byteshifting for the other endianness. Signed-off-by: Harvey Harrison <harvey.harrison@xxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Haavard Skinnemoen <hskinnemoen@xxxxxxxxx> Cc: Bryan Wu <bryan.wu@xxxxxxxxxx> Cc: "Luck, Tony" <tony.luck@xxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Kyle McMartin <kyle@xxxxxxxxxxx> Cc: Grant Grundler <grundler@xxxxxxxxxxxxxxxx> Cc: Paul Mundt <lethal@xxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Chris Zankel <zankel@xxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: <linux-arch@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/alpha/include/asm/unaligned.h | 7 +------ arch/avr32/include/asm/unaligned.h | 8 +------- arch/blackfin/include/asm/unaligned.h | 7 +------ arch/ia64/include/asm/unaligned.h | 7 +------ arch/mips/include/asm/unaligned.h | 17 +---------------- arch/parisc/include/asm/unaligned.h | 6 +----- arch/sh/include/asm/unaligned.h | 15 +-------------- arch/sparc/include/asm/unaligned.h | 6 +----- arch/xtensa/include/asm/unaligned.h | 16 +--------------- include/asm-frv/unaligned.h | 7 +------ 10 files changed, 10 insertions(+), 86 deletions(-) diff -puN arch/alpha/include/asm/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches arch/alpha/include/asm/unaligned.h --- a/arch/alpha/include/asm/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches +++ a/arch/alpha/include/asm/unaligned.h @@ -1,11 +1,6 @@ #ifndef _ASM_ALPHA_UNALIGNED_H #define _ASM_ALPHA_UNALIGNED_H -#include <linux/unaligned/le_struct.h> -#include <linux/unaligned/be_byteshift.h> -#include <linux/unaligned/generic.h> - -#define get_unaligned __get_unaligned_le -#define put_unaligned __put_unaligned_le +#include <asm-generic/unaligned.h> #endif /* _ASM_ALPHA_UNALIGNED_H */ diff -puN arch/avr32/include/asm/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches arch/avr32/include/asm/unaligned.h --- a/arch/avr32/include/asm/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches +++ a/arch/avr32/include/asm/unaligned.h @@ -10,12 +10,6 @@ * However, swapped word loads must be word-aligned so we can't * optimize word loads in general. */ - -#include <linux/unaligned/be_struct.h> -#include <linux/unaligned/le_byteshift.h> -#include <linux/unaligned/generic.h> - -#define get_unaligned __get_unaligned_be -#define put_unaligned __put_unaligned_be +#include <asm-generic/unaligned.h> #endif /* _ASM_AVR32_UNALIGNED_H */ diff -puN arch/blackfin/include/asm/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches arch/blackfin/include/asm/unaligned.h --- a/arch/blackfin/include/asm/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches +++ a/arch/blackfin/include/asm/unaligned.h @@ -1,11 +1,6 @@ #ifndef _ASM_BLACKFIN_UNALIGNED_H #define _ASM_BLACKFIN_UNALIGNED_H -#include <linux/unaligned/le_struct.h> -#include <linux/unaligned/be_byteshift.h> -#include <linux/unaligned/generic.h> - -#define get_unaligned __get_unaligned_le -#define put_unaligned __put_unaligned_le +#include <asm-generic/unaligned.h> #endif /* _ASM_BLACKFIN_UNALIGNED_H */ diff -puN arch/ia64/include/asm/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches arch/ia64/include/asm/unaligned.h --- a/arch/ia64/include/asm/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches +++ a/arch/ia64/include/asm/unaligned.h @@ -1,11 +1,6 @@ #ifndef _ASM_IA64_UNALIGNED_H #define _ASM_IA64_UNALIGNED_H -#include <linux/unaligned/le_struct.h> -#include <linux/unaligned/be_byteshift.h> -#include <linux/unaligned/generic.h> - -#define get_unaligned __get_unaligned_le -#define put_unaligned __put_unaligned_le +#include <asm-generic/unaligned.h> #endif /* _ASM_IA64_UNALIGNED_H */ diff -puN arch/mips/include/asm/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches arch/mips/include/asm/unaligned.h --- a/arch/mips/include/asm/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches +++ a/arch/mips/include/asm/unaligned.h @@ -8,21 +8,6 @@ #ifndef _ASM_MIPS_UNALIGNED_H #define _ASM_MIPS_UNALIGNED_H -#include <linux/compiler.h> -#if defined(__MIPSEB__) -# include <linux/unaligned/be_struct.h> -# include <linux/unaligned/le_byteshift.h> -# include <linux/unaligned/generic.h> -# define get_unaligned __get_unaligned_be -# define put_unaligned __put_unaligned_be -#elif defined(__MIPSEL__) -# include <linux/unaligned/le_struct.h> -# include <linux/unaligned/be_byteshift.h> -# include <linux/unaligned/generic.h> -# define get_unaligned __get_unaligned_le -# define put_unaligned __put_unaligned_le -#else -# error "MIPS, but neither __MIPSEB__, nor __MIPSEL__???" -#endif +#include <asm-generic/unaligned.h> #endif /* _ASM_MIPS_UNALIGNED_H */ diff -puN arch/parisc/include/asm/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches arch/parisc/include/asm/unaligned.h --- a/arch/parisc/include/asm/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches +++ a/arch/parisc/include/asm/unaligned.h @@ -1,11 +1,7 @@ #ifndef _ASM_PARISC_UNALIGNED_H #define _ASM_PARISC_UNALIGNED_H -#include <linux/unaligned/be_struct.h> -#include <linux/unaligned/le_byteshift.h> -#include <linux/unaligned/generic.h> -#define get_unaligned __get_unaligned_be -#define put_unaligned __put_unaligned_be +#include <asm-generic/unaligned.h> #ifdef __KERNEL__ struct pt_regs; diff -puN arch/sh/include/asm/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches arch/sh/include/asm/unaligned.h --- a/arch/sh/include/asm/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches +++ a/arch/sh/include/asm/unaligned.h @@ -1,19 +1,6 @@ #ifndef _ASM_SH_UNALIGNED_H #define _ASM_SH_UNALIGNED_H -/* SH can't handle unaligned accesses. */ -#ifdef __LITTLE_ENDIAN__ -# include <linux/unaligned/le_struct.h> -# include <linux/unaligned/be_byteshift.h> -# include <linux/unaligned/generic.h> -# define get_unaligned __get_unaligned_le -# define put_unaligned __put_unaligned_le -#else -# include <linux/unaligned/be_struct.h> -# include <linux/unaligned/le_byteshift.h> -# include <linux/unaligned/generic.h> -# define get_unaligned __get_unaligned_be -# define put_unaligned __put_unaligned_be -#endif +#include <asm-generic/unaligned.h> #endif /* _ASM_SH_UNALIGNED_H */ diff -puN arch/sparc/include/asm/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches arch/sparc/include/asm/unaligned.h --- a/arch/sparc/include/asm/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches +++ a/arch/sparc/include/asm/unaligned.h @@ -1,10 +1,6 @@ #ifndef _ASM_SPARC_UNALIGNED_H #define _ASM_SPARC_UNALIGNED_H -#include <linux/unaligned/be_struct.h> -#include <linux/unaligned/le_byteshift.h> -#include <linux/unaligned/generic.h> -#define get_unaligned __get_unaligned_be -#define put_unaligned __put_unaligned_be +#include <asm-generic/unaligned.h> #endif /* _ASM_SPARC_UNALIGNED_H */ diff -puN arch/xtensa/include/asm/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches arch/xtensa/include/asm/unaligned.h --- a/arch/xtensa/include/asm/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches +++ a/arch/xtensa/include/asm/unaligned.h @@ -10,20 +10,6 @@ #ifndef _ASM_XTENSA_UNALIGNED_H #define _ASM_XTENSA_UNALIGNED_H -#include <asm/byteorder.h> - -#ifdef __LITTLE_ENDIAN -# include <linux/unaligned/le_struct.h> -# include <linux/unaligned/be_byteshift.h> -# include <linux/unaligned/generic.h> -# define get_unaligned __get_unaligned_le -# define put_unaligned __put_unaligned_le -#else -# include <linux/unaligned/be_struct.h> -# include <linux/unaligned/le_byteshift.h> -# include <linux/unaligned/generic.h> -# define get_unaligned __get_unaligned_be -# define put_unaligned __put_unaligned_be -#endif +#include <asm-generic/unaligned.h> #endif /* _ASM_XTENSA_UNALIGNED_H */ diff -puN include/asm-frv/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches include/asm-frv/unaligned.h --- a/include/asm-frv/unaligned.h~unaligned-use-generic-implementation-on-packed-struct-arches +++ a/include/asm-frv/unaligned.h @@ -12,11 +12,6 @@ #ifndef _ASM_UNALIGNED_H #define _ASM_UNALIGNED_H -#include <linux/unaligned/le_byteshift.h> -#include <linux/unaligned/be_struct.h> -#include <linux/unaligned/generic.h> - -#define get_unaligned __get_unaligned_be -#define put_unaligned __put_unaligned_be +#include <asm-generic/unaligned.h> #endif /* _ASM_UNALIGNED_H */ _ Patches currently in -mm which might be from harvey.harrison@xxxxxxxxx are linux-next.patch arm-use-the-new-byteorder-headers.patch dvb-cinergyt2-annotate-struct-endiannes-remove-unused-variable-add-static.patch v4l-s2255drv-fix-firmware-test-on-big-endian.patch ia64-use-the-new-byteorder-headers.patch input-ads7846c-sparse-lock-annotation.patch m32r-use-the-new-byteorder-headers.patch blackfin-remove-__function__-in-new-serial-driver.patch blackfin-use-the-new-byteorder-headers.patch parisc-use-the-new-byteorder-headers.patch s390-use-the-new-byteorder-headers.patch scsi-replace-__inline-with-inline.patch scsi-use-the-common-hex_asc-array-rather-than-a-private-one.patch scsi-gdthc-use-unaligned-access-helpers.patch scsi-annotate-gdth_rdcap_data-gdth_rdcap16_data-endianness.patch frv-use-the-new-byteorder-headers.patch m68knommu-use-the-new-byteorder-headers.patch h8300-use-the-new-byteorder-headers.patch alpha-use-the-new-byteorder-headers.patch lib-fix-sparse-shadowed-variable-warning.patch lib-radix_treec-make-percpu-variable-static.patch lib-proportionsc-trivial-sparse-lock-annotation.patch ibmpex-add-endian-annotation-to-extract_data-helper.patch blackfin-remove-__function__-in-video-driver.patch fb-carminefb-trivial-annotation-packing-color-register.patch memstick-annotate-endianness-of-attribute-structs.patch unaligned-introduce-common-header.patch unaligned-convert-arches-where-unaligned-access-is-ok.patch unaligned-use-generic-implementation-on-packed-struct-arches.patch unaligned-remove-packed-struct-and-unaligned-access_ok-headers.patch unaligned-pack-the-struct-not-the-struct-members.patch unaligned-move-arm-m32r-h8300-to-the-asm-generic-version.patch unaligned-remove-last-bits-of-the-unaligned-access-helpers.patch -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html