x86/microcode: move to use bus_get_dev_root()
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 13 Mar 2023 18:28:51 +0000 (19:28 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Mar 2023 14:29:26 +0000 (15:29 +0100)
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: Borislav Petkov <bp@alien8.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: x86@kernel.org
Cc: "H. Peter Anvin" <hpa@zytor.com>
Link: https://lore.kernel.org/r/20230313182918.1312597-9-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/kernel/cpu/microcode/core.c

index 7a329e5..3afcf3d 100644 (file)
@@ -632,6 +632,7 @@ static const struct attribute_group cpu_root_microcode_group = {
 
 static int __init microcode_init(void)
 {
+       struct device *dev_root;
        struct cpuinfo_x86 *c = &boot_cpu_data;
        int error;
 
@@ -652,10 +653,14 @@ static int __init microcode_init(void)
        if (IS_ERR(microcode_pdev))
                return PTR_ERR(microcode_pdev);
 
-       error = sysfs_create_group(&cpu_subsys.dev_root->kobj, &cpu_root_microcode_group);
-       if (error) {
-               pr_err("Error creating microcode group!\n");
-               goto out_pdev;
+       dev_root = bus_get_dev_root(&cpu_subsys);
+       if (dev_root) {
+               error = sysfs_create_group(&dev_root->kobj, &cpu_root_microcode_group);
+               put_device(dev_root);
+               if (error) {
+                       pr_err("Error creating microcode group!\n");
+                       goto out_pdev;
+               }
        }
 
        /* Do per-CPU setup */