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: Mark Gross <markgross@kernel.org>
Cc: platform-driver-x86@vger.kernel.org
Acked-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Link: https://lore.kernel.org/r/20230313182918.1312597-5-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        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);