On Fri, 16 Dec 2016 19:09:02 +0100 Thomas Monjalon <thomas.monja...@6wind.com> wrote:
> 2016-12-15 09:26, Stephen Hemminger: > > On Thu, 15 Dec 2016 12:19:44 +0530 > > Shreyansh Jain <shreyansh.j...@nxp.com> wrote: > > > It is not a scale-able model where we have to change eth_driver/eth_dev > > > for every new device type, other than PCI. Maybe VMBus is _very_ close > > > to PCI so no changes are required in PCI layer (common, linuxapp, > > > bsdapp) - but, for others it won't stop there. > > > > > > At the least, rte_pci_driver/rte_pci_device should be removed from > > > eth_driver & rte_eth_dev, respectively - relying on rte_driver and > > > rte_device. > > > > > > This is the primary reason work on the SoC patchset and now the new Bus > > > model is being done. > > > > Agreed. the better long term model is to use C style inheritance where > > rte_pci_driver has eth_driver inside. > > The other alternative is to make the second element an opaque pointer. > > > > But that was too big a change, and not necessary to get VMBUS to work. > > Longer term refactoring will take more effort. Go ahead and address it > > with a better bus model, but that probably isn't going to be ready for > > a couple of releases. > > We'll consider only the approach of generalizing the bus model for integr > ation. > Stephen, you are welcome to help make it happen and rebase your work > on top of this new model. > Thanks I will generalize it to PCI and VMBUS only. I am not inventing a generic SOC model since that is something that I don't have sufficient knowledge. This fits the YAGNI principle.