[dpdk-dev] [PATCH v4 03/41] bus/dpaa: add compatibility and helper macros

Ferruh Yigit ferruh.yigit at intel.com
Tue Sep 19 15:40:59 CEST 2017


On 9/19/2017 2:18 PM, Shreyansh Jain wrote:
> On Monday 18 September 2017 08:19 PM, Ferruh Yigit wrote:
>> On 9/9/2017 12:20 PM, Shreyansh Jain wrote:
>>> From: Hemant Agrawal <hemant.agrawal at nxp.com>
>>>
>>> Linked list, bit operations and compatibility macros.
>>>
>>> Signed-off-by: Geoff Thorpe <geoff.thorpe at nxp.com>
>>> Signed-off-by: Hemant Agrawal <hemant.agrawal at nxp.com>
>>
>> <...>
>>
>>> diff --git a/drivers/bus/dpaa/include/compat.h b/drivers/bus/dpaa/include/compat.h
>>> new file mode 100644
>>> index 0000000..a1fd53e
>>> --- /dev/null
>>> +++ b/drivers/bus/dpaa/include/compat.h
>>> @@ -0,0 +1,389 @@
>>> +/*-
>>> + * This file is provided under a dual BSD/GPLv2 license. When using or
>>> + * redistributing this file, you may do so under either license.
>>
>> The content of the file looks like for Linux, is the file coming from an
>> existing GPL license? If so, is it allowed to add BSD license to this?
>>
>>> + *
>>> + *   BSD LICENSE
>>> + *
>>> + * Copyright 2011 Freescale Semiconductor, Inc.
>>> + * All rights reserved.
>>> + *
>>> + * Redistribution and use in source and binary forms, with or without
>>> + * modification, are permitted provided that the following conditions are met:
>>> + * * Redistributions of source code must retain the above copyright
>>> + * notice, this list of conditions and the following disclaimer.
>>> + * * Redistributions in binary form must reproduce the above copyright
>>> + * notice, this list of conditions and the following disclaimer in the
>>> + * documentation and/or other materials provided with the distribution.
>>> + * * Neither the name of the above-listed copyright holders nor the
>>> + * names of any contributors may be used to endorse or promote products
>>> + * derived from this software without specific prior written permission.
>>> + *
>>> + *   GPL LICENSE SUMMARY
>>> + *
>>> + * ALTERNATIVELY, this software may be distributed under the terms of the
>>> + * GNU General Public License ("GPL") as published by the Free Software
>>> + * Foundation, either version 2 of that License or (at your option) any
>>> + * later version.
>>> + *
>>> + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
>>> + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
>>> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
>>> + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
>>> + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
>>> + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
>>> + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
>>> + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
>>> + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
>>> + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
>>> + * POSSIBILITY OF SUCH DAMAGE.
>>> + */
>>

<...>

>>> +
>>> +#ifndef __DPAA_LIST_H
>>> +#define __DPAA_LIST_H
>>> +
>>> +/****************/
>>> +/* Linked-lists */
>>> +/****************/
>>
>> Do we need to maintain a linked list implementation, why no just use
>> sys/queue.h ones as done many places in DPDK?
>>
>>> +
>>> +struct list_head {
>>> +	struct list_head *prev;
>>> +	struct list_head *next;
>>> +};
>>> +
>>
>> <...>
>>
> 
> The underlying DPAA infrastructure code is shared between kernel and 
> userspace. That is why, changing the internal headers (for example, 
> using RTE_* queues) is something I want to avoid until absolutely 
> necessary. The outer layers (drivers/*/dpaa/<here>) are something I am 
> trying to keep as close to possible to DPDK.

I understand you want to escape from maintaining a copy of common files
for DPDK, this has been done by many drivers, as not changing "base"
files, this makes sense.

But for this case, file is "dpaa_list.h" and as far as I can see all it
has is linked list implementation, this looked easy to exclude, but if
not you can ignore the comment.

> 
> -
> Shreyansh
> 



More information about the dev mailing list