Hello Sumit,
On Mon, Dec 15, 2025 at 04:54:11PM +0900, Sumit Garg wrote:
> On Thu, Dec 11, 2025 at 06:14:54PM +0100, Uwe Kleine-König wrote:
> > Hello,
> >
> > the objective of this series is to make tee driver stop using callbacks
> > in struct device_driver. These were superseded by bus methods in 2006
> > (commit 594c8281f905 ("[PATCH] Add bus_type probe, remove, shutdown
> > methods.")) but nobody cared to convert all subsystems accordingly.
> >
> > Here the tee drivers are converted. The first commit is somewhat
> > unrelated, but simplifies the conversion (and the drivers). It
> > introduces driver registration helpers that care about setting the bus
> > and owner. (The latter is missing in all drivers, so by using these
> > helpers the drivers become more correct.)
> >
> > The patches #4 - #17 depend on the first two, so if they should be
> > applied to their respective subsystem trees these must contain the first
> > two patches first.
>
> Thanks Uwe for your efforts to clean up the boilerplate code for TEE bus
> drivers.Thanks for your feedback. I will prepare a v2 and address your comments (whitespace issues and wrong callback in the shutdown method). > > Note that after patch #2 is applied, unconverted drivers provoke a > > warning in driver_register(), so it would be good for the user > > experience if the whole series goes in during a single merge window. > > +1 > > I suggest the whole series goes via the Jens tree since there shouldn't > be any chances for conflict here. > > > So > > I guess an immutable branch containing the frist three patches that can > > be merged into the other subsystem trees would be sensible. > > > > After all patches are applied, tee_bus_type can be made private to > > drivers/tee as it's not used in other places any more. > > > > Feel free to make the tee_bus_type private as the last patch in the series > such that any followup driver follows this clean approach. There is a bit more to do for that than I'm willing to invest. With my patch series applied `tee_bus_type` is still used in drivers/tee/optee/device.c and drivers/tee/tee_core.c. Maybe it's sensible to merge these two files into a single one. The things I wonder about additionally are: - if CONFIG_OPTEE=n and CONFIG_TEE=y|m the tee bus is only used for drivers but not devices. - optee_register_device() calls device_create_file() on &optee_device->dev after device_register(&optee_device->dev). (Attention half-knowledge!) I think device_create_file() should not be called on an already registered device (or you have to send a uevent afterwards). This should probably use type attribute groups. (Or the need_supplicant attribute should be dropped as it isn't very useful. This would maybe be considered an ABI change however.) - Why does optee_probe() in drivers/tee/optee/smc_abi.c unregister all optee devices in its error path (optee_unregister_devices())? Best regards Uwe
signature.asc
Description: PGP signature
