Re: [PATCH] driver core: cpu: don't hand-override the uevent bus_type callback.

From: Rafael J. Wysocki
Date: Mon Feb 13 2023 - 11:08:34 EST


On Fri, Feb 10, 2023 at 11:24 AM Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>
> Instead of having to change the uevent bus_type callback by hand at
> runtime, set it at build time based on the build configuration options,
> making this much simpler to maintain and understand (and allow to make
> the structure constant.)
>
> Cc: "Rafael J. Wysocki" <rafael@xxxxxxxxxx>

LGTM:

Acked-by: Rafael J. Wysocki <rafael@xxxxxxxxxx>

> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> ---
> drivers/base/cpu.c | 28 ++++++++++++++--------------
> 1 file changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c
> index 8bb623039bb2..182c6122f815 100644
> --- a/drivers/base/cpu.c
> +++ b/drivers/base/cpu.c
> @@ -125,17 +125,6 @@ static DEVICE_ATTR(release, S_IWUSR, NULL, cpu_release_store);
> #endif /* CONFIG_ARCH_CPU_PROBE_RELEASE */
> #endif /* CONFIG_HOTPLUG_CPU */
>
> -struct bus_type cpu_subsys = {
> - .name = "cpu",
> - .dev_name = "cpu",
> - .match = cpu_subsys_match,
> -#ifdef CONFIG_HOTPLUG_CPU
> - .online = cpu_subsys_online,
> - .offline = cpu_subsys_offline,
> -#endif
> -};
> -EXPORT_SYMBOL_GPL(cpu_subsys);
> -
> #ifdef CONFIG_KEXEC
> #include <linux/kexec.h>
>
> @@ -348,6 +337,20 @@ static int cpu_uevent(const struct device *dev, struct kobj_uevent_env *env)
> }
> #endif
>
> +struct bus_type cpu_subsys = {
> + .name = "cpu",
> + .dev_name = "cpu",
> + .match = cpu_subsys_match,
> +#ifdef CONFIG_HOTPLUG_CPU
> + .online = cpu_subsys_online,
> + .offline = cpu_subsys_offline,
> +#endif
> +#ifdef CONFIG_GENERIC_CPU_AUTOPROBE
> + .uevent = cpu_uevent,
> +#endif
> +};
> +EXPORT_SYMBOL_GPL(cpu_subsys);
> +
> /*
> * register_cpu - Setup a sysfs device for a CPU.
> * @cpu - cpu->hotpluggable field set to 1 will generate a control file in
> @@ -368,9 +371,6 @@ int register_cpu(struct cpu *cpu, int num)
> cpu->dev.offline_disabled = !cpu->hotpluggable;
> cpu->dev.offline = !cpu_online(num);
> cpu->dev.of_node = of_get_cpu_node(num, NULL);
> -#ifdef CONFIG_GENERIC_CPU_AUTOPROBE
> - cpu->dev.bus->uevent = cpu_uevent;
> -#endif
> cpu->dev.groups = common_cpu_attr_groups;
> if (cpu->hotpluggable)
> cpu->dev.groups = hotplugable_cpu_attr_groups;
> --
> 2.39.1
>