On Mon, Nov 2, 2020 at 10:26 AM Jason Gunthorpe <jgg@xxxxxxxxxx> wrote: > > On Mon, Nov 02, 2020 at 11:18:33AM -0700, Dave Jiang wrote: > > > > > > On 11/2/2020 10:19 AM, Jason Gunthorpe wrote: > > > On Mon, Nov 02, 2020 at 08:20:43AM -0800, Raj, Ashok wrote: > > > > Creating these private interfaces for intra-module are just 1-1 and not > > > > general purpose and every accelerator needs to create these instances. > > > > > > This is where we are going, auxillary bus should be merged soon which > > > is specifically to connect these kinds of devices across subsystems > > > > I think this resolves the aux device probe/remove issue via a common bus. > > But it does not help with the mdev device needing a lot of the device > > handling calls from the parent driver as it share the same handling as the > > parent device. > > The intention of auxiliary bus is that the two parts will tightly > couple across some exported function interface. > > > My plan is to export all the needed call via EXPORT_SYMBOL_NS() so > > the calls can be shared in its own namespace between the modules. Do > > you have any objection with that? > > I think you will be the first to use the namespace stuff for this, it > seems like a good idea and others should probably do so as well. I was thinking either EXPORT_SYMBOL_NS, or auxiliary bus, because you should be able to export an ops structure with all the necessary callbacks. Aux bus seems cleaner because the lifetime rules and ownership concerns are clearer.