From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shreyansh Jain Subject: Re: [PATCH v4 03/41] bus/dpaa: add compatibility and helper macros Date: Tue, 19 Sep 2017 18:48:48 +0530 Message-ID: <690be1c8-67d1-31e0-b1dc-4b270b1f8519@nxp.com> References: <20170823141213.25476-1-shreyansh.jain@nxp.com> <20170909112132.13936-1-shreyansh.jain@nxp.com> <20170909112132.13936-4-shreyansh.jain@nxp.com> <916531df-edb4-d0fe-cb86-32cedb6fc46a@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Cc: , To: Ferruh Yigit Return-path: Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0058.outbound.protection.outlook.com [104.47.42.58]) by dpdk.org (Postfix) with ESMTP id 292D71AEF5 for ; Tue, 19 Sep 2017 15:07:55 +0200 (CEST) In-Reply-To: <916531df-edb4-d0fe-cb86-32cedb6fc46a@intel.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Monday 18 September 2017 08:19 PM, Ferruh Yigit wrote: > On 9/9/2017 12:20 PM, Shreyansh Jain wrote: >> From: Hemant Agrawal >> >> Linked list, bit operations and compatibility macros. >> >> Signed-off-by: Geoff Thorpe >> Signed-off-by: Hemant Agrawal > > <...> > >> 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. >> + */ > > <...> > >> +#ifdef ARRAY_SIZE >> +#undef ARRAY_SIZE >> +#endif >> +#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) > > Can re-use RTE_DIM I can change this. Thanks for highlighting. > > <...> > >> +#define ASSERT(x) do {\ >> + if (!(x)) \ >> + rte_panic("DPAA: x"); \ >> +} while (0) >> +#define DPAA_BUG_ON(x) ASSERT(!(x)) > > Can use RTE_ASSERT I will change this. > > <...> > >> + >> +#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/) are something I am trying to keep as close to possible to DPDK. - Shreyansh