[dpdk-dev] [PATCH v8 10/14] eal/pci: Cleanup pci driver initialization code

Thomas Monjalon thomas.monjalon at 6wind.com
Tue Feb 17 02:18:53 CET 2015


2015-02-16 13:14, Tetsuya Mukawa:
> - Add rte_eal_pci_close_one_dirver()
>   The function is used for closing the specified driver and device.
> - Add pci_invoke_all_drivers()
>   The function is based on pci_probe_all_drivers. But it can not only
>   probe but also close drivers.
> - Add pci_close_all_drivers()
>   The function tries to find a driver for the specified device, and
>   then close the driver.
> - Add rte_eal_pci_probe_one() and rte_eal_pci_close_one()
>   The functions are used for probe and close a device.
>   First the function tries to find a device that has the specified
>   PCI address. Then, probe or close the device.
> 
> v5:
> - Remove RTE_EAL_INVOKE_TYPE_UNKNOWN, because it's unused.
> v4:
> - Fix parameter checking.
> - Fix indent of 'if' statement.
> 
> Signed-off-by: Tetsuya Mukawa <mukawa at igel.co.jp>
> ---
>  lib/librte_eal/common/eal_common_pci.c  | 90 +++++++++++++++++++++++++++++----
>  lib/librte_eal/common/eal_private.h     | 24 +++++++++
>  lib/librte_eal/common/include/rte_pci.h | 33 ++++++++++++
>  lib/librte_eal/linuxapp/eal/eal_pci.c   | 69 +++++++++++++++++++++++++
>  4 files changed, 206 insertions(+), 10 deletions(-)

206 insertions and 10 deletions: it cannot really be a cleanup ;)
Maybe the title should be reworded.

[...]
> -		rc = rte_eal_pci_probe_one_driver(dr, dev);
> +		switch (type) {
> +		case RTE_EAL_INVOKE_TYPE_PROBE:
> +			rc = rte_eal_pci_probe_one_driver(dr, dev);
> +			break;
> +		case RTE_EAL_INVOKE_TYPE_CLOSE:
> +			rc = rte_eal_pci_close_one_driver(dr, dev);
> +			break;

Honestly, I don't like this kind of functions with a switch to toggle
different actions. It makes code unclear.



More information about the dev mailing list