s390/topology: move to use bus_get_dev_root()
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 13 Mar 2023 18:29:00 +0000 (19:29 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Mar 2023 14:29:59 +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: Vasily Gorbik <gor@linux.ibm.com>
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: Sven Schnelle <svens@linux.ibm.com>
Cc: linux-s390@vger.kernel.org
Acked-by: Heiko Carstens <hca@linux.ibm.com>
Link: https://lore.kernel.org/r/20230313182918.1312597-18-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/s390/kernel/topology.c

index c6eecd4..72af753 100644 (file)
@@ -649,12 +649,21 @@ static struct ctl_table topology_dir_table[] = {
 
 static int __init topology_init(void)
 {
+       struct device *dev_root;
+       int rc = 0;
+
        timer_setup(&topology_timer, topology_timer_fn, TIMER_DEFERRABLE);
        if (MACHINE_HAS_TOPOLOGY)
                set_topology_timer();
        else
                topology_update_polarization_simple();
        register_sysctl_table(topology_dir_table);
-       return device_create_file(cpu_subsys.dev_root, &dev_attr_dispatching);
+
+       dev_root = bus_get_dev_root(&cpu_subsys);
+       if (dev_root) {
+               rc = device_create_file(dev_root, &dev_attr_dispatching);
+               put_device(dev_root);
+       }
+       return rc;
 }
 device_initcall(topology_init);