2021-07-12 17:30:05

by Rafael J. Wysocki

[permalink] [raw]
Subject: [PATCH v1 4/6] ACPI: glue: Eliminate acpi_platform_notify()

From: Rafael J. Wysocki <[email protected]>

Get rid of acpi_platform_notify() which is redundant and
make device_platform_notify() in the driver core call
acpi_device_notify() and acpi_device_notify_remove() directly.

No functional impact.

Signed-off-by: Rafael J. Wysocki <[email protected]>
---
drivers/acpi/glue.c | 19 ++-----------------
drivers/base/core.c | 7 ++++---
include/linux/acpi.h | 10 ++++------
3 files changed, 10 insertions(+), 26 deletions(-)

Index: linux-pm/drivers/base/core.c
===================================================================
--- linux-pm.orig/drivers/base/core.c
+++ linux-pm/drivers/base/core.c
@@ -2005,9 +2005,10 @@ device_platform_notify(struct device *de
{
int ret;

- ret = acpi_platform_notify(dev, action);
- if (ret)
- return ret;
+ if (action == KOBJ_ADD)
+ acpi_device_notify(dev);
+ else if (action == KOBJ_REMOVE)
+ acpi_device_notify_remove(dev);

ret = software_node_notify(dev, action);
if (ret)
Index: linux-pm/include/linux/acpi.h
===================================================================
--- linux-pm.orig/include/linux/acpi.h
+++ linux-pm/include/linux/acpi.h
@@ -1380,13 +1380,11 @@ static inline int find_acpi_cpu_cache_to
#endif

#ifdef CONFIG_ACPI
-extern int acpi_platform_notify(struct device *dev, enum kobject_action action);
+extern void acpi_device_notify(struct device *dev);
+extern void acpi_device_notify_remove(struct device *dev);
#else
-static inline int
-acpi_platform_notify(struct device *dev, enum kobject_action action)
-{
- return 0;
-}
+static inline void acpi_device_notify(struct device *dev) { }
+static inline void acpi_device_notify_remove(struct device *dev) { }
#endif

#endif /*_LINUX_ACPI_H*/
Index: linux-pm/drivers/acpi/glue.c
===================================================================
--- linux-pm.orig/drivers/acpi/glue.c
+++ linux-pm/drivers/acpi/glue.c
@@ -285,7 +285,7 @@ int acpi_unbind_one(struct device *dev)
}
EXPORT_SYMBOL_GPL(acpi_unbind_one);

-static void 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;
@@ -324,7 +324,7 @@ err:
dev_dbg(dev, "No ACPI support\n");
}

-static void 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;
@@ -340,18 +340,3 @@ static void acpi_device_notify_remove(st

acpi_unbind_one(dev);
}
-
-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;
-}




2021-07-12 18:37:36

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v1 4/6] ACPI: glue: Eliminate acpi_platform_notify()

On Mon, Jul 12, 2021 at 07:25:55PM +0200, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <[email protected]>
>
> Get rid of acpi_platform_notify() which is redundant and
> make device_platform_notify() in the driver core call
> acpi_device_notify() and acpi_device_notify_remove() directly.

> + if (action == KOBJ_ADD)
> + acpi_device_notify(dev);
> + else if (action == KOBJ_REMOVE)
> + acpi_device_notify_remove(dev);

In most of the cases we are using switch-case approach with
KOBJ_ADD/KOBJ_REMOVE. Would it make sense to keep that pattern?

--
With Best Regards,
Andy Shevchenko


2021-07-12 18:40:12

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH v1 4/6] ACPI: glue: Eliminate acpi_platform_notify()

On Mon, Jul 12, 2021 at 8:36 PM Andy Shevchenko
<[email protected]> wrote:
>
> On Mon, Jul 12, 2021 at 07:25:55PM +0200, Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki <[email protected]>
> >
> > Get rid of acpi_platform_notify() which is redundant and
> > make device_platform_notify() in the driver core call
> > acpi_device_notify() and acpi_device_notify_remove() directly.
>
> > + if (action == KOBJ_ADD)
> > + acpi_device_notify(dev);
> > + else if (action == KOBJ_REMOVE)
> > + acpi_device_notify_remove(dev);
>
> In most of the cases we are using switch-case approach with
> KOBJ_ADD/KOBJ_REMOVE. Would it make sense to keep that pattern?

Well, this goes away in the next patches anyway.