2023-12-19 17:19:14

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH] platform/surface: aggregator: make ssam_bus_type constant and static

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 <[email protected]>
Cc: Hans de Goede <[email protected]>
Cc: "Ilpo Järvinen" <[email protected]>
Cc: [email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
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



2023-12-19 19:32:35

by Maximilian Luz

[permalink] [raw]
Subject: Re: [PATCH] platform/surface: aggregator: make ssam_bus_type constant and static

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 <[email protected]>

> Cc: Maximilian Luz <[email protected]>
> Cc: Hans de Goede <[email protected]>
> Cc: "Ilpo Järvinen" <[email protected]>
> Cc: [email protected]
> Signed-off-by: Greg Kroah-Hartman <[email protected]>
> ---
> 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;
>
> /**

2023-12-21 13:03:34

by Hans de Goede

[permalink] [raw]
Subject: Re: [PATCH] platform/surface: aggregator: make ssam_bus_type constant and static

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 <[email protected]>
> Cc: Hans de Goede <[email protected]>
> Cc: "Ilpo Järvinen" <[email protected]>
> Cc: [email protected]
> Signed-off-by: Greg Kroah-Hartman <[email protected]>

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;
>
> /**


2023-12-21 13:10:32

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] platform/surface: aggregator: make ssam_bus_type constant and static

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 <[email protected]>
> > Cc: Hans de Goede <[email protected]>
> > Cc: "Ilpo J?rvinen" <[email protected]>
> > Cc: [email protected]
> > Signed-off-by: Greg Kroah-Hartman <[email protected]>
>
> 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