platform/x86: ibm_rtl: move to use bus_get_dev_root()
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 13 Mar 2023 18:28:46 +0000 (19:28 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Mar 2023 14:29:06 +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: Mark Gross <markgross@kernel.org>
Cc: platform-driver-x86@vger.kernel.org
Acked-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20230313182918.1312597-4-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/platform/x86/ibm_rtl.c

index 5fc665f..2ab7d9a 100644 (file)
@@ -199,16 +199,26 @@ static int rtl_setup_sysfs(void) {
 
        ret = subsys_system_register(&rtl_subsys, NULL);
        if (!ret) {
-               for (i = 0; rtl_attributes[i]; i ++)
-                       device_create_file(rtl_subsys.dev_root, rtl_attributes[i]);
+               struct device *dev_root = bus_get_dev_root(&rtl_subsys);
+
+               if (dev_root) {
+                       for (i = 0; rtl_attributes[i]; i ++)
+                               device_create_file(dev_root, rtl_attributes[i]);
+                       put_device(dev_root);
+               }
        }
        return ret;
 }
 
 static void rtl_teardown_sysfs(void) {
+       struct device *dev_root = bus_get_dev_root(&rtl_subsys);
        int i;
-       for (i = 0; rtl_attributes[i]; i ++)
-               device_remove_file(rtl_subsys.dev_root, rtl_attributes[i]);
+
+       if (dev_root) {
+               for (i = 0; rtl_attributes[i]; i ++)
+                       device_remove_file(dev_root, rtl_attributes[i]);
+               put_device(dev_root);
+       }
        bus_unregister(&rtl_subsys);
 }