driver core: remove private pointer from struct bus_type
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Feb 2023 11:13:26 +0000 (12:13 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Feb 2023 09:43:37 +0000 (10:43 +0100)
Now that the driver code has been refactored to not rely on the pointer
from a struct bus_type to the private structure it can be safely removed
from the structure entirely.

This will allow most bus_type structures to now be marked as const.

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

index c82c65f..719cd3a 100644 (file)
@@ -205,11 +205,9 @@ EXPORT_SYMBOL_GPL(bus_remove_file);
 static void bus_release(struct kobject *kobj)
 {
        struct subsys_private *priv = to_subsys_private(kobj);
-       struct bus_type *bus = priv->bus;
 
        lockdep_unregister_key(&priv->lock_key);
        kfree(priv);
-       bus->p = NULL;
 }
 
 static const struct kobj_type bus_ktype = {
@@ -854,7 +852,6 @@ int bus_register(struct bus_type *bus)
                return -ENOMEM;
 
        priv->bus = bus;
-       bus->p = priv;
 
        BLOCKING_INIT_NOTIFIER_HEAD(&priv->bus_notifier);
 
@@ -917,7 +914,6 @@ bus_uevent_fail:
        kset_unregister(&priv->subsys);
 out:
        kfree(priv);
-       bus->p = NULL;
        return retval;
 }
 EXPORT_SYMBOL_GPL(bus_register);
index f6537f5..22bf634 100644 (file)
@@ -66,8 +66,6 @@ struct fwnode_handle;
  * @iommu_ops:  IOMMU specific operations for this bus, used to attach IOMMU
  *              driver implementations to a bus and allow the driver to do
  *              bus-specific setup
- * @p:         The private data of the driver core, only the driver core can
- *             touch this.
  * @lock_key:  Lock class key for use by the lock validator
  * @need_parent_lock:  When probing or removing a device on this bus, the
  *                     device core should lock the device's parent.
@@ -111,8 +109,6 @@ struct bus_type {
 
        const struct iommu_ops *iommu_ops;
 
-       struct subsys_private *p;
-
        bool need_parent_lock;
 };