aboutsummaryrefslogtreecommitdiffstats
path: root/net/decnet
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2012-04-19 09:40:37 -0400
committerDavid S. Miller <davem@davemloft.net>2012-04-20 21:22:29 -0400
commit9bdcc88fa03a09c1f0478c0d7443d0aba7872210 (patch)
tree8483bc09e49e40f0469be1cbd36e14751f5376dd /net/decnet
parent8f40a1f9821a4ccb2a237f14d4eb6d6e0e665c14 (diff)
net decnet: Convert to use register_net_sysctl
Using an ascii path to register_net_sysctl as opposed to the slightly awkward ctl_path allows for much simpler code. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Acked-by: Pavel Emelyanov <xemul@parallels.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/decnet')
-rw-r--r--net/decnet/dn_dev.c19
-rw-r--r--net/decnet/sysctl_net_decnet.c8
2 files changed, 5 insertions, 22 deletions
diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c
index ce8a18471845..f3924ab1e019 100644
--- a/net/decnet/dn_dev.c
+++ b/net/decnet/dn_dev.c
@@ -209,15 +209,7 @@ static void dn_dev_sysctl_register(struct net_device *dev, struct dn_dev_parms *
209 struct dn_dev_sysctl_table *t; 209 struct dn_dev_sysctl_table *t;
210 int i; 210 int i;
211 211
212#define DN_CTL_PATH_DEV 3 212 char path[sizeof("net/decnet/conf/") + IFNAMSIZ];
213
214 struct ctl_path dn_ctl_path[] = {
215 { .procname = "net", },
216 { .procname = "decnet", },
217 { .procname = "conf", },
218 { /* to be set */ },
219 { },
220 };
221 213
222 t = kmemdup(&dn_dev_sysctl, sizeof(*t), GFP_KERNEL); 214 t = kmemdup(&dn_dev_sysctl, sizeof(*t), GFP_KERNEL);
223 if (t == NULL) 215 if (t == NULL)
@@ -228,15 +220,12 @@ static void dn_dev_sysctl_register(struct net_device *dev, struct dn_dev_parms *
228 t->dn_dev_vars[i].data = ((char *)parms) + offset; 220 t->dn_dev_vars[i].data = ((char *)parms) + offset;
229 } 221 }
230 222
231 if (dev) { 223 snprintf(path, sizeof(path), "net/decnet/conf/%s",
232 dn_ctl_path[DN_CTL_PATH_DEV].procname = dev->name; 224 dev? dev->name : parms->name);
233 } else {
234 dn_ctl_path[DN_CTL_PATH_DEV].procname = parms->name;
235 }
236 225
237 t->dn_dev_vars[0].extra1 = (void *)dev; 226 t->dn_dev_vars[0].extra1 = (void *)dev;
238 227
239 t->sysctl_header = register_net_sysctl_table(&init_net, dn_ctl_path, t->dn_dev_vars); 228 t->sysctl_header = register_net_sysctl(&init_net, path, t->dn_dev_vars);
240 if (t->sysctl_header == NULL) 229 if (t->sysctl_header == NULL)
241 kfree(t); 230 kfree(t);
242 else 231 else
diff --git a/net/decnet/sysctl_net_decnet.c b/net/decnet/sysctl_net_decnet.c
index 4380b8edea72..a55eeccaa72f 100644
--- a/net/decnet/sysctl_net_decnet.c
+++ b/net/decnet/sysctl_net_decnet.c
@@ -351,15 +351,9 @@ static ctl_table dn_table[] = {
351 { } 351 { }
352}; 352};
353 353
354static struct ctl_path dn_path[] = {
355 { .procname = "net", },
356 { .procname = "decnet", },
357 { }
358};
359
360void dn_register_sysctl(void) 354void dn_register_sysctl(void)
361{ 355{
362 dn_table_header = register_net_sysctl_table(&init_net, dn_path, dn_table); 356 dn_table_header = register_net_sysctl(&init_net, "net/decnet", dn_table);
363} 357}
364 358
365void dn_unregister_sysctl(void) 359void dn_unregister_sysctl(void)