Hi,

this patch adds ocf support to linux 3.2.
But maybe this changes should be inside an #ifdef to 
make it work with linux < 3.2

/Peter
diff --git a/package/kernel/modules/crypto.mk b/package/kernel/modules/crypto.mk
index 44c4b5d..c8be6f9 100644
--- a/package/kernel/modules/crypto.mk
+++ b/package/kernel/modules/crypto.mk
@@ -401,7 +401,7 @@ $(eval $(call KernelPackage,crypto-misc))
 
 define KernelPackage/crypto-ocf
   TITLE:=OCF modules
-  DEPENDS:=+@OPENSSL_ENGINE @!TARGET_uml +kmod-crypto-manager @!LINUX_3_2||BROKEN
+  DEPENDS:=+@OPENSSL_ENGINE @!TARGET_uml +kmod-crypto-manager
   KCONFIG:= \
 	CONFIG_OCF_OCF \
 	CONFIG_OCF_CRYPTODEV \
diff --git a/target/linux/generic/files/crypto/ocf/criov.c b/target/linux/generic/files/crypto/ocf/criov.c
index d3d8cfd..9934e09 100644
--- a/target/linux/generic/files/crypto/ocf/criov.c
+++ b/target/linux/generic/files/crypto/ocf/criov.c
@@ -156,7 +156,7 @@ skb_copy_bits_back(struct sk_buff *skb, int offset, caddr_t cp, int len)
 	offset -= skb_headlen(skb);
 	for (i = 0; len > 0 && i < skb_shinfo(skb)->nr_frags; i++) {
 		if (offset < skb_shinfo(skb)->frags[i].size) {
-			memcpy(page_address(skb_shinfo(skb)->frags[i].page) +
+			memcpy(page_address(skb_shinfo(skb)->frags[i].page.p) +
 					skb_shinfo(skb)->frags[i].page_offset,
 					cp, min_t(int, skb_shinfo(skb)->frags[i].size, len));
 			len -= skb_shinfo(skb)->frags[i].size;
diff --git a/target/linux/generic/files/crypto/ocf/cryptosoft.c b/target/linux/generic/files/crypto/ocf/cryptosoft.c
index 79aac92..824d2a1 100644
--- a/target/linux/generic/files/crypto/ocf/cryptosoft.c
+++ b/target/linux/generic/files/crypto/ocf/cryptosoft.c
@@ -777,7 +777,7 @@ static void swcr_process_req(struct swcr_req *req)
 				if (len + sg_len > crd->crd_len)
 					len = crd->crd_len - sg_len;
 				sg_set_page(&req->sg[sg_num],
-					skb_shinfo(skb)->frags[i].page,
+					skb_shinfo(skb)->frags[i].page.p,
 					len,
 					skb_shinfo(skb)->frags[i].page_offset + skip);
 				sg_len += len;
diff --git a/target/linux/generic/files/crypto/ocf/ubsec_ssb/ubsec_ssb.c b/target/linux/generic/files/crypto/ocf/ubsec_ssb/ubsec_ssb.c
index aa0733f..fc40562 100644
--- a/target/linux/generic/files/crypto/ocf/ubsec_ssb/ubsec_ssb.c
+++ b/target/linux/generic/files/crypto/ocf/ubsec_ssb/ubsec_ssb.c
@@ -297,18 +297,18 @@ dma_map_skb(struct ubsec_softc *sc, struct ubsec_dma_alloc* q_map, struct sk_buf
 
 #ifdef UBSEC_VERBOSE_DEBUG
         DPRINTF("%s - map %d 0x%x %d\n", __FUNCTION__, i + 1, 
-            (unsigned int)page_address(skb_shinfo(skb)->frags[i].page) +
+            (unsigned int)page_address(skb_shinfo(skb)->frags[i].page.p) +
             skb_shinfo(skb)->frags[i].page_offset, skb_shinfo(skb)->frags[i].size);
 #endif
 
         tmp = dma_map_single(sc->sc_dv,
-                             page_address(skb_shinfo(skb)->frags[i].page) +
+                             page_address(skb_shinfo(skb)->frags[i].page.p) +
                                  skb_shinfo(skb)->frags[i].page_offset, 
                              skb_shinfo(skb)->frags[i].size,
                              DMA_BIDIRECTIONAL);
 
         q_map[i + 1].dma_paddr = tmp;
-        q_map[i + 1].dma_vaddr = (void*)(page_address(skb_shinfo(skb)->frags[i].page) +
+        q_map[i + 1].dma_vaddr = (void*)(page_address(skb_shinfo(skb)->frags[i].page.p) +
                                   skb_shinfo(skb)->frags[i].page_offset);
         q_map[i + 1].dma_size = skb_shinfo(skb)->frags[i].size;
 
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to