All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/12] drop volatile from global data
@ 2025-06-04 19:56 Rasmus Villemoes
  2025-06-04 19:56 ` [PATCH 01/12] arm: drop volatile qualifier from gd pointer Rasmus Villemoes
                   ` (13 more replies)
  0 siblings, 14 replies; 22+ messages in thread
From: Rasmus Villemoes @ 2025-06-04 19:56 UTC (permalink / raw)
  To: u-boot
  Cc: Tom Rini, Alexey Brodkin, NXP i.MX U-Boot Team, Angelo Dureghello,
	Michal Simek, Daniel Schwierzeck, Rick Chen, Heinrich Schuchardt,
	uboot-snps-arc, Rasmus Villemoes

There's really no reason for the gd pointer to have the volatile
qualifier.

In fact, I claim that it's completely unnecessary and just pessimizes
code generation and forces ugly casts in lots of places. For example,
see the casts in drivers/core/tag.c where elements are added to
gd->dm_taglist, or a helper such as cyclic_get_list() that should not
be needed.

Also, it is what ends up standing in the way of an otherwise
innocent code cleanup of list.h:
https://lore.kernel.org/u-boot/20250522165656.GB2179216@bill-the-cat/

Note that riscv, x86 as well as arm64 with LTO enabled has not had
this volatile qualifier, so it's unlikely there's any generic code
that depends on it.

CI seems mostly happy:

  https://github.com/u-boot/u-boot/pull/775/checks?check_run_id=43463083829

The one failing test seems to be an infrastructure thing unrelated to
these patches ("docker: filesystem layer verification failed for
digest
sha256:379cc6cd06dc3fc80e31d5170204c0cfcc25cb3b3ad457ced23bed2b38ec9f36")


Rasmus Villemoes (12):
  arm: drop volatile qualifier from gd pointer
  powerpc: drop volatile qualifier from gd pointer
  mips: drop volatile qualifier from gd pointer
  microblaze: drop volatile qualifier from gd pointer
  m68k: drop volatile qualifier from gd pointer
  m68k: drop pointless #if 0 block
  arc: drop volatile qualifier from gd pointer
  arm: imx: remove unnecessary volatile qualifiers from "save gd"
    variables
  efi: drop volatile qualifier from "save gd" variables
  lib/trace: drop volatile qualifier from "save gd" variables
  arm: remove volatile from set_gd prototype
  riscv: remove volatile from set_gd prototype

 arch/arc/include/asm/global_data.h        | 2 +-
 arch/arm/include/asm/global_data.h        | 6 +++---
 arch/arm/mach-imx/hab.c                   | 2 +-
 arch/arm/mach-imx/imx9/scmi/soc.c         | 4 ++--
 arch/arm/mach-imx/romapi.c                | 6 +++---
 arch/m68k/include/asm/global_data.h       | 7 +------
 arch/microblaze/include/asm/global_data.h | 2 +-
 arch/mips/include/asm/global_data.h       | 2 +-
 arch/powerpc/include/asm/global_data.h    | 2 +-
 arch/riscv/include/asm/global_data.h      | 2 +-
 lib/efi_loader/efi_boottime.c             | 2 +-
 lib/trace.c                               | 4 ++--
 12 files changed, 18 insertions(+), 23 deletions(-)

-- 
2.49.0


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

end of thread, other threads:[~2025-06-14 13:56 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-04 19:56 [PATCH 00/12] drop volatile from global data Rasmus Villemoes
2025-06-04 19:56 ` [PATCH 01/12] arm: drop volatile qualifier from gd pointer Rasmus Villemoes
2025-06-09  8:01   ` Anshul Dalal
2025-06-04 19:56 ` [PATCH 02/12] powerpc: " Rasmus Villemoes
2025-06-04 19:56 ` [PATCH 03/12] mips: " Rasmus Villemoes
2025-06-04 19:56 ` [PATCH 04/12] microblaze: " Rasmus Villemoes
2025-06-04 19:56 ` [PATCH 05/12] m68k: " Rasmus Villemoes
2025-06-04 19:56 ` [PATCH 06/12] m68k: drop pointless #if 0 block Rasmus Villemoes
2025-06-05  8:45   ` Angelo Dureghello
2025-06-04 19:56 ` [PATCH 07/12] arc: drop volatile qualifier from gd pointer Rasmus Villemoes
2025-06-04 19:56 ` [PATCH 08/12] arm: imx: remove unnecessary volatile qualifiers from "save gd" variables Rasmus Villemoes
2025-06-09  8:01   ` Anshul Dalal
2025-06-04 19:56 ` [PATCH 09/12] efi: drop volatile qualifier " Rasmus Villemoes
2025-06-05  5:09   ` Heinrich Schuchardt
2025-06-04 19:56 ` [PATCH 10/12] lib/trace: " Rasmus Villemoes
2025-06-04 19:56 ` [PATCH 11/12] arm: remove volatile from set_gd prototype Rasmus Villemoes
2025-06-04 19:56 ` [PATCH 12/12] riscv: " Rasmus Villemoes
2025-06-04 20:07 ` [PATCH 00/12] drop volatile from global data Tom Rini
2025-06-04 20:40   ` Rasmus Villemoes
2025-06-05 14:23     ` Tom Rini
2025-06-04 22:47   ` Tom Rini
2025-06-14 13:56 ` Tom Rini

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.