From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from wes1-so1.wedos.net (wes1-so1.wedos.net [46.28.106.15]) by dpdk.org (Postfix) with ESMTP id 9CA558DA1 for ; Mon, 18 Jan 2016 17:05:13 +0100 (CET) Received: from pcviktorin.fit.vutbr.cz (pcviktorin.fit.vutbr.cz [147.229.13.147]) by wes1-so1.wedos.net (Postfix) with ESMTPSA id 3pkdHY03wNz37Z; Mon, 18 Jan 2016 17:05:12 +0100 (CET) From: Jan Viktorin To: dev@dpdk.org Date: Mon, 18 Jan 2016 17:03:01 +0100 Message-Id: <1453132987-20564-1-git-send-email-viktorin@rehivetech.com> X-Mailer: git-send-email 2.7.0 Cc: Jan Viktorin Subject: [dpdk-dev] [RFC 0/6] Preview of a big eal/ethdev cleanup X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jan 2016 16:05:13 -0000 Hello, based on the recent discussions [1], I have prepared a little preview of patches reflecting the basic ideas. That is: * generalization of device and driver structures * embedding a generic device and driver structure in the bus-specific ones * moving some members from PCI-specific structures to the generic ones * introduction of the container_of macro The code compiles for x86_64/linux/gcc, however, I didn't try any runtime yet. [1] http://dpdk.org/ml/archives/dev/2016-January/031390.html Regards Jan --- Jan Viktorin (6): eal: introduce rte_bus_device and rte_bus_driver eal: define macro container_of eal: move devargs from rte_pci_device to rte_device eal: move numa_node from rte_pci_device to rte_device eal: move intr_handle from rte_pci_device to rte_device eal: move driver pointer from rte_pci_device to rte_bus_device app/test/virtual_pmd.c | 4 +-- drivers/net/e1000/em_ethdev.c | 14 +++++----- drivers/net/e1000/igb_ethdev.c | 24 ++++++++--------- drivers/net/enic/enic_main.c | 4 +-- drivers/net/fm10k/fm10k_ethdev.c | 16 ++++++------ drivers/net/i40e/i40e_ethdev.c | 32 +++++++++++------------ drivers/net/i40e/i40e_ethdev_vf.c | 16 ++++++------ drivers/net/ixgbe/ixgbe_ethdev.c | 28 ++++++++++---------- drivers/net/virtio/virtio_ethdev.c | 41 ++++++++++++++++++------------ lib/librte_cryptodev/rte_cryptodev.c | 3 ++- lib/librte_eal/bsdapp/eal/eal_pci.c | 16 ++++++------ lib/librte_eal/common/eal_common_pci.c | 14 +++++----- lib/librte_eal/common/eal_common_pci_uio.c | 18 ++++++------- lib/librte_eal/common/include/rte_common.h | 16 ++++++++++++ lib/librte_eal/common/include/rte_dev.h | 15 +++++++++++ lib/librte_eal/common/include/rte_pci.h | 10 +++++--- lib/librte_eal/linuxapp/eal/eal_pci.c | 8 +++--- lib/librte_eal/linuxapp/eal/eal_pci_uio.c | 28 ++++++++++---------- lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 14 +++++----- lib/librte_ether/rte_ethdev.c | 16 +++++++----- 20 files changed, 191 insertions(+), 146 deletions(-) -- 2.7.0