From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gaetan Rivet Subject: [PATCH v4 0/8] fix hotplug API Date: Sat, 15 Jul 2017 19:56:34 +0200 Message-ID: References: Cc: Gaetan Rivet , Jan Blunck , Shreyansh Jain , Stephen Hemminger , Bruce Richardson To: dev@dpdk.org Return-path: Received: from mail-wm0-f53.google.com (mail-wm0-f53.google.com [74.125.82.53]) by dpdk.org (Postfix) with ESMTP id 7FA842A5D for ; Sat, 15 Jul 2017 19:56:58 +0200 (CEST) Received: by mail-wm0-f53.google.com with SMTP id b134so13211659wma.0 for ; Sat, 15 Jul 2017 10:56:58 -0700 (PDT) In-Reply-To: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Sending those fixes as separate patches as they stand on their own. This series improves usability of the hotplug API and fixes a few issues with existing implementations. The hotplug API can be tested with the fail-safe PMD[1]. Its documentation describes how to declare slaves and how to use it. [1]: http://dpdk.org/ml/archives/dev/2017-July/070529.html v2: - Add a new rte_devargs function taylored for hotplug operations. Upon device hotplug, the device is implicitly whitelisted. This configuration should supersede any previous existing bus configuration. - Merge hotplug add and remove fixes as they are now tied up. - Do not return an rte_device handle back from hotplug_add. v3: - Further explain - the new rte_eal_devargs_insert function. - the hotplug add / remove fix - the PCI device name fix - Add comments to pci_name_set v4: - Free rte_devargs after the device is being removed, to avoid risks of buses relying on the rte_devargs during the process. Gaetan Rivet (8): vdev: implement plug operation devargs: introduce removal function devargs: introduce insert function eal: fix hotplug add / remove pci: use given name as generic name pci: fix generic driver pointer on probe error pci: fix hotplug operations bus: remove useless plug parameter lib/librte_eal/bsdapp/eal/eal_pci.c | 4 +- lib/librte_eal/bsdapp/eal/rte_eal_version.map | 2 + lib/librte_eal/common/eal_common_dev.c | 58 +++++++++++++++++++++++-- lib/librte_eal/common/eal_common_devargs.c | 31 +++++++++++++ lib/librte_eal/common/eal_common_pci.c | 57 +++++++++++++----------- lib/librte_eal/common/eal_common_vdev.c | 12 ++--- lib/librte_eal/common/eal_private.h | 5 +++ lib/librte_eal/common/include/rte_bus.h | 6 +-- lib/librte_eal/common/include/rte_devargs.h | 31 +++++++++++++ lib/librte_eal/common/include/rte_vdev.h | 7 +++ lib/librte_eal/linuxapp/eal/eal_pci.c | 4 +- lib/librte_eal/linuxapp/eal/rte_eal_version.map | 2 + 12 files changed, 176 insertions(+), 43 deletions(-) -- 2.1.4