Hi Frank, I love your patch! Perhaps something to improve: [auto build test WARNING on jonmason-ntb/ntb-next] [also build test WARNING on robh/for-next linus/master v6.0-rc1 next-20220816] [cannot apply to tip/irq/core] [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/Frank-Li/PCI-EP-driver-support-MSI-doorbell-from-host/20220816-131930 base: https://github.com/jonmason/ntb ntb-next config: arm64-randconfig-r025-20220815 (https://download.01.org/0day-ci/archive/20220816/202208161638.7Rn1SHT2-lkp@xxxxxxxxx/config) compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project aed5e3bea138ce581d682158eb61c27b3cfdd6ec) 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 # https://github.com/intel-lab-lkp/linux/commit/71296e2ad757d90e870b2ab81f2b06b9c76e7c41 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Frank-Li/PCI-EP-driver-support-MSI-doorbell-from-host/20220816-131930 git checkout 71296e2ad757d90e870b2ab81f2b06b9c76e7c41 # 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=arm64 SHELL=/bin/bash drivers/irqchip/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): >> drivers/irqchip/irq-imx-mu-msi.c:295:32: warning: variable 'priv' set but not used [-Wunused-but-set-variable] struct imx_mu_msi *msi_data, *priv; ^ 1 warning generated. vim +/priv +295 drivers/irqchip/irq-imx-mu-msi.c 288 289 static int __init imx_mu_of_init(struct device_node *dn, 290 struct device_node *parent, 291 const struct imx_mu_dcfg *cfg 292 ) 293 { 294 struct platform_device *pdev = of_find_device_by_node(dn); > 295 struct imx_mu_msi *msi_data, *priv; 296 struct device_link *pd_link_a; 297 struct device_link *pd_link_b; 298 struct resource *res; 299 struct device *pd_a; 300 struct device *pd_b; 301 struct device *dev; 302 int ret; 303 int irq; 304 305 if (!pdev) 306 return -ENODEV; 307 308 dev = &pdev->dev; 309 310 priv = msi_data = devm_kzalloc(&pdev->dev, sizeof(*msi_data), GFP_KERNEL); 311 if (!msi_data) 312 return -ENOMEM; 313 314 msi_data->cfg = cfg; 315 316 msi_data->regs = devm_platform_ioremap_resource_byname(pdev, "processor a-facing"); 317 if (IS_ERR(msi_data->regs)) { 318 dev_err(&pdev->dev, "failed to initialize 'regs'\n"); 319 return PTR_ERR(msi_data->regs); 320 } 321 322 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "processor b-facing"); 323 if (!res) 324 return -EIO; 325 326 msi_data->msiir_addr = res->start + msi_data->cfg->xTR; 327 328 irq = platform_get_irq(pdev, 0); 329 if (irq <= 0) 330 return -ENODEV; 331 332 platform_set_drvdata(pdev, msi_data); 333 334 msi_data->clk = devm_clk_get(dev, NULL); 335 if (IS_ERR(msi_data->clk)) { 336 if (PTR_ERR(msi_data->clk) != -ENOENT) 337 return PTR_ERR(msi_data->clk); 338 339 msi_data->clk = NULL; 340 } 341 342 pd_a = dev_pm_domain_attach_by_name(dev, "processor a-facing"); 343 if (IS_ERR(pd_a)) 344 return PTR_ERR(pd_a); 345 346 pd_b = dev_pm_domain_attach_by_name(dev, "processor b-facing"); 347 if (IS_ERR(pd_b)) 348 return PTR_ERR(pd_b); 349 350 pd_link_a = device_link_add(dev, pd_a, 351 DL_FLAG_STATELESS | 352 DL_FLAG_PM_RUNTIME | 353 DL_FLAG_RPM_ACTIVE); 354 355 if (!pd_link_a) { 356 dev_err(dev, "Failed to add device_link to mu a.\n"); 357 goto err_pd_a; 358 } 359 360 pd_link_b = device_link_add(dev, pd_b, 361 DL_FLAG_STATELESS | 362 DL_FLAG_PM_RUNTIME | 363 DL_FLAG_RPM_ACTIVE); 364 365 366 if (!pd_link_b) { 367 dev_err(dev, "Failed to add device_link to mu a.\n"); 368 goto err_pd_b; 369 } 370 371 ret = imx_mu_msi_domains_init(msi_data, dev); 372 if (ret) 373 goto err_dm_init; 374 375 irq_set_chained_handler_and_data(irq, 376 imx_mu_msi_irq_handler, 377 msi_data); 378 379 pm_runtime_enable(dev); 380 381 return 0; 382 383 err_dm_init: 384 device_link_remove(dev, pd_b); 385 err_pd_b: 386 device_link_remove(dev, pd_a); 387 err_pd_a: 388 return -EINVAL; 389 } 390 -- 0-DAY CI Kernel Test Service https://01.org/lkp