1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright 2020-2021 NXP
5 #include <ethdev_vdev.h>
6 #include <ethdev_driver.h>
7 #include "enet_pmd_logs.h"
8 #include "enet_ethdev.h"
10 #define ENETFEC_NAME_PMD net_enetfec
13 enetfec_eth_init(struct rte_eth_dev *dev)
15 rte_eth_dev_probing_finish(dev);
20 pmd_enetfec_probe(struct rte_vdev_device *vdev)
22 struct rte_eth_dev *dev = NULL;
23 struct enetfec_private *fep;
27 name = rte_vdev_device_name(vdev);
28 ENETFEC_PMD_LOG(INFO, "Initializing pmd_fec for %s", name);
30 dev = rte_eth_vdev_allocate(vdev, sizeof(*fep));
34 /* setup board info structure */
35 fep = dev->data->dev_private;
37 rc = enetfec_eth_init(dev);
44 ENETFEC_PMD_ERR("Failed to init");
49 pmd_enetfec_remove(struct rte_vdev_device *vdev)
51 struct rte_eth_dev *eth_dev = NULL;
54 /* find the ethdev entry */
55 eth_dev = rte_eth_dev_allocated(rte_vdev_device_name(vdev));
59 ret = rte_eth_dev_release_port(eth_dev);
63 ENETFEC_PMD_INFO("Release enetfec sw device");
67 static struct rte_vdev_driver pmd_enetfec_drv = {
68 .probe = pmd_enetfec_probe,
69 .remove = pmd_enetfec_remove,
72 RTE_PMD_REGISTER_VDEV(ENETFEC_NAME_PMD, pmd_enetfec_drv);
73 RTE_LOG_REGISTER_DEFAULT(enetfec_logtype_pmd, NOTICE);