aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/ar7-atm/patches-D7.04.03.00/190-2.6.32_proc_fixes.patch
blob: 87a1fde1c15fd8f055db06e4f31d887cdebfd237 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
--- a/tn7dsl.c
+++ b/tn7dsl.c
@@ -197,7 +197,7 @@ led_reg_t ledreg[2];
 static struct led_funcs ledreg[2];
 #endif
 
-#define DEV_DSLMOD       CTL_UNNUMBERED
+#define DEV_DSLMOD	0
 #define MAX_STR_SIZE     256
 #define DSL_MOD_SIZE     256
 
@@ -3421,9 +3421,9 @@ static int dslmod_sysctl(ctl_table *ctl,
    */
   if(write)
     {
-    ret = proc_dostring(ctl, write, filp, buffer, lenp, 0);
+    ret = proc_dostring(ctl, write, buffer, lenp, 0);
 
-    switch (ctl->ctl_name)
+    switch ((long)ctl->extra2)
       {
       case DEV_DSLMOD:
       ptr = strpbrk(info, " \t");
@@ -3507,14 +3507,21 @@ static int dslmod_sysctl(ctl_table *ctl,
   else
     {
     len += sprintf(info+len, mod_req);
-    ret = proc_dostring(ctl, write, filp, buffer, lenp, 0);
+    ret = proc_dostring(ctl, write, buffer, lenp, 0);
     }
   return ret;
 }
 
 
 ctl_table dslmod_table[] = {
-  {DEV_DSLMOD, "dslmod", info, DSL_MOD_SIZE, 0644, NULL, NULL, &dslmod_sysctl, &sysctl_string}
+	{
+		.procname 		= "dslmod",
+		.data			= info,
+		.maxlen			= DSL_MOD_SIZE,
+		.mode			= 0644,
+		.proc_handler	= &dslmod_sysctl,
+		.extra2			= (void *)DEV_DSLMOD,
+	}
   ,
   {0}
   };
@@ -3522,7 +3529,12 @@ ctl_table dslmod_table[] = {
 /* Make sure that /proc/sys/dev is there */
 ctl_table dslmod_root_table[] = {
 #ifdef CONFIG_PROC_FS
-  {CTL_DEV, "dev", NULL, 0, 0555, dslmod_table}
+	{
+		.procname		= "dev",
+		.maxlen			= 0,
+		.mode			= 0555,
+		.child			= dslmod_table,
+	}
   ,
 #endif /* CONFIG_PROC_FS */
   {0}