driver core: bus: bus_get_kset() cleanup
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Feb 2023 11:13:18 +0000 (12:13 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Feb 2023 09:43:21 +0000 (10:43 +0100)
Convert the bus_get_kset() function function to use bus_to_subsys() and
not use the back-pointer to the private structure.

Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Link: https://lore.kernel.org/r/20230208111330.439504-10-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/bus.c

index b831173..105b6af 100644 (file)
@@ -956,7 +956,16 @@ void bus_notify(struct device *dev, enum bus_notifier_event value)
 
 struct kset *bus_get_kset(struct bus_type *bus)
 {
-       return &bus->p->subsys;
+       struct subsys_private *sp = bus_to_subsys(bus);
+       struct kset *kset;
+
+       if (!sp)
+               return NULL;
+
+       kset = &sp->subsys;
+       subsys_put(sp);
+
+       return kset;
 }
 EXPORT_SYMBOL_GPL(bus_get_kset);