netlogic: fix XLR network driver build
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 13 Dec 2014 08:08:30 +0000 (08:08 +0000)
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sat, 13 Dec 2014 08:08:30 +0000 (08:08 +0000)
Backport an upstream submission to fix xlr_net

Signed-off-by: Florian Fainelli <florian@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43682 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/netlogic/patches-3.14/002-xlr_net_fix.patch [new file with mode: 0644]

diff --git a/target/linux/netlogic/patches-3.14/002-xlr_net_fix.patch b/target/linux/netlogic/patches-3.14/002-xlr_net_fix.patch
new file mode 100644 (file)
index 0000000..0210f24
--- /dev/null
@@ -0,0 +1,63 @@
+Subject: [PATCH] staging: xlr_net: Replace obsolete nlm_cop2_{enable,restore} macros
+
+Commit 64f6ebe63914 ("MIPS: Netlogic: rename nlm_cop2_save/restore")
+replaced nlm_cop2_enable with nlm_cop2_enable_irqsave and
+nlm_cop2_restore with nlm_cop2_disable_irqrestore but it did not
+update the xlr_net driver to use the new macros resulting into build
+problems like this:
+
+drivers/staging/netlogic/xlr_net.c: In function 'send_to_rfr_fifo':
+drivers/staging/netlogic/xlr_net.c:128:3: error: implicit declaration of
+function 'nlm_cop2_enable' [-Werror=implicit-function-declaration]
+mflags = nlm_cop2_enable();
+^
+drivers/staging/netlogic/xlr_net.c:130:3: error: implicit declaration of
+function 'nlm_cop2_restore' [-Werror=implicit-function-declaration]
+nlm_cop2_restore(mflags);
+
+Therefore rename these cases as well
+
+Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Cc: "David S. Miller" <davem@davemloft.net>
+Cc: devel@driverdev.osuosl.org
+Cc: linux-kernel@vger.kernel.org
+Cc: Jayachandran C <jchandra@broadcom.com>
+Cc: netdev@vger.kernel.org
+Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
+---
+ drivers/staging/netlogic/xlr_net.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/staging/netlogic/xlr_net.c b/drivers/staging/netlogic/xlr_net.c
+index 9bf407d6241a..469f75f0f818 100644
+--- a/drivers/staging/netlogic/xlr_net.c
++++ b/drivers/staging/netlogic/xlr_net.c
+@@ -125,9 +125,9 @@ static int send_to_rfr_fifo(struct xlr_net_priv *priv, void *addr)
+       msg.msg3 = 0;
+       stnid = priv->nd->rfr_station;
+       do {
+-              mflags = nlm_cop2_enable();
++              mflags = nlm_cop2_enable_irqsave();
+               ret = nlm_fmn_send(1, 0, stnid, &msg);
+-              nlm_cop2_restore(mflags);
++              nlm_cop2_disable_irqrestore(mflags);
+               if (ret == 0)
+                       return 0;
+       } while (++num_try < 10000);
+@@ -298,9 +298,9 @@ static netdev_tx_t xlr_net_start_xmit(struct sk_buff *skb,
+       u32 flags;
+       xlr_make_tx_desc(&msg, virt_to_phys(skb->data), skb);
+-      flags = nlm_cop2_enable();
++      flags = nlm_cop2_enable_irqsave();
+       ret = nlm_fmn_send(2, 0, priv->nd->tx_stnid, &msg);
+-      nlm_cop2_restore(flags);
++      nlm_cop2_disable_irqrestore(flags);
+       if (ret)
+               dev_kfree_skb_any(skb);
+       return NETDEV_TX_OK;
+-- 
+2.1.1
+
+
+