| 1656 | } |
| 1657 | |
| 1658 | int |
| 1659 | rte_event_pmd_release(struct rte_eventdev *eventdev) |
| 1660 | { |
| 1661 | int ret; |
| 1662 | char mz_name[RTE_EVENTDEV_NAME_MAX_LEN]; |
| 1663 | const struct rte_memzone *mz; |
| 1664 | |
| 1665 | if (eventdev == NULL) |
| 1666 | return -EINVAL; |
| 1667 | |
| 1668 | event_dev_fp_ops_reset(rte_event_fp_ops + eventdev->data->dev_id); |
| 1669 | eventdev->attached = RTE_EVENTDEV_DETACHED; |
| 1670 | eventdev_globals.nb_devs--; |
| 1671 | |
| 1672 | if (rte_eal_process_type() == RTE_PROC_PRIMARY) { |
| 1673 | rte_free(eventdev->data->dev_private); |
| 1674 | |
| 1675 | /* Generate memzone name */ |
| 1676 | ret = snprintf(mz_name, sizeof(mz_name), "rte_eventdev_data_%u", |
| 1677 | eventdev->data->dev_id); |
| 1678 | if (ret >= (int)sizeof(mz_name)) |
| 1679 | return -EINVAL; |
| 1680 | |
| 1681 | mz = rte_memzone_lookup(mz_name); |
| 1682 | if (mz == NULL) |
| 1683 | return -ENOMEM; |
| 1684 | |
| 1685 | ret = rte_memzone_free(mz); |
| 1686 | if (ret) |
| 1687 | return ret; |
| 1688 | } |
| 1689 | |
| 1690 | eventdev->data = NULL; |
| 1691 | return 0; |
| 1692 | } |
| 1693 | |
| 1694 | void |
| 1695 | event_dev_probing_finish(struct rte_eventdev *eventdev) |
no test coverage detected