We still need this notifier even when we don't config
PROC_FS.
It should be rare to have a kernel without PROC_FS,
so just for completeness.
Cc: Stephen Hemminger <stephen@networkplumber.org>
Cc: David S. Miller <davem@davemloft.net>
Cc: Patrick McHardy <kaber@trash.net>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
 struct rtable;
 struct sockaddr;
 
-int igmp_mc_proc_init(void);
+int igmp_mc_init(void);
 
 /*
  *     Functions provided by ip.c
 
        .init = igmp_net_init,
        .exit = igmp_net_exit,
 };
+#endif
 
 static int igmp_netdev_event(struct notifier_block *this,
                             unsigned long event, void *ptr)
        .notifier_call = igmp_netdev_event,
 };
 
-int __init igmp_mc_proc_init(void)
+int __init igmp_mc_init(void)
 {
+#if defined(CONFIG_PROC_FS)
        int err;
 
        err = register_pernet_subsys(&igmp_net_ops);
 reg_notif_fail:
        unregister_pernet_subsys(&igmp_net_ops);
        return err;
-}
+#else
+       return register_netdevice_notifier(&igmp_notifier);
 #endif
+}
 
        ip_rt_init();
        inet_initpeers();
 
-#if defined(CONFIG_IP_MULTICAST) && defined(CONFIG_PROC_FS)
-       igmp_mc_proc_init();
+#if defined(CONFIG_IP_MULTICAST)
+       igmp_mc_init();
 #endif
 }