Hi Corentin,

I love your patch! Perhaps something to improve:

[auto build test WARNING on sunxi/sunxi/for-next]
[also build test WARNING on cryptodev/master crypto/master v5.8-rc1]
[cannot apply to next-20200621]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use  as documented in
https://git-scm.com/docs/git-format-patch]

url:    
https://github.com/0day-ci/linux/commits/Corentin-Labbe/crypto-allwinner-add-xRNG-and-hashes/20200622-033401
base:   https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git 
sunxi/for-next
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 9.3.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
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=sh 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>

All warnings (new ones prefixed by >>, old ones prefixed by <<):

drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c: In function 
'sun8i_ce_hash_init':
>> drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c:76:32: warning: variable 
>> 'algt' set but not used [-Wunused-but-set-variable]
76 |  struct sun8i_ce_alg_template *algt;
|                                ^~~~
drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c: At top level:
>> drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c:175:5: warning: no 
>> previous prototype for 'sun8i_ce_hash_digest_fb' [-Wmissing-prototypes]
175 | int sun8i_ce_hash_digest_fb(struct ahash_request *areq)
|     ^~~~~~~~~~~~~~~~~~~~~~~

vim +/algt +76 drivers/crypto/allwinner/sun8i-ce/sun8i-ce-hash.c

    69  
    70  int sun8i_ce_hash_init(struct ahash_request *areq)
    71  {
    72          struct sun8i_ce_hash_reqctx *rctx = ahash_request_ctx(areq);
    73          struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq);
    74          struct sun8i_ce_hash_tfm_ctx *tfmctx = crypto_ahash_ctx(tfm);
    75          struct ahash_alg *alg = __crypto_ahash_alg(tfm->base.__crt_alg);
  > 76          struct sun8i_ce_alg_template *algt;
    77  
    78          memset(rctx, 0, sizeof(struct sun8i_ce_hash_reqctx));
    79  
    80          algt = container_of(alg, struct sun8i_ce_alg_template, 
alg.hash);
    81  
    82          ahash_request_set_tfm(&rctx->fallback_req, 
tfmctx->fallback_tfm);
    83          rctx->fallback_req.base.flags = areq->base.flags & 
CRYPTO_TFM_REQ_MAY_SLEEP;
    84  
    85          return crypto_ahash_init(&rctx->fallback_req);
    86  }
    87  
    88  int sun8i_ce_hash_export(struct ahash_request *areq, void *out)
    89  {
    90          struct sun8i_ce_hash_reqctx *rctx = ahash_request_ctx(areq);
    91          struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq);
    92          struct sun8i_ce_hash_tfm_ctx *tfmctx = crypto_ahash_ctx(tfm);
    93  
    94          ahash_request_set_tfm(&rctx->fallback_req, 
tfmctx->fallback_tfm);
    95          rctx->fallback_req.base.flags = areq->base.flags & 
CRYPTO_TFM_REQ_MAY_SLEEP;
    96  
    97          return crypto_ahash_export(&rctx->fallback_req, out);
    98  }
    99  
   100  int sun8i_ce_hash_import(struct ahash_request *areq, const void *in)
   101  {
   102          struct sun8i_ce_hash_reqctx *rctx = ahash_request_ctx(areq);
   103          struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq);
   104          struct sun8i_ce_hash_tfm_ctx *tfmctx = crypto_ahash_ctx(tfm);
   105  
   106          ahash_request_set_tfm(&rctx->fallback_req, 
tfmctx->fallback_tfm);
   107          rctx->fallback_req.base.flags = areq->base.flags & 
CRYPTO_TFM_REQ_MAY_SLEEP;
   108  
   109          return crypto_ahash_import(&rctx->fallback_req, in);
   110  }
   111  
   112  int sun8i_ce_hash_final(struct ahash_request *areq)
   113  {
   114          struct sun8i_ce_hash_reqctx *rctx = ahash_request_ctx(areq);
   115          struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq);
   116          struct sun8i_ce_hash_tfm_ctx *tfmctx = crypto_ahash_ctx(tfm);
   117  #ifdef CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG
   118          struct ahash_alg *alg = __crypto_ahash_alg(tfm->base.__crt_alg);
   119          struct sun8i_ce_alg_template *algt;
   120  #endif
   121  
   122          ahash_request_set_tfm(&rctx->fallback_req, 
tfmctx->fallback_tfm);
   123          rctx->fallback_req.base.flags = areq->base.flags &
   124                                          CRYPTO_TFM_REQ_MAY_SLEEP;
   125          rctx->fallback_req.result = areq->result;
   126  
   127  #ifdef CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG
   128          algt = container_of(alg, struct sun8i_ce_alg_template, 
alg.hash);
   129          algt->stat_fb++;
   130  #endif
   131  
   132          return crypto_ahash_final(&rctx->fallback_req);
   133  }
   134  
   135  int sun8i_ce_hash_update(struct ahash_request *areq)
   136  {
   137          struct sun8i_ce_hash_reqctx *rctx = ahash_request_ctx(areq);
   138          struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq);
   139          struct sun8i_ce_hash_tfm_ctx *tfmctx = crypto_ahash_ctx(tfm);
   140  
   141          ahash_request_set_tfm(&rctx->fallback_req, 
tfmctx->fallback_tfm);
   142          rctx->fallback_req.base.flags = areq->base.flags &
   143                                          CRYPTO_TFM_REQ_MAY_SLEEP;
   144          rctx->fallback_req.nbytes = areq->nbytes;
   145          rctx->fallback_req.src = areq->src;
   146  
   147          return crypto_ahash_update(&rctx->fallback_req);
   148  }
   149  
   150  int sun8i_ce_hash_finup(struct ahash_request *areq)
   151  {
   152          struct sun8i_ce_hash_reqctx *rctx = ahash_request_ctx(areq);
   153          struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq);
   154          struct sun8i_ce_hash_tfm_ctx *tfmctx = crypto_ahash_ctx(tfm);
   155  #ifdef CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG
   156          struct ahash_alg *alg = __crypto_ahash_alg(tfm->base.__crt_alg);
   157          struct sun8i_ce_alg_template *algt;
   158  #endif
   159  
   160          ahash_request_set_tfm(&rctx->fallback_req, 
tfmctx->fallback_tfm);
   161          rctx->fallback_req.base.flags = areq->base.flags &
   162                                          CRYPTO_TFM_REQ_MAY_SLEEP;
   163  
   164          rctx->fallback_req.nbytes = areq->nbytes;
   165          rctx->fallback_req.src = areq->src;
   166          rctx->fallback_req.result = areq->result;
   167  #ifdef CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG
   168          algt = container_of(alg, struct sun8i_ce_alg_template, 
alg.hash);
   169          algt->stat_fb++;
   170  #endif
   171  
   172          return crypto_ahash_finup(&rctx->fallback_req);
   173  }
   174  
 > 175  int sun8i_ce_hash_digest_fb(struct ahash_request *areq)
   176  {
   177          struct sun8i_ce_hash_reqctx *rctx = ahash_request_ctx(areq);
   178          struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq);
   179          struct sun8i_ce_hash_tfm_ctx *tfmctx = crypto_ahash_ctx(tfm);
   180  #ifdef CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG
   181          struct ahash_alg *alg = __crypto_ahash_alg(tfm->base.__crt_alg);
   182          struct sun8i_ce_alg_template *algt;
   183  #endif
   184  
   185          ahash_request_set_tfm(&rctx->fallback_req, 
tfmctx->fallback_tfm);
   186          rctx->fallback_req.base.flags = areq->base.flags &
   187                                          CRYPTO_TFM_REQ_MAY_SLEEP;
   188  
   189          rctx->fallback_req.nbytes = areq->nbytes;
   190          rctx->fallback_req.src = areq->src;
   191          rctx->fallback_req.result = areq->result;
   192  #ifdef CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG
   193          algt = container_of(alg, struct sun8i_ce_alg_template, 
alg.hash);
   194          algt->stat_fb++;
   195  #endif
   196  
   197          return crypto_ahash_digest(&rctx->fallback_req);
   198  }
   199  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

Reply via email to