On 23-03-20, 11:06, Srinivas Kandagatla wrote:
On 20/03/2020 18:17, Pierre-Louis Bossart wrote:
Thanks for the quick review Srinivas,
This patch in general is missing device tree support for both matching and uevent so this will not clearly work for Qualcomm controller unless we do via platform bus, which does not sound right!
see other email, the platform bus is handled by a platform device/driver. There was no intention to change that, it's by design rather than an omission/error.
I understand this partly now!
This can be probably made better/clear by: renaming sdw_master_device_add to sdw_master_alloc and do a device_initialize() as part of this function in subsequent call to sdw_add_bus_master() we can do a device_add(). Doing this way will avoid a bit of unnecessary call to device_unregister by the controller driver, tbh which is confusing.
If the intended call sequence for controller is this (by keeping the parent bus type intact):
sdw_master_alloc/sdw_master_device_add() sdw_add_bus_master()
why not have single bus api which does all this :)
Then we should also remove sdw_unregister_master_driver() and module_sdw_master_driver() all together. Having them makes the reader think that they can use module_sdw_master_driver directly without any parent bus like platform bus in this case.
Precisely, this is one of the reasons for not liking the sdw_master_driver! It doesnt get used by anyone except Intel.