Hi Suren, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v5.0] [cannot apply to next-20190306] [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/Suren-Baghdasaryan/psi-pressure-stall-monitors-v5/20190310-024018 config: i386-randconfig-a0-201910 (attached as .config) compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/spi/spi-rockchip.c:328:8: error: unknown type name 'irqreturn_t' static irqreturn_t rockchip_spi_isr(int irq, void *dev_id) ^ drivers/spi/spi-rockchip.c: In function 'rockchip_spi_isr': drivers/spi/spi-rockchip.c:343:9: error: 'IRQ_HANDLED' undeclared (first use in this function) return IRQ_HANDLED; ^ drivers/spi/spi-rockchip.c:343:9: note: each undeclared identifier is reported only once for each function it appears in drivers/spi/spi-rockchip.c: In function 'rockchip_spi_probe': >> drivers/spi/spi-rockchip.c:649:2: error: implicit declaration of function 'devm_request_threaded_irq' [-Werror=implicit-function-declaration] ret = devm_request_threaded_irq(&pdev->dev, ret, rockchip_spi_isr, NULL, ^ drivers/spi/spi-rockchip.c:650:4: error: 'IRQF_ONESHOT' undeclared (first use in this function) IRQF_ONESHOT, dev_name(&pdev->dev), master); ^ cc1: some warnings being treated as errors vim +/devm_request_threaded_irq +649 drivers/spi/spi-rockchip.c 64e36824b addy ke 2014-07-01 592 64e36824b addy ke 2014-07-01 593 static int rockchip_spi_probe(struct platform_device *pdev) 64e36824b addy ke 2014-07-01 594 { 43de979dd Jeffy Chen 2017-08-07 595 int ret; 64e36824b addy ke 2014-07-01 596 struct rockchip_spi *rs; 64e36824b addy ke 2014-07-01 597 struct spi_master *master; 64e36824b addy ke 2014-07-01 598 struct resource *mem; 76b17e6e4 Julius Werner 2015-03-26 599 u32 rsd_nsecs; 64e36824b addy ke 2014-07-01 600 64e36824b addy ke 2014-07-01 601 master = spi_alloc_master(&pdev->dev, sizeof(struct rockchip_spi)); 5dcc44ed9 Addy Ke 2014-07-11 602 if (!master) 64e36824b addy ke 2014-07-01 603 return -ENOMEM; 5dcc44ed9 Addy Ke 2014-07-11 604 64e36824b addy ke 2014-07-01 605 platform_set_drvdata(pdev, master); 64e36824b addy ke 2014-07-01 606 64e36824b addy ke 2014-07-01 607 rs = spi_master_get_devdata(master); 64e36824b addy ke 2014-07-01 608 64e36824b addy ke 2014-07-01 609 /* Get basic io resource and map it */ 64e36824b addy ke 2014-07-01 610 mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); 64e36824b addy ke 2014-07-01 611 rs->regs = devm_ioremap_resource(&pdev->dev, mem); 64e36824b addy ke 2014-07-01 612 if (IS_ERR(rs->regs)) { 64e36824b addy ke 2014-07-01 613 ret = PTR_ERR(rs->regs); c351587e2 Jeffy Chen 2017-06-13 614 goto err_put_master; 64e36824b addy ke 2014-07-01 615 } 64e36824b addy ke 2014-07-01 616 64e36824b addy ke 2014-07-01 617 rs->apb_pclk = devm_clk_get(&pdev->dev, "apb_pclk"); 64e36824b addy ke 2014-07-01 618 if (IS_ERR(rs->apb_pclk)) { 64e36824b addy ke 2014-07-01 619 dev_err(&pdev->dev, "Failed to get apb_pclk\n"); 64e36824b addy ke 2014-07-01 620 ret = PTR_ERR(rs->apb_pclk); c351587e2 Jeffy Chen 2017-06-13 621 goto err_put_master; 64e36824b addy ke 2014-07-01 622 } 64e36824b addy ke 2014-07-01 623 64e36824b addy ke 2014-07-01 624 rs->spiclk = devm_clk_get(&pdev->dev, "spiclk"); 64e36824b addy ke 2014-07-01 625 if (IS_ERR(rs->spiclk)) { 64e36824b addy ke 2014-07-01 626 dev_err(&pdev->dev, "Failed to get spi_pclk\n"); 64e36824b addy ke 2014-07-01 627 ret = PTR_ERR(rs->spiclk); c351587e2 Jeffy Chen 2017-06-13 628 goto err_put_master; 64e36824b addy ke 2014-07-01 629 } 64e36824b addy ke 2014-07-01 630 64e36824b addy ke 2014-07-01 631 ret = clk_prepare_enable(rs->apb_pclk); 43de979dd Jeffy Chen 2017-08-07 632 if (ret < 0) { 64e36824b addy ke 2014-07-01 633 dev_err(&pdev->dev, "Failed to enable apb_pclk\n"); c351587e2 Jeffy Chen 2017-06-13 634 goto err_put_master; 64e36824b addy ke 2014-07-01 635 } 64e36824b addy ke 2014-07-01 636 64e36824b addy ke 2014-07-01 637 ret = clk_prepare_enable(rs->spiclk); 43de979dd Jeffy Chen 2017-08-07 638 if (ret < 0) { 64e36824b addy ke 2014-07-01 639 dev_err(&pdev->dev, "Failed to enable spi_clk\n"); c351587e2 Jeffy Chen 2017-06-13 640 goto err_disable_apbclk; 64e36824b addy ke 2014-07-01 641 } 64e36824b addy ke 2014-07-01 642 30688e4e6 Emil Renner Berthing 2018-10-31 643 spi_enable_chip(rs, false); 64e36824b addy ke 2014-07-01 644 01b59ce5d Emil Renner Berthing 2018-10-31 645 ret = platform_get_irq(pdev, 0); 01b59ce5d Emil Renner Berthing 2018-10-31 646 if (ret < 0) 01b59ce5d Emil Renner Berthing 2018-10-31 647 goto err_disable_spiclk; 01b59ce5d Emil Renner Berthing 2018-10-31 648 01b59ce5d Emil Renner Berthing 2018-10-31 @649 ret = devm_request_threaded_irq(&pdev->dev, ret, rockchip_spi_isr, NULL, 01b59ce5d Emil Renner Berthing 2018-10-31 650 IRQF_ONESHOT, dev_name(&pdev->dev), master); 01b59ce5d Emil Renner Berthing 2018-10-31 651 if (ret) 01b59ce5d Emil Renner Berthing 2018-10-31 652 goto err_disable_spiclk; 01b59ce5d Emil Renner Berthing 2018-10-31 653 64e36824b addy ke 2014-07-01 654 rs->dev = &pdev->dev; 420b82f84 Emil Renner Berthing 2018-10-31 655 rs->freq = clk_get_rate(rs->spiclk); 64e36824b addy ke 2014-07-01 656 76b17e6e4 Julius Werner 2015-03-26 657 if (!of_property_read_u32(pdev->dev.of_node, "rx-sample-delay-ns", 74b7efa82 Emil Renner Berthing 2018-10-31 658 &rsd_nsecs)) { 74b7efa82 Emil Renner Berthing 2018-10-31 659 /* rx sample delay is expressed in parent clock cycles (max 3) */ 74b7efa82 Emil Renner Berthing 2018-10-31 660 u32 rsd = DIV_ROUND_CLOSEST(rsd_nsecs * (rs->freq >> 8), 74b7efa82 Emil Renner Berthing 2018-10-31 661 1000000000 >> 8); 74b7efa82 Emil Renner Berthing 2018-10-31 662 if (!rsd) { 74b7efa82 Emil Renner Berthing 2018-10-31 663 dev_warn(rs->dev, "%u Hz are too slow to express %u ns delay\n", 74b7efa82 Emil Renner Berthing 2018-10-31 664 rs->freq, rsd_nsecs); 74b7efa82 Emil Renner Berthing 2018-10-31 665 } else if (rsd > CR0_RSD_MAX) { 74b7efa82 Emil Renner Berthing 2018-10-31 666 rsd = CR0_RSD_MAX; 74b7efa82 Emil Renner Berthing 2018-10-31 667 dev_warn(rs->dev, "%u Hz are too fast to express %u ns delay, clamping at %u ns\n", 74b7efa82 Emil Renner Berthing 2018-10-31 668 rs->freq, rsd_nsecs, 74b7efa82 Emil Renner Berthing 2018-10-31 669 CR0_RSD_MAX * 1000000000U / rs->freq); 74b7efa82 Emil Renner Berthing 2018-10-31 670 } 74b7efa82 Emil Renner Berthing 2018-10-31 671 rs->rsd = rsd; 74b7efa82 Emil Renner Berthing 2018-10-31 672 } 76b17e6e4 Julius Werner 2015-03-26 673 64e36824b addy ke 2014-07-01 674 rs->fifo_len = get_fifo_len(rs); 64e36824b addy ke 2014-07-01 675 if (!rs->fifo_len) { 64e36824b addy ke 2014-07-01 676 dev_err(&pdev->dev, "Failed to get fifo length\n"); db7e8d90c Wei Yongjun 2014-07-20 677 ret = -EINVAL; c351587e2 Jeffy Chen 2017-06-13 678 goto err_disable_spiclk; 64e36824b addy ke 2014-07-01 679 } 64e36824b addy ke 2014-07-01 680 64e36824b addy ke 2014-07-01 681 pm_runtime_set_active(&pdev->dev); 64e36824b addy ke 2014-07-01 682 pm_runtime_enable(&pdev->dev); 64e36824b addy ke 2014-07-01 683 64e36824b addy ke 2014-07-01 684 master->auto_runtime_pm = true; 64e36824b addy ke 2014-07-01 685 master->bus_num = pdev->id; 04290192f Emil Renner Berthing 2018-10-31 686 master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_LOOP | SPI_LSB_FIRST; aa099382a Jeffy Chen 2017-06-28 687 master->num_chipselect = ROCKCHIP_SPI_MAX_CS_NUM; 64e36824b addy ke 2014-07-01 688 master->dev.of_node = pdev->dev.of_node; 65498c6ae Emil Renner Berthing 2018-10-31 689 master->bits_per_word_mask = SPI_BPW_MASK(16) | SPI_BPW_MASK(8) | SPI_BPW_MASK(4); 420b82f84 Emil Renner Berthing 2018-10-31 690 master->min_speed_hz = rs->freq / BAUDR_SCKDV_MAX; 420b82f84 Emil Renner Berthing 2018-10-31 691 master->max_speed_hz = min(rs->freq / BAUDR_SCKDV_MIN, MAX_SCLK_OUT); 64e36824b addy ke 2014-07-01 692 64e36824b addy ke 2014-07-01 693 master->set_cs = rockchip_spi_set_cs; 64e36824b addy ke 2014-07-01 694 master->transfer_one = rockchip_spi_transfer_one; 5185a81c0 Brian Norris 2016-07-14 695 master->max_transfer_size = rockchip_spi_max_transfer_size; 2291793cc Andy Shevchenko 2015-02-27 696 master->handle_err = rockchip_spi_handle_err; c863795c4 Jeffy Chen 2017-06-28 697 master->flags = SPI_MASTER_GPIO_SS; 64e36824b addy ke 2014-07-01 698 eee06a9ee Emil Renner Berthing 2018-10-31 699 master->dma_tx = dma_request_chan(rs->dev, "tx"); eee06a9ee Emil Renner Berthing 2018-10-31 700 if (IS_ERR(master->dma_tx)) { 61cadcf46 Shawn Lin 2016-03-09 701 /* Check tx to see if we need defer probing driver */ eee06a9ee Emil Renner Berthing 2018-10-31 702 if (PTR_ERR(master->dma_tx) == -EPROBE_DEFER) { 61cadcf46 Shawn Lin 2016-03-09 703 ret = -EPROBE_DEFER; c351587e2 Jeffy Chen 2017-06-13 704 goto err_disable_pm_runtime; 61cadcf46 Shawn Lin 2016-03-09 705 } 64e36824b addy ke 2014-07-01 706 dev_warn(rs->dev, "Failed to request TX DMA channel\n"); eee06a9ee Emil Renner Berthing 2018-10-31 707 master->dma_tx = NULL; 61cadcf46 Shawn Lin 2016-03-09 708 } 64e36824b addy ke 2014-07-01 709 eee06a9ee Emil Renner Berthing 2018-10-31 710 master->dma_rx = dma_request_chan(rs->dev, "rx"); eee06a9ee Emil Renner Berthing 2018-10-31 711 if (IS_ERR(master->dma_rx)) { eee06a9ee Emil Renner Berthing 2018-10-31 712 if (PTR_ERR(master->dma_rx) == -EPROBE_DEFER) { e4c0e06f9 Shawn Lin 2016-03-31 713 ret = -EPROBE_DEFER; 5de7ed0c9 Dan Carpenter 2016-05-04 714 goto err_free_dma_tx; 64e36824b addy ke 2014-07-01 715 } 64e36824b addy ke 2014-07-01 716 dev_warn(rs->dev, "Failed to request RX DMA channel\n"); eee06a9ee Emil Renner Berthing 2018-10-31 717 master->dma_rx = NULL; 64e36824b addy ke 2014-07-01 718 } 64e36824b addy ke 2014-07-01 719 eee06a9ee Emil Renner Berthing 2018-10-31 720 if (master->dma_tx && master->dma_rx) { eee06a9ee Emil Renner Berthing 2018-10-31 721 rs->dma_addr_tx = mem->start + ROCKCHIP_SPI_TXDR; eee06a9ee Emil Renner Berthing 2018-10-31 722 rs->dma_addr_rx = mem->start + ROCKCHIP_SPI_RXDR; 64e36824b addy ke 2014-07-01 723 master->can_dma = rockchip_spi_can_dma; 64e36824b addy ke 2014-07-01 724 } 64e36824b addy ke 2014-07-01 725 64e36824b addy ke 2014-07-01 726 ret = devm_spi_register_master(&pdev->dev, master); 43de979dd Jeffy Chen 2017-08-07 727 if (ret < 0) { 64e36824b addy ke 2014-07-01 728 dev_err(&pdev->dev, "Failed to register master\n"); c351587e2 Jeffy Chen 2017-06-13 729 goto err_free_dma_rx; 64e36824b addy ke 2014-07-01 730 } 64e36824b addy ke 2014-07-01 731 64e36824b addy ke 2014-07-01 732 return 0; 64e36824b addy ke 2014-07-01 733 c351587e2 Jeffy Chen 2017-06-13 734 err_free_dma_rx: eee06a9ee Emil Renner Berthing 2018-10-31 735 if (master->dma_rx) eee06a9ee Emil Renner Berthing 2018-10-31 736 dma_release_channel(master->dma_rx); 5de7ed0c9 Dan Carpenter 2016-05-04 737 err_free_dma_tx: eee06a9ee Emil Renner Berthing 2018-10-31 738 if (master->dma_tx) eee06a9ee Emil Renner Berthing 2018-10-31 739 dma_release_channel(master->dma_tx); c351587e2 Jeffy Chen 2017-06-13 740 err_disable_pm_runtime: c351587e2 Jeffy Chen 2017-06-13 741 pm_runtime_disable(&pdev->dev); c351587e2 Jeffy Chen 2017-06-13 742 err_disable_spiclk: 64e36824b addy ke 2014-07-01 743 clk_disable_unprepare(rs->spiclk); c351587e2 Jeffy Chen 2017-06-13 744 err_disable_apbclk: 64e36824b addy ke 2014-07-01 745 clk_disable_unprepare(rs->apb_pclk); c351587e2 Jeffy Chen 2017-06-13 746 err_put_master: 64e36824b addy ke 2014-07-01 747 spi_master_put(master); 64e36824b addy ke 2014-07-01 748 64e36824b addy ke 2014-07-01 749 return ret; 64e36824b addy ke 2014-07-01 750 } 64e36824b addy ke 2014-07-01 751 :::::: The code at line 649 was first introduced by commit :::::: 01b59ce5dac856323a0c13c1d51d99a819f32efe spi: rockchip: use irq rather than polling :::::: TO: Emil Renner Berthing :::::: CC: Mark Brown --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation