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

From: Nick Desaulniers
Date: Thu Feb 04 2021 - 13:13:13 EST


On Thu, Feb 4, 2021 at 8:24 AM Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
>
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> 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.

Thanks for the patch. Pre-UAL syntax

Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>

>
> Fixes: bec0806cfec6 ("spi_s3c24xx: add FIQ pseudo-DMA support")
> Cc: Stefan Agner <stefan@xxxxxxxx>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> 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
>


--
Thanks,
~Nick Desaulniers