[dpdk-dev] [PATCH 00/15] bus attach/detach API and hotplug rework

Jan Blunck jblunck at infradead.org
Thu Jun 29 20:21:51 CEST 2017


Following the work from Gaetan, who based his work on my original series.

-- v7

* Revert removal of RTE_VERIFY on find_device operation since a bus that isn't
  able to even iterate its devices is pointless

* Revert plug() changes that have been introduced in v3:
  int (*rte_bus_plug_t)(struct rte_device *dev, const char *devargs);

* Revert pointless reordering of start argument for bus iterator functions

* Add fslmc bus find_device operation

* Add support to find a bus by its name

* Add EAL hotplug API:
  int rte_eal_hotplug_add(const char *busname, const char *devname,
			  const char *devargs);
  int rte_eal_hotplug_remove(const char *busname, const char *devname);

* Keep rte_eal_dev_attach() backwards compatible and support hotplug of PCI
  and virtual devices only

* Add back patch "ethdev: use embedded rte_device to detach driver" which is
  critical for correctly detaching the correct low-level device


Gaetan Rivet (1):
  pci: implement hotplug bus operation

Jan Blunck (14):
  bus: add bus iterator to find a bus
  bus: add find_device bus operation
  vdev: implement find_device bus operation
  pci: implement find_device bus operation
  bus/fslmc: implement find_device bus operation
  bus: add helper to find which bus holds a device
  bus: add bus iterator to find a device
  bus: require buses to implement find_device operation
  bus: add rte_bus_find_by_name
  bus: introduce device plug/unplug functionality
  vdev: implement unplug bus operation
  eal: add hotplug add/remove functions
  dev: use new hotplug API in attach / detach
  ethdev: Use embedded rte_device to detach driver

 drivers/bus/fslmc/fslmc_bus.c                   |  23 ++++
 lib/librte_eal/bsdapp/eal/rte_eal_version.map   |   6 +
 lib/librte_eal/common/eal_common_bus.c          |  74 ++++++++++++
 lib/librte_eal/common/eal_common_dev.c          | 149 ++++++++++++++++++++----
 lib/librte_eal/common/eal_common_pci.c          |  55 +++++++++
 lib/librte_eal/common/eal_common_vdev.c         |  35 ++++++
 lib/librte_eal/common/include/rte_bus.h         | 137 ++++++++++++++++++++++
 lib/librte_eal/common/include/rte_dev.h         |  57 +++++++++
 lib/librte_eal/linuxapp/eal/rte_eal_version.map |   5 +
 lib/librte_ether/rte_ethdev.c                   |   3 +-
 10 files changed, 521 insertions(+), 23 deletions(-)

--
2.9.4


More information about the dev mailing list