linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARM: avoid cpuidle link warning
@ 2020-12-30 15:54 Arnd Bergmann
  2020-12-30 22:59 ` Miguel Ojeda
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Arnd Bergmann @ 2020-12-30 15:54 UTC (permalink / raw)
  To: Russell King, Santosh Shilimkar, Dave Gerlach, Tony Lindgren
  Cc: Arnd Bergmann, linux-kernel, Joe Perches, Nick Desaulniers,
	Miguel Ojeda, linux-arm-kernel

From: Arnd Bergmann <arnd@arndb.de>

Since commit 83109d5d5fba ("x86/build: Warn on orphan section placement"),
we get a warning for objects in orphan sections. The cpuidle implementation
for OMAP causes this when CONFIG_CPU_IDLE is disabled:

arm-linux-gnueabi-ld: warning: orphan section `__cpuidle_method_of_table' from `arch/arm/mach-omap2/pm33xx-core.o' being placed in section `__cpuidle_method_of_table'
arm-linux-gnueabi-ld: warning: orphan section `__cpuidle_method_of_table' from `arch/arm/mach-omap2/pm33xx-core.o' being placed in section `__cpuidle_method_of_table'
arm-linux-gnueabi-ld: warning: orphan section `__cpuidle_method_of_table' from `arch/arm/mach-omap2/pm33xx-core.o' being placed in section `__cpuidle_method_of_table'

Change the definition of CPUIDLE_METHOD_OF_DECLARE() to silently
drop the table and all code referenced from it when CONFIG_CPU_IDLE
is disabled.

Fixes: 06ee7a950b6a ("ARM: OMAP2+: pm33xx-core: Add cpuidle_ops for am335x/am437x")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/include/asm/cpuidle.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/arm/include/asm/cpuidle.h b/arch/arm/include/asm/cpuidle.h
index 0d67ed682e07..bc4ffa7ca04c 100644
--- a/arch/arm/include/asm/cpuidle.h
+++ b/arch/arm/include/asm/cpuidle.h
@@ -7,9 +7,11 @@
 #ifdef CONFIG_CPU_IDLE
 extern int arm_cpuidle_simple_enter(struct cpuidle_device *dev,
 		struct cpuidle_driver *drv, int index);
+#define __cpuidle_method_section __used __section("__cpuidle_method_of_table")
 #else
 static inline int arm_cpuidle_simple_enter(struct cpuidle_device *dev,
 		struct cpuidle_driver *drv, int index) { return -ENODEV; }
+#define __cpuidle_method_section __maybe_unused /* drop silently */
 #endif
 
 /* Common ARM WFI state */
@@ -42,8 +44,7 @@ struct of_cpuidle_method {
 
 #define CPUIDLE_METHOD_OF_DECLARE(name, _method, _ops)			\
 	static const struct of_cpuidle_method __cpuidle_method_of_table_##name \
-	__used __section("__cpuidle_method_of_table")			\
-	= { .method = _method, .ops = _ops }
+	__cpuidle_method_section = { .method = _method, .ops = _ops }
 
 extern int arm_cpuidle_suspend(int index);
 
-- 
2.29.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] ARM: avoid cpuidle link warning
  2020-12-30 15:54 [PATCH] ARM: avoid cpuidle link warning Arnd Bergmann
@ 2020-12-30 22:59 ` Miguel Ojeda
  2020-12-30 23:03 ` Miguel Ojeda
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Miguel Ojeda @ 2020-12-30 22:59 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Arnd Bergmann, Dave Gerlach, Tony Lindgren, Russell King,
	linux-kernel, Joe Perches, Nick Desaulniers, Santosh Shilimkar,
	Miguel Ojeda, Linux ARM

On Wed, Dec 30, 2020 at 4:55 PM Arnd Bergmann <arnd@kernel.org> wrote:
>
> Change the definition of CPUIDLE_METHOD_OF_DECLARE() to silently
> drop the table and all code referenced from it when CONFIG_CPU_IDLE
> is disabled.

Looks good,

Reviewed-by: Miguel Ojeda <ojeda@kernel.org>

Cheers,
Miguel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ARM: avoid cpuidle link warning
  2020-12-30 15:54 [PATCH] ARM: avoid cpuidle link warning Arnd Bergmann
  2020-12-30 22:59 ` Miguel Ojeda
@ 2020-12-30 23:03 ` Miguel Ojeda
  2021-01-05 20:20 ` Nick Desaulniers
  2021-06-04 18:02 ` Kees Cook
  3 siblings, 0 replies; 6+ messages in thread
From: Miguel Ojeda @ 2020-12-30 23:03 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Arnd Bergmann, Dave Gerlach, Tony Lindgren, Nick Desaulniers,
	Russell King, linux-kernel, Joe Perches, Santosh Shilimkar,
	Miguel Ojeda, Linux ARM

On Wed, Dec 30, 2020 at 4:55 PM Arnd Bergmann <arnd@kernel.org> wrote:
>
> Change the definition of CPUIDLE_METHOD_OF_DECLARE() to silently
> drop the table and all code referenced from it when CONFIG_CPU_IDLE
> is disabled.

Re-Cc'ing Nick (Arnd's email had a wrong address).

Cheers,
Miguel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ARM: avoid cpuidle link warning
  2020-12-30 15:54 [PATCH] ARM: avoid cpuidle link warning Arnd Bergmann
  2020-12-30 22:59 ` Miguel Ojeda
  2020-12-30 23:03 ` Miguel Ojeda
@ 2021-01-05 20:20 ` Nick Desaulniers
  2021-05-06 19:59   ` Nick Desaulniers
  2021-06-04 18:02 ` Kees Cook
  3 siblings, 1 reply; 6+ messages in thread
From: Nick Desaulniers @ 2021-01-05 20:20 UTC (permalink / raw)
  To: arnd
  Cc: arnd, d-gerlach, tony, Nick Desaulniers, linux-kernel, linux,
	ojeda, ndesaulniers, ssantosh, joe, linux-arm-kernel

> Since commit 83109d5d5fba ("x86/build: Warn on orphan section placement"),


Might be better to use:
commit 5a17850e251a ("arm/build: Warn on orphan section placement")

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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ARM: avoid cpuidle link warning
  2021-01-05 20:20 ` Nick Desaulniers
@ 2021-05-06 19:59   ` Nick Desaulniers
  0 siblings, 0 replies; 6+ messages in thread
From: Nick Desaulniers @ 2021-05-06 19:59 UTC (permalink / raw)
  To: Arnd Bergmann, Arnd Bergmann
  Cc: d-gerlach, Joe Perches, Linux ARM, LKML, Russell King,
	ndesaulniers, Miguel Ojeda, ssantosh, tony

On Tue, Jan 5, 2021 at 12:20 PM Nick Desaulniers
<ndesaulniers@google.com> wrote:
>
> > Since commit 83109d5d5fba ("x86/build: Warn on orphan section placement"),
>
>
> Might be better to use:
> commit 5a17850e251a ("arm/build: Warn on orphan section placement")
>
> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>

Which tree were you planning on sending this through?
0day bot just pinged us again about this.
https://github.com/ClangBuiltLinux/linux/issues/1372

-- 
Thanks,
~Nick Desaulniers

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] ARM: avoid cpuidle link warning
  2020-12-30 15:54 [PATCH] ARM: avoid cpuidle link warning Arnd Bergmann
                   ` (2 preceding siblings ...)
  2021-01-05 20:20 ` Nick Desaulniers
@ 2021-06-04 18:02 ` Kees Cook
  3 siblings, 0 replies; 6+ messages in thread
From: Kees Cook @ 2021-06-04 18:02 UTC (permalink / raw)
  To: Russell King, Tony Lindgren, Dave Gerlach, Santosh Shilimkar,
	Arnd Bergmann
  Cc: Kees Cook, linux-arm-kernel, Joe Perches, linux-kernel,
	Miguel Ojeda, Arnd Bergmann, Nick Desaulniers

On Wed, 30 Dec 2020 16:54:56 +0100, Arnd Bergmann wrote:
> Since commit 83109d5d5fba ("x86/build: Warn on orphan section placement"),
> we get a warning for objects in orphan sections. The cpuidle implementation
> for OMAP causes this when CONFIG_CPU_IDLE is disabled:
> 
> arm-linux-gnueabi-ld: warning: orphan section `__cpuidle_method_of_table' from `arch/arm/mach-omap2/pm33xx-core.o' being placed in section `__cpuidle_method_of_table'
> arm-linux-gnueabi-ld: warning: orphan section `__cpuidle_method_of_table' from `arch/arm/mach-omap2/pm33xx-core.o' being placed in section `__cpuidle_method_of_table'
> arm-linux-gnueabi-ld: warning: orphan section `__cpuidle_method_of_table' from `arch/arm/mach-omap2/pm33xx-core.o' being placed in section `__cpuidle_method_of_table'
> 
> [...]

Applied to for-next/orphans, thanks!

[1/1] ARM: cpuidle: Avoid orphan section warning
      https://git.kernel.org/kees/c/d94b93a91015

-- 
Kees Cook


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-06-04 18:05 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-30 15:54 [PATCH] ARM: avoid cpuidle link warning Arnd Bergmann
2020-12-30 22:59 ` Miguel Ojeda
2020-12-30 23:03 ` Miguel Ojeda
2021-01-05 20:20 ` Nick Desaulniers
2021-05-06 19:59   ` Nick Desaulniers
2021-06-04 18:02 ` Kees Cook

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).