2023-03-13 18:31:37

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH 05/36] platform/x86: intel-uncore-freq: move to use bus_get_dev_root()

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 <[email protected]>
Cc: Hans de Goede <[email protected]>
Cc: Mark Gross <[email protected]>
Cc: [email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
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.

.../intel/uncore-frequency/uncore-frequency-common.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)

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);
--
2.39.2



2023-03-13 19:16:00

by srinivas pandruvada

[permalink] [raw]
Subject: Re: [PATCH 05/36] platform/x86: intel-uncore-freq: move to use bus_get_dev_root()

On Mon, 2023-03-13 at 19:28 +0100, 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 <[email protected]>
> Cc: Hans de Goede <[email protected]>
> Cc: Mark Gross <[email protected]>
> Cc: [email protected]
> Signed-off-by: Greg Kroah-Hartman <[email protected]>
Acked-by: Srinivas Pandruvada <[email protected]>

> ---
> 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.
>
>  .../intel/uncore-frequency/uncore-frequency-common.c | 12 +++++++++-
> --
>  1 file changed, 9 insertions(+), 3 deletions(-)
>
> 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);


2023-03-15 12:48:28

by Hans de Goede

[permalink] [raw]
Subject: Re: [PATCH 05/36] platform/x86: intel-uncore-freq: move to use bus_get_dev_root()

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 <[email protected]>
> Cc: Hans de Goede <[email protected]>
> Cc: Mark Gross <[email protected]>
> Cc: [email protected]
> Signed-off-by: Greg Kroah-Hartman <[email protected]>
> ---
> 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 <[email protected]>

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);