[PATCH] crypto: drop unnecessary return statements

2017-08-28 Thread Geliang Tang
Fix checkpatch.pl warnings:

WARNING: void function return statements are not generally useful
FILE: crypto/rmd128.c:218:
FILE: crypto/rmd160.c:261:
FILE: crypto/rmd256.c:233:
FILE: crypto/rmd320.c:280:
FILE: crypto/tcrypt.c:385:
FILE: drivers/crypto/ixp4xx_crypto.c:538:
FILE: drivers/crypto/marvell/cesa.c:81:
FILE: drivers/crypto/ux500/cryp/cryp_core.c:1755:

Signed-off-by: Geliang Tang <geliangt...@gmail.com>
---
 crypto/rmd128.c   | 2 --
 crypto/rmd160.c   | 2 --
 crypto/rmd256.c   | 2 --
 crypto/rmd320.c   | 2 --
 crypto/tcrypt.c   | 1 -
 drivers/crypto/ixp4xx_crypto.c| 1 -
 drivers/crypto/marvell/cesa.c | 2 --
 drivers/crypto/ux500/cryp/cryp_core.c | 1 -
 8 files changed, 13 deletions(-)

diff --git a/crypto/rmd128.c b/crypto/rmd128.c
index 049486e..40e053b 100644
--- a/crypto/rmd128.c
+++ b/crypto/rmd128.c
@@ -213,8 +213,6 @@ static void rmd128_transform(u32 *state, const __le32 *in)
state[2] = state[3] + aa + bbb;
state[3] = state[0] + bb + ccc;
state[0] = ddd;
-
-   return;
 }
 
 static int rmd128_init(struct shash_desc *desc)
diff --git a/crypto/rmd160.c b/crypto/rmd160.c
index de585e5..5f3e6ea 100644
--- a/crypto/rmd160.c
+++ b/crypto/rmd160.c
@@ -256,8 +256,6 @@ static void rmd160_transform(u32 *state, const __le32 *in)
state[3] = state[4] + aa + bbb;
state[4] = state[0] + bb + ccc;
state[0] = ddd;
-
-   return;
 }
 
 static int rmd160_init(struct shash_desc *desc)
diff --git a/crypto/rmd256.c b/crypto/rmd256.c
index 4ec02a7..f50c025 100644
--- a/crypto/rmd256.c
+++ b/crypto/rmd256.c
@@ -228,8 +228,6 @@ static void rmd256_transform(u32 *state, const __le32 *in)
state[5] += bbb;
state[6] += ccc;
state[7] += ddd;
-
-   return;
 }
 
 static int rmd256_init(struct shash_desc *desc)
diff --git a/crypto/rmd320.c b/crypto/rmd320.c
index 770f2cb..e1315e4 100644
--- a/crypto/rmd320.c
+++ b/crypto/rmd320.c
@@ -275,8 +275,6 @@ static void rmd320_transform(u32 *state, const __le32 *in)
state[7] += ccc;
state[8] += ddd;
state[9] += eee;
-
-   return;
 }
 
 static int rmd320_init(struct shash_desc *desc)
diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c
index 0022a18..4b20d99 100644
--- a/crypto/tcrypt.c
+++ b/crypto/tcrypt.c
@@ -381,7 +381,6 @@ static void test_aead_speed(const char *algo, int enc, 
unsigned int secs,
testmgr_free_buf(xbuf);
 out_noxbuf:
kfree(iv);
-   return;
 }
 
 static void test_hash_sg_init(struct scatterlist *sg)
diff --git a/drivers/crypto/ixp4xx_crypto.c b/drivers/crypto/ixp4xx_crypto.c
index dadc4a8..8705b28 100644
--- a/drivers/crypto/ixp4xx_crypto.c
+++ b/drivers/crypto/ixp4xx_crypto.c
@@ -534,7 +534,6 @@ static void release_ixp_crypto(struct device *dev)
NPE_QLEN_TOTAL * sizeof( struct crypt_ctl),
crypt_virt, crypt_phys);
}
-   return;
 }
 
 static void reset_sa_dir(struct ix_sa_dir *dir)
diff --git a/drivers/crypto/marvell/cesa.c b/drivers/crypto/marvell/cesa.c
index 6e7a5c7..b657e7c 100644
--- a/drivers/crypto/marvell/cesa.c
+++ b/drivers/crypto/marvell/cesa.c
@@ -76,8 +76,6 @@ static void mv_cesa_rearm_engine(struct mv_cesa_engine 
*engine)
 
ctx = crypto_tfm_ctx(req->tfm);
ctx->ops->step(req);
-
-   return;
 }
 
 static int mv_cesa_std_process(struct mv_cesa_engine *engine, u32 status)
diff --git a/drivers/crypto/ux500/cryp/cryp_core.c 
b/drivers/crypto/ux500/cryp/cryp_core.c
index 790f7ca..765f53e 100644
--- a/drivers/crypto/ux500/cryp/cryp_core.c
+++ b/drivers/crypto/ux500/cryp/cryp_core.c
@@ -1751,7 +1751,6 @@ static void __exit ux500_cryp_mod_fini(void)
 {
pr_debug("[%s] is called!", __func__);
platform_driver_unregister(_driver);
-   return;
 }
 
 module_init(ux500_cryp_mod_init);
-- 
2.9.3



[PATCH] crypto: mediatek - drop .owner field in mtk_crypto_driver

2017-05-06 Thread Geliang Tang
Drop .owner field in mtk_crypto_driver, since platform_driver_register()
will set it automatically.

Signed-off-by: Geliang Tang <geliangt...@gmail.com>
---
 drivers/crypto/mediatek/mtk-platform.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/crypto/mediatek/mtk-platform.c 
b/drivers/crypto/mediatek/mtk-platform.c
index b6ecc28..f7536b1 100644
--- a/drivers/crypto/mediatek/mtk-platform.c
+++ b/drivers/crypto/mediatek/mtk-platform.c
@@ -596,7 +596,6 @@ static struct platform_driver mtk_crypto_driver = {
.remove = mtk_crypto_remove,
.driver = {
   .name = "mtk-crypto",
-  .owner = THIS_MODULE,
   .of_match_table = of_crypto_id,
},
 };
-- 
2.9.3



[PATCH] crypto: ixp4xx - Use sg_virt()

2017-03-23 Thread Geliang Tang
Use sg_virt() instead of open-coding it.

Signed-off-by: Geliang Tang <geliangt...@gmail.com>
---
 drivers/crypto/ixp4xx_crypto.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/crypto/ixp4xx_crypto.c b/drivers/crypto/ixp4xx_crypto.c
index 7868765..771dd26 100644
--- a/drivers/crypto/ixp4xx_crypto.c
+++ b/drivers/crypto/ixp4xx_crypto.c
@@ -806,7 +806,7 @@ static struct buffer_desc *chainup_buffers(struct device 
*dev,
void *ptr;
 
nbytes -= len;
-   ptr = page_address(sg_page(sg)) + sg->offset;
+   ptr = sg_virt(sg);
next_buf = dma_pool_alloc(buffer_pool, flags, _buf_phys);
if (!next_buf) {
buf = NULL;
-- 
2.9.3



[PATCH] crypto: nx - drop duplicate header types.h

2016-11-11 Thread Geliang Tang
Drop duplicate header types.h from nx.c.

Signed-off-by: Geliang Tang <geliangt...@gmail.com>
---
 drivers/crypto/nx/nx.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/crypto/nx/nx.c b/drivers/crypto/nx/nx.c
index 42f0f22..036057a 100644
--- a/drivers/crypto/nx/nx.c
+++ b/drivers/crypto/nx/nx.c
@@ -32,7 +32,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 
-- 
2.9.3

--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] crypto: jitterentropy - drop duplicate header module.h

2016-11-11 Thread Geliang Tang
Drop duplicate header module.h from jitterentropy-kcapi.c.

Signed-off-by: Geliang Tang <geliangt...@gmail.com>
---
 crypto/jitterentropy-kcapi.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/crypto/jitterentropy-kcapi.c b/crypto/jitterentropy-kcapi.c
index c4938497..787dccc 100644
--- a/crypto/jitterentropy-kcapi.c
+++ b/crypto/jitterentropy-kcapi.c
@@ -39,7 +39,6 @@
 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 
-- 
2.9.3

--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] crypto: skcipher - remove unused header cpumask.h

2016-06-01 Thread Geliang Tang
Remove unused header cpumask.h from crypto/ablkcipher.c.

Signed-off-by: Geliang Tang <geliangt...@gmail.com>
---
 crypto/ablkcipher.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/crypto/ablkcipher.c b/crypto/ablkcipher.c
index e5b5721..6b80516 100644
--- a/crypto/ablkcipher.c
+++ b/crypto/ablkcipher.c
@@ -14,7 +14,6 @@
  */
 
 #include 
-#include 
 #include 
 #include 
 #include 
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] crypto: hifn_795x, picoxcell - use ablkcipher_request_cast

2015-12-28 Thread Geliang Tang
Use ablkcipher_request_cast() instead of open-coding it.

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
 drivers/crypto/hifn_795x.c| 4 ++--
 drivers/crypto/picoxcell_crypto.c | 3 +--
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/crypto/hifn_795x.c b/drivers/crypto/hifn_795x.c
index 201e57d..eee2c7e 100644
--- a/drivers/crypto/hifn_795x.c
+++ b/drivers/crypto/hifn_795x.c
@@ -1943,7 +1943,7 @@ static void hifn_flush(struct hifn_device *dev)
 
spin_lock_irqsave(>lock, flags);
while ((async_req = crypto_dequeue_request(>queue))) {
-   req = container_of(async_req, struct ablkcipher_request, base);
+   req = ablkcipher_request_cast(async_req);
spin_unlock_irqrestore(>lock, flags);
 
hifn_process_ready(req, -ENODEV);
@@ -2062,7 +2062,7 @@ static int hifn_process_queue(struct hifn_device *dev)
if (backlog)
backlog->complete(backlog, -EINPROGRESS);
 
-   req = container_of(async_req, struct ablkcipher_request, base);
+   req = ablkcipher_request_cast(async_req);
 
err = hifn_handle_req(req);
if (err)
diff --git a/drivers/crypto/picoxcell_crypto.c 
b/drivers/crypto/picoxcell_crypto.c
index 15b5e39..3b1c7ec 100644
--- a/drivers/crypto/picoxcell_crypto.c
+++ b/drivers/crypto/picoxcell_crypto.c
@@ -856,8 +856,7 @@ static int spacc_ablk_need_fallback(struct spacc_req *req)
 
 static void spacc_ablk_complete(struct spacc_req *req)
 {
-   struct ablkcipher_request *ablk_req =
-   container_of(req->req, struct ablkcipher_request, base);
+   struct ablkcipher_request *ablk_req = ablkcipher_request_cast(req->req);
 
if (ablk_req->src != ablk_req->dst) {
spacc_free_ddt(req, req->src_ddt, req->src_addr, ablk_req->src,
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] crypto: ccp - use to_pci_dev and to_platform_device

2015-12-23 Thread Geliang Tang
Use to_pci_dev() and to_platform_device() instead of open-coding.

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
 drivers/crypto/ccp/ccp-pci.c  | 8 
 drivers/crypto/ccp/ccp-platform.c | 6 ++
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/drivers/crypto/ccp/ccp-pci.c b/drivers/crypto/ccp/ccp-pci.c
index 6ade02f..7690467 100644
--- a/drivers/crypto/ccp/ccp-pci.c
+++ b/drivers/crypto/ccp/ccp-pci.c
@@ -44,7 +44,7 @@ static int ccp_get_msix_irqs(struct ccp_device *ccp)
 {
struct ccp_pci *ccp_pci = ccp->dev_specific;
struct device *dev = ccp->dev;
-   struct pci_dev *pdev = container_of(dev, struct pci_dev, dev);
+   struct pci_dev *pdev = to_pci_dev(dev);
struct msix_entry msix_entry[MSIX_VECTORS];
unsigned int name_len = sizeof(ccp_pci->msix[0].name) - 1;
int v, ret;
@@ -86,7 +86,7 @@ e_irq:
 static int ccp_get_msi_irq(struct ccp_device *ccp)
 {
struct device *dev = ccp->dev;
-   struct pci_dev *pdev = container_of(dev, struct pci_dev, dev);
+   struct pci_dev *pdev = to_pci_dev(dev);
int ret;
 
ret = pci_enable_msi(pdev);
@@ -133,7 +133,7 @@ static void ccp_free_irqs(struct ccp_device *ccp)
 {
struct ccp_pci *ccp_pci = ccp->dev_specific;
struct device *dev = ccp->dev;
-   struct pci_dev *pdev = container_of(dev, struct pci_dev, dev);
+   struct pci_dev *pdev = to_pci_dev(dev);
 
if (ccp_pci->msix_count) {
while (ccp_pci->msix_count--)
@@ -149,7 +149,7 @@ static void ccp_free_irqs(struct ccp_device *ccp)
 static int ccp_find_mmio_area(struct ccp_device *ccp)
 {
struct device *dev = ccp->dev;
-   struct pci_dev *pdev = container_of(dev, struct pci_dev, dev);
+   struct pci_dev *pdev = to_pci_dev(dev);
resource_size_t io_len;
unsigned long io_flags;
 
diff --git a/drivers/crypto/ccp/ccp-platform.c 
b/drivers/crypto/ccp/ccp-platform.c
index 01b50cb..66dd7c9 100644
--- a/drivers/crypto/ccp/ccp-platform.c
+++ b/drivers/crypto/ccp/ccp-platform.c
@@ -35,8 +35,7 @@ struct ccp_platform {
 static int ccp_get_irq(struct ccp_device *ccp)
 {
struct device *dev = ccp->dev;
-   struct platform_device *pdev = container_of(dev,
-   struct platform_device, dev);
+   struct platform_device *pdev = to_platform_device(dev);
int ret;
 
ret = platform_get_irq(pdev, 0);
@@ -78,8 +77,7 @@ static void ccp_free_irqs(struct ccp_device *ccp)
 static struct resource *ccp_find_mmio_area(struct ccp_device *ccp)
 {
struct device *dev = ccp->dev;
-   struct platform_device *pdev = container_of(dev,
-   struct platform_device, dev);
+   struct platform_device *pdev = to_platform_device(dev);
struct resource *ior;
 
ior = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2] crypto: qat - use list_for_each_entry*

2015-12-19 Thread Geliang Tang
Use list_for_each_entry*() instead of list_for_each*() to simplify
the code.

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
Changes in v2:
 - only to qat_crypto.c, and adf_ctl_drv.c.
---
 drivers/crypto/qat/qat_common/adf_ctl_drv.c | 13 -
 drivers/crypto/qat/qat_common/qat_crypto.c  | 28 
 2 files changed, 12 insertions(+), 29 deletions(-)

diff --git a/drivers/crypto/qat/qat_common/adf_ctl_drv.c 
b/drivers/crypto/qat/qat_common/adf_ctl_drv.c
index 2e6d0c5..5c897e6 100644
--- a/drivers/crypto/qat/qat_common/adf_ctl_drv.c
+++ b/drivers/crypto/qat/qat_common/adf_ctl_drv.c
@@ -255,12 +255,9 @@ out:
 
 static int adf_ctl_is_device_in_use(int id)
 {
-   struct list_head *itr, *head = adf_devmgr_get_head();
-
-   list_for_each(itr, head) {
-   struct adf_accel_dev *dev =
-   list_entry(itr, struct adf_accel_dev, list);
+   struct adf_accel_dev *dev;
 
+   list_for_each_entry(dev, adf_devmgr_get_head(), list) {
if (id == dev->accel_id || id == ADF_CFG_ALL_DEVICES) {
if (adf_devmgr_in_reset(dev) || adf_dev_in_use(dev)) {
dev_info(_DEV(dev),
@@ -275,12 +272,10 @@ static int adf_ctl_is_device_in_use(int id)
 
 static int adf_ctl_stop_devices(uint32_t id)
 {
-   struct list_head *itr, *head = adf_devmgr_get_head();
+   struct adf_accel_dev *accel_dev;
int ret = 0;
 
-   list_for_each_prev(itr, head) {
-   struct adf_accel_dev *accel_dev =
-   list_entry(itr, struct adf_accel_dev, list);
+   list_for_each_entry_reverse(accel_dev, adf_devmgr_get_head(), list) {
if (id == accel_dev->accel_id || id == ADF_CFG_ALL_DEVICES) {
if (!adf_dev_started(accel_dev))
continue;
diff --git a/drivers/crypto/qat/qat_common/qat_crypto.c 
b/drivers/crypto/qat/qat_common/qat_crypto.c
index 4d0c65b..3852d31 100644
--- a/drivers/crypto/qat/qat_common/qat_crypto.c
+++ b/drivers/crypto/qat/qat_common/qat_crypto.c
@@ -67,13 +67,10 @@ void qat_crypto_put_instance(struct qat_crypto_instance 
*inst)
 
 static int qat_crypto_free_instances(struct adf_accel_dev *accel_dev)
 {
-   struct qat_crypto_instance *inst;
-   struct list_head *list_ptr, *tmp;
+   struct qat_crypto_instance *inst, *tmp;
int i;
 
-   list_for_each_safe(list_ptr, tmp, _dev->crypto_list) {
-   inst = list_entry(list_ptr, struct qat_crypto_instance, list);
-
+   list_for_each_entry_safe(inst, tmp, _dev->crypto_list, list) {
for (i = 0; i < atomic_read(>refctr); i++)
qat_crypto_put_instance(inst);
 
@@ -89,7 +86,7 @@ static int qat_crypto_free_instances(struct adf_accel_dev 
*accel_dev)
if (inst->pke_rx)
adf_remove_ring(inst->pke_rx);
 
-   list_del(list_ptr);
+   list_del(>list);
kfree(inst);
}
return 0;
@@ -97,17 +94,13 @@ static int qat_crypto_free_instances(struct adf_accel_dev 
*accel_dev)
 
 struct qat_crypto_instance *qat_crypto_get_instance_node(int node)
 {
-   struct adf_accel_dev *accel_dev = NULL;
-   struct qat_crypto_instance *inst = NULL;
-   struct list_head *itr;
+   struct adf_accel_dev *accel_dev = NULL, *tmp_dev;
+   struct qat_crypto_instance *inst = NULL, *tmp_inst;
unsigned long best = ~0;
 
-   list_for_each(itr, adf_devmgr_get_head()) {
-   struct adf_accel_dev *tmp_dev;
+   list_for_each_entry(tmp_dev, adf_devmgr_get_head(), list) {
unsigned long ctr;
 
-   tmp_dev = list_entry(itr, struct adf_accel_dev, list);
-
if ((node == dev_to_node(_DEV(tmp_dev)) ||
 dev_to_node(_DEV(tmp_dev)) < 0) &&
adf_dev_started(tmp_dev) &&
@@ -123,10 +116,7 @@ struct qat_crypto_instance 
*qat_crypto_get_instance_node(int node)
if (!accel_dev) {
pr_info("QAT: Could not find a device on node %d\n", node);
/* Get any started device */
-   list_for_each(itr, adf_devmgr_get_head()) {
-   struct adf_accel_dev *tmp_dev;
-
-   tmp_dev = list_entry(itr, struct adf_accel_dev, list);
+   list_for_each_entry(tmp_dev, adf_devmgr_get_head(), list) {
if (adf_dev_started(tmp_dev) &&
!list_empty(_dev->crypto_list)) {
accel_dev = tmp_dev;
@@ -139,11 +129,9 @@ struct qat_crypto_instance 
*qat_crypto_get_instance_node(int node)
return NULL;
 
best = ~0;
-   list_for_each(itr, _dev->crypto_list) {
-   struct qat_crypto_instance *tmp_inst;
+   list_for_each_entry(tmp_inst, _dev->cry

[PATCH] crypto: qat - use list_for_each_entry*

2015-12-16 Thread Geliang Tang
Use list_for_each_entry*() instead of list_for_each*() to simplify
the code.

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
 drivers/crypto/qat/qat_common/adf_cfg.c | 35 +++
 drivers/crypto/qat/qat_common/adf_ctl_drv.c | 13 +++
 drivers/crypto/qat/qat_common/adf_dev_mgr.c | 54 +
 drivers/crypto/qat/qat_common/adf_init.c| 24 -
 drivers/crypto/qat/qat_common/qat_crypto.c  | 28 +--
 5 files changed, 47 insertions(+), 107 deletions(-)

diff --git a/drivers/crypto/qat/qat_common/adf_cfg.c 
b/drivers/crypto/qat/qat_common/adf_cfg.c
index d087979..01f6051 100644
--- a/drivers/crypto/qat/qat_common/adf_cfg.c
+++ b/drivers/crypto/qat/qat_common/adf_cfg.c
@@ -64,16 +64,13 @@ static void *qat_dev_cfg_start(struct seq_file *sfile, 
loff_t *pos)
 
 static int qat_dev_cfg_show(struct seq_file *sfile, void *v)
 {
-   struct list_head *list;
+   struct adf_cfg_key_val *ptr;
struct adf_cfg_section *sec =
list_entry(v, struct adf_cfg_section, list);
 
seq_printf(sfile, "[%s]\n", sec->name);
-   list_for_each(list, >param_head) {
-   struct adf_cfg_key_val *ptr =
-   list_entry(list, struct adf_cfg_key_val, list);
+   list_for_each_entry(ptr, >param_head, list)
seq_printf(sfile, "%s = %s\n", ptr->key, ptr->val);
-   }
return 0;
 }
 
@@ -198,25 +195,21 @@ static void adf_cfg_keyval_add(struct adf_cfg_key_val 
*new,
 
 static void adf_cfg_keyval_del_all(struct list_head *head)
 {
-   struct list_head *list_ptr, *tmp;
+   struct adf_cfg_key_val *ptr, *tmp;
 
-   list_for_each_prev_safe(list_ptr, tmp, head) {
-   struct adf_cfg_key_val *ptr =
-   list_entry(list_ptr, struct adf_cfg_key_val, list);
-   list_del(list_ptr);
+   list_for_each_entry_safe_reverse(ptr, tmp, head, list) {
+   list_del(>list);
kfree(ptr);
}
 }
 
 static void adf_cfg_section_del_all(struct list_head *head)
 {
-   struct adf_cfg_section *ptr;
-   struct list_head *list, *tmp;
+   struct adf_cfg_section *ptr, *tmp;
 
-   list_for_each_prev_safe(list, tmp, head) {
-   ptr = list_entry(list, struct adf_cfg_section, list);
+   list_for_each_entry_safe_reverse(ptr, tmp, head, list) {
adf_cfg_keyval_del_all(>param_head);
-   list_del(list);
+   list_del(>list);
kfree(ptr);
}
 }
@@ -224,11 +217,9 @@ static void adf_cfg_section_del_all(struct list_head *head)
 static struct adf_cfg_key_val *adf_cfg_key_value_find(struct adf_cfg_section 
*s,
  const char *key)
 {
-   struct list_head *list;
+   struct adf_cfg_key_val *ptr;
 
-   list_for_each(list, >param_head) {
-   struct adf_cfg_key_val *ptr =
-   list_entry(list, struct adf_cfg_key_val, list);
+   list_for_each_entry(ptr, >param_head, list) {
if (!strcmp(ptr->key, key))
return ptr;
}
@@ -239,11 +230,9 @@ static struct adf_cfg_section *adf_cfg_sec_find(struct 
adf_accel_dev *accel_dev,
const char *sec_name)
 {
struct adf_cfg_device_data *cfg = accel_dev->cfg;
-   struct list_head *list;
+   struct adf_cfg_section *ptr;
 
-   list_for_each(list, >sec_list) {
-   struct adf_cfg_section *ptr =
-   list_entry(list, struct adf_cfg_section, list);
+   list_for_each_entry(ptr, >sec_list, list) {
if (!strcmp(ptr->name, sec_name))
return ptr;
}
diff --git a/drivers/crypto/qat/qat_common/adf_ctl_drv.c 
b/drivers/crypto/qat/qat_common/adf_ctl_drv.c
index 2e6d0c5..5c897e6 100644
--- a/drivers/crypto/qat/qat_common/adf_ctl_drv.c
+++ b/drivers/crypto/qat/qat_common/adf_ctl_drv.c
@@ -255,12 +255,9 @@ out:
 
 static int adf_ctl_is_device_in_use(int id)
 {
-   struct list_head *itr, *head = adf_devmgr_get_head();
-
-   list_for_each(itr, head) {
-   struct adf_accel_dev *dev =
-   list_entry(itr, struct adf_accel_dev, list);
+   struct adf_accel_dev *dev;
 
+   list_for_each_entry(dev, adf_devmgr_get_head(), list) {
if (id == dev->accel_id || id == ADF_CFG_ALL_DEVICES) {
if (adf_devmgr_in_reset(dev) || adf_dev_in_use(dev)) {
dev_info(_DEV(dev),
@@ -275,12 +272,10 @@ static int adf_ctl_is_device_in_use(int id)
 
 static int adf_ctl_stop_devices(uint32_t id)
 {
-   struct list_head *itr, *head = adf_devmgr_get_head();
+   struct adf_accel_dev *accel_dev;
int ret = 0;
 
-   list_

[PATCH] crypto: padlock-aes - use offset_in_page macro

2015-11-21 Thread Geliang Tang
Use offset_in_page macro instead of (addr & ~PAGE_MASK).

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
 drivers/crypto/padlock-aes.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/crypto/padlock-aes.c b/drivers/crypto/padlock-aes.c
index da2d677..be2dd10 100644
--- a/drivers/crypto/padlock-aes.c
+++ b/drivers/crypto/padlock-aes.c
@@ -238,7 +238,7 @@ static inline void ecb_crypt(const u8 *in, u8 *out, u32 
*key,
/* Padlock in ECB mode fetches at least ecb_fetch_bytes of data.
 * We could avoid some copying here but it's probably not worth it.
 */
-   if (unlikely(((unsigned long)in & ~PAGE_MASK) + ecb_fetch_bytes > 
PAGE_SIZE)) {
+   if (unlikely(offset_in_page(in) + ecb_fetch_bytes > PAGE_SIZE)) {
ecb_crypt_copy(in, out, key, cword, count);
return;
}
@@ -250,7 +250,7 @@ static inline u8 *cbc_crypt(const u8 *in, u8 *out, u32 *key,
u8 *iv, struct cword *cword, int count)
 {
/* Padlock in CBC mode fetches at least cbc_fetch_bytes of data. */
-   if (unlikely(((unsigned long)in & ~PAGE_MASK) + cbc_fetch_bytes > 
PAGE_SIZE))
+   if (unlikely(offset_in_page(in) + cbc_fetch_bytes > PAGE_SIZE))
return cbc_crypt_copy(in, out, key, iv, cword, count);
 
return rep_xcrypt_cbc(in, out, key, iv, cword, count);
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2/2] crypto: mcryptd - use list_first_entry_or_null()

2015-11-16 Thread Geliang Tang
Simplify mcryptd_opportunistic_flush() with list_first_entry_or_null().

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
 crypto/mcryptd.c | 8 ++--
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/crypto/mcryptd.c b/crypto/mcryptd.c
index fe5b495a..f78d4fc 100644
--- a/crypto/mcryptd.c
+++ b/crypto/mcryptd.c
@@ -128,13 +128,9 @@ static void mcryptd_opportunistic_flush(void)
flist = per_cpu_ptr(mcryptd_flist, smp_processor_id());
while (single_task_running()) {
mutex_lock(>lock);
-   if (list_empty(>list)) {
-   mutex_unlock(>lock);
-   return;
-   }
-   cstate = list_entry(flist->list.next,
+   cstate = list_first_entry_or_null(>list,
struct mcryptd_alg_cstate, flush_list);
-   if (!cstate->flusher_engaged) {
+   if (!cstate || !cstate->flusher_engaged) {
mutex_unlock(>lock);
return;
}
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] crypto: api - use list_first_entry_or_null and list_next_entry

2015-11-16 Thread Geliang Tang
Simplify crypto_more_spawns() with list_first_entry_or_null()
and list_next_entry().

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
 crypto/algapi.c | 9 -
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/crypto/algapi.c b/crypto/algapi.c
index 59bf491..7be76aa 100644
--- a/crypto/algapi.c
+++ b/crypto/algapi.c
@@ -93,16 +93,15 @@ static struct list_head *crypto_more_spawns(struct 
crypto_alg *alg,
 {
struct crypto_spawn *spawn, *n;
 
-   if (list_empty(stack))
+   spawn = list_first_entry_or_null(stack, struct crypto_spawn, list);
+   if (!spawn)
return NULL;
 
-   spawn = list_first_entry(stack, struct crypto_spawn, list);
-   n = list_entry(spawn->list.next, struct crypto_spawn, list);
+   n = list_next_entry(spawn, list);
 
if (spawn->alg && >list != stack && !n->alg)
n->alg = (n->list.next == stack) ? alg :
-_entry(n->list.next, struct crypto_spawn,
-list)->inst->alg;
+_next_entry(n, list)->inst->alg;
 
list_move(>list, secondary_spawns);
 
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] crypto: blkcipher and ablkcipher should it be static

2015-09-27 Thread Geliang Tang
Fixes the following sparse warnings:

 crypto/skcipher.c:94:5:
 warning: symbol 'crypto_init_skcipher_ops_blkcipher'
 was not declared. Should it be static?

 crypto/skcipher.c:185:5:
 warning: symbol 'crypto_init_skcipher_ops_ablkcipher'
 was not declared. Should it be static?

Signed-off-by: Geliang Tang <geliangt...@163.com>
---
 crypto/skcipher.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/crypto/skcipher.c b/crypto/skcipher.c
index dd5fc1b..7591928 100644
--- a/crypto/skcipher.c
+++ b/crypto/skcipher.c
@@ -91,7 +91,7 @@ static void crypto_exit_skcipher_ops_blkcipher(struct 
crypto_tfm *tfm)
crypto_free_blkcipher(*ctx);
 }
 
-int crypto_init_skcipher_ops_blkcipher(struct crypto_tfm *tfm)
+static int crypto_init_skcipher_ops_blkcipher(struct crypto_tfm *tfm)
 {
struct crypto_alg *calg = tfm->__crt_alg;
struct crypto_skcipher *skcipher = __crypto_skcipher_cast(tfm);
@@ -182,7 +182,7 @@ static void crypto_exit_skcipher_ops_ablkcipher(struct 
crypto_tfm *tfm)
crypto_free_ablkcipher(*ctx);
 }
 
-int crypto_init_skcipher_ops_ablkcipher(struct crypto_tfm *tfm)
+static int crypto_init_skcipher_ops_ablkcipher(struct crypto_tfm *tfm)
 {
struct crypto_alg *calg = tfm->__crt_alg;
struct crypto_skcipher *skcipher = __crypto_skcipher_cast(tfm);
-- 
2.5.0


--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html