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
@@ -209,7 +209,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
@@ -3605,9 +3605,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");
@@ -3691,14 +3691,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}
};
@@ -3706,7 +3713,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}
|