Merge tag 'dt-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.git] / drivers / acpi / glue.c
index fce3f3b..7a33a6d 100644 (file)
@@ -285,29 +285,27 @@ int acpi_unbind_one(struct device *dev)
 }
 EXPORT_SYMBOL_GPL(acpi_unbind_one);
 
-static int acpi_device_notify(struct device *dev)
+void acpi_device_notify(struct device *dev)
 {
        struct acpi_bus_type *type = acpi_get_bus_type(dev);
        struct acpi_device *adev;
        int ret;
 
        ret = acpi_bind_one(dev, NULL);
-       if (ret && type) {
-               struct acpi_device *adev;
+       if (ret) {
+               if (!type)
+                       goto err;
 
                adev = type->find_companion(dev);
                if (!adev) {
-                       pr_debug("Unable to get handle for %s\n", dev_name(dev));
-                       ret = -ENODEV;
-                       goto out;
+                       dev_dbg(dev, "ACPI companion not found\n");
+                       goto err;
                }
                ret = acpi_bind_one(dev, adev);
                if (ret)
-                       goto out;
+                       goto err;
        }
        adev = ACPI_COMPANION(dev);
-       if (!adev)
-               goto out;
 
        if (dev_is_platform(dev))
                acpi_configure_pmsi_domain(dev);
@@ -317,27 +315,22 @@ static int acpi_device_notify(struct device *dev)
        else if (adev->handler && adev->handler->bind)
                adev->handler->bind(dev);
 
- out:
-       if (!ret) {
-               struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
+       acpi_handle_debug(ACPI_HANDLE(dev), "Bound to device %s\n",
+                         dev_name(dev));
 
-               acpi_get_name(ACPI_HANDLE(dev), ACPI_FULL_PATHNAME, &buffer);
-               pr_debug("Device %s -> %s\n", dev_name(dev), (char *)buffer.pointer);
-               kfree(buffer.pointer);
-       } else {
-               pr_debug("Device %s -> No ACPI support\n", dev_name(dev));
-       }
+       return;
 
-       return ret;
+err:
+       dev_dbg(dev, "No ACPI support\n");
 }
 
-static int acpi_device_notify_remove(struct device *dev)
+void acpi_device_notify_remove(struct device *dev)
 {
        struct acpi_device *adev = ACPI_COMPANION(dev);
        struct acpi_bus_type *type;
 
        if (!adev)
-               return 0;
+               return;
 
        type = acpi_get_bus_type(dev);
        if (type && type->cleanup)
@@ -346,20 +339,4 @@ static int acpi_device_notify_remove(struct device *dev)
                adev->handler->unbind(dev);
 
        acpi_unbind_one(dev);
-       return 0;
-}
-
-int acpi_platform_notify(struct device *dev, enum kobject_action action)
-{
-       switch (action) {
-       case KOBJ_ADD:
-               acpi_device_notify(dev);
-               break;
-       case KOBJ_REMOVE:
-               acpi_device_notify_remove(dev);
-               break;
-       default:
-               break;
-       }
-       return 0;
 }