From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <shreyansh.jain@nxp.com>
Received: from na01-by2-obe.outbound.protection.outlook.com
 (mail-by2on0094.outbound.protection.outlook.com [207.46.100.94])
 by dpdk.org (Postfix) with ESMTP id AB627AE06
 for <dev@dpdk.org>; Tue, 21 Jun 2016 14:02:34 +0200 (CEST)
Received: from BY2PR03CA056.namprd03.prod.outlook.com (10.141.249.29) by
 BN3PR03MB2370.namprd03.prod.outlook.com (10.166.74.153) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id
 15.1.523.12; Tue, 21 Jun 2016 12:02:33 +0000
Received: from BN1BFFO11FD014.protection.gbl (2a01:111:f400:7c10::1:105) by
 BY2PR03CA056.outlook.office365.com (2a01:111:e400:2c5d::29) with Microsoft
 SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.523.12 via
 Frontend Transport; Tue, 21 Jun 2016 12:02:33 +0000
Authentication-Results: spf=fail (sender IP is 192.88.158.2)
 smtp.mailfrom=nxp.com; 6wind.com; dkim=none (message not signed)
 header.d=none;6wind.com; dmarc=none action=none header.from=nxp.com;
Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not
 designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com;
 client-ip=192.88.158.2; helo=az84smr01.freescale.net;
Received: from az84smr01.freescale.net (192.88.158.2) by
 BN1BFFO11FD014.mail.protection.outlook.com (10.58.144.77) with Microsoft SMTP
 Server (TLS) id 15.1.517.7 via Frontend Transport; Tue, 21 Jun 2016 12:02:32
 +0000
Received: from Tophie.ap.freescale.net (Tophie.ap.freescale.net
 [10.232.14.199])
 by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id u5LC2TDH004076;
 Tue, 21 Jun 2016 05:02:30 -0700
From: Shreyansh Jain <shreyansh.jain@nxp.com>
To: <dev@dpdk.org>
CC: <viktorin@rehivetech.com>, <thomas.monjalon@6wind.com>
Date: Tue, 21 Jun 2016 17:32:29 +0530
Message-ID: <1466510566-9240-1-git-send-email-shreyansh.jain@nxp.com>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1454076516-21591-1-git-send-email-david.marchand@6wind.com>
References: <1454076516-21591-1-git-send-email-david.marchand@6wind.com>
X-EOPAttributedMessage: 0
X-Matching-Connectors: 131109841525878122;
 (91ab9b29-cfa4-454e-5278-08d120cd25b8); ()
X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI;
 SFV:NSPM;
 SFS:(10009020)(6009001)(7916002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(11100500001)(2906002)(92566002)(7846002)(87936001)(85426001)(8936002)(50226002)(86362001)(47776003)(19580395003)(586003)(15975445007)(5890100001)(81156014)(81166006)(69596002)(76176999)(50986999)(50466002)(77096005)(15395725005)(5003940100001)(229853001)(6806005)(36756003)(106466001)(105606002)(33646002)(4326007)(97736004)(8676002)(356003)(48376002)(2950100001)(110136002)(104016004)(68736007)(189998001)(2351001);
 DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR03MB2370; H:az84smr01.freescale.net; FPR:;
 SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; 
X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD014;
 1:kWjuZmlTyqZQiYxFmAvMKJ8QvF2+HkUGqCpEHx5QcxLvnRxTnuEhreq6D7icwMRdcUK88QOD/caFJWBO77IA8on7mRvB4bRa3C4kE75faylBf/gUiAsdhKFwepbbsbHpUFIDBlTLaxPrDnIA6HmD3RivE3Gsd9ydoT+2ePWOU+rEX0jICFcauljJh60gKkZ+6It6XIpqHPcmoxOs5+lEvu4cWUN8Cv8ua6IqZOpWNUPQgLw5jBvHRiMz+EMqW+TXIsZQj2O4fx1iYvKxYJAxWMzhpWhTyqmeT9MlZIRPU+3gSrhCO2IFX2hpNO0w3X6QWqJW8E4IKWUi/Sg/M2u3yHJBolO1K8Z+1fGatDrBX40AwL7iCtWBej0RBhVBnWTJ1RYth4qLFQe8TFgQoecVmWdCQ7rojFkBYwdvlaC0ESgztUTJKjZ/5kBs5S3qw3FGtlZj+x/LgF8U37QXuFa2j/PuLsU09v/fS/ZhtRToyDK/lRl930QMKCBZiCEuliEeLDI+302/96RPgGhlDC0LEJ2yHOPGgIhP/V79mGkL6Ht1pSFp4HG+6jDUygo5UXzenU5aqTUIT5aMgogLaCrKWw==
MIME-Version: 1.0
Content-Type: text/plain
X-MS-Office365-Filtering-Correlation-Id: 8f48e2ee-ad45-40a0-cc09-08d399cbed29
X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2370;
 2:3EGDH/1fyXWzVgxabLnRacWLvhDahGrlviUrlAqtg5xE/UvMBATV+Q9QBx4/R4VQvd3oLxUEtubzZBjsoQgcgOgwzpyNe510SeJ+rNONp/S4hX0fa8t1U+lNVSEFN0tbMOyzA88ISD5hdwO6e3nCqlz3C6ty0GIMk20VnI1+Bo+sFKvdAR7Si7lwfw3Kc3da;
 3:M2nk1NbwyZ+RDGVKlPiMTgIzSaCO3JqSONd9H5sGGh71FpyDveWft6gZ+KB8Bgw8TvIuqwyexMXZd6u+ES6S8/uU4ITuRAsJx5TzxZeF3WZ6opQR1As+Pps86r3tTH6rZf/iL7KlngkgbK2wj5T8vFDggyyBw6BoJvvam+4HcQwRM3LSMg9hNB9KQjxl40TXQM+o3MpL1znmeg1U4EonfBXBl20q5uVtsyqA8EPr5YU=;
 25:Qgq1jYCezUgnH2YKJ1VdIr9pOrd0z65fjuYL98Y5xFoKz32LX/MoEThnIi9Zq/UCT9+kaTKqpp4KGSQ3jdE1YdwSIratP1JfEq1JUgUL6pl1/g3N6JwJyK2Bo8tvDns7XLcPW9dRsjpkkJASiFkdPHmku4Rp+E2eqzKK0eWDXMoJMfA4DRlHQfSkejHXmLxlPPohayXbV2vuiLU9mYn/Yj+4mKTpgBhb3kobVq5agGEfTIo+K4tNbwVSNyohUxaCTVq0TMkUIvdorty/hPb+btfLZZ5a8DXnhebbGArKbS22kMake4wJmHV+X1FXS8GII/cJBBaTRmKA7Mc55IunRigpxAd+VlVBsFA34B3GbMjj/sql/+L/Ke2QhsCO/EFe7FE49iOuyQ5KAoMM9SJnWYapnr+M/Pa2D6C9jODIc14=
X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR03MB2370;
X-Microsoft-Antispam-PRVS: <BN3PR03MB23708CDF1375E25A8AEFD7BC902B0@BN3PR03MB2370.namprd03.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:;
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(601004)(2401047)(13018025)(13017025)(13024025)(13023025)(13015025)(5005006)(8121501046)(10201501046)(3002001)(6055026);
 SRVR:BN3PR03MB2370; BCL:0; PCL:0; RULEID:(400006); SRVR:BN3PR03MB2370; 
X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2370;
 4:EporMWccCArjjCri9tZ0QWrE6iTfj/kQvcOalXR6/xZ3tFBYQMmXUKN7tuCmLlo+iPE7j1KisOnfxpRc7KN6FOcLMtMmlaOpjEtQPnWpOKicYZS9CWsuVnGBUMVIUvnA6TQWWvziMBBLpDtDIyrUGSoYoyIQvOopcxZJRreBcRHVzL7XNTBow9lMMVcuGfBtOUE0LBE9A+9xtWxDbo9utDYJvBfmv6GqiCxM6TZ+0a2uSabEe2aJv9WPA0dk3IhuVbXeEewTF8bThMw+IR71V1pv8EvsnsvX86rOJsjmb2Km4OVSo0OTLQgJw0wrcdA05ytEeQW9hxL3OKGrtZH2PH3HZgRmbWVidTuBUMTy0FR+eVU6i+h1+DBTGbnGZF/D+LtT7YkSZTTlaT2O6L8Wn/LQ2OxsjpXRG0y6cJ31IWKQVcZcpBavmNRJKKK7H6tl7WiAw6ACv+v0xQQ81mvCYxeA6tvGSgPrlpeMaFvwfxk=
X-Forefront-PRVS: 098076C36C
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR03MB2370;
 23:1tbNU0FRR+YYHWk2bgjKIwyCGuCfReKcf6mguw+zv?=
 =?us-ascii?Q?eYixUpbqYCtOr08Y62OEbjleXSbZYBvRyUWhSfzEzEoUK9tTh4RxnCbTmvT9?=
 =?us-ascii?Q?IBb9L+mbbJt8JCK4tXXZN99nMvMi2PTu9QtmUbkmDcoIkDPXXbxu5eK12+mj?=
 =?us-ascii?Q?42HKa6nmkb1uAqjR9cYBS+z34ejvIQPEG0r+yUebimIBAAkQS/v3klgWjAHc?=
 =?us-ascii?Q?Xo2iBgDvSsCrW9pFk9562+lIvinuTTEM6cP9zTL0A3sUZgkznIaLC1tmrwb7?=
 =?us-ascii?Q?ylZR7gp3JtFWk9d2RBDcAjMREI9H1rnIsnWW5Os1KY+75EV5rUE3xokeeuS1?=
 =?us-ascii?Q?idrPllOQ0Es0vwOr6YGx1Py+NksWhMx67VicwfdAHe7KWaFcmcC6xVcGGZX1?=
 =?us-ascii?Q?Ui6pwOOW8TSy8XHCuf3irAzuvb915/Eo3vJ6SoaNwZ/V7+Pk8pkVcKcR7s1K?=
 =?us-ascii?Q?fkTcwhkOwO9ltxV5QXmwxQTHr5KzWihOP2JUElD83nlJOPONErp7v44lWyLl?=
 =?us-ascii?Q?g7KVXz8kwc20vFXyAr7qFVBruif35SJKEQy2KORjOPH+28Vo986mnwIZq7LC?=
 =?us-ascii?Q?PMxRJQG1ZtHNgDX1QD5LDaYi0N8PofFrt7J8vJLUKIzrHBpTBWhSCupiYLRq?=
 =?us-ascii?Q?Ok7LX0YYCchSUYwmUeJB6O4P1VheJ08BkFrHn0DOjwjYdYm81z/FYS3YvV7Y?=
 =?us-ascii?Q?T8NJXAV7gSFlwgQ3Upq9tKrGJYztm4a9QileyfsMR7qCDJ5t1ziyKmEAGbtc?=
 =?us-ascii?Q?bYKdXsORAmQUzQ+LwiNXZbKeWoT/cNWQBooy5gaka8ILUFspVdSI0AJFQ2fK?=
 =?us-ascii?Q?92G8tGEhYUyRHYLmU+cEUSIKiuBzWJR5EVC1E4PHWFuvy5WnsQYHRzAfwqqR?=
 =?us-ascii?Q?3AILr9Ufzj0bb8NqBoItXv48wAPrK49qOA9bYz+Q/XDP5BlmbtdOhoIELTDH?=
 =?us-ascii?Q?+617URamIfyMg7CeHknKAjvkLaHbg8cr1RsPxyl5uLWPKHiT9F/XTFC81ujk?=
 =?us-ascii?Q?PDY3KHm/tiudGAx8v05wkIevxlgjqW3akOAzMKqmwnoISYX8A+b9UpX0DrHA?=
 =?us-ascii?Q?CpizV/zi4WpgoU7OUHZROD90thzWoBpEsaNYdNSzn20wnDBUUWbmDWTDB690?=
 =?us-ascii?Q?hVCqCaVanR3GOuWz5on0QvtANpr/RKChHH2O4WqnWepVr0H6+Tqjw=3D=3D?=
X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2370;
 6:zOWQgGi7+cAgRCKSA2MgI9OsTG8B0ItAV25RzQYQK543g+mo1Oq43U3rzh7/y/C0bJR2URUBdKLlOj6q/2iQt1g1OwRWot8jgkb1ZVOn0F9yKWqC4ss/oybyhithpANjMw4nuAb/LvY2Z1hjeWmtvVg5Y8NuiT/aVDDTTd8RXIVhuwc60HOMSLVzG9WYIoJhBJZuVxxkbEOLyqj6jm/0w7Mswospn1COuCSJiqTHVeN5/tYVa+JxP5iIxJ1JjzpkNMEjgiN8YGb++FqgoQWagGHKxKds+GxNg43N+5HBGr0=;
 5:rpmXdwk9Hm+/bzZpGX6cuZYrhVb0Bf603IW36SB8zi3hlUHCnJyO9qe+FFSz0h6glA8bCJNInh+CMLnVO7B7d7IOt+w3ENR1q+FJyeQSVXX6SG8KxoXHfPSUAvGkiStWs1Xrz3ao1iV4DXjI0CiqiCLnbB34WG2nhb9p449bN4o=;
 24:DMEuDl7WlqcKfR+ZNI8PdlYA2zTvw++YGw3XNTZNbCUSNW9aBujPP3MSrEvdAc+xbsL7Ap+N6mKm4d1XE8MJB8LBCnLlOsZ+Mu3TnLcB4w8=;
 7:JJCx5kQzvWR7e7VGX8Mtj+5+HRyLG0M7QXMHU2VqT1YktbvEEdgRt846qtxYekP6tqd2cftynOoxYzXezPUQW8vTAF+Nli0ERESdUHl3LYNC7O+QtBdsPsn24iGVI+KcIbx7eBbdIFT/7uXcvr6h2ksdENQq+fBsULuVD/1fwXYAPvbwi6JeTKWcp7m/ply8+vczLPw4gGdlIBe6i/xYnXaxrJ+lmPqNZFPPYy8YwobeCkhRTkDP4T8BcnpM2l+W
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jun 2016 12:02:32.3382 (UTC)
X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.158.2];
 Helo=[az84smr01.freescale.net]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR03MB2370
Subject: [dpdk-dev] [PATCH v4 00/17] prepare for rte_device / rte_driver
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Tue, 21 Jun 2016 12:02:35 -0000

* Original patch series is from David Marchand [1], [2].
* Cover letter text has been modified to make it author agnostic

David created the original patchset based on the discussions on list [3].
Being a large piece of work, this patchset introduces first level of changes
for generalizing the driver-device relationship for supporting hotplug.

Pending work, as per discussions in thread [3]:
- Heirarchical relationship between rte_driver/device, pci_*, crypto_*
- Cleaner device init/deinit methods (probably from rte_driver onwards)
- Moving generic flags/fields from pci_* structure to rte_* structure
- Removing dependency on devargs for pdev/vdev distinction
- Device/Driver lists: discussion and decision on separate or unified lists

Changes since v3:
- rebase over HEAD (913154e)
- Update arguments to RTE_EAL_PCI_REGISTER macro as per Jan's suggestion
- modify qede driver to use RTE_EAL_PCI_REGISTER
- Argument check in hotplug functions

Changes since v2:
- rebase over HEAD (d76c193)
- Move SYSFS_PCI_DRIVERS macro to rte_pci.h to avoid compilation issue

Changes since v1:
- rebased on HEAD, new drivers should be okay
- patches have been split into smaller pieces
- RTE_INIT macro has been added, but in the end, I am not sure it is useful
- device type has been removed from ethdev, as it was used only by hotplug
- getting rid of pmd type in eal patch (patch 5 of initial series) has been
  dropped for now, we can do this once vdev drivers have been converted

[1] http://dpdk.org/ml/archives/dev/2016-January/032387.html
[2] http://dpdk.org/ml/archives/dev/2016-April/037686.html
[3] http://dpdk.org/ml/archives/dev/2016-January/031390.html

David Marchand (17):
  pci: no need for dynamic tailq init
  crypto: no need for a crypto pmd type
  drivers: align pci driver definitions
  eal: remove duplicate function declaration
  eal: introduce init macros
  crypto: export init/uninit common wrappers for pci drivers
  ethdev: export init/uninit common wrappers for pci drivers
  drivers: convert all pdev drivers as pci drivers
  crypto: get rid of crypto driver register callback
  ethdev: get rid of eth driver register callback
  eal/linux: move back interrupt thread init before setting affinity
  pci: add a helper for device name
  pci: add a helper to update a device
  ethdev: do not scan all pci devices on attach
  eal: add hotplug operations for pci and vdev
  ethdev: convert to eal hotplug
  ethdev: get rid of device type

 app/test/virtual_pmd.c                          |   2 +-
 drivers/crypto/qat/rte_qat_cryptodev.c          |  18 +-
 drivers/net/af_packet/rte_eth_af_packet.c       |   2 +-
 drivers/net/bnx2x/bnx2x_ethdev.c                |  35 +---
 drivers/net/bonding/rte_eth_bond_api.c          |   2 +-
 drivers/net/cxgbe/cxgbe_ethdev.c                |  24 +--
 drivers/net/cxgbe/cxgbe_main.c                  |   2 +-
 drivers/net/e1000/em_ethdev.c                   |  16 +-
 drivers/net/e1000/igb_ethdev.c                  |  40 +----
 drivers/net/ena/ena_ethdev.c                    |  20 +--
 drivers/net/enic/enic_ethdev.c                  |  23 +--
 drivers/net/fm10k/fm10k_ethdev.c                |  23 +--
 drivers/net/i40e/i40e_ethdev.c                  |  26 +--
 drivers/net/i40e/i40e_ethdev_vf.c               |  25 +--
 drivers/net/ixgbe/ixgbe_ethdev.c                |  47 +----
 drivers/net/mlx4/mlx4.c                         |  22 +--
 drivers/net/mlx5/mlx5.c                         |  21 +--
 drivers/net/mpipe/mpipe_tilegx.c                |   2 +-
 drivers/net/nfp/nfp_net.c                       |  23 +--
 drivers/net/null/rte_eth_null.c                 |   2 +-
 drivers/net/pcap/rte_eth_pcap.c                 |   2 +-
 drivers/net/qede/qede_ethdev.c                  |  40 +----
 drivers/net/ring/rte_eth_ring.c                 |   2 +-
 drivers/net/szedata2/rte_eth_szedata2.c         |  25 +--
 drivers/net/vhost/rte_eth_vhost.c               |   2 +-
 drivers/net/virtio/virtio_ethdev.c              |  26 +--
 drivers/net/vmxnet3/vmxnet3_ethdev.c            |  23 +--
 drivers/net/xenvirt/rte_eth_xenvirt.c           |   2 +-
 examples/ip_pipeline/init.c                     |  22 ---
 lib/librte_cryptodev/rte_cryptodev.c            |  67 ++-----
 lib/librte_cryptodev/rte_cryptodev.h            |   2 -
 lib/librte_cryptodev/rte_cryptodev_pmd.h        |  45 ++---
 lib/librte_cryptodev/rte_cryptodev_version.map  |   9 +-
 lib/librte_eal/bsdapp/eal/eal_pci.c             |  52 +++++-
 lib/librte_eal/bsdapp/eal/rte_eal_version.map   |   2 +
 lib/librte_eal/common/eal_common_dev.c          |  47 +++++
 lib/librte_eal/common/eal_common_pci.c          |  19 +-
 lib/librte_eal/common/eal_private.h             |  20 ++-
 lib/librte_eal/common/include/rte_dev.h         |  29 +++-
 lib/librte_eal/common/include/rte_eal.h         |   3 +
 lib/librte_eal/common/include/rte_pci.h         |  36 ++++
 lib/librte_eal/common/include/rte_tailq.h       |   4 +-
 lib/librte_eal/linuxapp/eal/eal.c               |   7 +-
 lib/librte_eal/linuxapp/eal/eal_pci.c           |  16 +-
 lib/librte_eal/linuxapp/eal/rte_eal_version.map |   2 +
 lib/librte_ether/rte_ethdev.c                   | 222 +++++-------------------
 lib/librte_ether/rte_ethdev.h                   |  40 ++---
 lib/librte_ether/rte_ether_version.map          |   4 +-
 48 files changed, 395 insertions(+), 750 deletions(-)

-- 
2.7.4