Due to SCHED_FIFO being a broken scheduler model, all users of sched_setscheduler() are converted to sched_set_fifo_low() upstream and sched_setscheduler() is no longer exported. The callback handling of the tasklet API was redesigned and the macros using the old syntax renamed to _OLD. Signed-off-by: Mathias Kresin <dev@kresin.me> ltq tapi
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/src/drv_tapi_linux.c
 | 
						|
+++ b/src/drv_tapi_linux.c
 | 
						|
@@ -3287,10 +3287,13 @@ static IFX_void_t proc_EntriesRemove(IFX
 | 
						|
 */
 | 
						|
 static IFX_void_t tapi_wq_setscheduler (IFX_int32_t foo)
 | 
						|
 {
 | 
						|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5,9,0)
 | 
						|
    struct sched_param sched_params;
 | 
						|
-
 | 
						|
    sched_params.sched_priority = TAPI_OS_THREAD_PRIO_HIGH;
 | 
						|
    sched_setscheduler(current, SCHED_FIFO, &sched_params);
 | 
						|
+#else
 | 
						|
+   sched_set_fifo_low(current);
 | 
						|
+#endif
 | 
						|
 }
 | 
						|
 #endif /* LINUX_2_6 */
 | 
						|
 
 | 
						|
@@ -3727,6 +3730,7 @@ static IFX_int32_t TAPI_SelectCh (TAPI_F
 | 
						|
 */
 | 
						|
 IFX_int32_t TAPI_OS_ThreadPriorityModify(IFX_uint32_t newPriority)
 | 
						|
 {
 | 
						|
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,9,0))
 | 
						|
    struct sched_param sched_params;
 | 
						|
    IFX_int32_t ret;
 | 
						|
 
 | 
						|
@@ -3744,6 +3748,10 @@ IFX_int32_t TAPI_OS_ThreadPriorityModify
 | 
						|
    }
 | 
						|
 
 | 
						|
    return (ret < 0) ? IFX_ERROR : IFX_SUCCESS;
 | 
						|
+#else
 | 
						|
+   sched_set_fifo_low(current);
 | 
						|
+   return IFX_SUCCESS;
 | 
						|
+#endif
 | 
						|
 }
 | 
						|
 
 | 
						|
 
 | 
						|
--- a/src/drv_tapi_kpi.c
 | 
						|
+++ b/src/drv_tapi_kpi.c
 | 
						|
@@ -134,7 +134,11 @@ extern IFX_int32_t           block_ingre
 | 
						|
 /* ========================================================================== */
 | 
						|
 static IFX_void_t ifx_tapi_KPI_IngressHandler (IFX_ulong_t foo);
 | 
						|
 #ifdef KPI_TASKLET
 | 
						|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5,9,0)
 | 
						|
 DECLARE_TASKLET(tl_kpi_ingress, ifx_tapi_KPI_IngressHandler, 0L);
 | 
						|
+#else
 | 
						|
+DECLARE_TASKLET_OLD(tl_kpi_ingress, ifx_tapi_KPI_IngressHandler);
 | 
						|
+#endif
 | 
						|
 #endif /* KPI_TASKLET */
 | 
						|
 static IFX_int32_t ifx_tapi_KPI_IngressThread (IFXOS_ThreadParams_t *pThread);
 | 
						|
 static IFX_return_t ifx_tapi_KPI_GroupInit(IFX_uint32_t nKpiGroup);
 |