[PATCH] ARM: s3c: fix fiq for clang IAS

Nathan Chancellor nathan at kernel.org
Thu Feb 4 13:52:55 EST 2021


On Thu, Feb 04, 2021 at 05:23:42PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd at arndb.de>
> 
> Building with the clang integrated assembler produces a couple of
> errors for the s3c24xx fiq support:
> 
> arch/arm/mach-s3c/irq-s3c24xx-fiq.S:52:2: error: instruction 'subne' can not set flags, but 's' suffix specified
>  subnes pc, lr, #4 @@ return, still have work to do
>  ^
> arch/arm/mach-s3c/irq-s3c24xx-fiq.S:64:1: error: invalid symbol redefinition
> s3c24xx_spi_fiq_txrx:
> ^
> arch/arm/mach-s3c/irq-s3c24xx-fiq.S:79:2: error: instruction 'subne' can not set flags, but 's' suffix specified
>  subnes pc, lr, #4 @@ return, still have work to do
>  ^
> arch/arm/mach-s3c/irq-s3c24xx-fiq.S:104:2: error: instruction 'subne' can not set flags, but 's' suffix specified
>  subnes pc, lr, #4 @@ return, still have work to do
> 
> There are apparently two problems: one with extraneous or duplicate
> labels, and one with old-style opcode mnemonics. Stefan Agner has
> previously fixed other problems like this, but missed this particular
> file.
> 
> Fixes: bec0806cfec6 ("spi_s3c24xx: add FIQ pseudo-DMA support")
> Cc: Stefan Agner <stefan at agner.ch>
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>

Reviewed-by: Nathan Chancellor <nathan at kernel.org>

> ---
>  arch/arm/mach-s3c/irq-s3c24xx-fiq.S | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm/mach-s3c/irq-s3c24xx-fiq.S b/arch/arm/mach-s3c/irq-s3c24xx-fiq.S
> index b54cbd012241..5d238d9a798e 100644
> --- a/arch/arm/mach-s3c/irq-s3c24xx-fiq.S
> +++ b/arch/arm/mach-s3c/irq-s3c24xx-fiq.S
> @@ -35,7 +35,6 @@
>  	@ and an offset to the irq acknowledgment word
>  
>  ENTRY(s3c24xx_spi_fiq_rx)
> -s3c24xx_spi_fix_rx:
>  	.word	fiq_rx_end - fiq_rx_start
>  	.word	fiq_rx_irq_ack - fiq_rx_start
>  fiq_rx_start:
> @@ -49,7 +48,7 @@ fiq_rx_start:
>  	strb	fiq_rtmp, [ fiq_rspi, # S3C2410_SPTDAT ]
>  
>  	subs	fiq_rcount, fiq_rcount, #1
> -	subnes	pc, lr, #4		@@ return, still have work to do
> +	subsne	pc, lr, #4		@@ return, still have work to do
>  
>  	@@ set IRQ controller so that next op will trigger IRQ
>  	mov	fiq_rtmp, #0
> @@ -61,7 +60,6 @@ fiq_rx_irq_ack:
>  fiq_rx_end:
>  
>  ENTRY(s3c24xx_spi_fiq_txrx)
> -s3c24xx_spi_fiq_txrx:
>  	.word	fiq_txrx_end - fiq_txrx_start
>  	.word	fiq_txrx_irq_ack - fiq_txrx_start
>  fiq_txrx_start:
> @@ -76,7 +74,7 @@ fiq_txrx_start:
>  	strb	fiq_rtmp, [ fiq_rspi, # S3C2410_SPTDAT ]
>  
>  	subs	fiq_rcount, fiq_rcount, #1
> -	subnes	pc, lr, #4		@@ return, still have work to do
> +	subsne	pc, lr, #4		@@ return, still have work to do
>  
>  	mov	fiq_rtmp, #0
>  	str	fiq_rtmp, [ fiq_rirq, # S3C2410_INTMOD  - S3C24XX_VA_IRQ ]
> @@ -88,7 +86,6 @@ fiq_txrx_irq_ack:
>  fiq_txrx_end:
>  
>  ENTRY(s3c24xx_spi_fiq_tx)
> -s3c24xx_spi_fix_tx:
>  	.word	fiq_tx_end - fiq_tx_start
>  	.word	fiq_tx_irq_ack - fiq_tx_start
>  fiq_tx_start:
> @@ -101,7 +98,7 @@ fiq_tx_start:
>  	strb	fiq_rtmp, [ fiq_rspi, # S3C2410_SPTDAT ]
>  
>  	subs	fiq_rcount, fiq_rcount, #1
> -	subnes	pc, lr, #4		@@ return, still have work to do
> +	subsne	pc, lr, #4		@@ return, still have work to do
>  
>  	mov	fiq_rtmp, #0
>  	str	fiq_rtmp, [ fiq_rirq, # S3C2410_INTMOD  - S3C24XX_VA_IRQ ]
> -- 
> 2.29.2
> 



More information about the linux-arm-kernel mailing list