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