drivers/platform/surface/aggregator/bus.c | 5 +++-- include/linux/surface_aggregator/device.h | 1 - 2 files changed, 3 insertions(+), 3 deletions(-)
Now that the driver core can properly handle constant struct bus_type,
move the ssam_bus_type variable to be a constant structure as well,
placing it into read-only memory which can not be modified at runtime.
It's also never used outside of
drivers/platform/surface/aggregator/bus.c so make it static and don't
export it as no one is using it.
Cc: Maximilian Luz <luzmaximilian@gmail.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
Cc: platform-driver-x86@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/platform/surface/aggregator/bus.c | 5 +++--
include/linux/surface_aggregator/device.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/platform/surface/aggregator/bus.c b/drivers/platform/surface/aggregator/bus.c
index 42ccd7f1c9b9..118caa651bec 100644
--- a/drivers/platform/surface/aggregator/bus.c
+++ b/drivers/platform/surface/aggregator/bus.c
@@ -35,6 +35,8 @@ static struct attribute *ssam_device_attrs[] = {
};
ATTRIBUTE_GROUPS(ssam_device);
+static const struct bus_type ssam_bus_type;
+
static int ssam_device_uevent(const struct device *dev, struct kobj_uevent_env *env)
{
const struct ssam_device *sdev = to_ssam_device(dev);
@@ -329,13 +331,12 @@ static void ssam_bus_remove(struct device *dev)
sdrv->remove(to_ssam_device(dev));
}
-struct bus_type ssam_bus_type = {
+static const struct bus_type ssam_bus_type = {
.name = "surface_aggregator",
.match = ssam_bus_match,
.probe = ssam_bus_probe,
.remove = ssam_bus_remove,
};
-EXPORT_SYMBOL_GPL(ssam_bus_type);
/**
* __ssam_device_driver_register() - Register a SSAM client device driver.
diff --git a/include/linux/surface_aggregator/device.h b/include/linux/surface_aggregator/device.h
index 42b249b4c24b..8cd8c38cf3f3 100644
--- a/include/linux/surface_aggregator/device.h
+++ b/include/linux/surface_aggregator/device.h
@@ -193,7 +193,6 @@ struct ssam_device_driver {
#ifdef CONFIG_SURFACE_AGGREGATOR_BUS
-extern struct bus_type ssam_bus_type;
extern const struct device_type ssam_device_type;
/**
--
2.43.0
Hi Greg,
On 12/19/23 18:18, Greg Kroah-Hartman wrote:
> Now that the driver core can properly handle constant struct bus_type,
> move the ssam_bus_type variable to be a constant structure as well,
> placing it into read-only memory which can not be modified at runtime.
>
> It's also never used outside of
> drivers/platform/surface/aggregator/bus.c so make it static and don't
> export it as no one is using it.
>
> Cc: Maximilian Luz <luzmaximilian@gmail.com>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
> Cc: platform-driver-x86@vger.kernel.org
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Greg, do you plan to merge this yourself (fine with me)
or do you want me to merge this through pdx86 ?
Regards,
Hans
> ---
> drivers/platform/surface/aggregator/bus.c | 5 +++--
> include/linux/surface_aggregator/device.h | 1 -
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/platform/surface/aggregator/bus.c b/drivers/platform/surface/aggregator/bus.c
> index 42ccd7f1c9b9..118caa651bec 100644
> --- a/drivers/platform/surface/aggregator/bus.c
> +++ b/drivers/platform/surface/aggregator/bus.c
> @@ -35,6 +35,8 @@ static struct attribute *ssam_device_attrs[] = {
> };
> ATTRIBUTE_GROUPS(ssam_device);
>
> +static const struct bus_type ssam_bus_type;
> +
> static int ssam_device_uevent(const struct device *dev, struct kobj_uevent_env *env)
> {
> const struct ssam_device *sdev = to_ssam_device(dev);
> @@ -329,13 +331,12 @@ static void ssam_bus_remove(struct device *dev)
> sdrv->remove(to_ssam_device(dev));
> }
>
> -struct bus_type ssam_bus_type = {
> +static const struct bus_type ssam_bus_type = {
> .name = "surface_aggregator",
> .match = ssam_bus_match,
> .probe = ssam_bus_probe,
> .remove = ssam_bus_remove,
> };
> -EXPORT_SYMBOL_GPL(ssam_bus_type);
>
> /**
> * __ssam_device_driver_register() - Register a SSAM client device driver.
> diff --git a/include/linux/surface_aggregator/device.h b/include/linux/surface_aggregator/device.h
> index 42b249b4c24b..8cd8c38cf3f3 100644
> --- a/include/linux/surface_aggregator/device.h
> +++ b/include/linux/surface_aggregator/device.h
> @@ -193,7 +193,6 @@ struct ssam_device_driver {
>
> #ifdef CONFIG_SURFACE_AGGREGATOR_BUS
>
> -extern struct bus_type ssam_bus_type;
> extern const struct device_type ssam_device_type;
>
> /**
On Thu, Dec 21, 2023 at 02:03:03PM +0100, Hans de Goede wrote: > Hi Greg, > > On 12/19/23 18:18, Greg Kroah-Hartman wrote: > > Now that the driver core can properly handle constant struct bus_type, > > move the ssam_bus_type variable to be a constant structure as well, > > placing it into read-only memory which can not be modified at runtime. > > > > It's also never used outside of > > drivers/platform/surface/aggregator/bus.c so make it static and don't > > export it as no one is using it. > > > > Cc: Maximilian Luz <luzmaximilian@gmail.com> > > Cc: Hans de Goede <hdegoede@redhat.com> > > Cc: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com> > > Cc: platform-driver-x86@vger.kernel.org > > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > > Greg, do you plan to merge this yourself (fine with me) > or do you want me to merge this through pdx86 ? I can merge it, thanks! greg k-h
On 12/19/23 18:18, Greg Kroah-Hartman wrote:
> Now that the driver core can properly handle constant struct bus_type,
> move the ssam_bus_type variable to be a constant structure as well,
> placing it into read-only memory which can not be modified at runtime.
>
> It's also never used outside of
> drivers/platform/surface/aggregator/bus.c so make it static and don't
> export it as no one is using it.
Thanks! Looks good to me.
Reviewed-by: Maximilian Luz <luzmaximilian@gmail.com>
> Cc: Maximilian Luz <luzmaximilian@gmail.com>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
> Cc: platform-driver-x86@vger.kernel.org
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
> drivers/platform/surface/aggregator/bus.c | 5 +++--
> include/linux/surface_aggregator/device.h | 1 -
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/platform/surface/aggregator/bus.c b/drivers/platform/surface/aggregator/bus.c
> index 42ccd7f1c9b9..118caa651bec 100644
> --- a/drivers/platform/surface/aggregator/bus.c
> +++ b/drivers/platform/surface/aggregator/bus.c
> @@ -35,6 +35,8 @@ static struct attribute *ssam_device_attrs[] = {
> };
> ATTRIBUTE_GROUPS(ssam_device);
>
> +static const struct bus_type ssam_bus_type;
> +
> static int ssam_device_uevent(const struct device *dev, struct kobj_uevent_env *env)
> {
> const struct ssam_device *sdev = to_ssam_device(dev);
> @@ -329,13 +331,12 @@ static void ssam_bus_remove(struct device *dev)
> sdrv->remove(to_ssam_device(dev));
> }
>
> -struct bus_type ssam_bus_type = {
> +static const struct bus_type ssam_bus_type = {
> .name = "surface_aggregator",
> .match = ssam_bus_match,
> .probe = ssam_bus_probe,
> .remove = ssam_bus_remove,
> };
> -EXPORT_SYMBOL_GPL(ssam_bus_type);
>
> /**
> * __ssam_device_driver_register() - Register a SSAM client device driver.
> diff --git a/include/linux/surface_aggregator/device.h b/include/linux/surface_aggregator/device.h
> index 42b249b4c24b..8cd8c38cf3f3 100644
> --- a/include/linux/surface_aggregator/device.h
> +++ b/include/linux/surface_aggregator/device.h
> @@ -193,7 +193,6 @@ struct ssam_device_driver {
>
> #ifdef CONFIG_SURFACE_AGGREGATOR_BUS
>
> -extern struct bus_type ssam_bus_type;
> extern const struct device_type ssam_device_type;
>
> /**
© 2016 - 2025 Red Hat, Inc.