Hi Oleksandr,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.15-rc8]
[cannot apply to next-20180118]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Oleksandr-Shamray/drivers-jtag-Add-JTAG-core-driver/20180119-123719
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 7.2.0
reproduce:
        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
        make.cross ARCH=ia64 

Note: the 
linux-review/Oleksandr-Shamray/drivers-jtag-Add-JTAG-core-driver/20180119-123719
 HEAD b9c3d4721186f8264960ad87c6c499cdd1b6c2e8 builds fine.
      It only hurts bisectibility.

All error/warnings (new ones prefixed by >>):

   drivers/jtag/jtag-aspeed.c: In function 'aspeed_jtag_init':
>> drivers/jtag/jtag-aspeed.c:657:21: error: implicit declaration of function 
>> 'devm_reset_control_get_shared'; did you mean 'devm_pinctrl_get_select'? 
>> [-Werror=implicit-function-declaration]
     aspeed_jtag->rst = devm_reset_control_get_shared(aspeed_jtag->dev,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                        devm_pinctrl_get_select
>> drivers/jtag/jtag-aspeed.c:657:19: warning: assignment makes pointer from 
>> integer without a cast [-Wint-conversion]
     aspeed_jtag->rst = devm_reset_control_get_shared(aspeed_jtag->dev,
                      ^
>> drivers/jtag/jtag-aspeed.c:664:2: error: implicit declaration of function 
>> 'reset_control_deassert' [-Werror=implicit-function-declaration]
     reset_control_deassert(aspeed_jtag->rst);
     ^~~~~~~~~~~~~~~~~~~~~~
   drivers/jtag/jtag-aspeed.c: In function 'aspeed_jtag_deinit':
>> drivers/jtag/jtag-aspeed.c:707:2: error: implicit declaration of function 
>> 'reset_control_assert' [-Werror=implicit-function-declaration]
     reset_control_assert(aspeed_jtag->rst);
     ^~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +657 drivers/jtag/jtag-aspeed.c

   631  
   632  int aspeed_jtag_init(struct platform_device *pdev,
   633                       struct aspeed_jtag *aspeed_jtag)
   634  {
   635          struct resource *res;
   636          int err;
   637  
   638          res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
   639          aspeed_jtag->reg_base = devm_ioremap_resource(aspeed_jtag->dev, 
res);
   640          if (IS_ERR(aspeed_jtag->reg_base))
   641                  return -ENOMEM;
   642  
   643          aspeed_jtag->pclk = devm_clk_get(aspeed_jtag->dev, NULL);
   644          if (IS_ERR(aspeed_jtag->pclk)) {
   645                  dev_err(aspeed_jtag->dev, "devm_clk_get failed\n");
   646                  return PTR_ERR(aspeed_jtag->pclk);
   647          }
   648  
   649          aspeed_jtag->irq = platform_get_irq(pdev, 0);
   650          if (aspeed_jtag->irq < 0) {
   651                  dev_err(aspeed_jtag->dev, "no irq specified\n");
   652                  return -ENOENT;
   653          }
   654  
   655          clk_prepare_enable(aspeed_jtag->pclk);
   656  
 > 657          aspeed_jtag->rst = 
 > devm_reset_control_get_shared(aspeed_jtag->dev,
   658                                                           NULL);
   659          if (IS_ERR(aspeed_jtag->rst)) {
   660                  dev_err(aspeed_jtag->dev,
   661                          "missing or invalid reset controller device 
tree entry");
   662                  return PTR_ERR(aspeed_jtag->rst);
   663          }
 > 664          reset_control_deassert(aspeed_jtag->rst);
   665  
   666          /* Enable clock */
   667          aspeed_jtag_write(aspeed_jtag, ASPEED_JTAG_CTL_ENG_EN |
   668                            ASPEED_JTAG_CTL_ENG_OUT_EN, ASPEED_JTAG_CTRL);
   669          aspeed_jtag_write(aspeed_jtag, ASPEED_JTAG_SW_MODE_EN |
   670                            ASPEED_JTAG_SW_MODE_TDIO, ASPEED_JTAG_SW);
   671  
   672          err = devm_request_irq(aspeed_jtag->dev, aspeed_jtag->irq,
   673                                 aspeed_jtag_interrupt, 0,
   674                                 "aspeed-jtag", aspeed_jtag);
   675          if (err) {
   676                  dev_err(aspeed_jtag->dev, "unable to get IRQ");
   677                  goto clk_unprep;
   678          }
   679          dev_dbg(&pdev->dev, "IRQ %d.\n", aspeed_jtag->irq);
   680  
   681          aspeed_jtag_write(aspeed_jtag, ASPEED_JTAG_ISR_INST_PAUSE |
   682                            ASPEED_JTAG_ISR_INST_COMPLETE |
   683                            ASPEED_JTAG_ISR_DATA_PAUSE |
   684                            ASPEED_JTAG_ISR_DATA_COMPLETE |
   685                            ASPEED_JTAG_ISR_INST_PAUSE_EN |
   686                            ASPEED_JTAG_ISR_INST_COMPLETE_EN |
   687                            ASPEED_JTAG_ISR_DATA_PAUSE_EN |
   688                            ASPEED_JTAG_ISR_DATA_COMPLETE_EN,
   689                            ASPEED_JTAG_ISR);
   690  
   691          aspeed_jtag->flag = 0;
   692          aspeed_jtag->mode = 0;
   693          init_waitqueue_head(&aspeed_jtag->jtag_wq);
   694          return 0;
   695  
   696  clk_unprep:
   697          clk_disable_unprepare(aspeed_jtag->pclk);
   698          return err;
   699  }
   700  
   701  int aspeed_jtag_deinit(struct platform_device *pdev,
   702                         struct aspeed_jtag *aspeed_jtag)
   703  {
   704          aspeed_jtag_write(aspeed_jtag, 0, ASPEED_JTAG_ISR);
   705          /* Disable clock */
   706          aspeed_jtag_write(aspeed_jtag, 0, ASPEED_JTAG_CTRL);
 > 707          reset_control_assert(aspeed_jtag->rst);
   708          clk_disable_unprepare(aspeed_jtag->pclk);
   709          return 0;
   710  }
   711  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to