From 6778948f9de86c3cfaf36725a7c87dcff9ba247f Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Mon, 11 Dec 2023 08:20:59 +0000
Subject: [PATCH] kernel_5.10 no rt

---
 kernel/drivers/gpu/arm/mali400/mali/linux/mali_osk_timers.c |   33 ++++++++++++++++++++++++---------
 1 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/kernel/drivers/gpu/arm/mali400/mali/linux/mali_osk_timers.c b/kernel/drivers/gpu/arm/mali400/mali/linux/mali_osk_timers.c
index 72d3980..d01c114 100755
--- a/kernel/drivers/gpu/arm/mali400/mali/linux/mali_osk_timers.c
+++ b/kernel/drivers/gpu/arm/mali400/mali/linux/mali_osk_timers.c
@@ -18,44 +18,59 @@
 #include "mali_osk.h"
 #include "mali_kernel_common.h"
 
+struct _mali_osk_timer_t_struct {
+	struct timer_list timer;
+};
+
 typedef void (*timer_timeout_function_t)(unsigned long);
 
-void _mali_osk_timer_init(_mali_osk_timer_t *tim, _mali_osk_timer_callback_t callback)
+_mali_osk_timer_t *_mali_osk_timer_init(_mali_osk_timer_callback_t callback)
 {
-	_mali_osk_timer_t *t = tim;
+	_mali_osk_timer_t *t = (_mali_osk_timer_t *)kmalloc(sizeof(_mali_osk_timer_t), GFP_KERNEL);
 	if (NULL != t)
-		timer_setup(t,
+		timer_setup(&t->timer,
 			    (void (*)(struct timer_list *))callback, 0);
+	return t;
 }
 
 void _mali_osk_timer_add(_mali_osk_timer_t *tim, unsigned long ticks_to_expire)
 {
 	MALI_DEBUG_ASSERT_POINTER(tim);
-	tim->expires = jiffies + ticks_to_expire;
-	add_timer(tim);
+	tim->timer.expires = jiffies + ticks_to_expire;
+	add_timer(&(tim->timer));
 }
 
 void _mali_osk_timer_mod(_mali_osk_timer_t *tim, unsigned long ticks_to_expire)
 {
 	MALI_DEBUG_ASSERT_POINTER(tim);
-	mod_timer(tim, jiffies + ticks_to_expire);
+	mod_timer(&(tim->timer), jiffies + ticks_to_expire);
 }
 
 void _mali_osk_timer_del(_mali_osk_timer_t *tim)
 {
 	MALI_DEBUG_ASSERT_POINTER(tim);
-	del_timer_sync(tim);
+	del_timer_sync(&(tim->timer));
 }
 
 void _mali_osk_timer_del_async(_mali_osk_timer_t *tim)
 {
 	MALI_DEBUG_ASSERT_POINTER(tim);
-	del_timer(tim);
+	del_timer(&(tim->timer));
 }
 
 mali_bool _mali_osk_timer_pending(_mali_osk_timer_t *tim)
 {
 	MALI_DEBUG_ASSERT_POINTER(tim);
-	return 1 == timer_pending(tim);
+	return 1 == timer_pending(&(tim->timer));
 }
 
+void _mali_osk_timer_setcallback(_mali_osk_timer_t *tim, _mali_osk_timer_callback_t callback, void *data)
+{
+	MALI_DEBUG_ASSERT_POINTER(tim);
+}
+
+void _mali_osk_timer_term(_mali_osk_timer_t *tim)
+{
+	MALI_DEBUG_ASSERT_POINTER(tim);
+	kfree(tim);
+}

--
Gitblit v1.6.2