RE: [PATCH 1/2] device: Stop requiring that struct device is embedded in struct pci_dev

From: Parav Pandit
Date: Tue Mar 07 2017 - 02:59:31 EST


Hi Bart,

> -----Original Message-----
> From: linux-rdma-owner@xxxxxxxxxxxxxxx [mailto:linux-rdma-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Bart Van Assche
> Sent: Monday, March 6, 2017 11:13 PM
> To: Parav Pandit <parav@xxxxxxxxxxxx>; gregkh@xxxxxxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx; linux-rdma@xxxxxxxxxxxxxxx;
> sebott@xxxxxxxxxxxxxxxxxx; linux@xxxxxxxxxxxxxxx; hpa@xxxxxxxxx;
> mingo@xxxxxxxxxx; dwmw2@xxxxxxxxxxxxx; bhelgaas@xxxxxxxxxx;
> dledford@xxxxxxxxxx; benh@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [PATCH 1/2] device: Stop requiring that struct device is
> embedded in struct pci_dev
>
> On Tue, 2017-03-07 at 05:08 +0000, Parav Pandit wrote:
> > I replied with pseudo code in previous reply to Bart to bring back
> dma_device member in the ib_device.
> > dma_device member was already present in near past of few weeks.
> > It should be able to work using it without performance impact and without
> touching driver core layer like in this patch.
>
> That's confusing and was a source of bugs and inconsistencies. We do not
> want two device structures in struct ib_device (struct device dev and struct
> device *dma_device).

device dev represents, dev structure of the ib_device.
While dma_device is for the actual device as you know.

If you look at net_device,
It has device dev.
vendor drivers store pci_dev pointer and access device of pci_dev etc.
Every net_device driver has to do that.

Ib_device simplifies that work for ib stack by storing dma_device.
I think this is less confusing.

>
> Bart.N r y b X Çv ^ )Þ{.n + { Ù {ay ÊÚ ,j f h z  w j:+v w j m zZ+
> Ýj" ! i