From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Blunck Subject: [PATCH v8 00/14] bus attach/detach API and hotplug rework Date: Fri, 30 Jun 2017 20:19:29 +0200 Message-ID: <20170630181943.23929-1-jblunck@infradead.org> References: <20170629182206.1072-1-jblunck@infradead.org> Cc: gaetan.rivet@6wind.com, shreyansh.jain@nxp.com To: dev@dpdk.org Return-path: Received: from mail-wm0-f67.google.com (mail-wm0-f67.google.com [74.125.82.67]) by dpdk.org (Postfix) with ESMTP id B3B662BE1 for ; Fri, 30 Jun 2017 20:20:01 +0200 (CEST) Received: by mail-wm0-f67.google.com with SMTP id p204so9335843wmg.1 for ; Fri, 30 Jun 2017 11:20:01 -0700 (PDT) In-Reply-To: <20170629182206.1072-1-jblunck@infradead.org> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" -- 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