Commit c7903bf6 authored by Dave Jones's avatar Dave Jones Committed by Hideaki Yoshifuji

[IPV6]: Fix non-CONFIG_PROC_FS build.

parent 4a432d7f
...@@ -32,7 +32,6 @@ ...@@ -32,7 +32,6 @@
#ifdef CONFIG_PROC_FS #ifdef CONFIG_PROC_FS
static struct proc_dir_entry *proc_net_devsnmp6; static struct proc_dir_entry *proc_net_devsnmp6;
#endif
static int fold_prot_inuse(struct proto *proto) static int fold_prot_inuse(struct proto *proto)
{ {
...@@ -58,7 +57,6 @@ static int sockstat6_seq_show(struct seq_file *seq, void *v) ...@@ -58,7 +57,6 @@ static int sockstat6_seq_show(struct seq_file *seq, void *v)
return 0; return 0;
} }
struct snmp6_item struct snmp6_item
{ {
char *name; char *name;
...@@ -221,9 +219,7 @@ static struct file_operations snmp6_seq_fops = { ...@@ -221,9 +219,7 @@ static struct file_operations snmp6_seq_fops = {
int snmp6_register_dev(struct inet6_dev *idev) int snmp6_register_dev(struct inet6_dev *idev)
{ {
int err = -ENOMEM; int err = -ENOMEM;
#ifdef CONFIG_PROC_FS
struct proc_dir_entry *p; struct proc_dir_entry *p;
#endif
if (!idev || !idev->dev) if (!idev || !idev->dev)
return -EINVAL; return -EINVAL;
...@@ -232,7 +228,6 @@ int snmp6_register_dev(struct inet6_dev *idev) ...@@ -232,7 +228,6 @@ int snmp6_register_dev(struct inet6_dev *idev)
__alignof__(struct icmpv6_mib)) < 0) __alignof__(struct icmpv6_mib)) < 0)
goto err_icmp; goto err_icmp;
#ifdef CONFIG_PROC_FS
if (!proc_net_devsnmp6) { if (!proc_net_devsnmp6) {
err = -ENOENT; err = -ENOENT;
goto err_proc; goto err_proc;
...@@ -244,27 +239,22 @@ int snmp6_register_dev(struct inet6_dev *idev) ...@@ -244,27 +239,22 @@ int snmp6_register_dev(struct inet6_dev *idev)
p->proc_fops = &snmp6_seq_fops; p->proc_fops = &snmp6_seq_fops;
idev->stats.proc_dir_entry = p; idev->stats.proc_dir_entry = p;
#endif
return 0; return 0;
#ifdef CONFIG_PROC_FS
err_proc: err_proc:
snmp6_mib_free((void **)idev->stats.icmpv6); snmp6_mib_free((void **)idev->stats.icmpv6);
#endif
err_icmp: err_icmp:
return err; return err;
} }
int snmp6_unregister_dev(struct inet6_dev *idev) int snmp6_unregister_dev(struct inet6_dev *idev)
{ {
#ifdef CONFIG_PROC_FS
if (!proc_net_devsnmp6) if (!proc_net_devsnmp6)
return -ENOENT; return -ENOENT;
if (!idev || !idev->stats.proc_dir_entry) if (!idev || !idev->stats.proc_dir_entry)
return -EINVAL; return -EINVAL;
remove_proc_entry(idev->stats.proc_dir_entry->name, remove_proc_entry(idev->stats.proc_dir_entry->name,
proc_net_devsnmp6); proc_net_devsnmp6);
#endif
snmp6_mib_free((void **)idev->stats.icmpv6); snmp6_mib_free((void **)idev->stats.icmpv6);
return 0; return 0;
...@@ -302,3 +292,31 @@ void ipv6_misc_proc_exit(void) ...@@ -302,3 +292,31 @@ void ipv6_misc_proc_exit(void)
proc_net_remove("snmp6"); proc_net_remove("snmp6");
} }
#else /* CONFIG_PROC_FS */
int snmp6_register_dev(struct inet6_dev *idev)
{
int err = -ENOMEM;
if (!idev || !idev->dev)
return -EINVAL;
if (snmp6_mib_init((void **)idev->stats.icmpv6, sizeof(struct icmpv6_mib),
__alignof__(struct icmpv6_mib)) < 0)
goto err_icmp;
return 0;
err_icmp:
return err;
}
int snmp6_unregister_dev(struct inet6_dev *idev)
{
snmp6_mib_free((void **)idev->stats.icmpv6);
return 0;
}
#endif
...@@ -2023,6 +2023,7 @@ static void get_timewait6_sock(struct seq_file *seq, ...@@ -2023,6 +2023,7 @@ static void get_timewait6_sock(struct seq_file *seq,
atomic_read(&tw->tw_refcnt), tw); atomic_read(&tw->tw_refcnt), tw);
} }
#ifdef CONFIG_PROC_FS
static int tcp6_seq_show(struct seq_file *seq, void *v) static int tcp6_seq_show(struct seq_file *seq, void *v)
{ {
struct tcp_iter_state *st; struct tcp_iter_state *st;
...@@ -2072,6 +2073,7 @@ void tcp6_proc_exit(void) ...@@ -2072,6 +2073,7 @@ void tcp6_proc_exit(void)
{ {
tcp_proc_unregister(&tcp6_seq_afinfo); tcp_proc_unregister(&tcp6_seq_afinfo);
} }
#endif
struct proto tcpv6_prot = { struct proto tcpv6_prot = {
.name = "TCPv6", .name = "TCPv6",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment