move lots of kernel related packages to the new system/ folder
[openwrt/staging/yousong.git] / package / system / ar7-atm / patches-D7.04.03.00 / 190-2.6.32_proc_fixes.patch
diff --git a/package/system/ar7-atm/patches-D7.04.03.00/190-2.6.32_proc_fixes.patch b/package/system/ar7-atm/patches-D7.04.03.00/190-2.6.32_proc_fixes.patch
new file mode 100644 (file)
index 0000000..11487bf
--- /dev/null
@@ -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}