All of lore.kernel.org
 help / color / mirror / Atom feed
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 --]

  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.