--- a/src/common/drv_dsl_cpe_os_linux.c
+++ b/src/common/drv_dsl_cpe_os_linux.c
-@@ -11,7 +11,7 @@
+@@ -11,7 +11,8 @@
#ifdef __LINUX__
#define DSL_INTERN
-#include <linux/device.h>
-+#include <linux/of_platform.h>
++#include <linux/mod_devicetable.h>
++#include <linux/platform_device.h>
#include "drv_dsl_cpe_api.h"
#include "drv_dsl_cpe_api_ioctl.h"
-@@ -1070,7 +1070,7 @@ static void DSL_DRV_DebugInit(void)
+@@ -1070,7 +1071,7 @@ static void DSL_DRV_DebugInit(void)
#endif
/* Entry point of driver */
{
struct class *dsl_class;
DSL_int_t i;
-@@ -1128,7 +1128,7 @@ int __init DSL_ModuleInit(void)
+@@ -1128,7 +1129,7 @@ int __init DSL_ModuleInit(void)
return 0;
}
{
printk("Module will be unloaded"DSL_DRV_CRLF);
-@@ -1142,8 +1142,6 @@ void __exit DSL_ModuleCleanup(void)
+@@ -1142,8 +1143,6 @@ void __exit DSL_ModuleCleanup(void)
DSL_FPGA_BND_REGS_SZ_BYTE,
(DSL_uint8_t**)&g_BndFpgaBase);
#endif /* defined(INCLUDE_DSL_CPE_API_VINAX) && defined(INCLUDE_DSL_BONDING)*/
}
#ifndef _lint
-@@ -1159,8 +1157,29 @@ module_param(debug_level, byte, 0);
+@@ -1159,8 +1158,29 @@ module_param(debug_level, byte, 0);
MODULE_PARM_DESC(debug_level, "set to get more (1) or fewer (4) debug outputs");
#endif /* #ifndef DSL_DEBUG_DISABLE*/
#define DSL_INTERN
+#include <linux/kthread.h>
- #include <linux/of_platform.h>
+ #include <linux/mod_devicetable.h>
+ #include <linux/platform_device.h>
- #include "drv_dsl_cpe_api.h"
-@@ -39,7 +40,7 @@ static DSL_ssize_t DSL_DRV_Write(DSL_DRV
+@@ -40,7 +41,7 @@ static DSL_ssize_t DSL_DRV_Write(DSL_DRV
static DSL_int_t DSL_DRV_Ioctls(DSL_DRV_inode_t * pINode, DSL_DRV_file_t * pFile,
DSL_uint_t nCommand, unsigned long nArg);
#else
DSL_uint_t nCommand, unsigned long nArg);
#endif
static int DSL_DRV_Open(DSL_DRV_inode_t * ino, DSL_DRV_file_t * fil);
-@@ -183,7 +184,7 @@ static DSL_int_t DSL_DRV_Ioctls(DSL_DRV_
+@@ -184,7 +185,7 @@ static DSL_int_t DSL_DRV_Ioctls(DSL_DRV_
DSL_uint_t nCommand,
unsigned long nArg)
#else
DSL_DRV_file_t * pFile,
DSL_uint_t nCommand,
unsigned long nArg)
-@@ -520,9 +521,9 @@ DSL_void_t* DSL_IoctlMemCpyTo(
+@@ -521,9 +522,9 @@ DSL_void_t* DSL_IoctlMemCpyTo(
- IFX_SUCCESS on success
- IFX_ERROR on error
*/
DSL_int32_t retVal = -1;
#ifndef _lint
-@@ -545,30 +546,6 @@ DSL_DRV_STATIC DSL_int32_t DSL_DRV_Kerne
+@@ -546,30 +547,6 @@ DSL_DRV_STATIC DSL_int32_t DSL_DRV_Kerne
(DSL_NULL, "ENTER - Kernel Thread Startup <%s>" DSL_DRV_CRLF,
pThrCntrl->thrParams.pName));
/*DSL_DRV_ThreadPriorityModify(pThrCntrl->nPriority);*/
pThrCntrl->thrParams.bRunning = 1;
-@@ -638,9 +615,7 @@ DSL_int32_t DSL_DRV_ThreadInit(
+@@ -639,9 +616,7 @@ DSL_int32_t DSL_DRV_ThreadInit(
init_completion(&pThrCntrl->thrCompletion);
/* start kernel thread via the wrapper function */
pThrCntrl->bValid = DSL_TRUE;
-@@ -1075,7 +1050,7 @@ static int ltq_adsl_probe(struct platfor
+@@ -1076,7 +1051,7 @@ static int ltq_adsl_probe(struct platfor
struct class *dsl_class;
DSL_int_t i;
--- a/src/common/drv_dsl_cpe_os_linux.c
+++ b/src/common/drv_dsl_cpe_os_linux.c
-@@ -417,7 +417,11 @@ int DSL_DRV_ErrorToOS(DSL_Error_t nError
+@@ -418,7 +418,11 @@ int DSL_DRV_ErrorToOS(DSL_Error_t nError
DSL_void_t* DSL_DRV_VMalloc(
DSL_DRV_size_t nSize)
{
--- a/src/common/drv_dsl_cpe_os_linux.c
+++ b/src/common/drv_dsl_cpe_os_linux.c
-@@ -556,7 +556,11 @@ static int DSL_DRV_KernelThreadStartup(v
+@@ -557,7 +557,11 @@ static int DSL_DRV_KernelThreadStartup(v
retVal = pThrCntrl->pThrFct(&pThrCntrl->thrParams);
pThrCntrl->thrParams.bRunning = 0;
+++ /dev/null
-From: Shiji Yang <yangshiji66@outlook.com>
-Date: Fri, 9 May 2025 20:01:14 +0800
-Subject: [PATCH] add missing header platform_device.h
-
-Fix compilation error:
-
-/home/db/owrt/build_dir/target-mips_24kc_musl/linux-lantiq_xway/ltq-dsl-danube/drv_dsl_cpe_api-3.24.4.4/src/common/drv_dsl_cpe_os_linux.c:1155:15: error: variable 'ltq_adsl_driver' has initializer but incomplete type
- 1155 | static struct platform_driver ltq_adsl_driver = {
- | ^~~~~~~~~~~~~~~
-
-Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
----
- src/common/drv_dsl_cpe_os_linux.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/src/common/drv_dsl_cpe_os_linux.c
-+++ b/src/common/drv_dsl_cpe_os_linux.c
-@@ -13,6 +13,7 @@
- #define DSL_INTERN
- #include <linux/kthread.h>
- #include <linux/of_platform.h>
-+#include <linux/platform_device.h>
-
- #include "drv_dsl_cpe_api.h"
- #include "drv_dsl_cpe_api_ioctl.h"