[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AM0PR05MB48665308FEE50EAB5C25C086D1760@AM0PR05MB4866.eurprd05.prod.outlook.com>
Date: Wed, 13 Nov 2019 07:03:40 +0000
From: Parav Pandit <parav@...lanox.com>
To: Greg KH <gregkh@...uxfoundation.org>,
Jeff Kirsher <jeffrey.t.kirsher@...el.com>
CC: "davem@...emloft.net" <davem@...emloft.net>,
Dave Ertman <david.m.ertman@...el.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-rdma@...r.kernel.org" <linux-rdma@...r.kernel.org>,
"nhorman@...hat.com" <nhorman@...hat.com>,
"sassmann@...hat.com" <sassmann@...hat.com>,
"jgg@...pe.ca" <jgg@...pe.ca>, Kiran Patil <kiran.patil@...el.com>
Subject: RE: [net-next 1/1] virtual-bus: Implementation of Virtual Bus
Hi Greg, Jason,
> From: Greg KH <gregkh@...uxfoundation.org>
> Sent: Tuesday, November 12, 2019 3:28 PM
> > From: Dave Ertman <david.m.ertman@...el.com>
> >
> > This is the initial implementation of the Virtual Bus, virtbus_device
> > and virtbus_driver. The virtual bus is a software based bus intended
> > to support lightweight devices and drivers and provide matching
> > between them and probing of the registered drivers.
> >
> > Files added:
> > drivers/bus/virtual_bus.c
> > include/linux/virtual_bus.h
> > Documentation/driver-api/virtual_bus.rst
> >
> > The primary purpose of the virual bus is to provide matching services
> > and to pass the data pointer contained in the virtbus_device to the
> > virtbus_driver during its probe call. This will allow two separate
> > kernel objects to match up and start communication.
> >
> > The bus will support probe/remove shutdown and suspend/resume
> > callbacks.
> >
> > Kconfig and Makefile alterations are included
> >
[..]
I have a basic question with this bus.
I read device-driver model [1] few times but couldn't get the clarity.
mlx5_core driver will create virtbus device on virtbus.
mlx5_ib driver binds to virtbus device in probe().
However mlx5_ib driver's probe() will create rdma device whose parent device will be PCI device and not virtbus_device.
Is that correct?
If so, bus driver of bus A, creating devices binding to device of bus B (pci) adheres to the linux device model?
If so, such cross binding is not just limited to virtbus, right?
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/driver-api/driver-model
Powered by blists - more mailing lists