Message ID | 4389553.LvFx2qVVIh@kreacher (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | PCI: ACPI: Replace acpi_bus_get_device() | expand |
Hi "Rafael, I love your patch! Yet something to improve: [auto build test ERROR on rafael-pm/linux-next] [also build test ERROR on helgaas-pci/next v5.17-rc1 next-20220125] [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] url: https://github.com/0day-ci/linux/commits/Rafael-J-Wysocki/PCI-ACPI-Replace-acpi_bus_get_device/20220127-034410 base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next config: ia64-allmodconfig (https://download.01.org/0day-ci/archive/20220127/202201270503.XIRGkUJE-lkp@intel.com/config) compiler: ia64-linux-gcc (GCC) 11.2.0 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 # https://github.com/0day-ci/linux/commit/f04b15e5b428aa6258b15b7e9bd9091cbf175e2f git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Rafael-J-Wysocki/PCI-ACPI-Replace-acpi_bus_get_device/20220127-034410 git checkout f04b15e5b428aa6258b15b7e9bd9091cbf175e2f # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=ia64 SHELL=/bin/bash drivers/pci/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All error/warnings (new ones prefixed by >>): drivers/pci/hotplug/acpiphp_ibm.c: In function 'ibm_acpiphp_init': >> drivers/pci/hotplug/acpiphp_ibm.c:437:21: error: expected statement before ')' token 437 | if (!device)) { | ^ >> drivers/pci/hotplug/acpiphp_ibm.c:437:9: warning: this 'if' clause does not guard... [-Wmisleading-indentation] 437 | if (!device)) { | ^~ drivers/pci/hotplug/acpiphp_ibm.c:437:23: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' 437 | if (!device)) { | ^ vim +437 drivers/pci/hotplug/acpiphp_ibm.c 418 419 static int __init ibm_acpiphp_init(void) 420 { 421 int retval = 0; 422 acpi_status status; 423 struct acpi_device *device; 424 struct kobject *sysdir = &pci_slots_kset->kobj; 425 426 pr_debug("%s\n", __func__); 427 428 if (acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, 429 ACPI_UINT32_MAX, ibm_find_acpi_device, NULL, 430 &ibm_acpi_handle, NULL) != FOUND_APCI) { 431 pr_err("%s: acpi_walk_namespace failed\n", __func__); 432 retval = -ENODEV; 433 goto init_return; 434 } 435 pr_debug("%s: found IBM aPCI device\n", __func__); 436 device = acpi_fetch_acpi_dev(ibm_acpi_handle); > 437 if (!device)) { 438 pr_err("%s: acpi_fetch_acpi_dev failed\n", __func__); 439 retval = -ENODEV; 440 goto init_return; 441 } 442 if (acpiphp_register_attention(&ibm_attention_info)) { 443 retval = -ENODEV; 444 goto init_return; 445 } 446 447 ibm_note.device = device; 448 status = acpi_install_notify_handler(ibm_acpi_handle, 449 ACPI_DEVICE_NOTIFY, ibm_handle_events, 450 &ibm_note); 451 if (ACPI_FAILURE(status)) { 452 pr_err("%s: Failed to register notification handler\n", 453 __func__); 454 retval = -EBUSY; 455 goto init_cleanup; 456 } 457 458 ibm_apci_table_attr.size = ibm_get_table_from_acpi(NULL); 459 retval = sysfs_create_bin_file(sysdir, &ibm_apci_table_attr); 460 461 return retval; 462 463 init_cleanup: 464 acpiphp_unregister_attention(&ibm_attention_info); 465 init_return: 466 return retval; 467 } 468 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Index: linux-pm/drivers/pci/hotplug/acpiphp_glue.c =================================================================== --- linux-pm.orig/drivers/pci/hotplug/acpiphp_glue.c +++ linux-pm/drivers/pci/hotplug/acpiphp_glue.c @@ -226,9 +226,9 @@ static void acpiphp_post_dock_fixup(stru static acpi_status acpiphp_add_context(acpi_handle handle, u32 lvl, void *data, void **rv) { + struct acpi_device *adev = acpi_fetch_acpi_dev(handle); struct acpiphp_bridge *bridge = data; struct acpiphp_context *context; - struct acpi_device *adev; struct acpiphp_slot *slot; struct acpiphp_func *newfunc; acpi_status status = AE_OK; @@ -238,6 +238,9 @@ static acpi_status acpiphp_add_context(a struct pci_dev *pdev = bridge->pci_dev; u32 val; + if (!adev) + return AE_OK; + status = acpi_evaluate_integer(handle, "_ADR", NULL, &adr); if (ACPI_FAILURE(status)) { if (status != AE_NOT_FOUND) @@ -245,8 +248,6 @@ static acpi_status acpiphp_add_context(a "can't evaluate _ADR (%#x)\n", status); return AE_OK; } - if (acpi_bus_get_device(handle, &adev)) - return AE_OK; device = (adr >> 16) & 0xffff; function = adr & 0xffff; Index: linux-pm/drivers/pci/hotplug/acpiphp_ibm.c =================================================================== --- linux-pm.orig/drivers/pci/hotplug/acpiphp_ibm.c +++ linux-pm/drivers/pci/hotplug/acpiphp_ibm.c @@ -433,8 +433,9 @@ static int __init ibm_acpiphp_init(void) goto init_return; } pr_debug("%s: found IBM aPCI device\n", __func__); - if (acpi_bus_get_device(ibm_acpi_handle, &device)) { - pr_err("%s: acpi_bus_get_device failed\n", __func__); + device = acpi_fetch_acpi_dev(ibm_acpi_handle); + if (!device)) { + pr_err("%s: acpi_fetch_acpi_dev failed\n", __func__); retval = -ENODEV; goto init_return; } Index: linux-pm/drivers/pci/pci-acpi.c =================================================================== --- linux-pm.orig/drivers/pci/pci-acpi.c +++ linux-pm/drivers/pci/pci-acpi.c @@ -89,9 +89,9 @@ int acpi_get_rc_resources(struct device return -ENODEV; } - ret = acpi_bus_get_device(handle, &adev); - if (ret) - return ret; + adev = acpi_fetch_acpi_dev(handle); + if (!adev) + return -ENODEV; ret = acpi_get_rc_addr(adev, res); if (ret) {