[PATCH 13/16] crypto: rockchip: rewrite type
kernel test robot
lkp at intel.com
Mon Feb 28 20:18:48 PST 2022
Hi Corentin,
I love your patch! Perhaps something to improve:
[auto build test WARNING on rockchip/for-next]
[also build test WARNING on herbert-cryptodev-2.6/master herbert-crypto-2.6/master v5.17-rc6 next-20220228]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Corentin-Labbe/crypto-rockchip-permit-to-pass-self-tests/20220301-035430
base: https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next
config: arm-defconfig (https://download.01.org/0day-ci/archive/20220301/202203011055.8Y6mA9xW-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/03fb353165f76dc7c5ed7c27401537552070406b
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Corentin-Labbe/crypto-rockchip-permit-to-pass-self-tests/20220301-035430
git checkout 03fb353165f76dc7c5ed7c27401537552070406b
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm SHELL=/bin/bash drivers/crypto/rockchip/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/device.h:15,
from include/linux/dma-mapping.h:7,
from drivers/crypto/rockchip/rk3288_crypto.h:8,
from drivers/crypto/rockchip/rk3288_crypto.c:12:
drivers/crypto/rockchip/rk3288_crypto.c: In function 'rk_crypto_register':
>> drivers/crypto/rockchip/rk3288_crypto.c:99:52: warning: too many arguments for format [-Wformat-extra-args]
99 | dev_info(crypto_info->dev, "Register %s as\n",
| ^~~~~~~~~~~~~~~~~~
include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap'
110 | _p_func(dev, fmt, ##__VA_ARGS__); \
| ^~~
include/linux/dev_printk.h:150:58: note: in expansion of macro 'dev_fmt'
150 | dev_printk_index_wrap(_dev_info, KERN_INFO, dev, dev_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~
drivers/crypto/rockchip/rk3288_crypto.c:99:25: note: in expansion of macro 'dev_info'
99 | dev_info(crypto_info->dev, "Register %s as\n",
| ^~~~~~~~
vim +99 drivers/crypto/rockchip/rk3288_crypto.c
> 12 #include "rk3288_crypto.h"
13 #include <linux/dma-mapping.h>
14 #include <linux/module.h>
15 #include <linux/platform_device.h>
16 #include <linux/of.h>
17 #include <linux/clk.h>
18 #include <linux/crypto.h>
19 #include <linux/reset.h>
20
21 static int rk_crypto_enable_clk(struct rk_crypto_info *dev)
22 {
23 int err;
24
25 err = clk_prepare_enable(dev->sclk);
26 if (err) {
27 dev_err(dev->dev, "[%s:%d], Couldn't enable clock sclk\n",
28 __func__, __LINE__);
29 goto err_return;
30 }
31 err = clk_prepare_enable(dev->aclk);
32 if (err) {
33 dev_err(dev->dev, "[%s:%d], Couldn't enable clock aclk\n",
34 __func__, __LINE__);
35 goto err_aclk;
36 }
37 err = clk_prepare_enable(dev->hclk);
38 if (err) {
39 dev_err(dev->dev, "[%s:%d], Couldn't enable clock hclk\n",
40 __func__, __LINE__);
41 goto err_hclk;
42 }
43
44 return err;
45 err_hclk:
46 clk_disable_unprepare(dev->aclk);
47 err_aclk:
48 clk_disable_unprepare(dev->sclk);
49 err_return:
50 return err;
51 }
52
53 static void rk_crypto_disable_clk(struct rk_crypto_info *dev)
54 {
55 clk_disable_unprepare(dev->hclk);
56 clk_disable_unprepare(dev->aclk);
57 clk_disable_unprepare(dev->sclk);
58 }
59
60 static irqreturn_t rk_crypto_irq_handle(int irq, void *dev_id)
61 {
62 struct rk_crypto_info *dev = platform_get_drvdata(dev_id);
63 u32 interrupt_status;
64
65 interrupt_status = CRYPTO_READ(dev, RK_CRYPTO_INTSTS);
66 CRYPTO_WRITE(dev, RK_CRYPTO_INTSTS, interrupt_status);
67
68 dev->status = 1;
69 if (interrupt_status & 0x0a) {
70 dev_warn(dev->dev, "DMA Error\n");
71 dev->status = 0;
72 }
73 complete(&dev->complete);
74
75 return IRQ_HANDLED;
76 }
77
78 static struct rk_crypto_tmp *rk_cipher_algs[] = {
79 &rk_ecb_aes_alg,
80 &rk_cbc_aes_alg,
81 &rk_ecb_des_alg,
82 &rk_cbc_des_alg,
83 &rk_ecb_des3_ede_alg,
84 &rk_cbc_des3_ede_alg,
85 &rk_ahash_sha1,
86 &rk_ahash_sha256,
87 &rk_ahash_md5,
88 };
89
90 static int rk_crypto_register(struct rk_crypto_info *crypto_info)
91 {
92 unsigned int i, k;
93 int err = 0;
94
95 for (i = 0; i < ARRAY_SIZE(rk_cipher_algs); i++) {
96 rk_cipher_algs[i]->dev = crypto_info;
97 switch (rk_cipher_algs[i]->type) {
98 case CRYPTO_ALG_TYPE_SKCIPHER:
> 99 dev_info(crypto_info->dev, "Register %s as\n",
100 rk_cipher_algs[i]->alg.skcipher.base.cra_name,
101 rk_cipher_algs[i]->alg.skcipher.base.cra_driver_name);
102 err = crypto_register_skcipher(&rk_cipher_algs[i]->alg.skcipher);
103 break;
104 case CRYPTO_ALG_TYPE_AHASH:
105 dev_info(crypto_info->dev, "Register %s as %s\n",
106 rk_cipher_algs[i]->alg.hash.halg.base.cra_name,
107 rk_cipher_algs[i]->alg.hash.halg.base.cra_driver_name);
108 err = crypto_register_ahash(&rk_cipher_algs[i]->alg.hash);
109 break;
110 default:
111 dev_err(crypto_info->dev, "unknown algorithm\n");
112 }
113 if (err)
114 goto err_cipher_algs;
115 }
116 return 0;
117
118 err_cipher_algs:
119 for (k = 0; k < i; k++) {
120 if (rk_cipher_algs[i]->type == CRYPTO_ALG_TYPE_SKCIPHER)
121 crypto_unregister_skcipher(&rk_cipher_algs[k]->alg.skcipher);
122 else
123 crypto_unregister_ahash(&rk_cipher_algs[i]->alg.hash);
124 }
125 return err;
126 }
127
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
More information about the Linux-rockchip
mailing list