2815774bb3
Recent assembler versions complain about extraneous whitespace inside [] brackets. This fixes all of these instances for the samsung platforms. We should backport this to all kernels that might need to be built with new binutils. arch/arm/kernel/entry-armv.S: Assembler messages: arch/arm/kernel/entry-armv.S:214: Error: ARM register expected -- `ldr r2,[ r6,#(0x10)]' arch/arm/kernel/entry-armv.S:214: Error: ARM register expected -- `ldr r0,[ r6,#(0x14)]' arch/arm/kernel/entry-armv.S:430: Error: ARM register expected -- `ldr r2,[ r6,#(0x10)]' arch/arm/kernel/entry-armv.S:430: Error: ARM register expected -- `ldr r0,[ r6,#(0x14)]' arch/arm/mach-s3c24xx/sleep-s3c2410.S: Assembler messages: arch/arm/mach-s3c24xx/sleep-s3c2410.S:48: Error: ARM register expected -- `ldr r7,[ r4 ]' arch/arm/mach-s3c24xx/sleep-s3c2410.S:49: Error: ARM register expected -- `ldr r8,[ r5 ]' arch/arm/mach-s3c24xx/sleep-s3c2410.S:50: Error: ARM register expected -- `ldr r9,[ r6 ]' arch/arm/mach-s3c24xx/sleep-s3c2410.S:64: Error: ARM register expected -- `streq r7,[ r4 ]' arch/arm/mach-s3c24xx/sleep-s3c2410.S:65: Error: ARM register expected -- `streq r8,[ r5 ]' arch/arm/mach-s3c24xx/sleep-s3c2410.S:66: Error: ARM register expected -- `streq r9,[ r6 ]' arch/arm/kernel/debug.S: Assembler messages: arch/arm/kernel/debug.S:83: Error: ARM register expected -- `ldr r2,[ r2,#((0x0B0)+(((0x56000000)-(0x50000000))+(0xF6000000+(0x01000000))))-((0)+(((0x56000000)-(0x50000000))+(0xF6000000+(0x01000000))))]' arch/arm/kernel/debug.S:83: Error: ARM register expected -- `ldr r2,[ r3,#(0x18)]' arch/arm/kernel/debug.S:85: Error: ARM register expected -- `ldr r2,[ r2,#((0x0B0)+(((0x56000000)-(0x50000000))+(0xF6000000+(0x01000000))))-((0)+(((0x56000000)-(0x50000000))+(0xF6000000+(0x01000000))))]' arch/arm/kernel/debug.S:85: Error: ARM register expected -- `ldr r2,[ r3,#(0x18)]' arch/arm/mach-s3c24xx/pm-h1940.S: Assembler messages: arch/arm/mach-s3c24xx/pm-h1940.S:33: Error: ARM register expected -- `ldr pc,[ r0,#((0x0B8)+(((0x56000000)-(0x50000000))+(0xF6000000+(0x01000000))))-(((0x56000000)-(0x50000000))+(0xF6000000+(0x01000000)))]' arch/arm/mach-s3c24xx/sleep-s3c2412.S: Assembler messages: arch/arm/mach-s3c24xx/sleep-s3c2412.S:60: Error: ARM register expected -- `ldrne r9,[ r1 ]' arch/arm/mach-s3c24xx/sleep-s3c2412.S:61: Error: ARM register expected -- `strne r9,[ r1 ]' arch/arm/mach-s3c24xx/sleep-s3c2412.S:62: Error: ARM register expected -- `ldrne r9,[ r2 ]' arch/arm/mach-s3c24xx/sleep-s3c2412.S:63: Error: ARM register expected -- `strne r9,[ r2 ]' arch/arm/mach-s3c24xx/sleep-s3c2412.S:64: Error: ARM register expected -- `ldrne r9,[ r3 ]' arch/arm/mach-s3c24xx/sleep-s3c2412.S:65: Error: ARM register expected -- `strne r9,[ r3 ]' arch/arm/kernel/debug.S:83: Error: ARM register expected -- `ldr r2,[ r3,#(0x08)]' arch/arm/kernel/debug.S:83: Error: ARM register expected -- `ldr r2,[ r3,#(0x18)]' arch/arm/kernel/debug.S:83: Error: ARM register expected -- `ldr r2,[ r3,#(0x10)]' arch/arm/kernel/debug.S:85: Error: ARM register expected -- `ldr r2,[ r3,#(0x08)]' arch/arm/kernel/debug.S:85: Error: ARM register expected -- `ldr r2,[ r3,#(0x18)]' arch/arm/kernel/debug.S:85: Error: ARM register expected -- `ldr r2,[ r3,#(0x10)]' Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Kukjin Kim <kgene.kim@samsung.com> Cc: Ben Dooks <ben-linux@fluff.org> Cc: stable@vger.kernel.org
88 lines
1.8 KiB
ArmAsm
88 lines
1.8 KiB
ArmAsm
/* arch/arm/plat-samsung/include/plat/debug-macro.S
|
|
*
|
|
* Copyright 2005, 2007 Simtec Electronics
|
|
* http://armlinux.simtec.co.uk/
|
|
* Ben Dooks <ben@simtec.co.uk>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#include <plat/regs-serial.h>
|
|
|
|
/* The S5PV210/S5PC110 implementations are as belows. */
|
|
|
|
.macro fifo_level_s5pv210 rd, rx
|
|
ldr \rd, [\rx, # S3C2410_UFSTAT]
|
|
and \rd, \rd, #S5PV210_UFSTAT_TXMASK
|
|
.endm
|
|
|
|
.macro fifo_full_s5pv210 rd, rx
|
|
ldr \rd, [\rx, # S3C2410_UFSTAT]
|
|
tst \rd, #S5PV210_UFSTAT_TXFULL
|
|
.endm
|
|
|
|
/* The S3C2440 implementations are used by default as they are the
|
|
* most widely re-used */
|
|
|
|
.macro fifo_level_s3c2440 rd, rx
|
|
ldr \rd, [\rx, # S3C2410_UFSTAT]
|
|
and \rd, \rd, #S3C2440_UFSTAT_TXMASK
|
|
.endm
|
|
|
|
#ifndef fifo_level
|
|
#define fifo_level fifo_level_s3c2440
|
|
#endif
|
|
|
|
.macro fifo_full_s3c2440 rd, rx
|
|
ldr \rd, [\rx, # S3C2410_UFSTAT]
|
|
tst \rd, #S3C2440_UFSTAT_TXFULL
|
|
.endm
|
|
|
|
#ifndef fifo_full
|
|
#define fifo_full fifo_full_s3c2440
|
|
#endif
|
|
|
|
.macro senduart,rd,rx
|
|
strb \rd, [\rx, # S3C2410_UTXH]
|
|
.endm
|
|
|
|
.macro busyuart, rd, rx
|
|
ldr \rd, [\rx, # S3C2410_UFCON]
|
|
tst \rd, #S3C2410_UFCON_FIFOMODE @ fifo enabled?
|
|
beq 1001f @
|
|
@ FIFO enabled...
|
|
1003:
|
|
fifo_full \rd, \rx
|
|
bne 1003b
|
|
b 1002f
|
|
|
|
1001:
|
|
@ busy waiting for non fifo
|
|
ldr \rd, [\rx, # S3C2410_UTRSTAT]
|
|
tst \rd, #S3C2410_UTRSTAT_TXFE
|
|
beq 1001b
|
|
|
|
1002: @ exit busyuart
|
|
.endm
|
|
|
|
.macro waituart,rd,rx
|
|
ldr \rd, [\rx, # S3C2410_UFCON]
|
|
tst \rd, #S3C2410_UFCON_FIFOMODE @ fifo enabled?
|
|
beq 1001f @
|
|
@ FIFO enabled...
|
|
1003:
|
|
fifo_level \rd, \rx
|
|
teq \rd, #0
|
|
bne 1003b
|
|
b 1002f
|
|
1001:
|
|
@ idle waiting for non fifo
|
|
ldr \rd, [\rx, # S3C2410_UTRSTAT]
|
|
tst \rd, #S3C2410_UTRSTAT_TXFE
|
|
beq 1001b
|
|
|
|
1002: @ exit busyuart
|
|
.endm
|