On Thu, Jul 04, 2019 at 12:37:33PM +0000, Jason Gunthorpe wrote: > On Thu, Jul 04, 2019 at 02:29:50PM +0200, Greg KH wrote: > > On Thu, Jul 04, 2019 at 12:16:41PM +0000, Jason Gunthorpe wrote: > > > On Wed, Jul 03, 2019 at 07:12:50PM -0700, Jeff Kirsher wrote: > > > > From: Tony Nguyen <anthony.l.nguyen@xxxxxxxxx> > > > > > > > > The RDMA block does not advertise on the PCI bus or any other bus. > > > > Thus the ice driver needs to provide access to the RDMA hardware block > > > > via a virtual bus; utilize the platform bus to provide this access. > > > > > > > > This patch initializes the driver to support RDMA as well as creates > > > > and registers a platform device for the RDMA driver to register to. At > > > > this point the driver is fully initialized to register a platform > > > > driver, however, can not yet register as the ops have not been > > > > implemented. > > > > > > I think you need Greg's ack on all this driver stuff - particularly > > > that a platform_device is OK. > > > > A platform_device is almost NEVER ok. > > > > Don't abuse it, make a real device on a real bus. If you don't have a > > real bus and just need to create a device to hang other things off of, > > then use the virtual one, that's what it is there for. > > Ideally I'd like to see all the RDMA drivers that connect to ethernet > drivers use some similar scheme. Why? They should be attached to a "real" device, why make any up? > Should it be some generic virtual bus? There is a generic virtual bus today. > This is for a PCI device that plugs into multiple subsystems in the > kernel, ie it has net driver functionality, rdma functionality, some > even have SCSI functionality Sounds like a MFD device, why aren't you using that functionality instead? thanks, greg k-h