126 lines
3.3 KiB
Diff
126 lines
3.3 KiB
Diff
--- a/src/include/drv_dsl_cpe_device_danube.h
|
|
+++ b/src/include/drv_dsl_cpe_device_danube.h
|
|
@@ -24,7 +24,7 @@
|
|
#include "drv_dsl_cpe_simulator_danube.h"
|
|
#else
|
|
/* Include for the low level driver interface header file */
|
|
-#include "asm/ifx/ifx_mei_bsp.h"
|
|
+#include "mei/ifxmips_mei_interface.h"
|
|
#endif /* defined(DSL_CPE_SIMULATOR_DRIVER) && defined(WIN32)*/
|
|
|
|
#define DSL_MAX_LINE_NUMBER 1
|
|
--- a/src/common/drv_dsl_cpe_os_linux.c
|
|
+++ b/src/common/drv_dsl_cpe_os_linux.c
|
|
@@ -11,6 +11,7 @@
|
|
#ifdef __LINUX__
|
|
|
|
#define DSL_INTERN
|
|
+#include <linux/device.h>
|
|
|
|
#include "drv_dsl_cpe_api.h"
|
|
#include "drv_dsl_cpe_api_ioctl.h"
|
|
@@ -34,9 +35,13 @@
|
|
static DSL_ssize_t DSL_DRV_Write(DSL_DRV_file_t *pFile, const DSL_char_t * pBuf,
|
|
DSL_DRV_size_t nSize, DSL_DRV_offset_t * pLoff);
|
|
|
|
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36))
|
|
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
|
|
+static DSL_int_t DSL_DRV_Ioctls(DSL_DRV_file_t * pFile,
|
|
+ DSL_uint_t nCommand, unsigned long nArg);
|
|
+#endif
|
|
static int DSL_DRV_Open(DSL_DRV_inode_t * ino, DSL_DRV_file_t * fil);
|
|
|
|
static int DSL_DRV_Release(DSL_DRV_inode_t * ino, DSL_DRV_file_t * fil);
|
|
@@ -72,7 +77,11 @@
|
|
open: DSL_DRV_Open,
|
|
release: DSL_DRV_Release,
|
|
write: DSL_DRV_Write,
|
|
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36))
|
|
ioctl: DSL_DRV_Ioctls,
|
|
+#else
|
|
+ unlocked_ioctl: DSL_DRV_Ioctls,
|
|
+#endif
|
|
poll: DSL_DRV_Poll
|
|
};
|
|
#else
|
|
@@ -168,10 +177,17 @@
|
|
\return Success or failure.
|
|
\ingroup Internal
|
|
*/
|
|
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36))
|
|
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
|
|
+static DSL_int_t DSL_DRV_Ioctls(
|
|
+ DSL_DRV_file_t * pFile,
|
|
+ DSL_uint_t nCommand,
|
|
+ unsigned long nArg)
|
|
+#endif
|
|
{
|
|
DSL_int_t nErr=0;
|
|
DSL_boolean_t bIsInKernel;
|
|
@@ -216,16 +232,7 @@
|
|
}
|
|
}
|
|
}
|
|
-
|
|
- if (pINode == DSL_NULL)
|
|
- {
|
|
- bIsInKernel = DSL_TRUE;
|
|
- }
|
|
- else
|
|
- {
|
|
- bIsInKernel = DSL_FALSE;
|
|
- }
|
|
-
|
|
+ bIsInKernel = DSL_FALSE;
|
|
if ( (_IOC_TYPE(nCommand) == DSL_IOC_MAGIC_CPE_API) ||
|
|
(_IOC_TYPE(nCommand) == DSL_IOC_MAGIC_CPE_API_G997) ||
|
|
(_IOC_TYPE(nCommand) == DSL_IOC_MAGIC_CPE_API_PM) ||
|
|
@@ -1058,6 +1065,7 @@
|
|
/* Entry point of driver */
|
|
int __init DSL_ModuleInit(void)
|
|
{
|
|
+ struct class *dsl_class;
|
|
DSL_int_t i;
|
|
|
|
printk(DSL_DRV_CRLF DSL_DRV_CRLF "Infineon CPE API Driver version: %s" DSL_DRV_CRLF,
|
|
@@ -1104,7 +1112,8 @@
|
|
}
|
|
|
|
DSL_DRV_DevNodeInit();
|
|
-
|
|
+ dsl_class = class_create(THIS_MODULE, "dsl_cpe_api");
|
|
+ device_create(dsl_class, NULL, MKDEV(DRV_DSL_CPE_API_DEV_MAJOR, 0), NULL, "dsl_cpe_api");
|
|
return 0;
|
|
}
|
|
|
|
--- a/src/include/drv_dsl_cpe_os_linux.h
|
|
+++ b/src/include/drv_dsl_cpe_os_linux.h
|
|
@@ -17,17 +17,17 @@
|
|
#endif
|
|
|
|
#include <asm/ioctl.h>
|
|
-#include <linux/autoconf.h>
|
|
+#include <generated/autoconf.h>
|
|
#include <linux/module.h>
|
|
#include <linux/kernel.h>
|
|
#include <linux/init.h>
|
|
#include <linux/ctype.h>
|
|
#include <linux/version.h>
|
|
#include <linux/spinlock.h>
|
|
-
|
|
+#include <linux/sched.h>
|
|
|
|
#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,17))
|
|
- #include <linux/utsrelease.h>
|
|
+ #include <generated/utsrelease.h>
|
|
#endif
|
|
|
|
#include <linux/types.h>
|