| 382 | } |
| 383 | |
| 384 | static int |
| 385 | driver_probe_device(struct rte_platform_driver *pdrv, struct rte_platform_device *pdev) |
| 386 | { |
| 387 | enum rte_iova_mode iova_mode; |
| 388 | int ret; |
| 389 | |
| 390 | iova_mode = rte_eal_iova_mode(); |
| 391 | if (pdrv->drv_flags & RTE_PLATFORM_DRV_NEED_IOVA_AS_VA && iova_mode != RTE_IOVA_VA) { |
| 392 | PLATFORM_LOG(ERR, "driver %s expects VA IOVA mode but current mode is PA\n", |
| 393 | pdrv->driver.name); |
| 394 | return -EINVAL; |
| 395 | } |
| 396 | |
| 397 | ret = device_setup(pdev); |
| 398 | if (ret) |
| 399 | return ret; |
| 400 | |
| 401 | ret = driver_call_probe(pdrv, pdev); |
| 402 | if (ret) |
| 403 | device_cleanup(pdev); |
| 404 | |
| 405 | return ret; |
| 406 | } |
| 407 | |
| 408 | static bool |
| 409 | driver_match_device(struct rte_platform_driver *pdrv, struct rte_platform_device *pdev) |
no test coverage detected