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

Jan Blunck jblunck at infradead.org
Fri Jun 30 20:19:29 CEST 2017


-- 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

-- v8

* Rework rte_eal_dev_detach to break API and remove rte_eal_device_detach

* Drop "bus: add bus iterator to find a device" since its not actively used

* Adjust coding style to explicitly check against NULL pointer

* Mark hotplug API EXPERIMENTAL

* Fix exporting of new bus function symbols


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

Jan Blunck (13):
  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: 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
  ethdev: Use embedded rte_device to detach driver
  dev: use new hotplug API in attach

 app/test-pmd/testpmd.c                          |   2 +-
 drivers/bus/fslmc/fslmc_bus.c                   |  23 ++++
 lib/librte_eal/bsdapp/eal/rte_eal_version.map   |  17 +++
 lib/librte_eal/common/eal_common_bus.c          |  59 ++++++++++
 lib/librte_eal/common/eal_common_dev.c          | 143 +++++++++++++++++++-----
 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         | 111 ++++++++++++++++++
 lib/librte_eal/common/include/rte_dev.h         |  62 +++++++++-
 lib/librte_eal/linuxapp/eal/rte_eal_version.map |  17 +++
 lib/librte_ether/rte_ethdev.c                   |   3 +-
 11 files changed, 496 insertions(+), 31 deletions(-)

--
2.9.4


More information about the dev mailing list