From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 52C175A6E for ; Mon, 4 Sep 2017 11:46:49 +0200 (CEST) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Sep 2017 02:46:48 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,474,1498546800"; d="scan'208";a="125364031" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.237.220.57]) ([10.237.220.57]) by orsmga004.jf.intel.com with ESMTP; 04 Sep 2017 02:46:47 -0700 To: Nirmoy Das Cc: dev@dpdk.org References: <20170829150613.10597-1-ndas@suse.de> From: Ferruh Yigit Message-ID: <08b26c8d-a239-87b9-cb96-20730f0fb206@intel.com> Date: Mon, 4 Sep 2017 10:46:46 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <20170829150613.10597-1-ndas@suse.de> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH v2] kni: fix build on SLE12 SP3 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Sep 2017 09:46:49 -0000 On 8/29/2017 4:06 PM, Nirmoy Das wrote: > compilation error: > build/lib/librte_eal/linuxapp/kni/kni_net.c:215:5: error: > ‘struct net_device’ has no member named ‘trans_start’ > dev->trans_start = jiffies; > > Signed-off-by: Nirmoy Das > --- > lib/librte_eal/linuxapp/kni/compat.h | 32 +++++++++++++++++++++++++++++++- > 1 file changed, 31 insertions(+), 1 deletion(-) > > diff --git a/lib/librte_eal/linuxapp/kni/compat.h b/lib/librte_eal/linuxapp/kni/compat.h > index 6a1587b4e..19f8e96ce 100644 > --- a/lib/librte_eal/linuxapp/kni/compat.h > +++ b/lib/librte_eal/linuxapp/kni/compat.h > @@ -8,6 +8,34 @@ > #define RHEL_RELEASE_VERSION(a, b) (((a) << 8) + (b)) > #endif > > +/* SuSE version macro is the same as Linux kernel version */ > +#ifndef SLE_VERSION > +#define SLE_VERSION(a, b, c) KERNEL_VERSION(a, b, c) > +#endif > +#ifdef CONFIG_SUSE_KERNEL > +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 57)) > +/* SLES12SP3 is at least 4.4.57+ based */ > +#define SLE_VERSION_CODE SLE_VERSION(12, 3, 0) Just to double check, is there a macro set in SUSE that we can use here, instead of defining here ourselves, like RHEL_RELEASE_CODE? > +#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 12, 28)) > +/* SLES12 is at least 3.12.28+ based */ > +#define SLE_VERSION_CODE SLE_VERSION(12, 0, 0) > +#elif ((LINUX_VERSION_CODE >= KERNEL_VERSION(3, 0, 61)) && \ > + (LINUX_VERSION_CODE < KERNEL_VERSION(3, 1, 0))) This line gives following checkpatch warning: WARNING:LEADING_SPACE: please, no spaces at the start of a line > +/* SLES11 SP3 is at least 3.0.61+ based */ > +#define SLE_VERSION_CODE SLE_VERSION(11, 3, 0) > +#elif (LINUX_VERSION_CODE == KERNEL_VERSION(2, 6, 32)) > +/* SLES11 SP1 is 2.6.32 based */ > +#define SLE_VERSION_CODE SLE_VERSION(11, 1, 0) > +#elif (LINUX_VERSION_CODE == KERNEL_VERSION(2, 6, 27)) > +/* SLES11 GA is 2.6.27 based */ > +#define SLE_VERSION_CODE SLE_VERSION(11, 0, 0) > +#endif /* LINUX_VERSION_CODE == KERNEL_VERSION(x,y,z) */ > +#endif /* CONFIG_SUSE_KERNEL */ > +#ifndef SLE_VERSION_CODE > +#define SLE_VERSION_CODE 0 [1] see below. > +#endif /* SLE_VERSION_CODE */ > + > + > #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 39) && \ > (!(defined(RHEL_RELEASE_CODE) && \ > RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6, 4))) > @@ -55,7 +83,9 @@ > > #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) || \ > (defined(RHEL_RELEASE_CODE) && \ > - RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7, 4)) > + RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7, 4)) || \ > + (defined(SLE_VERSION_CODE) && \ defined check is not required, since SLE_VERSION_CODE always defined [1]. It can be either: a) (SLE_VERSION_CODE && SLE_VERSION_CODE == SLE_VERSION(12, 3, 0)) or directly check: b) (SLE_VERSION_CODE == SLE_VERSION(12, 3, 0)) > + SLE_VERSION_CODE == SLE_VERSION(12, 3, 0)) > #define HAVE_TRANS_START_HELPER > #endif > >