linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] PCI: ACPI: Replace acpi_bus_get_device()
@ 2022-01-26 19:42 Rafael J. Wysocki
  2022-01-26 21:35 ` kernel test robot
  0 siblings, 1 reply; 2+ messages in thread
From: Rafael J. Wysocki @ 2022-01-26 19:42 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Mika Westerberg, Linux PCI, Linux ACPI, LKML

From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Replace acpi_bus_get_device() that is going to be dropped with
acpi_fetch_acpi_dev().

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/pci/hotplug/acpiphp_glue.c |    7 ++++---
 drivers/pci/hotplug/acpiphp_ibm.c  |    5 +++--
 drivers/pci/pci-acpi.c             |    6 +++---
 3 files changed, 10 insertions(+), 8 deletions(-)

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) {




^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] PCI: ACPI: Replace acpi_bus_get_device()
  2022-01-26 19:42 [PATCH] PCI: ACPI: Replace acpi_bus_get_device() Rafael J. Wysocki
@ 2022-01-26 21:35 ` kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2022-01-26 21:35 UTC (permalink / raw)
  To: Rafael J. Wysocki, Bjorn Helgaas
  Cc: kbuild-all, Mika Westerberg, Linux PCI, Linux ACPI, LKML

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-01-26 21:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-26 19:42 [PATCH] PCI: ACPI: Replace acpi_bus_get_device() Rafael J. Wysocki
2022-01-26 21:35 ` kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).