From: kbuild test robot <lkp@intel.com>
To: Akash Asthana <akashast@codeaurora.org>,
gregkh@linuxfoundation.org, agross@kernel.org,
bjorn.andersson@linaro.org, wsa@the-dreams.de,
broonie@kernel.org, mark.rutland@arm.com, robh+dt@kernel.org
Cc: kbuild-all@lists.01.org, clang-built-linux@googlegroups.com,
linux-i2c@vger.kernel.org, linux-spi@vger.kernel.org,
devicetree@vger.kernel.org, swboyd@chromium.org,
mgautam@codeaurora.org, linux-arm-msm@vger.kernel.org,
linux-serial@vger.kernel.org, mka@chromium.org,
dianders@chromium.org
Subject: Re: [PATCH V6 6/7] spi: spi-qcom-qspi: Add interconnect support
Date: Sat, 23 May 2020 09:11:21 +0800 [thread overview]
Message-ID: <202005230959.SbjDe71F%lkp@intel.com> (raw)
In-Reply-To: <1590049764-20912-7-git-send-email-akashast@codeaurora.org>
[-- Attachment #1: Type: text/plain, Size: 7646 bytes --]
Hi Akash,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on tty/tty-testing]
[also build test ERROR on spi/for-next wsa/i2c/for-next usb/usb-testing driver-core/driver-core-testing linus/master v5.7-rc6]
[cannot apply to next-20200522]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Akash-Asthana/Add-interconnect-support-to-QSPI-and-QUP-drivers/20200521-163523
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing
config: arm64-randconfig-r026-20200521 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 3393cc4cebf9969db94dc424b7a2b6195589c33b)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>, old ones prefixed by <<):
>> drivers/spi/spi-qcom-qspi.c:479:31: error: implicit declaration of function 'devm_of_icc_get' [-Werror,-Wimplicit-function-declaration]
ctrl->icc_path_cpu_to_qspi = devm_of_icc_get(dev, "qspi-config");
^
>> drivers/spi/spi-qcom-qspi.c:479:29: warning: incompatible integer to pointer conversion assigning to 'struct icc_path *' from 'int' [-Wint-conversion]
ctrl->icc_path_cpu_to_qspi = devm_of_icc_get(dev, "qspi-config");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/spi/spi-qcom-qspi.c:495:8: error: implicit declaration of function 'icc_disable' [-Werror,-Wimplicit-function-declaration]
ret = icc_disable(ctrl->icc_path_cpu_to_qspi);
^
drivers/spi/spi-qcom-qspi.c:495:8: note: did you mean 'clk_disable'?
include/linux/clk.h:519:6: note: 'clk_disable' declared here
void clk_disable(struct clk *clk);
^
drivers/spi/spi-qcom-qspi.c:559:8: error: implicit declaration of function 'icc_disable' [-Werror,-Wimplicit-function-declaration]
ret = icc_disable(ctrl->icc_path_cpu_to_qspi);
^
>> drivers/spi/spi-qcom-qspi.c:575:8: error: implicit declaration of function 'icc_enable' [-Werror,-Wimplicit-function-declaration]
ret = icc_enable(ctrl->icc_path_cpu_to_qspi);
^
drivers/spi/spi-qcom-qspi.c:575:8: note: did you mean 'clk_enable'?
include/linux/clk.h:491:5: note: 'clk_enable' declared here
int clk_enable(struct clk *clk);
^
1 warning and 4 errors generated.
vim +/devm_of_icc_get +479 drivers/spi/spi-qcom-qspi.c
440
441 static int qcom_qspi_probe(struct platform_device *pdev)
442 {
443 int ret;
444 struct device *dev;
445 struct spi_master *master;
446 struct qcom_qspi *ctrl;
447
448 dev = &pdev->dev;
449
450 master = spi_alloc_master(dev, sizeof(*ctrl));
451 if (!master)
452 return -ENOMEM;
453
454 platform_set_drvdata(pdev, master);
455
456 ctrl = spi_master_get_devdata(master);
457
458 spin_lock_init(&ctrl->lock);
459 ctrl->dev = dev;
460 ctrl->base = devm_platform_ioremap_resource(pdev, 0);
461 if (IS_ERR(ctrl->base)) {
462 ret = PTR_ERR(ctrl->base);
463 goto exit_probe_master_put;
464 }
465
466 ctrl->clks = devm_kcalloc(dev, QSPI_NUM_CLKS,
467 sizeof(*ctrl->clks), GFP_KERNEL);
468 if (!ctrl->clks) {
469 ret = -ENOMEM;
470 goto exit_probe_master_put;
471 }
472
473 ctrl->clks[QSPI_CLK_CORE].id = "core";
474 ctrl->clks[QSPI_CLK_IFACE].id = "iface";
475 ret = devm_clk_bulk_get(dev, QSPI_NUM_CLKS, ctrl->clks);
476 if (ret)
477 goto exit_probe_master_put;
478
> 479 ctrl->icc_path_cpu_to_qspi = devm_of_icc_get(dev, "qspi-config");
480 if (IS_ERR(ctrl->icc_path_cpu_to_qspi)) {
481 ret = PTR_ERR(ctrl->icc_path_cpu_to_qspi);
482 if (ret != -EPROBE_DEFER)
483 dev_err(dev, "Failed to get cpu path :%d\n", ret);
484 goto exit_probe_master_put;
485 }
486 /* Set BW vote for register access */
487 ret = icc_set_bw(ctrl->icc_path_cpu_to_qspi, Bps_to_icc(1000),
488 Bps_to_icc(1000));
489 if (ret) {
490 dev_err(ctrl->dev, "%s: ICC BW voting failed for cpu :%d\n",
491 __func__, ret);
492 goto exit_probe_master_put;
493 }
494
> 495 ret = icc_disable(ctrl->icc_path_cpu_to_qspi);
496 if (ret) {
497 dev_err(ctrl->dev, "%s: ICC disable failed for cpu :%d\n",
498 __func__, ret);
499 goto exit_probe_master_put;
500 }
501
502 ret = platform_get_irq(pdev, 0);
503 if (ret < 0)
504 goto exit_probe_master_put;
505 ret = devm_request_irq(dev, ret, qcom_qspi_irq,
506 IRQF_TRIGGER_HIGH, dev_name(dev), ctrl);
507 if (ret) {
508 dev_err(dev, "Failed to request irq %d\n", ret);
509 goto exit_probe_master_put;
510 }
511
512 master->max_speed_hz = 300000000;
513 master->num_chipselect = QSPI_NUM_CS;
514 master->bus_num = -1;
515 master->dev.of_node = pdev->dev.of_node;
516 master->mode_bits = SPI_MODE_0 |
517 SPI_TX_DUAL | SPI_RX_DUAL |
518 SPI_TX_QUAD | SPI_RX_QUAD;
519 master->flags = SPI_MASTER_HALF_DUPLEX;
520 master->prepare_message = qcom_qspi_prepare_message;
521 master->transfer_one = qcom_qspi_transfer_one;
522 master->handle_err = qcom_qspi_handle_err;
523 master->auto_runtime_pm = true;
524
525 pm_runtime_enable(dev);
526
527 ret = spi_register_master(master);
528 if (!ret)
529 return 0;
530
531 pm_runtime_disable(dev);
532
533 exit_probe_master_put:
534 spi_master_put(master);
535
536 return ret;
537 }
538
539 static int qcom_qspi_remove(struct platform_device *pdev)
540 {
541 struct spi_master *master = platform_get_drvdata(pdev);
542
543 /* Unregister _before_ disabling pm_runtime() so we stop transfers */
544 spi_unregister_master(master);
545
546 pm_runtime_disable(&pdev->dev);
547
548 return 0;
549 }
550
551 static int __maybe_unused qcom_qspi_runtime_suspend(struct device *dev)
552 {
553 struct spi_master *master = dev_get_drvdata(dev);
554 struct qcom_qspi *ctrl = spi_master_get_devdata(master);
555 int ret;
556
557 clk_bulk_disable_unprepare(QSPI_NUM_CLKS, ctrl->clks);
558
559 ret = icc_disable(ctrl->icc_path_cpu_to_qspi);
560 if (ret) {
561 dev_err_ratelimited(ctrl->dev, "%s: ICC disable failed for cpu :%d\n",
562 __func__, ret);
563 return ret;
564 }
565
566 return 0;
567 }
568
569 static int __maybe_unused qcom_qspi_runtime_resume(struct device *dev)
570 {
571 struct spi_master *master = dev_get_drvdata(dev);
572 struct qcom_qspi *ctrl = spi_master_get_devdata(master);
573 int ret;
574
> 575 ret = icc_enable(ctrl->icc_path_cpu_to_qspi);
576 if (ret) {
577 dev_err_ratelimited(ctrl->dev, "%s: ICC enable failed for cpu :%d\n",
578 __func__, ret);
579 return ret;
580 }
581
582 return clk_bulk_prepare_enable(QSPI_NUM_CLKS, ctrl->clks);
583 }
584
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 42362 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH V6 6/7] spi: spi-qcom-qspi: Add interconnect support
Date: Sat, 23 May 2020 09:11:21 +0800 [thread overview]
Message-ID: <202005230959.SbjDe71F%lkp@intel.com> (raw)
In-Reply-To: <1590049764-20912-7-git-send-email-akashast@codeaurora.org>
[-- Attachment #1: Type: text/plain, Size: 7852 bytes --]
Hi Akash,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on tty/tty-testing]
[also build test ERROR on spi/for-next wsa/i2c/for-next usb/usb-testing driver-core/driver-core-testing linus/master v5.7-rc6]
[cannot apply to next-20200522]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Akash-Asthana/Add-interconnect-support-to-QSPI-and-QUP-drivers/20200521-163523
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing
config: arm64-randconfig-r026-20200521 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 3393cc4cebf9969db94dc424b7a2b6195589c33b)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>, old ones prefixed by <<):
>> drivers/spi/spi-qcom-qspi.c:479:31: error: implicit declaration of function 'devm_of_icc_get' [-Werror,-Wimplicit-function-declaration]
ctrl->icc_path_cpu_to_qspi = devm_of_icc_get(dev, "qspi-config");
^
>> drivers/spi/spi-qcom-qspi.c:479:29: warning: incompatible integer to pointer conversion assigning to 'struct icc_path *' from 'int' [-Wint-conversion]
ctrl->icc_path_cpu_to_qspi = devm_of_icc_get(dev, "qspi-config");
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/spi/spi-qcom-qspi.c:495:8: error: implicit declaration of function 'icc_disable' [-Werror,-Wimplicit-function-declaration]
ret = icc_disable(ctrl->icc_path_cpu_to_qspi);
^
drivers/spi/spi-qcom-qspi.c:495:8: note: did you mean 'clk_disable'?
include/linux/clk.h:519:6: note: 'clk_disable' declared here
void clk_disable(struct clk *clk);
^
drivers/spi/spi-qcom-qspi.c:559:8: error: implicit declaration of function 'icc_disable' [-Werror,-Wimplicit-function-declaration]
ret = icc_disable(ctrl->icc_path_cpu_to_qspi);
^
>> drivers/spi/spi-qcom-qspi.c:575:8: error: implicit declaration of function 'icc_enable' [-Werror,-Wimplicit-function-declaration]
ret = icc_enable(ctrl->icc_path_cpu_to_qspi);
^
drivers/spi/spi-qcom-qspi.c:575:8: note: did you mean 'clk_enable'?
include/linux/clk.h:491:5: note: 'clk_enable' declared here
int clk_enable(struct clk *clk);
^
1 warning and 4 errors generated.
vim +/devm_of_icc_get +479 drivers/spi/spi-qcom-qspi.c
440
441 static int qcom_qspi_probe(struct platform_device *pdev)
442 {
443 int ret;
444 struct device *dev;
445 struct spi_master *master;
446 struct qcom_qspi *ctrl;
447
448 dev = &pdev->dev;
449
450 master = spi_alloc_master(dev, sizeof(*ctrl));
451 if (!master)
452 return -ENOMEM;
453
454 platform_set_drvdata(pdev, master);
455
456 ctrl = spi_master_get_devdata(master);
457
458 spin_lock_init(&ctrl->lock);
459 ctrl->dev = dev;
460 ctrl->base = devm_platform_ioremap_resource(pdev, 0);
461 if (IS_ERR(ctrl->base)) {
462 ret = PTR_ERR(ctrl->base);
463 goto exit_probe_master_put;
464 }
465
466 ctrl->clks = devm_kcalloc(dev, QSPI_NUM_CLKS,
467 sizeof(*ctrl->clks), GFP_KERNEL);
468 if (!ctrl->clks) {
469 ret = -ENOMEM;
470 goto exit_probe_master_put;
471 }
472
473 ctrl->clks[QSPI_CLK_CORE].id = "core";
474 ctrl->clks[QSPI_CLK_IFACE].id = "iface";
475 ret = devm_clk_bulk_get(dev, QSPI_NUM_CLKS, ctrl->clks);
476 if (ret)
477 goto exit_probe_master_put;
478
> 479 ctrl->icc_path_cpu_to_qspi = devm_of_icc_get(dev, "qspi-config");
480 if (IS_ERR(ctrl->icc_path_cpu_to_qspi)) {
481 ret = PTR_ERR(ctrl->icc_path_cpu_to_qspi);
482 if (ret != -EPROBE_DEFER)
483 dev_err(dev, "Failed to get cpu path :%d\n", ret);
484 goto exit_probe_master_put;
485 }
486 /* Set BW vote for register access */
487 ret = icc_set_bw(ctrl->icc_path_cpu_to_qspi, Bps_to_icc(1000),
488 Bps_to_icc(1000));
489 if (ret) {
490 dev_err(ctrl->dev, "%s: ICC BW voting failed for cpu :%d\n",
491 __func__, ret);
492 goto exit_probe_master_put;
493 }
494
> 495 ret = icc_disable(ctrl->icc_path_cpu_to_qspi);
496 if (ret) {
497 dev_err(ctrl->dev, "%s: ICC disable failed for cpu :%d\n",
498 __func__, ret);
499 goto exit_probe_master_put;
500 }
501
502 ret = platform_get_irq(pdev, 0);
503 if (ret < 0)
504 goto exit_probe_master_put;
505 ret = devm_request_irq(dev, ret, qcom_qspi_irq,
506 IRQF_TRIGGER_HIGH, dev_name(dev), ctrl);
507 if (ret) {
508 dev_err(dev, "Failed to request irq %d\n", ret);
509 goto exit_probe_master_put;
510 }
511
512 master->max_speed_hz = 300000000;
513 master->num_chipselect = QSPI_NUM_CS;
514 master->bus_num = -1;
515 master->dev.of_node = pdev->dev.of_node;
516 master->mode_bits = SPI_MODE_0 |
517 SPI_TX_DUAL | SPI_RX_DUAL |
518 SPI_TX_QUAD | SPI_RX_QUAD;
519 master->flags = SPI_MASTER_HALF_DUPLEX;
520 master->prepare_message = qcom_qspi_prepare_message;
521 master->transfer_one = qcom_qspi_transfer_one;
522 master->handle_err = qcom_qspi_handle_err;
523 master->auto_runtime_pm = true;
524
525 pm_runtime_enable(dev);
526
527 ret = spi_register_master(master);
528 if (!ret)
529 return 0;
530
531 pm_runtime_disable(dev);
532
533 exit_probe_master_put:
534 spi_master_put(master);
535
536 return ret;
537 }
538
539 static int qcom_qspi_remove(struct platform_device *pdev)
540 {
541 struct spi_master *master = platform_get_drvdata(pdev);
542
543 /* Unregister _before_ disabling pm_runtime() so we stop transfers */
544 spi_unregister_master(master);
545
546 pm_runtime_disable(&pdev->dev);
547
548 return 0;
549 }
550
551 static int __maybe_unused qcom_qspi_runtime_suspend(struct device *dev)
552 {
553 struct spi_master *master = dev_get_drvdata(dev);
554 struct qcom_qspi *ctrl = spi_master_get_devdata(master);
555 int ret;
556
557 clk_bulk_disable_unprepare(QSPI_NUM_CLKS, ctrl->clks);
558
559 ret = icc_disable(ctrl->icc_path_cpu_to_qspi);
560 if (ret) {
561 dev_err_ratelimited(ctrl->dev, "%s: ICC disable failed for cpu :%d\n",
562 __func__, ret);
563 return ret;
564 }
565
566 return 0;
567 }
568
569 static int __maybe_unused qcom_qspi_runtime_resume(struct device *dev)
570 {
571 struct spi_master *master = dev_get_drvdata(dev);
572 struct qcom_qspi *ctrl = spi_master_get_devdata(master);
573 int ret;
574
> 575 ret = icc_enable(ctrl->icc_path_cpu_to_qspi);
576 if (ret) {
577 dev_err_ratelimited(ctrl->dev, "%s: ICC enable failed for cpu :%d\n",
578 __func__, ret);
579 return ret;
580 }
581
582 return clk_bulk_prepare_enable(QSPI_NUM_CLKS, ctrl->clks);
583 }
584
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 42362 bytes --]
next prev parent reply other threads:[~2020-05-23 1:11 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-21 8:29 [PATCH V6 0/7] [PATCH V5 0/7] Add interconnect support to QSPI and QUP drivers Akash Asthana
2020-05-21 8:29 ` [PATCH V6 1/7] soc: qcom: geni: Support for ICC voting Akash Asthana
2020-05-21 15:50 ` Matthias Kaehlcke
2020-05-26 12:41 ` Akash Asthana
2020-05-21 8:29 ` [PATCH V6 2/7] soc: qcom-geni-se: Add interconnect support to fix earlycon crash Akash Asthana
2020-05-21 16:00 ` Matthias Kaehlcke
2020-05-21 18:12 ` Matthias Kaehlcke
2020-05-22 18:31 ` kbuild test robot
2020-05-22 18:31 ` kbuild test robot
2020-05-21 8:29 ` [PATCH V6 3/7] i2c: i2c-qcom-geni: Add interconnect support Akash Asthana
2020-05-21 8:29 ` [PATCH V6 4/7] spi: spi-geni-qcom: " Akash Asthana
2020-05-21 8:29 ` [PATCH V6 5/7] tty: serial: qcom_geni_serial: " Akash Asthana
2020-05-21 8:39 ` Greg KH
2020-05-21 8:29 ` [PATCH V6 6/7] spi: spi-qcom-qspi: " Akash Asthana
2020-05-23 1:11 ` kbuild test robot [this message]
2020-05-23 1:11 ` kbuild test robot
2020-05-21 8:29 ` [PATCH V6 7/7] arm64: dts: sc7180: Add interconnect for QUP and QSPI Akash Asthana
2020-05-23 14:05 ` kbuild test robot
2020-05-23 14:05 ` kbuild test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202005230959.SbjDe71F%lkp@intel.com \
--to=lkp@intel.com \
--cc=agross@kernel.org \
--cc=akashast@codeaurora.org \
--cc=bjorn.andersson@linaro.org \
--cc=broonie@kernel.org \
--cc=clang-built-linux@googlegroups.com \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=gregkh@linuxfoundation.org \
--cc=kbuild-all@lists.01.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mgautam@codeaurora.org \
--cc=mka@chromium.org \
--cc=robh+dt@kernel.org \
--cc=swboyd@chromium.org \
--cc=wsa@the-dreams.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.