[PATCH 17/21] driver core: remove private pointer from struct bus_type

Greg Kroah-Hartman
2023-02-08T11:15:07Z

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/base/bus.c | 4 ----
include/linux/device/bus.h | 4 ----
2 files changed, 8 deletions(-)

diff --git a/drivers/base/bus.c b/drivers/base/bus.c
index 481fb3f41a42..76cfe9cbf3bd 100644
--- a/drivers/base/bus.c
+++ b/drivers/base/bus.c
@@ -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 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 @@ int bus_register(struct bus_type *bus)
kset_unregister(&priv->subsys);
out:
kfree(priv);
- bus->p = NULL;
return retval;
}
EXPORT_SYMBOL_GPL(bus_register);
diff --git a/include/linux/device/bus.h b/include/linux/device/bus.h
index f6537f5fc535..22bf63469275 100644
--- a/include/linux/device/bus.h
+++ b/include/linux/device/bus.h
@@ -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;
};

--
2.39.1