linux-mips
[Top] [All Lists]

[PATCH V2] MIPS: BMIPS: fix compilation for BMIPS5000

To: linux-mips@linux-mips.org
Subject: [PATCH V2] MIPS: BMIPS: fix compilation for BMIPS5000
From: Jonas Gorski <jogo@openwrt.org>
Date: Thu, 1 Aug 2013 11:55:38 +0200
Cc: Ralf Baechle <ralf@linux-mips.org>, John Crispin <blogic@openwrt.org>, Florian Fainelli <florian@openwrt.org>, Kevin Cernekee <cernekee@gmail.com>
List-archive: <http://www.linux-mips.org/archives/linux-mips/>
List-help: <mailto:ecartis@linux-mips.org?Subject=help>
List-id: linux-mips <linux-mips.eddie.linux-mips.org>
List-owner: <mailto:ralf@linux-mips.org>
List-post: <mailto:linux-mips@linux-mips.org>
List-software: Ecartis version 1.0.0
List-subscribe: <mailto:ecartis@linux-mips.org?subject=subscribe%20linux-mips>
List-unsubscribe: <mailto:ecartis@linux-mips.org?subject=unsubscribe%20linux-mips>
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
Commit 02b849f7613003fe5f9e58bf233d49b0ebd4a5e8 ("MIPS: Get rid of the
use of .macro in C code.") replaced the macro usage but missed
the accessors in bmips.h, causing the following build error:

  CC      arch/mips/kernel/smp-bmips.o
{standard input}: Assembler messages:
{standard input}:951: Error: Unrecognized opcode `_ssnop'
{standard input}:952: Error: Unrecognized opcode `_ssnop'
(...)
make[6]: *** [arch/mips/kernel/smp-bmips.o] Error 1

Fix this by also replacing the macros here, fixing the last occurrence
in mips.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>
---
* V1 -> V2
  Reworded and split out of patchset after finding the commmit
  introducing the build failure.

While this is technically a regression introduced in 3.10, the code requires
OOT arch code to get compiled, so I'm not sure if that is critical enough to
warrant a stable tag.

 arch/mips/include/asm/bmips.h | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/arch/mips/include/asm/bmips.h b/arch/mips/include/asm/bmips.h
index 552a65a..87a253d 100644
--- a/arch/mips/include/asm/bmips.h
+++ b/arch/mips/include/asm/bmips.h
@@ -70,15 +70,15 @@ static inline unsigned long bmips_read_zscm_reg(unsigned 
int offset)
                ".set noreorder\n"
                "cache %1, 0(%2)\n"
                "sync\n"
-               "_ssnop\n"
-               "_ssnop\n"
-               "_ssnop\n"
-               "_ssnop\n"
-               "_ssnop\n"
-               "_ssnop\n"
-               "_ssnop\n"
+               __stringify(___ssnop) "\n"
+               __stringify(___ssnop) "\n"
+               __stringify(___ssnop) "\n"
+               __stringify(___ssnop) "\n"
+               __stringify(___ssnop) "\n"
+               __stringify(___ssnop) "\n"
+               __stringify(___ssnop) "\n"
                "mfc0 %0, $28, 3\n"
-               "_ssnop\n"
+               __stringify(___ssnop) "\n"
                ".set pop\n"
                : "=&r" (ret)
                : "i" (Index_Load_Tag_S), "r" (ZSCM_REG_BASE + offset)
@@ -92,13 +92,13 @@ static inline void bmips_write_zscm_reg(unsigned int 
offset, unsigned long data)
                ".set push\n"
                ".set noreorder\n"
                "mtc0 %0, $28, 3\n"
-               "_ssnop\n"
-               "_ssnop\n"
-               "_ssnop\n"
+               __stringify(___ssnop) "\n"
+               __stringify(___ssnop) "\n"
+               __stringify(___ssnop) "\n"
                "cache %1, 0(%2)\n"
-               "_ssnop\n"
-               "_ssnop\n"
-               "_ssnop\n"
+               __stringify(___ssnop) "\n"
+               __stringify(___ssnop) "\n"
+               __stringify(___ssnop) "\n"
                : /* no outputs */
                : "r" (data),
                  "i" (Index_Store_Tag_S), "r" (ZSCM_REG_BASE + offset)
-- 
1.8.3.2


<Prev in Thread] Current Thread [Next in Thread>