Commit 4ae935c1 authored by Alexander Aring's avatar Alexander Aring Committed by Marcel Holtmann

6lowpan: move module_init into core functionality

This patch moves module_init of 6lowpan module into core functionality
of 6lowpan module. To load the ipv6 module at probing of the 6lowpan
module should be core functionality. Loading next header compression
modules is iphc specific. Nevertheless we only support IPHC for the
generic 6LoWPAN branch right now so we can put it into the core
functionality. If possible new compression formats are introduced nhc
should load only when iphc is build.
Signed-off-by: default avatarAlexander Aring <alex.aring@gmail.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent b72f6f51
...@@ -11,6 +11,8 @@ ...@@ -11,6 +11,8 @@
* (C) 2015 Pengutronix, Alexander Aring <aar@pengutronix.de> * (C) 2015 Pengutronix, Alexander Aring <aar@pengutronix.de>
*/ */
#include <linux/module.h>
#include <net/6lowpan.h> #include <net/6lowpan.h>
void lowpan_netdev_setup(struct net_device *dev, enum lowpan_lltypes lltype) void lowpan_netdev_setup(struct net_device *dev, enum lowpan_lltypes lltype)
...@@ -18,3 +20,21 @@ void lowpan_netdev_setup(struct net_device *dev, enum lowpan_lltypes lltype) ...@@ -18,3 +20,21 @@ void lowpan_netdev_setup(struct net_device *dev, enum lowpan_lltypes lltype)
lowpan_priv(dev)->lltype = lltype; lowpan_priv(dev)->lltype = lltype;
} }
EXPORT_SYMBOL(lowpan_netdev_setup); EXPORT_SYMBOL(lowpan_netdev_setup);
static int __init lowpan_module_init(void)
{
request_module_nowait("ipv6");
request_module_nowait("nhc_dest");
request_module_nowait("nhc_fragment");
request_module_nowait("nhc_hop");
request_module_nowait("nhc_ipv6");
request_module_nowait("nhc_mobility");
request_module_nowait("nhc_routing");
request_module_nowait("nhc_udp");
return 0;
}
module_init(lowpan_module_init);
MODULE_LICENSE("GPL");
...@@ -48,7 +48,6 @@ ...@@ -48,7 +48,6 @@
#include <linux/bitops.h> #include <linux/bitops.h>
#include <linux/if_arp.h> #include <linux/if_arp.h>
#include <linux/module.h>
#include <linux/netdevice.h> #include <linux/netdevice.h>
#include <net/6lowpan.h> #include <net/6lowpan.h>
#include <net/ipv6.h> #include <net/ipv6.h>
...@@ -610,21 +609,3 @@ int lowpan_header_compress(struct sk_buff *skb, struct net_device *dev, ...@@ -610,21 +609,3 @@ int lowpan_header_compress(struct sk_buff *skb, struct net_device *dev,
return 0; return 0;
} }
EXPORT_SYMBOL_GPL(lowpan_header_compress); EXPORT_SYMBOL_GPL(lowpan_header_compress);
static int __init lowpan_module_init(void)
{
request_module_nowait("ipv6");
request_module_nowait("nhc_dest");
request_module_nowait("nhc_fragment");
request_module_nowait("nhc_hop");
request_module_nowait("nhc_ipv6");
request_module_nowait("nhc_mobility");
request_module_nowait("nhc_routing");
request_module_nowait("nhc_udp");
return 0;
}
module_init(lowpan_module_init);
MODULE_LICENSE("GPL");
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