summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/freescale
diff options
context:
space:
mode:
authorMadalin Bucur <madalin.bucur@freescale.com>2015-01-29 14:14:38 (GMT)
committerMadalin Bucur <madalin.bucur@freescale.com>2015-02-25 16:26:57 (GMT)
commit2eb5500da9a03d36bd4d46b4d1d446fe7fb39231 (patch)
treee17dc0d33c4cba598bd08698dc1abbb548f536a3 /drivers/net/ethernet/freescale
parent06cc0ecb7203827548a1018cadb205aec77af660 (diff)
downloadlinux-fsl-qoriq-2eb5500da9a03d36bd4d46b4d1d446fe7fb39231.tar.xz
dpaa_eth: adjust advanced drivers to older kernel
Support for multiple drivers per kernel module comes in kernel 3.14 so we are forced to generate several modules for the advanced drivers. This patch can be dropped when the code is rebased on a kernel newer than 3.14. The problem is with the MODULE_DEVICE_TABLE macro that only from 3.14 generates different named structured based on the name parameter. The change that introduces that also needs a synchronized change in scripts/mod/file2alias.c. Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Diffstat (limited to 'drivers/net/ethernet/freescale')
-rw-r--r--drivers/net/ethernet/freescale/dpa/Makefile7
-rw-r--r--drivers/net/ethernet/freescale/dpa/dpaa_eth_base.c17
-rw-r--r--drivers/net/ethernet/freescale/dpa/dpaa_eth_macless.c6
-rw-r--r--drivers/net/ethernet/freescale/dpa/dpaa_eth_proxy.c6
-rw-r--r--drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c6
5 files changed, 21 insertions, 21 deletions
diff --git a/drivers/net/ethernet/freescale/dpa/Makefile b/drivers/net/ethernet/freescale/dpa/Makefile
index 6c19086..1d1b506 100644
--- a/drivers/net/ethernet/freescale/dpa/Makefile
+++ b/drivers/net/ethernet/freescale/dpa/Makefile
@@ -25,7 +25,12 @@ fsl_mac-objs += mac.o mac-api.o
ifeq ($(CONFIG_FSL_DPAA_ADVANCED_DRIVERS),y)
obj-$(CONFIG_FSL_DPAA_ETH) += fsl_advanced.o
-fsl_advanced-objs += dpaa_eth_base.o dpaa_eth_proxy.o dpaa_eth_shared.o dpaa_eth_macless.o
+fsl_advanced-objs += dpaa_eth_base.o
+# suport for multiple drivers per kernel module comes in kernel 3.14
+# so we are forced to generate several modules for the advanced drivers
+fsl_proxy-objs += dpaa_eth_proxy.o
+fsl_shared-objs += dpaa_eth_shared.o
+fsl_macless-objs += dpaa_eth_macless.o
ifeq ($(CONFIG_FSL_DPAA_OFFLINE_PORTS),y)
obj-$(CONFIG_FSL_DPAA_ETH) += fsl_oh.o
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_base.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_base.c
index bcae5b2..760718e 100644
--- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_base.c
+++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_base.c
@@ -54,6 +54,8 @@
#define DPA_DESCRIPTION "FSL DPAA Advanced drivers:"
+MODULE_LICENSE("Dual BSD/GPL");
+
uint8_t advanced_debug = -1;
module_param(advanced_debug, byte, S_IRUGO);
MODULE_PARM_DESC(advanced_debug, "Module/Driver verbosity level");
@@ -236,19 +238,9 @@ int dpa_bp_create(struct net_device *net_dev, struct dpa_bp *dpa_bp,
static int __init __cold dpa_advanced_load(void)
{
- int _errno;
-
pr_info(DPA_DESCRIPTION " (" VERSION ")\n");
- _errno = dpa_proxy_load();
-
- if (_errno == 0)
- _errno = dpa_shared_load();
-
- if (_errno == 0)
- _errno = dpa_macless_load(); /* must be after proxy */
-
- return _errno;
+ return 0;
}
module_init(dpa_advanced_load);
@@ -257,8 +249,5 @@ static void __exit __cold dpa_advanced_unload(void)
pr_debug(KBUILD_MODNAME ": -> %s:%s()\n",
KBUILD_BASENAME".c", __func__);
- dpa_macless_unload();
- dpa_shared_unload();
- dpa_proxy_unload();
}
module_exit(dpa_advanced_unload);
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_macless.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_macless.c
index c829ed4..83cc8a6 100644
--- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_macless.c
+++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_macless.c
@@ -471,7 +471,7 @@ fq_probe_failed:
return err;
}
-int __init __cold dpa_macless_load(void)
+static int __init __cold dpa_macless_load(void)
{
int _errno;
@@ -493,11 +493,13 @@ int __init __cold dpa_macless_load(void)
return _errno;
}
+module_init(dpa_macless_load);
-void __exit __cold dpa_macless_unload(void)
+static void __exit __cold dpa_macless_unload(void)
{
platform_driver_unregister(&dpa_macless_driver);
pr_debug(KBUILD_MODNAME ": %s:%s() ->\n",
KBUILD_BASENAME".c", __func__);
}
+module_exit(dpa_macless_unload);
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_proxy.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_proxy.c
index a668c6d..8f58203 100644
--- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_proxy.c
+++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_proxy.c
@@ -334,7 +334,7 @@ static struct platform_driver dpa_proxy_driver = {
.remove = dpa_eth_proxy_remove
};
-int __init __cold dpa_proxy_load(void)
+static int __init __cold dpa_proxy_load(void)
{
int _errno;
@@ -356,11 +356,13 @@ int __init __cold dpa_proxy_load(void)
return _errno;
}
+module_init(dpa_proxy_load);
-void __exit __cold dpa_proxy_unload(void)
+static void __exit __cold dpa_proxy_unload(void)
{
platform_driver_unregister(&dpa_proxy_driver);
pr_debug(KBUILD_MODNAME ": %s:%s() ->\n",
KBUILD_BASENAME".c", __func__);
}
+module_exit(dpa_proxy_unload);
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c
index fc849b8d..f581e97 100644
--- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c
+++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c
@@ -871,7 +871,7 @@ static struct platform_driver dpa_shared_driver = {
.remove = dpa_remove
};
-int __init __cold dpa_shared_load(void)
+static int __init __cold dpa_shared_load(void)
{
int _errno;
@@ -893,11 +893,13 @@ int __init __cold dpa_shared_load(void)
return _errno;
}
+module_init(dpa_shared_load);
-void __exit __cold dpa_shared_unload(void)
+static void __exit __cold dpa_shared_unload(void)
{
pr_debug(KBUILD_MODNAME ": -> %s:%s()\n",
KBUILD_BASENAME".c", __func__);
platform_driver_unregister(&dpa_shared_driver);
}
+module_exit(dpa_shared_unload);