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: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Rich Felker <dalias@libc.org>
Cc: linux-sh@vger.kernel.org
Acked-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Link: https://lore.kernel.org/r/20230313182918.1312597-16-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 static int __init dma_subsys_init(void)
 {
+       struct device *dev_root;
        int ret;
 
        ret = subsys_system_register(&dma_subsys, NULL);
        if (unlikely(ret))
                return ret;
 
-       return device_create_file(dma_subsys.dev_root, &dev_attr_devices);
+       dev_root = bus_get_dev_root(&dma_subsys);
+       if (dev_root) {
+               ret = device_create_file(dev_root, &dev_attr_devices);
+               put_device(dev_root);
+       }
+       return ret;
 }
 postcore_initcall(dma_subsys_init);