diff --git a/target/linux/generic-2.6/patches-2.6.30/975-hifn795x-byteswap.patch b/target/linux/generic-2.6/patches-2.6.30/975-hifn795x-byteswap.patch
new file mode 100644
index 0000000000000000000000000000000000000000..3a37c951ec007e297072b53e77c64c7668b46c41
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.30/975-hifn795x-byteswap.patch
@@ -0,0 +1,17 @@
+--- a/drivers/crypto/hifn_795x.c
++++ b/drivers/crypto/hifn_795x.c
+@@ -682,12 +682,12 @@ static inline u32 hifn_read_1(struct hif
+ 
+ static inline void hifn_write_0(struct hifn_device *dev, u32 reg, u32 val)
+ {
+-	writel((__force u32)cpu_to_le32(val), dev->bar[0] + reg);
++	writel(val, dev->bar[0] + reg);
+ }
+ 
+ static inline void hifn_write_1(struct hifn_device *dev, u32 reg, u32 val)
+ {
+-	writel((__force u32)cpu_to_le32(val), dev->bar[1] + reg);
++	writel(val, dev->bar[1] + reg);
+ }
+ 
+ static void hifn_wait_puc(struct hifn_device *dev)
diff --git a/target/linux/generic-2.6/patches-2.6.31/975-hifn795x-byteswap.patch b/target/linux/generic-2.6/patches-2.6.31/975-hifn795x-byteswap.patch
new file mode 100644
index 0000000000000000000000000000000000000000..3a37c951ec007e297072b53e77c64c7668b46c41
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.31/975-hifn795x-byteswap.patch
@@ -0,0 +1,17 @@
+--- a/drivers/crypto/hifn_795x.c
++++ b/drivers/crypto/hifn_795x.c
+@@ -682,12 +682,12 @@ static inline u32 hifn_read_1(struct hif
+ 
+ static inline void hifn_write_0(struct hifn_device *dev, u32 reg, u32 val)
+ {
+-	writel((__force u32)cpu_to_le32(val), dev->bar[0] + reg);
++	writel(val, dev->bar[0] + reg);
+ }
+ 
+ static inline void hifn_write_1(struct hifn_device *dev, u32 reg, u32 val)
+ {
+-	writel((__force u32)cpu_to_le32(val), dev->bar[1] + reg);
++	writel(val, dev->bar[1] + reg);
+ }
+ 
+ static void hifn_wait_puc(struct hifn_device *dev)
diff --git a/target/linux/generic-2.6/patches-2.6.32/975-hifn795x-byteswap.patch b/target/linux/generic-2.6/patches-2.6.32/975-hifn795x-byteswap.patch
new file mode 100644
index 0000000000000000000000000000000000000000..3a37c951ec007e297072b53e77c64c7668b46c41
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.32/975-hifn795x-byteswap.patch
@@ -0,0 +1,17 @@
+--- a/drivers/crypto/hifn_795x.c
++++ b/drivers/crypto/hifn_795x.c
+@@ -682,12 +682,12 @@ static inline u32 hifn_read_1(struct hif
+ 
+ static inline void hifn_write_0(struct hifn_device *dev, u32 reg, u32 val)
+ {
+-	writel((__force u32)cpu_to_le32(val), dev->bar[0] + reg);
++	writel(val, dev->bar[0] + reg);
+ }
+ 
+ static inline void hifn_write_1(struct hifn_device *dev, u32 reg, u32 val)
+ {
+-	writel((__force u32)cpu_to_le32(val), dev->bar[1] + reg);
++	writel(val, dev->bar[1] + reg);
+ }
+ 
+ static void hifn_wait_puc(struct hifn_device *dev)
diff --git a/target/linux/generic-2.6/patches-2.6.33/975-hifn795x-byteswap.patch b/target/linux/generic-2.6/patches-2.6.33/975-hifn795x-byteswap.patch
new file mode 100644
index 0000000000000000000000000000000000000000..3a37c951ec007e297072b53e77c64c7668b46c41
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.33/975-hifn795x-byteswap.patch
@@ -0,0 +1,17 @@
+--- a/drivers/crypto/hifn_795x.c
++++ b/drivers/crypto/hifn_795x.c
+@@ -682,12 +682,12 @@ static inline u32 hifn_read_1(struct hif
+ 
+ static inline void hifn_write_0(struct hifn_device *dev, u32 reg, u32 val)
+ {
+-	writel((__force u32)cpu_to_le32(val), dev->bar[0] + reg);
++	writel(val, dev->bar[0] + reg);
+ }
+ 
+ static inline void hifn_write_1(struct hifn_device *dev, u32 reg, u32 val)
+ {
+-	writel((__force u32)cpu_to_le32(val), dev->bar[1] + reg);
++	writel(val, dev->bar[1] + reg);
+ }
+ 
+ static void hifn_wait_puc(struct hifn_device *dev)
diff --git a/target/linux/generic-2.6/patches-2.6.34/975-hifn795x-byteswap.patch b/target/linux/generic-2.6/patches-2.6.34/975-hifn795x-byteswap.patch
new file mode 100644
index 0000000000000000000000000000000000000000..3a37c951ec007e297072b53e77c64c7668b46c41
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.34/975-hifn795x-byteswap.patch
@@ -0,0 +1,17 @@
+--- a/drivers/crypto/hifn_795x.c
++++ b/drivers/crypto/hifn_795x.c
+@@ -682,12 +682,12 @@ static inline u32 hifn_read_1(struct hif
+ 
+ static inline void hifn_write_0(struct hifn_device *dev, u32 reg, u32 val)
+ {
+-	writel((__force u32)cpu_to_le32(val), dev->bar[0] + reg);
++	writel(val, dev->bar[0] + reg);
+ }
+ 
+ static inline void hifn_write_1(struct hifn_device *dev, u32 reg, u32 val)
+ {
+-	writel((__force u32)cpu_to_le32(val), dev->bar[1] + reg);
++	writel(val, dev->bar[1] + reg);
+ }
+ 
+ static void hifn_wait_puc(struct hifn_device *dev)