[dpdk-dev] [PATCH v7 06/12] eal: Add pci_uio_alloc_resource()

Tetsuya Mukawa mukawa at igel.co.jp
Fri Jul 3 10:52:11 CEST 2015


On 2015/07/02 19:46, Bruce Richardson wrote:
> On Tue, Jun 30, 2015 at 05:24:22PM +0900, Tetsuya Mukawa wrote:
>> From: "Tetsuya.Mukawa" <mukawa at igel.co.jp>
>>
>> This patch adds a new function called pci_uio_alloc_resource().
>> The function hides how to prepare uio resource in linuxapp and bsdapp.
>> With the function, pci_uio_map_resource() will be more abstracted.
>>
>> Signed-off-by: Tetsuya Mukawa <mukawa at igel.co.jp>
>> ---
>>  lib/librte_eal/bsdapp/eal/eal_pci.c       | 70 +++++++++++++++++++---------
>>  lib/librte_eal/linuxapp/eal/eal_pci_uio.c | 77 ++++++++++++++++++++++---------
>>  2 files changed, 104 insertions(+), 43 deletions(-)
>>
>> diff --git a/lib/librte_eal/bsdapp/eal/eal_pci.c b/lib/librte_eal/bsdapp/eal/eal_pci.c
>> index 06c564f..7d2f8b5 100644
>> --- a/lib/librte_eal/bsdapp/eal/eal_pci.c
>> +++ b/lib/librte_eal/bsdapp/eal/eal_pci.c
>> @@ -189,28 +189,17 @@ pci_uio_map_secondary(struct rte_pci_device *dev)
>>  	return 1;
>>  }
>>  
>> -/* map the PCI resource of a PCI device in virtual memory */
>>  static int
>> -pci_uio_map_resource(struct rte_pci_device *dev)
>> +pci_uio_alloc_resource(struct rte_pci_device *dev,
>> +		struct mapped_pci_resource **uio_res)
> Rather than having to pass in a pointer to a pointer, why not change the
> return type to be "struct mapped_pci_resource *"? The only return values currently
> are 0 and -1, so those could map to non-NULL and NULL respectively, for error
> checking.
>
> /Bruce

It might be difficult to do like above, because pci_uio_alloc_resource()
returns 0, -1 and 1 as return value so far.

Original pci_uio_map_resource() returns negative return value as error,
and positive value as driver not found.
So I follow this specification while implementing the function.

Tetsuya


More information about the dev mailing list