* [PATCH 00/12] fsi: Convert to bus probe mechanism
@ 2025-11-29 16:57 Uwe Kleine-König
2025-11-29 16:57 ` [PATCH 05/12] spi: fsi: Drop assigning fsi bus Uwe Kleine-König
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Uwe Kleine-König @ 2025-11-29 16:57 UTC (permalink / raw)
To: Eddie James, Andi Shyti, Mark Brown
Cc: Ninad Palsule, linux-fsi, linux-kernel, linux-i2c, openbmc,
linux-spi, Greg Kroah-Hartman
Hello,
for the quest to drop .probe(), .remove() and .shutdown() from struct
device_driver, convert the fsi subsystem to make use of the respective
bus methods. Some cleanups are also included, I noticed those while
working on the conversion.
Regarding how to merge this series: There are two drivers touched that
are not in drivers/fsi, namely drivers/i2c/busses/i2c-fsi.c and
drivers/spi/spi-fsi.c. The easiest would be to merge this series through
a single tree because the i2c and spi driver changes depend on some fsi
core patches and fsi_bus_type can only made private when these are
applied. I tried to quickly resort the series to only need three steps
when merged separately, but this wasn't trivially possible, so I hope
Andi and Mark give their acks to merge their driver changes together
with the fsi core changes in one go.
Note this series is only compile tested as I don't have a machine using
the fsi subsystem.
All the calls to get_device() I found in these drivers look a bit
suspicious and I think there are some issues with lifetime tracking. But
I didn't try to address these, so I'm just mentioning that here.
Best regards
Uwe
Uwe Kleine-König (12):
fsi: Make use of module_fsi_driver()
fsi: Assign driver's bus in fsi_driver_register()
fsi: Provide thin wrappers around dev_[gs]et_data() for fsi devices
i2c: fsi: Drop assigning fsi bus
spi: fsi: Drop assigning fsi bus
fsi: Make fsi_bus_type a private variable to the core
fsi: Create bus specific probe and remove functions
fsi: master: Convert to fsi bus probe mechanism
fsi: sbefifo: Convert to fsi bus probe mechanism
fsi: scom: Convert to fsi bus probe mechanism
i2c: fsi: Convert to fsi bus probe mechanism
spi: fsi: Convert to fsi bus probe mechanism
drivers/fsi/fsi-core.c | 107 ++++++++++++++++++++++++++---------
drivers/fsi/fsi-master-hub.c | 17 +++---
drivers/fsi/fsi-sbefifo.c | 31 +++-------
drivers/fsi/fsi-scom.c | 30 +++-------
drivers/fsi/i2cr-scom.c | 1 -
drivers/i2c/busses/i2c-fsi.c | 16 +++---
drivers/spi/spi-fsi.c | 7 +--
include/linux/fsi.h | 13 ++++-
8 files changed, 125 insertions(+), 97 deletions(-)
base-commit: 3a8660878839faadb4f1a6dd72c3179c1df56787
--
2.47.3
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH 05/12] spi: fsi: Drop assigning fsi bus
2025-11-29 16:57 [PATCH 00/12] fsi: Convert to bus probe mechanism Uwe Kleine-König
@ 2025-11-29 16:57 ` Uwe Kleine-König
2025-12-02 17:46 ` Mark Brown
2025-11-29 16:57 ` [PATCH 12/12] spi: fsi: Convert to fsi bus probe mechanism Uwe Kleine-König
2025-12-05 15:30 ` [PATCH 00/12] fsi: Convert to " Uwe Kleine-König
2 siblings, 1 reply; 6+ messages in thread
From: Uwe Kleine-König @ 2025-11-29 16:57 UTC (permalink / raw)
To: Eddie James, Mark Brown
Cc: Ninad Palsule, linux-spi, linux-kernel, Greg Kroah-Hartman
Since commit FIXME ("fsi: Assign driver's bus in fsi_driver_register()")
module_fsi_driver() cares about assigning the driver's bus member. Drop the
explicit driver specific assignment.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
---
drivers/spi/spi-fsi.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/spi/spi-fsi.c b/drivers/spi/spi-fsi.c
index e01c63d23b64..f9c15b99dba5 100644
--- a/drivers/spi/spi-fsi.c
+++ b/drivers/spi/spi-fsi.c
@@ -595,7 +595,6 @@ static struct fsi_driver fsi_spi_driver = {
.id_table = fsi_spi_ids,
.drv = {
.name = "spi-fsi",
- .bus = &fsi_bus_type,
.probe = fsi_spi_probe,
},
};
--
2.47.3
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH 05/12] spi: fsi: Drop assigning fsi bus
2025-11-29 16:57 ` [PATCH 05/12] spi: fsi: Drop assigning fsi bus Uwe Kleine-König
@ 2025-12-02 17:46 ` Mark Brown
0 siblings, 0 replies; 6+ messages in thread
From: Mark Brown @ 2025-12-02 17:46 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Eddie James, Ninad Palsule, linux-spi, linux-kernel,
Greg Kroah-Hartman
[-- Attachment #1: Type: text/plain, Size: 307 bytes --]
On Sat, Nov 29, 2025 at 05:57:41PM +0100, Uwe Kleine-König wrote:
> Since commit FIXME ("fsi: Assign driver's bus in fsi_driver_register()")
> module_fsi_driver() cares about assigning the driver's bus member. Drop the
> explicit driver specific assignment.
Acked-by: Mark Brown <broonie@kernel.org>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 12/12] spi: fsi: Convert to fsi bus probe mechanism
2025-11-29 16:57 [PATCH 00/12] fsi: Convert to bus probe mechanism Uwe Kleine-König
2025-11-29 16:57 ` [PATCH 05/12] spi: fsi: Drop assigning fsi bus Uwe Kleine-König
@ 2025-11-29 16:57 ` Uwe Kleine-König
2025-12-02 17:46 ` Mark Brown
2025-12-05 15:30 ` [PATCH 00/12] fsi: Convert to " Uwe Kleine-König
2 siblings, 1 reply; 6+ messages in thread
From: Uwe Kleine-König @ 2025-11-29 16:57 UTC (permalink / raw)
To: Eddie James, Mark Brown
Cc: Ninad Palsule, linux-spi, linux-kernel, Greg Kroah-Hartman
The fsi bus got a dedicated probe function. Make use of that. This fixes
a runtime warning about the driver needing to be converted to the bus
probe method.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
---
drivers/spi/spi-fsi.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/spi/spi-fsi.c b/drivers/spi/spi-fsi.c
index f9c15b99dba5..07dc3d24f2c9 100644
--- a/drivers/spi/spi-fsi.c
+++ b/drivers/spi/spi-fsi.c
@@ -528,13 +528,13 @@ static size_t fsi_spi_max_transfer_size(struct spi_device *spi)
return SPI_FSI_MAX_RX_SIZE;
}
-static int fsi_spi_probe(struct device *dev)
+static int fsi_spi_probe(struct fsi_device *fsi)
{
int rc;
struct device_node *np;
int num_controllers_registered = 0;
struct fsi2spi *bridge;
- struct fsi_device *fsi = to_fsi_dev(dev);
+ struct device *dev = &fsi->dev;
rc = fsi_spi_check_mux(fsi, dev);
if (rc)
@@ -593,9 +593,9 @@ MODULE_DEVICE_TABLE(fsi, fsi_spi_ids);
static struct fsi_driver fsi_spi_driver = {
.id_table = fsi_spi_ids,
+ .probe = fsi_spi_probe,
.drv = {
.name = "spi-fsi",
- .probe = fsi_spi_probe,
},
};
module_fsi_driver(fsi_spi_driver);
--
2.47.3
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH 12/12] spi: fsi: Convert to fsi bus probe mechanism
2025-11-29 16:57 ` [PATCH 12/12] spi: fsi: Convert to fsi bus probe mechanism Uwe Kleine-König
@ 2025-12-02 17:46 ` Mark Brown
0 siblings, 0 replies; 6+ messages in thread
From: Mark Brown @ 2025-12-02 17:46 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Eddie James, Ninad Palsule, linux-spi, linux-kernel,
Greg Kroah-Hartman
[-- Attachment #1: Type: text/plain, Size: 278 bytes --]
On Sat, Nov 29, 2025 at 05:57:48PM +0100, Uwe Kleine-König wrote:
> The fsi bus got a dedicated probe function. Make use of that. This fixes
> a runtime warning about the driver needing to be converted to the bus
> probe method.
Acked-by: Mark Brown <broonie@kernel.org>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 00/12] fsi: Convert to bus probe mechanism
2025-11-29 16:57 [PATCH 00/12] fsi: Convert to bus probe mechanism Uwe Kleine-König
2025-11-29 16:57 ` [PATCH 05/12] spi: fsi: Drop assigning fsi bus Uwe Kleine-König
2025-11-29 16:57 ` [PATCH 12/12] spi: fsi: Convert to fsi bus probe mechanism Uwe Kleine-König
@ 2025-12-05 15:30 ` Uwe Kleine-König
2 siblings, 0 replies; 6+ messages in thread
From: Uwe Kleine-König @ 2025-12-05 15:30 UTC (permalink / raw)
To: Eddie James, Andi Shyti, Mark Brown
Cc: Ninad Palsule, linux-fsi, linux-kernel, linux-i2c, openbmc,
linux-spi, Greg Kroah-Hartman
[-- Attachment #1: Type: text/plain, Size: 1488 bytes --]
Hello,
On Sat, Nov 29, 2025 at 05:57:36PM +0100, Uwe Kleine-König wrote:
> for the quest to drop .probe(), .remove() and .shutdown() from struct
> device_driver, convert the fsi subsystem to make use of the respective
> bus methods. Some cleanups are also included, I noticed those while
> working on the conversion.
>
> Regarding how to merge this series: There are two drivers touched that
> are not in drivers/fsi, namely drivers/i2c/busses/i2c-fsi.c and
> drivers/spi/spi-fsi.c. The easiest would be to merge this series through
> a single tree because the i2c and spi driver changes depend on some fsi
> core patches and fsi_bus_type can only made private when these are
> applied. I tried to quickly resort the series to only need three steps
> when merged separately, but this wasn't trivially possible, so I hope
> Andi and Mark give their acks to merge their driver changes together
> with the fsi core changes in one go.
>
> Note this series is only compile tested as I don't have a machine using
> the fsi subsystem.
>
> All the calls to get_device() I found in these drivers look a bit
> suspicious and I think there are some issues with lifetime tracking. But
> I didn't try to address these, so I'm just mentioning that here.
While working on more such patches (for other subsystems) I found a
problem in this patch set. Please don't apply it yet, I will prepare a
v2 (and then also explain the things that need to be done).
Thanks
Uwe
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-12-05 15:30 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-29 16:57 [PATCH 00/12] fsi: Convert to bus probe mechanism Uwe Kleine-König
2025-11-29 16:57 ` [PATCH 05/12] spi: fsi: Drop assigning fsi bus Uwe Kleine-König
2025-12-02 17:46 ` Mark Brown
2025-11-29 16:57 ` [PATCH 12/12] spi: fsi: Convert to fsi bus probe mechanism Uwe Kleine-König
2025-12-02 17:46 ` Mark Brown
2025-12-05 15:30 ` [PATCH 00/12] fsi: Convert to " Uwe Kleine-König
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox