All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: ye.xingchen@zte.com.cn, andersson@kernel.org
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	mathieu.poirier@linaro.org, linux-remoteproc@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] remoteproc/davinci: Use dev_err_probe()
Date: Sun, 26 Mar 2023 03:49:09 +0800	[thread overview]
Message-ID: <202303260319.W0GPLfaj-lkp@intel.com> (raw)
In-Reply-To: <202303231600496082749@zte.com.cn>

Hi,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on remoteproc/rproc-next]
[also build test WARNING on linus/master v6.3-rc3 next-20230324]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/ye-xingchen-zte-com-cn/remoteproc-davinci-Use-dev_err_probe/20230323-160242
base:   git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux.git rproc-next
patch link:    https://lore.kernel.org/r/202303231600496082749%40zte.com.cn
patch subject: [PATCH] remoteproc/davinci: Use dev_err_probe()
config: arm-davinci_all_defconfig (https://download.01.org/0day-ci/archive/20230326/202303260319.W0GPLfaj-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 67409911353323ca5edf2049ef0df54132fa1ca7)
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 arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # https://github.com/intel-lab-lkp/linux/commit/a0080d71b9ef7a6f3996093945ea5578f8e43ce1
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review ye-xingchen-zte-com-cn/remoteproc-davinci-Use-dev_err_probe/20230323-160242
        git checkout a0080d71b9ef7a6f3996093945ea5578f8e43ce1
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/remoteproc/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303260319.W0GPLfaj-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/remoteproc/da8xx_remoteproc.c:283:42: warning: more '%' conversions than data arguments [-Wformat-insufficient-args]
                                        "unable to get reset control: %ld\n");
                                                                      ~~^
   1 warning generated.

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for PINCTRL_SINGLE
   Depends on [n]: PINCTRL [=n] && OF [=y] && HAS_IOMEM [=y]
   Selected by [y]:
   - ARCH_DAVINCI [=y] && ARCH_MULTI_V5 [=y] && CPU_LITTLE_ENDIAN [=y]


vim +283 drivers/remoteproc/da8xx_remoteproc.c

   235	
   236	static int da8xx_rproc_probe(struct platform_device *pdev)
   237	{
   238		struct device *dev = &pdev->dev;
   239		struct da8xx_rproc *drproc;
   240		struct rproc *rproc;
   241		struct irq_data *irq_data;
   242		struct resource *bootreg_res;
   243		struct resource *chipsig_res;
   244		struct clk *dsp_clk;
   245		struct reset_control *dsp_reset;
   246		void __iomem *chipsig;
   247		void __iomem *bootreg;
   248		int irq;
   249		int ret;
   250	
   251		irq = platform_get_irq(pdev, 0);
   252		if (irq < 0)
   253			return irq;
   254	
   255		irq_data = irq_get_irq_data(irq);
   256		if (!irq_data) {
   257			dev_err(dev, "irq_get_irq_data(%d): NULL\n", irq);
   258			return -EINVAL;
   259		}
   260	
   261		bootreg_res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
   262							   "host1cfg");
   263		bootreg = devm_ioremap_resource(dev, bootreg_res);
   264		if (IS_ERR(bootreg))
   265			return PTR_ERR(bootreg);
   266	
   267		chipsig_res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
   268							   "chipsig");
   269		chipsig = devm_ioremap_resource(dev, chipsig_res);
   270		if (IS_ERR(chipsig))
   271			return PTR_ERR(chipsig);
   272	
   273		dsp_clk = devm_clk_get(dev, NULL);
   274		if (IS_ERR(dsp_clk)) {
   275			dev_err(dev, "clk_get error: %ld\n", PTR_ERR(dsp_clk));
   276	
   277			return PTR_ERR(dsp_clk);
   278		}
   279	
   280		dsp_reset = devm_reset_control_get_exclusive(dev, NULL);
   281		if (IS_ERR(dsp_reset))
   282			return dev_err_probe(dev, PTR_ERR(dsp_reset),
 > 283					     "unable to get reset control: %ld\n");
   284	
   285		if (dev->of_node) {
   286			ret = of_reserved_mem_device_init(dev);
   287			if (ret) {
   288				dev_err(dev, "device does not have specific CMA pool: %d\n",
   289					ret);
   290				return ret;
   291			}
   292		}
   293	
   294		rproc = rproc_alloc(dev, "dsp", &da8xx_rproc_ops, da8xx_fw_name,
   295			sizeof(*drproc));
   296		if (!rproc) {
   297			ret = -ENOMEM;
   298			goto free_mem;
   299		}
   300	
   301		/* error recovery is not supported at present */
   302		rproc->recovery_disabled = true;
   303	
   304		drproc = rproc->priv;
   305		drproc->rproc = rproc;
   306		drproc->dsp_clk = dsp_clk;
   307		drproc->dsp_reset = dsp_reset;
   308		rproc->has_iommu = false;
   309	
   310		ret = da8xx_rproc_get_internal_memories(pdev, drproc);
   311		if (ret)
   312			goto free_rproc;
   313	
   314		platform_set_drvdata(pdev, rproc);
   315	
   316		/* everything the ISR needs is now setup, so hook it up */
   317		ret = devm_request_threaded_irq(dev, irq, da8xx_rproc_callback,
   318						handle_event, 0, "da8xx-remoteproc",
   319						rproc);
   320		if (ret) {
   321			dev_err(dev, "devm_request_threaded_irq error: %d\n", ret);
   322			goto free_rproc;
   323		}
   324	
   325		/*
   326		 * rproc_add() can end up enabling the DSP's clk with the DSP
   327		 * *not* in reset, but da8xx_rproc_start() needs the DSP to be
   328		 * held in reset at the time it is called.
   329		 */
   330		ret = reset_control_assert(dsp_reset);
   331		if (ret)
   332			goto free_rproc;
   333	
   334		drproc->chipsig = chipsig;
   335		drproc->bootreg = bootreg;
   336		drproc->ack_fxn = irq_data->chip->irq_ack;
   337		drproc->irq_data = irq_data;
   338		drproc->irq = irq;
   339	
   340		ret = rproc_add(rproc);
   341		if (ret) {
   342			dev_err(dev, "rproc_add failed: %d\n", ret);
   343			goto free_rproc;
   344		}
   345	
   346		return 0;
   347	
   348	free_rproc:
   349		rproc_free(rproc);
   350	free_mem:
   351		if (dev->of_node)
   352			of_reserved_mem_device_release(dev);
   353		return ret;
   354	}
   355	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

      parent reply	other threads:[~2023-03-25 19:49 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-23  8:00 [PATCH] remoteproc/davinci: Use dev_err_probe() ye.xingchen
2023-03-23 22:36 ` Mathieu Poirier
2023-03-25 19:49 ` kernel test robot [this message]

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=202303260319.W0GPLfaj-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=andersson@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=mathieu.poirier@linaro.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=ye.xingchen@zte.com.cn \
    /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.