All of lore.kernel.org
 help / color / mirror / Atom feed
From: Janusz Krzysztofik <jmkrzyszt@gmail.com>
To: soc@lists.linux.dev, Aaro Koskinen <aaro.koskinen@iki.fi>,
	Arnd Bergmann <arnd@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>, Tony Lindgren <tony@atomide.com>,
	Russell King <linux@armlinux.org.uk>,
	linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Janusz Krzysztofik <jmkrzyszt@gmail.com>
Subject: Re: [PATCH] ARM: omap1: avoid symbol clashes in fiq handler
Date: Thu, 04 Dec 2025 17:27:16 +0100	[thread overview]
Message-ID: <6216166.lOV4Wx5bFT@dell> (raw)
In-Reply-To: <20251204095355.1032786-1-arnd@kernel.org>

[-- Attachment #1: Type: text/plain, Size: 5809 bytes --]

On Thursday, 4 December 2025 10:53:47 CET Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> The ams-delta-fiq-handler.S file has a number of symbols with fairly
> generic names, including one named 'exit' that causes a compiler warning
> in some configuration options:
> 
> vmlinux.o: error: exit() function name creates ambiguity with -ffunction-sections
> 
> Change all these symbols to use a .L prefix to make them local to
> the fiq handler.

Reviewed-by: Janusz Krzysztofik <jmkrzyszt@gmail.com>

> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  arch/arm/mach-omap1/ams-delta-fiq-handler.S | 38 ++++++++++-----------
>  1 file changed, 19 insertions(+), 19 deletions(-)
> 
> diff --git a/arch/arm/mach-omap1/ams-delta-fiq-handler.S b/arch/arm/mach-omap1/ams-delta-fiq-handler.S
> index 35c2f9574dbd..5cf6fcca602c 100644
> --- a/arch/arm/mach-omap1/ams-delta-fiq-handler.S
> +++ b/arch/arm/mach-omap1/ams-delta-fiq-handler.S
> @@ -97,7 +97,7 @@ ENTRY(qwerty_fiqin_start)
>  
>  	ldr r13, [r12, #IRQ_ITR_REG_OFFSET]	@ fetch interrupts status
>  	bics r13, r13, r11			@ clear masked - any left?
> -	beq exit				@ none - spurious FIQ? exit
> +	beq .Lexit				@ none - spurious FIQ? exit
>  
>  	ldr r10, [r12, #IRQ_SIR_FIQ_REG_OFFSET]	@ get requested interrupt number
>  
> @@ -105,25 +105,25 @@ ENTRY(qwerty_fiqin_start)
>  	str r8, [r12, #IRQ_CONTROL_REG_OFFSET]
>  
>  	cmp r10, #(INT_GPIO_BANK1 - NR_IRQS_LEGACY)	@ is it GPIO interrupt?
> -	beq gpio				@ yes - process it
> +	beq .Lgpio				@ yes - process it
>  
>  	mov r8, #1
>  	orr r8, r11, r8, lsl r10		@ mask spurious interrupt
>  	str r8, [r12, #IRQ_MIR_REG_OFFSET]
> -exit:
> +.Lexit:
>  	subs	pc, lr, #4			@ return from FIQ
>  	@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
>  
>  
>  	@@@@@@@@@@@@@@@@@@@@@@@@@@@
> -gpio:	@ GPIO bank interrupt handler
> +.Lgpio:	@ GPIO bank interrupt handler
>  	ldr r12, omap1510_gpio_base		@ set base pointer to GPIO bank
>  
>  	ldr r11, [r12, #OMAP1510_GPIO_INT_MASK]	@ fetch GPIO interrupts mask
> -restart:
> +.Lrestart:
>  	ldr r13, [r12, #OMAP1510_GPIO_INT_STATUS]	@ fetch status bits
>  	bics r13, r13, r11			@ clear masked - any left?
> -	beq exit				@ no - spurious interrupt? exit
> +	beq .Lexit				@ no - spurious interrupt? exit
>  
>  	orr r11, r11, r13			@ mask all requested interrupts
>  	str r11, [r12, #OMAP1510_GPIO_INT_MASK]
> @@ -131,7 +131,7 @@ restart:
>  	str r13, [r12, #OMAP1510_GPIO_INT_STATUS] @ ack all requested interrupts
>  
>  	ands r10, r13, #KEYBRD_CLK_MASK		@ extract keyboard status - set?
> -	beq hksw				@ no - try next source
> +	beq .Lhksw				@ no - try next source
>  
>  
>  	@@@@@@@@@@@@@@@@@@@@@@
> @@ -145,10 +145,10 @@ restart:
>  
>  	ldr r10, [r9, #BUF_STATE]		@ fetch kbd interface state
>  	cmp r10, #0				@ are we expecting start bit?
> -	bne data				@ no - go to data processing
> +	bne .Ldata				@ no - go to data processing
>  
>  	ands r8, r8, #KEYBRD_DATA_MASK		@ check start bit - detected?
> -	beq hksw				@ no - try next source
> +	beq .Lhksw				@ no - try next source
>  
>  	@ r8 contains KEYBRD_DATA_MASK, use it
>  	str r8, [r9, #BUF_STATE]		@ enter data processing state
> @@ -162,9 +162,9 @@ restart:
>  	mvn r11, #KEYBRD_CLK_MASK		@ prepare all except kbd mask
>  	str r11, [r12, #OMAP1510_GPIO_INT_MASK]	@ store into the mask register
>  
> -	b restart				@ restart
> +	b .Lrestart				@ restart
>  
> -data:	ldr r10, [r9, #BUF_MASK]		@ fetch current input bit mask
> +.Ldata:	ldr r10, [r9, #BUF_MASK]		@ fetch current input bit mask
>  
>  	@ r8 still contains GPIO input bits
>  	ands r8, r8, #KEYBRD_DATA_MASK		@ is keyboard data line low?
> @@ -175,7 +175,7 @@ data:	ldr r10, [r9, #BUF_MASK]		@ fetch current input bit mask
>  	mov r10, r10, lsl #1			@ shift mask left
>  	bics r10, r10, #0x800			@ have we got all the bits?
>  	strne r10, [r9, #BUF_MASK]		@ not yet - store the mask
> -	bne restart				@ and restart
> +	bne .Lrestart				@ and restart
>  
>  	@ r10 already contains 0, reuse it
>  	str r10, [r9, #BUF_STATE]		@ reset state to start
> @@ -189,7 +189,7 @@ data:	ldr r10, [r9, #BUF_MASK]		@ fetch current input bit mask
>  	ldr r10, [r9, #BUF_KEYS_CNT]		@ get saved keystrokes count
>  	ldr r8, [r9, #BUF_BUF_LEN]		@ get buffer size
>  	cmp r10, r8				@ is buffer full?
> -	beq hksw				@ yes - key lost, next source
> +	beq .Lhksw				@ yes - key lost, next source
>  
>  	add r10, r10, #1			@ incremet keystrokes counter
>  	str r10, [r9, #BUF_KEYS_CNT]
> @@ -213,9 +213,9 @@ data:	ldr r10, [r9, #BUF_MASK]		@ fetch current input bit mask
>  	@@@@@@@@@@@@@@@@@@@@@@@@
>  
>  
> -hksw:	@Is hook switch interrupt requested?
> +.Lhksw:	@Is hook switch interrupt requested?
>  	tst r13, #HOOK_SWITCH_MASK 		@ is hook switch status bit set?
> -	beq mdm					@ no - try next source
> +	beq .Lmdm				@ no - try next source
>  
>  
>  	@@@@@@@@@@@@@@@@@@@@@@@@
> @@ -230,9 +230,9 @@ hksw:	@Is hook switch interrupt requested?
>  	@@@@@@@@@@@@@@@@@@@@@@@@
>  
>  
> -mdm:	@Is it a modem interrupt?
> +.Lmdm:	@Is it a modem interrupt?
>  	tst r13, #MODEM_IRQ_MASK 		@ is modem status bit set?
> -	beq irq					@ no - check for next interrupt
> +	beq .Lirq				@ no - check for next interrupt
>  
>  
>  	@@@@@@@@@@@@@@@@@@@@@@@@
> @@ -245,13 +245,13 @@ mdm:	@Is it a modem interrupt?
>  	@@@@@@@@@@@@@@@@@@@@@@@@
>  
>  
> -irq:	@ Place deferred_fiq interrupt request
> +.Lirq:	@ Place deferred_fiq interrupt request
>  	ldr r12, deferred_fiq_ih_base		@ set pointer to IRQ handler
>  	mov r10, #DEFERRED_FIQ_MASK		@ set deferred_fiq bit
>  	str r10, [r12, #IRQ_ISR_REG_OFFSET] 	@ place it in the ISR register
>  
>  	ldr r12, omap1510_gpio_base		@ set pointer back to GPIO bank
> -	b restart				@ check for next GPIO interrupt
> +	b .Lrestart				@ check for next GPIO interrupt
>  	@@@@@@@@@@@@@@@@@@@@@@@@@@@
>  
>  
> 


[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2025-12-04 16:27 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-04  9:53 [PATCH] ARM: omap1: avoid symbol clashes in fiq handler Arnd Bergmann
2025-12-04 16:27 ` Janusz Krzysztofik [this message]
2025-12-15 20:42 ` patchwork-bot+linux-soc

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6216166.lOV4Wx5bFT@dell \
    --to=jmkrzyszt@gmail.com \
    --cc=aaro.koskinen@iki.fi \
    --cc=arnd@arndb.de \
    --cc=arnd@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=soc@lists.linux.dev \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.