From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f68.google.com (mail-wm0-f68.google.com [74.125.82.68]) by dpdk.org (Postfix) with ESMTP id 15ABD2BE1 for ; Thu, 29 Jun 2017 20:22:26 +0200 (CEST) Received: by mail-wm0-f68.google.com with SMTP id y5so4063536wmh.3 for ; Thu, 29 Jun 2017 11:22:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=AtppO4vXLWcsNzG2HQ3pa4hrV7ubckPdZLLulLE9l0s=; b=kX8scMaMko0PUfRNiYtuPLNlhOvOVj6HueZaf2CfwaHGa49L7vlLVnrEDuYI7Tlydy Gaa8h0LyO3aS1mut+D31pVnQiU6/I/f9tO8V+dVOi46OqHAk0PeIA/B6de07O2MDEpEk fItYTTiVGyaIgHwufSUp5NSSylY9vyp0npD/PXWuNoo8nI5le8VJSz7ugOWT3p/WzymC NoLtolxQtars2YZeIxmZuliz3MlSSFL+uPFh0kOMRB5OSY6ZNYh6CGTlTZnZ/KC7iW6P 53utCHqf1V2tUczSY9CqTAq1rFW7z3tT2WKcAB62nzvAUW3p+ErDuh65Bso9e1hHCfLk 6pPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=AtppO4vXLWcsNzG2HQ3pa4hrV7ubckPdZLLulLE9l0s=; b=KGfv/iF3UB41IzFfsRoa5HHiK7T4X5fXvfdZu9B9t+SkpJAzXww3XGeE6WyW2FaKVu 3WeSp8MljyZzXaADsyluR01523zysTO6w87NLrKWFL9dM6b7cQM8QsW6NrtxhmZdaDx2 UpjLNe5Qvfg0l+8fO1+42G7HYagwE1gkyCXqepUvuX5merDFO0OFeB0so0AeT5vZl3zY ljWOKp7Y9N3hrUEnvYXb+lIoiRQjqm42r6VeVcXZy6+V4dBwO6kkRVIC7WVsv4DhHugb EaY/RIPOj0mFMLbMMmZ+QZL40F6cqN/rdB6GA9nSMI2LCyNuJs/tDryFdOzyKiPNba0b Kszg== X-Gm-Message-State: AKS2vOw789CRsr5GFdes+3/BMmTdZvdWR+wGbLCkyuiUgV8RFPLWM0OW TinwMSRS9zenOHNt X-Received: by 10.80.185.3 with SMTP id m3mr2641952ede.41.1498760545496; Thu, 29 Jun 2017 11:22:25 -0700 (PDT) Received: from weierstrass.local ([91.200.110.13]) by smtp.gmail.com with ESMTPSA id e28sm1446366ede.14.2017.06.29.11.22.24 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Jun 2017 11:22:24 -0700 (PDT) Sender: Jan Blunck From: Jan Blunck To: dev@dpdk.org Cc: gaetan.rivet@6wind.com, shreyansh.jain@nxp.com Date: Thu, 29 Jun 2017 20:21:51 +0200 Message-Id: <20170629182206.1072-1-jblunck@infradead.org> X-Mailer: git-send-email 2.9.4 In-Reply-To: References: Subject: [dpdk-dev] [PATCH 00/15] bus attach/detach API and hotplug rework X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Jun 2017 18:22:26 -0000 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