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
prev 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.