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

Nick Desaulniers ndesaulniers at google.com
Thu Feb 4 13:11:23 EST 2021


On Thu, Feb 4, 2021 at 8:24 AM Arnd Bergmann <arnd at kernel.org> 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.

Thanks for the patch.  Pre-UAL syntax

Reviewed-by: Nick Desaulniers <ndesaulniers at google.com>

>
> 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>
> ---
>  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



More information about the linux-arm-kernel mailing list