Index: kernel/arch/amd64/include/byteorder.h
===================================================================
--- kernel/arch/amd64/include/byteorder.h	(revision 81c0171eb0e748ba009fbf142c302f72f6d64807)
+++ kernel/arch/amd64/include/byteorder.h	(revision 711e33fc78f9caf16430c990f974dd3f6cbfe3a6)
@@ -39,7 +39,9 @@
 
 /* AMD64 is little-endian */
+#define uint16_t_le2host(n)		(n)
 #define uint32_t_le2host(n)		(n)
 #define uint64_t_le2host(n)		(n)
 
+#define uint16_t_be2host(n)		uint16_t_byteorder_swap(n)
 #define uint32_t_be2host(n)		uint32_t_byteorder_swap(n)
 #define uint64_t_be2host(n)		uint64_t_byteorder_swap(n)
Index: kernel/arch/arm32/include/byteorder.h
===================================================================
--- kernel/arch/arm32/include/byteorder.h	(revision 81c0171eb0e748ba009fbf142c302f72f6d64807)
+++ kernel/arch/arm32/include/byteorder.h	(revision 711e33fc78f9caf16430c990f974dd3f6cbfe3a6)
@@ -41,7 +41,9 @@
 #ifdef BIG_ENDIAN
 
+#define uint16_t_le2host(n)		uint16_t_byteorder_swap(n)
 #define uint32_t_le2host(n)		uint32_t_byteorder_swap(n)
 #define uint64_t_le2host(n)		uint64_t_byteorder_swap(n)
 
+#define uint16_t_be2host(n)		(n)
 #define uint32_t_be2host(n)		(n)
 #define uint64_t_be2host(n)		(n)
@@ -49,7 +51,9 @@
 #else
 
+#define uint16_t_le2host(n)		(n)
 #define uint32_t_le2host(n)		(n)
 #define uint64_t_le2host(n)		(n)
 
+#define uint16_t_be2host(n)		uint16_t_byteorder_swap(n)
 #define uint32_t_be2host(n)		uint32_t_byteorder_swap(n)
 #define uint64_t_be2host(n)		uint64_t_byteorder_swap(n)
Index: kernel/arch/ia32/include/byteorder.h
===================================================================
--- kernel/arch/ia32/include/byteorder.h	(revision 81c0171eb0e748ba009fbf142c302f72f6d64807)
+++ kernel/arch/ia32/include/byteorder.h	(revision 711e33fc78f9caf16430c990f974dd3f6cbfe3a6)
@@ -39,7 +39,9 @@
 
 /* IA-32 is little-endian */
+#define uint16_t_le2host(n)		(n)
 #define uint32_t_le2host(n)		(n)
 #define uint64_t_le2host(n)		(n)
 
+#define uint16_t_be2host(n)		uint16_t_byteorder_swap(n)
 #define uint32_t_be2host(n)		uint32_t_byteorder_swap(n)
 #define uint64_t_be2host(n)		uint64_t_byteorder_swap(n)
Index: kernel/arch/ia64/include/byteorder.h
===================================================================
--- kernel/arch/ia64/include/byteorder.h	(revision 81c0171eb0e748ba009fbf142c302f72f6d64807)
+++ kernel/arch/ia64/include/byteorder.h	(revision 711e33fc78f9caf16430c990f974dd3f6cbfe3a6)
@@ -39,7 +39,9 @@
 
 /* IA-64 is little-endian */
+#define uint16_t_le2host(n)		(n)
 #define uint32_t_le2host(n)		(n)
 #define uint64_t_le2host(n)		(n)
 
+#define uint16_t_be2host(n)		uint16_t_byteorder_swap(n)
 #define uint32_t_be2host(n)		uint32_t_byteorder_swap(n)
 #define uint64_t_be2host(n)		uint64_t_byteorder_swap(n)
Index: kernel/arch/mips32/include/byteorder.h
===================================================================
--- kernel/arch/mips32/include/byteorder.h	(revision 81c0171eb0e748ba009fbf142c302f72f6d64807)
+++ kernel/arch/mips32/include/byteorder.h	(revision 711e33fc78f9caf16430c990f974dd3f6cbfe3a6)
@@ -40,7 +40,9 @@
 #ifdef BIG_ENDIAN
 
+#define uint16_t_le2host(n)		uint16_t_byteorder_swap(n)
 #define uint32_t_le2host(n)		uint32_t_byteorder_swap(n)
 #define uint64_t_le2host(n)		uint64_t_byteorder_swap(n)
 
+#define uint16_t_be2host(n)		(n)
 #define uint32_t_be2host(n)		(n)
 #define uint64_t_be2host(n)		(n)
@@ -48,7 +50,9 @@
 #else
 
+#define uint16_t_le2host(n)		(n)
 #define uint32_t_le2host(n)		(n)
 #define uint64_t_le2host(n)		(n)
 
+#define uint16_t_be2host(n)		uint16_t_byteorder_swap(n)
 #define uint32_t_be2host(n)		uint32_t_byteorder_swap(n)
 #define uint64_t_be2host(n)		uint64_t_byteorder_swap(n)
Index: kernel/arch/ppc32/include/byteorder.h
===================================================================
--- kernel/arch/ppc32/include/byteorder.h	(revision 81c0171eb0e748ba009fbf142c302f72f6d64807)
+++ kernel/arch/ppc32/include/byteorder.h	(revision 711e33fc78f9caf16430c990f974dd3f6cbfe3a6)
@@ -38,7 +38,9 @@
 #include <byteorder.h>
 
+#define uint16_t_le2host(n)		uint16_t_byteorder_swap(n)
 #define uint32_t_le2host(n)		uint32_t_byteorder_swap(n)
 #define uint64_t_le2host(n)		uint64_t_byteorder_swap(n)
 
+#define uint16_t_be2host(n)		(n)
 #define uint32_t_be2host(n)		(n)
 #define uint64_t_be2host(n)		(n)
Index: kernel/arch/ppc64/include/byteorder.h
===================================================================
--- kernel/arch/ppc64/include/byteorder.h	(revision 81c0171eb0e748ba009fbf142c302f72f6d64807)
+++ kernel/arch/ppc64/include/byteorder.h	(revision 711e33fc78f9caf16430c990f974dd3f6cbfe3a6)
@@ -38,7 +38,9 @@
 #include <byteorder.h>
 
+#define uint16_t_le2host(n)		uint16_t_byteorder_swap(n)
 #define uint32_t_le2host(n)		uint32_t_byteorder_swap(n)
 #define uint64_t_le2host(n)		uint64_t_byteorder_swap(n)
 
+#define uint16_t_be2host(n)		(n)
 #define uint32_t_be2host(n)		(n)
 #define uint64_t_be2host(n)		(n)
Index: kernel/arch/sparc64/include/byteorder.h
===================================================================
--- kernel/arch/sparc64/include/byteorder.h	(revision 81c0171eb0e748ba009fbf142c302f72f6d64807)
+++ kernel/arch/sparc64/include/byteorder.h	(revision 711e33fc78f9caf16430c990f974dd3f6cbfe3a6)
@@ -38,7 +38,9 @@
 #include <byteorder.h>
 
+#define uint16_t_le2host(n)		uint16_t_byteorder_swap(n)
 #define uint32_t_le2host(n)		uint32_t_byteorder_swap(n)
 #define uint64_t_le2host(n)		uint64_t_byteorder_swap(n)
 
+#define uint16_t_be2host(n)		(n)
 #define uint32_t_be2host(n)		(n)
 #define uint64_t_be2host(n)		(n)
Index: kernel/generic/include/byteorder.h
===================================================================
--- kernel/generic/include/byteorder.h	(revision 81c0171eb0e748ba009fbf142c302f72f6d64807)
+++ kernel/generic/include/byteorder.h	(revision 711e33fc78f9caf16430c990f974dd3f6cbfe3a6)
@@ -39,11 +39,11 @@
 {
 	return ((n & 0xff) << 56) |
-		((n & 0xff00) << 40) |
-		((n & 0xff0000) << 24) |
-		((n & 0xff000000LL) << 8) |
-		((n & 0xff00000000LL) >> 8) |
-		((n & 0xff0000000000LL) >> 24) |
-		((n & 0xff000000000000LL) >> 40) |
-		((n & 0xff00000000000000LL) >> 56);
+	    ((n & 0xff00) << 40) |
+	    ((n & 0xff0000) << 24) |
+	    ((n & 0xff000000LL) << 8) |
+	    ((n & 0xff00000000LL) >> 8) |
+	    ((n & 0xff0000000000LL) >> 24) |
+	    ((n & 0xff000000000000LL) >> 40) |
+	    ((n & 0xff00000000000000LL) >> 56);
 }
 
@@ -51,7 +51,13 @@
 {
 	return ((n & 0xff) << 24) |
-		((n & 0xff00) << 8) |
-		((n & 0xff0000) >> 8) |
-		((n & 0xff000000) >> 24);
+	    ((n & 0xff00) << 8) |
+	    ((n & 0xff0000) >> 8) |
+	    ((n & 0xff000000) >> 24);
+}
+
+static inline uint16_t uint16_t_byteorder_swap(uint16_t n)
+{
+	return ((n & 0xff) << 8) |
+	    ((n & 0xff00) >> 8);
 }
 
