lantiq: ltq-vdsl: fix compilation with Linux 5.0+
authorMartin Blumenstingl <martin.blumenstingl@googlemail.com>
Sat, 29 Feb 2020 21:36:29 +0000 (22:36 +0100)
committerMathias Kresin <dev@kresin.me>
Mon, 16 Mar 2020 21:28:16 +0000 (22:28 +0100)
Upstream commit e4b92b108c6cd6 ("timekeeping: remove obsolete time
accessors") removed do_gettimeofday(). In Linux 4.19 this was only a
wrapper around ktime_get_real_ts64(). Use ktime_get_real_ts64() now that
the wrapper is gone to fix compilation against Linux 5.4.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
package/kernel/lantiq/ltq-vdsl/patches/100-compat.patch

index a8ce61fa36c69c18e36536f3e0713f348beb147c..28d1da7c33fdca238d5d86b3c584a6b808be363e 100644 (file)
  #endif
  
     if (pINode == DSL_NULL)
-@@ -1203,6 +1197,9 @@ static void DSL_DRV_NlSendMsg(DSL_char_t
+@@ -917,12 +911,19 @@ DSL_int32_t DSL_DRV_ThreadShutdown(
+ DSL_uint32_t DSL_DRV_SysTimeGet(DSL_uint32_t nOffset)
+ {
+-   struct timeval tv;
+    DSL_uint32_t nTime = 0;
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 0, 0))
++   struct timeval tv;
+    memset(&tv, 0, sizeof(tv));
+    do_gettimeofday(&tv);
+    nTime = (DSL_uint32_t)tv.tv_sec;
++#else
++   struct timespec64 now;
++
++   ktime_get_real_ts64(&now);
++   nTime = (DSL_uint32_t)now.tv_sec;
++#endif
+    if ( (nOffset == 0) || (nOffset > nTime) )
+    {
+@@ -1203,6 +1204,9 @@ static void DSL_DRV_NlSendMsg(DSL_char_t
  }
  #endif
  
@@ -45,7 +66,7 @@
  /* Entry point of driver */
  int __init DSL_ModuleInit(void)
  {
-@@ -1241,6 +1238,10 @@ int __init DSL_ModuleInit(void)
+@@ -1241,6 +1245,10 @@ int __init DSL_ModuleInit(void)
  
     DSL_DRV_DevNodeInit();
  
@@ -56,7 +77,7 @@
     return 0;
  }
  
-@@ -1248,6 +1249,11 @@ void __exit DSL_ModuleCleanup(void)
+@@ -1248,6 +1256,11 @@ void __exit DSL_ModuleCleanup(void)
  {
     printk("Module will be unloaded"DSL_DRV_CRLF);