Re: [PATCH 05/36] platform/x86: intel-uncore-freq: move to use bus_get_dev_root()
From: Hans de Goede
Date: Wed Mar 15 2023 - 08:48:28 EST
Hi,
On 3/13/23 19:28, Greg Kroah-Hartman wrote:
> Direct access to the struct bus_type dev_root pointer is going away soon
> so replace that with a call to bus_get_dev_root() instead, which is what
> it is there for.
>
> Cc: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx>
> Cc: Hans de Goede <hdegoede@xxxxxxxxxx>
> Cc: Mark Gross <markgross@xxxxxxxxxx>
> Cc: platform-driver-x86@xxxxxxxxxxxxxxx
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> ---
> Note, this is a patch that is a prepatory cleanup as part of a larger
> series of patches that is working on resolving some old driver core
> design mistakes. It will build and apply cleanly on top of 6.3-rc2 on
> its own, but I'd prefer if I could take it through my driver-core tree
> so that the driver core changes can be taken through there for 6.4-rc1.
Taking this upstream through the driver-core tree is fine by me:
Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx>
Regards,
Hans
> diff --git a/drivers/platform/x86/intel/uncore-frequency/uncore-frequency-common.c b/drivers/platform/x86/intel/uncore-frequency/uncore-frequency-common.c
> index cb24de9e97dc..1a300e14f350 100644
> --- a/drivers/platform/x86/intel/uncore-frequency/uncore-frequency-common.c
> +++ b/drivers/platform/x86/intel/uncore-frequency/uncore-frequency-common.c
> @@ -224,9 +224,15 @@ int uncore_freq_common_init(int (*read_control_freq)(struct uncore_data *data, u
> uncore_write = write_control_freq;
> uncore_read_freq = read_freq;
>
> - if (!uncore_root_kobj)
> - uncore_root_kobj = kobject_create_and_add("intel_uncore_frequency",
> - &cpu_subsys.dev_root->kobj);
> + if (!uncore_root_kobj) {
> + struct device *dev_root = bus_get_dev_root(&cpu_subsys);
> +
> + if (dev_root) {
> + uncore_root_kobj = kobject_create_and_add("intel_uncore_frequency",
> + &dev_root->kobj);
> + put_device(dev_root);
> + }
> + }
> if (uncore_root_kobj)
> ++uncore_instance_count;
> mutex_unlock(&uncore_lock);