3 @@ -197,7 +197,7 @@ led_reg_t ledreg[2];
4 static struct led_funcs ledreg[2];
7 -#define DEV_DSLMOD CTL_UNNUMBERED
9 #define MAX_STR_SIZE 256
10 #define DSL_MOD_SIZE 256
12 @@ -333,8 +333,8 @@ static void tn7dsl_chng_modulation(void*
13 static unsigned int tn7dsl_set_modulation(void* data, int flag);
14 static void tn7dsl_ctrl_fineGain(int value);
15 static void tn7dsl_set_fineGainValue(int value);
16 -static int dslmod_sysctl (ctl_table * ctl, int write, struct file *filp,
17 - void *buffer, size_t * lenp);
18 +static int dslmod_sysctl (ctl_table * ctl, int write, void *buffer,
19 + size_t * lenp, loff_t *ppos);
20 static void tn7dsl_register_dslss_led(void);
21 void tn7dsl_dslmod_sysctl_register(void);
22 void tn7dsl_dslmod_sysctl_unregister(void);
23 @@ -3398,8 +3398,8 @@ unsigned int tn7dsl_get_memory(unsigned
27 -static int dslmod_sysctl(ctl_table *ctl, int write, struct file * filp,
28 - void *buffer, size_t *lenp)
29 +static int dslmod_sysctl(ctl_table *ctl, int write, void *buffer,
30 + size_t *lenp, loff_t *ppos)
34 @@ -3411,7 +3411,7 @@ static int dslmod_sysctl(ctl_table *ctl,
35 char mod_req[16] = { '\t' };
38 - if (!*lenp || (filp->f_pos && !write))
39 + if (!*lenp || (*ppos && !write))
43 @@ -3421,9 +3421,9 @@ static int dslmod_sysctl(ctl_table *ctl,
47 - ret = proc_dostring(ctl, write, filp, buffer, lenp, 0);
48 + ret = proc_dostring(ctl, write, buffer, lenp, ppos);
50 - switch (ctl->ctl_name)
51 + switch ((long)ctl->extra2)
54 ptr = strpbrk(info, " \t");
55 @@ -3507,14 +3507,21 @@ static int dslmod_sysctl(ctl_table *ctl,
58 len += sprintf(info+len, mod_req);
59 - ret = proc_dostring(ctl, write, filp, buffer, lenp, 0);
60 + ret = proc_dostring(ctl, write, buffer, lenp, ppos);
66 ctl_table dslmod_table[] = {
67 - {DEV_DSLMOD, "dslmod", info, DSL_MOD_SIZE, 0644, NULL, NULL, &dslmod_sysctl, &sysctl_string}
69 + .procname = "dslmod",
71 + .maxlen = DSL_MOD_SIZE,
73 + .proc_handler = &dslmod_sysctl,
74 + .extra2 = (void *)DEV_DSLMOD,
79 @@ -3522,7 +3529,12 @@ ctl_table dslmod_table[] = {
80 /* Make sure that /proc/sys/dev is there */
81 ctl_table dslmod_root_table[] = {
83 - {CTL_DEV, "dev", NULL, 0, 0555, dslmod_table}
88 + .child = dslmod_table,
91 #endif /* CONFIG_PROC_FS */