diff options
Diffstat (limited to 'package/kernel/ar7-atm/patches-D7.04.03.00/190-2.6.32_proc_fixes.patch')
-rw-r--r-- | package/kernel/ar7-atm/patches-D7.04.03.00/190-2.6.32_proc_fixes.patch | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/package/kernel/ar7-atm/patches-D7.04.03.00/190-2.6.32_proc_fixes.patch b/package/kernel/ar7-atm/patches-D7.04.03.00/190-2.6.32_proc_fixes.patch new file mode 100644 index 0000000..11487bf --- /dev/null +++ b/package/kernel/ar7-atm/patches-D7.04.03.00/190-2.6.32_proc_fixes.patch @@ -0,0 +1,79 @@ +--- a/tn7dsl.c ++++ b/tn7dsl.c +@@ -203,7 +203,11 @@ led_reg_t ledreg[2]; + static struct led_funcs ledreg[2]; + #endif + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) + #define DEV_DSLMOD CTL_UNNUMBERED ++#else ++#define DEV_DSLMOD 0 ++#endif + #define MAX_STR_SIZE 256 + #define DSL_MOD_SIZE 256 + +@@ -3431,9 +3435,16 @@ static int dslmod_sysctl(ctl_table *ctl, + */ + if(write) + { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32) + ret = proc_dostring(ctl, write, filp, buffer, lenp, 0); +- ++#else ++ ret = proc_dostring(ctl, write, buffer, lenp, 0); ++#endif ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) + switch (ctl->ctl_name) ++#else ++ switch ((long)ctl->extra2) ++#endif + { + case DEV_DSLMOD: + ptr = strpbrk(info, " \t"); +@@ -3517,14 +3528,29 @@ static int dslmod_sysctl(ctl_table *ctl, + else + { + len += sprintf(info+len, mod_req); ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32) + ret = proc_dostring(ctl, write, filp, buffer, lenp, 0); ++#else ++ ret = proc_dostring(ctl, write, buffer, lenp, 0); ++#endif + } + return ret; + } + + + ctl_table dslmod_table[] = { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) + {DEV_DSLMOD, "dslmod", info, DSL_MOD_SIZE, 0644, NULL, NULL, &dslmod_sysctl, &sysctl_string} ++#else ++ { ++ .procname = "dslmod", ++ .data = info, ++ .maxlen = DSL_MOD_SIZE, ++ .mode = 0644, ++ .proc_handler = &dslmod_sysctl, ++ .extra2 = (void *)DEV_DSLMOD, ++ } ++#endif + , + {0} + }; +@@ -3532,7 +3558,16 @@ ctl_table dslmod_table[] = { + /* Make sure that /proc/sys/dev is there */ + ctl_table dslmod_root_table[] = { + #ifdef CONFIG_PROC_FS ++ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33) + {CTL_DEV, "dev", NULL, 0, 0555, dslmod_table} ++ #else ++ { ++ .procname = "dev", ++ .maxlen = 0, ++ .mode = 0555, ++ .child = dslmod_table, ++ } ++ #endif + , + #endif /* CONFIG_PROC_FS */ + {0} |