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