[PATCH v2 02/13] fsi: Assign driver's bus in fsi_driver_register()

Uwe Kleine-König posted 13 patches 2 months ago
[PATCH v2 02/13] fsi: Assign driver's bus in fsi_driver_register()
Posted by Uwe Kleine-König 2 months ago
Instead of letting each driver assign the bus, do it once in the fsi
driver register function.

Simplify the fsi drivers that are living in drivers/fsi accordingly.

Once all fsi drivers dropped assigning the bus, fsi_bus_type can be made
a static variable.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
---
 drivers/fsi/fsi-core.c       | 2 ++
 drivers/fsi/fsi-master-hub.c | 1 -
 drivers/fsi/fsi-sbefifo.c    | 1 -
 drivers/fsi/fsi-scom.c       | 1 -
 drivers/fsi/i2cr-scom.c      | 1 -
 5 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/fsi/fsi-core.c b/drivers/fsi/fsi-core.c
index c6c115993ebc..e1ea1124282e 100644
--- a/drivers/fsi/fsi-core.c
+++ b/drivers/fsi/fsi-core.c
@@ -1394,6 +1394,8 @@ int fsi_driver_register(struct fsi_driver *fsi_drv)
 	if (!fsi_drv->id_table)
 		return -EINVAL;
 
+	fsi_drv->drv.bus = &fsi_bus_type;
+
 	return driver_register(&fsi_drv->drv);
 }
 EXPORT_SYMBOL_GPL(fsi_driver_register);
diff --git a/drivers/fsi/fsi-master-hub.c b/drivers/fsi/fsi-master-hub.c
index 6568fed7db3c..d389856d18ac 100644
--- a/drivers/fsi/fsi-master-hub.c
+++ b/drivers/fsi/fsi-master-hub.c
@@ -288,7 +288,6 @@ static struct fsi_driver hub_master_driver = {
 	.id_table = hub_master_ids,
 	.drv = {
 		.name = "fsi-master-hub",
-		.bus = &fsi_bus_type,
 		.probe = hub_master_probe,
 		.remove = hub_master_remove,
 	}
diff --git a/drivers/fsi/fsi-sbefifo.c b/drivers/fsi/fsi-sbefifo.c
index 5a08423d0c7e..fde1c34743a0 100644
--- a/drivers/fsi/fsi-sbefifo.c
+++ b/drivers/fsi/fsi-sbefifo.c
@@ -1133,7 +1133,6 @@ static struct fsi_driver sbefifo_drv = {
 	.id_table = sbefifo_ids,
 	.drv = {
 		.name = DEVICE_NAME,
-		.bus = &fsi_bus_type,
 		.probe = sbefifo_probe,
 		.remove = sbefifo_remove,
 	}
diff --git a/drivers/fsi/fsi-scom.c b/drivers/fsi/fsi-scom.c
index f533106085ac..2eda44451cc1 100644
--- a/drivers/fsi/fsi-scom.c
+++ b/drivers/fsi/fsi-scom.c
@@ -606,7 +606,6 @@ static struct fsi_driver scom_drv = {
 	.id_table = scom_ids,
 	.drv = {
 		.name = "scom",
-		.bus = &fsi_bus_type,
 		.of_match_table = scom_of_ids,
 		.probe = scom_probe,
 		.remove = scom_remove,
diff --git a/drivers/fsi/i2cr-scom.c b/drivers/fsi/i2cr-scom.c
index cb7e02213032..dfdb16afd205 100644
--- a/drivers/fsi/i2cr-scom.c
+++ b/drivers/fsi/i2cr-scom.c
@@ -140,7 +140,6 @@ static struct fsi_driver i2cr_scom_driver = {
 	.id_table = i2cr_scom_ids,
 	.drv = {
 		.name = "i2cr_scom",
-		.bus = &fsi_bus_type,
 		.of_match_table = i2cr_scom_of_ids,
 		.probe = i2cr_scom_probe,
 		.remove = i2cr_scom_remove,
-- 
2.47.3

Re: [PATCH v2 02/13] fsi: Assign driver's bus in fsi_driver_register()
Posted by Eddie James 1 week, 6 days ago
On 12/9/25 5:40 AM, Uwe Kleine-König wrote:
> Instead of letting each driver assign the bus, do it once in the fsi
> driver register function.
>
> Simplify the fsi drivers that are living in drivers/fsi accordingly.
>
> Once all fsi drivers dropped assigning the bus, fsi_bus_type can be made
> a static variable.


Acked-by: Eddie James <eajames@linux.ibm.com>


>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
> ---
>   drivers/fsi/fsi-core.c       | 2 ++
>   drivers/fsi/fsi-master-hub.c | 1 -
>   drivers/fsi/fsi-sbefifo.c    | 1 -
>   drivers/fsi/fsi-scom.c       | 1 -
>   drivers/fsi/i2cr-scom.c      | 1 -
>   5 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/fsi/fsi-core.c b/drivers/fsi/fsi-core.c
> index c6c115993ebc..e1ea1124282e 100644
> --- a/drivers/fsi/fsi-core.c
> +++ b/drivers/fsi/fsi-core.c
> @@ -1394,6 +1394,8 @@ int fsi_driver_register(struct fsi_driver *fsi_drv)
>   	if (!fsi_drv->id_table)
>   		return -EINVAL;
>   
> +	fsi_drv->drv.bus = &fsi_bus_type;
> +
>   	return driver_register(&fsi_drv->drv);
>   }
>   EXPORT_SYMBOL_GPL(fsi_driver_register);
> diff --git a/drivers/fsi/fsi-master-hub.c b/drivers/fsi/fsi-master-hub.c
> index 6568fed7db3c..d389856d18ac 100644
> --- a/drivers/fsi/fsi-master-hub.c
> +++ b/drivers/fsi/fsi-master-hub.c
> @@ -288,7 +288,6 @@ static struct fsi_driver hub_master_driver = {
>   	.id_table = hub_master_ids,
>   	.drv = {
>   		.name = "fsi-master-hub",
> -		.bus = &fsi_bus_type,
>   		.probe = hub_master_probe,
>   		.remove = hub_master_remove,
>   	}
> diff --git a/drivers/fsi/fsi-sbefifo.c b/drivers/fsi/fsi-sbefifo.c
> index 5a08423d0c7e..fde1c34743a0 100644
> --- a/drivers/fsi/fsi-sbefifo.c
> +++ b/drivers/fsi/fsi-sbefifo.c
> @@ -1133,7 +1133,6 @@ static struct fsi_driver sbefifo_drv = {
>   	.id_table = sbefifo_ids,
>   	.drv = {
>   		.name = DEVICE_NAME,
> -		.bus = &fsi_bus_type,
>   		.probe = sbefifo_probe,
>   		.remove = sbefifo_remove,
>   	}
> diff --git a/drivers/fsi/fsi-scom.c b/drivers/fsi/fsi-scom.c
> index f533106085ac..2eda44451cc1 100644
> --- a/drivers/fsi/fsi-scom.c
> +++ b/drivers/fsi/fsi-scom.c
> @@ -606,7 +606,6 @@ static struct fsi_driver scom_drv = {
>   	.id_table = scom_ids,
>   	.drv = {
>   		.name = "scom",
> -		.bus = &fsi_bus_type,
>   		.of_match_table = scom_of_ids,
>   		.probe = scom_probe,
>   		.remove = scom_remove,
> diff --git a/drivers/fsi/i2cr-scom.c b/drivers/fsi/i2cr-scom.c
> index cb7e02213032..dfdb16afd205 100644
> --- a/drivers/fsi/i2cr-scom.c
> +++ b/drivers/fsi/i2cr-scom.c
> @@ -140,7 +140,6 @@ static struct fsi_driver i2cr_scom_driver = {
>   	.id_table = i2cr_scom_ids,
>   	.drv = {
>   		.name = "i2cr_scom",
> -		.bus = &fsi_bus_type,
>   		.of_match_table = i2cr_scom_of_ids,
>   		.probe = i2cr_scom_probe,
>   		.remove = i2cr_scom_remove,