[dpdk-dev] kni: fix build on SLE12 SP3

Message ID 20170815095801.24988-1-ndas@suse.de (mailing list archive)
State Changes Requested, archived
Delegated to: Thomas Monjalon
Headers

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Intel-compilation success Compilation OK

Commit Message

Nirmoy Das Aug. 15, 2017, 9:58 a.m. UTC
  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 <ndas@suse.de>
---
 lib/librte_eal/linuxapp/kni/compat.h | 32 +++++++++++++++++++++++++++++++-
 1 file changed, 31 insertions(+), 1 deletion(-)
  

Comments

Ferruh Yigit Aug. 18, 2017, 4:13 p.m. UTC | #1
Hi Nirmoy,

On 8/15/2017 10:58 AM, 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’

Commit log is too long, can you please break this line.

>   dev->trans_start = jiffies;
> 
> Signed-off-by: Nirmoy Das <ndas@suse.de>
> ---
>  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..81a4a5704 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)
> +#elif ( LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,28) )

There are checkpach warnings [1], can you please send a new version with
them fixes?

[1]
ERROR:SPACING
For spaces after, before the parenthesis and for missing space after ","
in args list..

> +/* 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)))
> +/* 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
> +#endif /* SLE_VERSION_CODE */

<...>
  

Patch

diff --git a/lib/librte_eal/linuxapp/kni/compat.h b/lib/librte_eal/linuxapp/kni/compat.h
index 6a1587b4e..81a4a5704 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)
+#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)))
+/* 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
+#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) && \
+	  SLE_VERSION_CODE == SLE_VERSION(12,3,0))
 #define HAVE_TRANS_START_HELPER
 #endif