mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v3] ACPI: glue: Reduce debug noise from acpi_device_notify()
@ 2026-09-04 20:11 Rafael J. Wysocki
  2026-09-06 11:37 ` Rafael J. Wysocki (Intel)
  0 siblings, 1 reply; 2+ messages in thread
From: Rafael J. Wysocki @ 2026-09-04 20:11 UTC (permalink / raw)
  To: Linux ACPI; +Cc: LKML, Andy Shevchenko

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

When debug is enabled in the ACPI glue code that handles binding
devices to ACPI companions, acpi_device_notify() produces a lot of
message noise related to devices that have no ACPI companions.

Reduce that noise by checking the most obvious case, ACPI device
objects, directly and returning from acpi_device_notify() in that
case without printing any debug messages.  Also avoid printing a
debug message when there is no matching ACPI companion lookup
method for the given device, which is the case for the vast
majority of devices.

Additionally, make the debug messages that get printed more informative
and adjust the "success" debug message for devices whose ACPI companions
have no ACPI handles (for example, they are fixed event buttons).

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---

v2 -> v3:
   * Do not change pr_fmt() definition (Sashiko)
   * adjust the "success" debug message for devices whose ACPI companions
     have no ACPI handles
   * Update changelog

v1 -> v2:
   * Do not return early from acpi_device_notify() for devices
     without a bus type (Sashiko)
   * Do not print messages for devices without matching ACPI bus
     type definition (the vast majority)
   * Update changelog

---
 drivers/acpi/glue.c |   27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

--- a/drivers/acpi/glue.c
+++ b/drivers/acpi/glue.c
@@ -354,22 +354,27 @@ void acpi_device_notify(struct device *d
 	struct acpi_device *adev;
 	int ret;
 
+	/* ACPI devices have no ACPI companions. */
+	if (dev->bus == &acpi_bus_type)
+		return;
+
 	ret = acpi_bind_one(dev, NULL);
 	if (ret) {
 		struct acpi_bus_type *type = acpi_get_bus_type(dev);
 
 		if (!type)
-			goto err;
+			return;
 
 		adev = type->find_companion(dev);
 		if (!adev) {
 			dev_dbg(dev, "ACPI companion not found\n");
-			goto err;
+			return;
 		}
 		ret = acpi_bind_one(dev, adev);
-		if (ret)
-			goto err;
-
+		if (ret) {
+			dev_dbg(dev, "Binding to ACPI companion failed\n");
+			return;
+		}
 		if (type->setup) {
 			type->setup(dev);
 			goto done;
@@ -389,13 +394,11 @@ void acpi_device_notify(struct device *d
 		adev->handler->bind(dev);
 
 done:
-	acpi_handle_debug(ACPI_HANDLE(dev), "Bound to device %s\n",
-			  dev_name(dev));
-
-	return;
-
-err:
-	dev_dbg(dev, "No ACPI support\n");
+	if (adev->handle)
+		acpi_handle_debug(adev->handle, "Bound to device %s\n",
+				  dev_name(dev));
+	else
+		dev_dbg(dev, "Bound to ACPI device %s\n", dev_name(&adev->dev));
 }
 
 void acpi_device_notify_remove(struct device *dev)




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

end of thread, other threads:[~2026-09-06 11:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-04 20:11 [PATCH v3] ACPI: glue: Reduce debug noise from acpi_device_notify() Rafael J. Wysocki
2026-09-06 11:37 ` Rafael J. Wysocki (Intel)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®