linux/arch/arm
Linus Torvalds 4cad671979 asm-generic/unaligned: Unify asm/unaligned.h around struct helper
The get_unaligned()/put_unaligned() helpers are traditionally architecture
 specific, with the two main variants being the "access-ok.h" version
 that assumes unaligned pointer accesses always work on a particular
 architecture, and the "le-struct.h" version that casts the data to a
 byte aligned type before dereferencing, for architectures that cannot
 always do unaligned accesses in hardware.
 
 Based on the discussion linked below, it appears that the access-ok
 version is not realiable on any architecture, but the struct version
 probably has no downsides. This series changes the code to use the
 same implementation on all architectures, addressing the few exceptions
 separately.
 
 Link: https://lore.kernel.org/lkml/75d07691-1e4f-741f-9852-38c0b4f520bc@synopsys.com/
 Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100363
 Link: https://lore.kernel.org/lkml/20210507220813.365382-14-arnd@kernel.org/
 Link: git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git unaligned-rework-v2
 Link: https://lore.kernel.org/lkml/CAHk-=whGObOKruA_bU3aPGZfoDqZM1_9wBkwREp0H0FgR-90uQ@mail.gmail.com/
 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmDfFx4ACgkQmmx57+YA
 GNkqzRAAjdlIr8M+xI2CyT0/A9tswYfLMeWejmYopq3zlxI6RnvPiJJDIdY2I8US
 1npIiDo55w061CnXL9rV65ocL3XmGu1mabOvgM6ATsec+8t4WaXBV9tysxTJ9ea0
 ltLTa2P5DXWALvWiVMTME7hFaf1cW+8Uqt3LmXxDp2l5zasXajCHAH6YokON2PfM
 CsaRhwSxIu8Sbnu/IQGBI9JW5UXsBfKSyUwtM0OwP7jFOuIeZ4WBVA+j6UxONnFC
 wouKmAM/ThoOsaV9aP4EZLIfBx8d4/hfYQjZ958kYXurerruYkJeEqdIRbV0QqTy
 2O6ZrJ6uqPlzfWz9h458me2dt98YEtALHV/3DCWUcBfHmUQtxElyJYEhG0YjVF3H
 5RYtjw8Q2LS/QR5ask1Xn0JfT89rRnLi2migAtsA4Ce70JP4Us6wGobkj4SHlgDt
 P7+eVq2Mkhqw/kmV8N4p+ZS5lpkK0JniDN+ONDhkZqHL/zXG/HQzx9wLV69jlvo2
 ASevKxITdi+bKHWs5ANungkBOnBUQZacq46mVyi4HPDwMAFyWvVYTbFumy9koagQ
 o9NEgX3RsZcxxi7bU1xuFPFMLMlUQT3Nb30+84B4fKe9FmvHC1hizTiCnp7q4bZr
 z6a6AMHke7YLqKZOqzTJGRR3lPoZZDCb775SAd70LQp6XPZXOHs=
 =IY5U
 -----END PGP SIGNATURE-----

Merge tag 'asm-generic-unaligned-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic

Pull asm/unaligned.h unification from Arnd Bergmann:
 "Unify asm/unaligned.h around struct helper

  The get_unaligned()/put_unaligned() helpers are traditionally
  architecture specific, with the two main variants being the
  "access-ok.h" version that assumes unaligned pointer accesses always
  work on a particular architecture, and the "le-struct.h" version that
  casts the data to a byte aligned type before dereferencing, for
  architectures that cannot always do unaligned accesses in hardware.

  Based on the discussion linked below, it appears that the access-ok
  version is not realiable on any architecture, but the struct version
  probably has no downsides. This series changes the code to use the
  same implementation on all architectures, addressing the few
  exceptions separately"

Link: https://lore.kernel.org/lkml/75d07691-1e4f-741f-9852-38c0b4f520bc@synopsys.com/
Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100363
Link: https://lore.kernel.org/lkml/20210507220813.365382-14-arnd@kernel.org/
Link: git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git unaligned-rework-v2
Link: https://lore.kernel.org/lkml/CAHk-=whGObOKruA_bU3aPGZfoDqZM1_9wBkwREp0H0FgR-90uQ@mail.gmail.com/

* tag 'asm-generic-unaligned-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
  asm-generic: simplify asm/unaligned.h
  asm-generic: uaccess: 1-byte access is always aligned
  netpoll: avoid put_unaligned() on single character
  mwifiex: re-fix for unaligned accesses
  apparmor: use get_unaligned() only for multi-byte words
  partitions: msdos: fix one-byte get_unaligned()
  asm-generic: unaligned always use struct helpers
  asm-generic: unaligned: remove byteshift helpers
  powerpc: use linux/unaligned/le_struct.h on LE power7
  m68k: select CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
  sh: remove unaligned access for sh4a
  openrisc: always use unaligned-struct header
  asm-generic: use asm-generic/unaligned.h for most architectures
2021-07-02 12:43:40 -07:00
..
boot This round has a diffstat dominated by Qualcomm clk drivers. Honestly though 2021-07-01 13:26:16 -07:00
common
configs ARM: disable CONFIG_IDE in pxa_defconfig 2021-06-16 08:52:38 -06:00
crypto crypto: arm - use a pattern rule for generating *.S files 2021-05-14 19:07:54 +08:00
include asm-generic/unaligned: Unify asm/unaligned.h around struct helper 2021-07-02 12:43:40 -07:00
kernel Updates for the interrupt subsystem: 2021-06-29 12:25:04 -07:00
lib
mach-actions
mach-alpine
mach-artpec
mach-asm9260
mach-aspeed
mach-at91 ARM: at91: pm: Move prototypes to mutually included header 2021-03-26 18:20:49 +01:00
mach-axxia
mach-bcm
mach-berlin
mach-clps711x
mach-cns3xxx
mach-davinci ARM: davinci: Constify the software nodes 2021-04-08 23:45:55 +02:00
mach-digicolor
mach-dove
mach-ep93xx
mach-exynos ARM: exynos: correct kernel doc in platsmp 2021-04-06 22:30:02 +02:00
mach-footbridge ARM updates for 5.13-rc1: 2021-05-06 09:28:07 -07:00
mach-gemini
mach-highbank
mach-hisi ARM: hisi: use the correct HiSilicon copyright 2021-04-02 15:36:27 +08:00
mach-imx ARM: imx: pm-imx27: Include "common.h" 2021-05-23 10:48:56 +08:00
mach-integrator
mach-iop32x ARM: iop32x: disable N2100 PCI parity reporting 2021-03-31 12:29:40 -05:00
mach-ixp4xx crypto: ixp4xx - convert to platform driver 2021-06-03 20:24:04 +08:00
mach-keystone ARM: keystone: fix integer overflow warning 2021-04-01 16:32:37 +02:00
mach-lpc18xx
mach-lpc32xx
mach-mediatek
mach-meson
mach-milbeaut
mach-mmp
mach-moxart
mach-mstar ARM: mstar: Select MSTAR_MSC313_MPLL 2021-04-01 12:40:55 +02:00
mach-mv78xx0
mach-mvebu of: net: pass the dst buffer to of_get_mac_address() 2021-04-13 14:35:02 -07:00
mach-mxs
mach-nomadik
mach-npcm ARM: npcm: wpcm450: select interrupt controller driver 2021-05-18 15:27:27 +02:00
mach-nspire
mach-omap1 ARM: OMAP1: ams-delta: remove unused function ams_delta_camera_power 2021-05-26 14:01:27 +03:00
mach-omap2 ARM: OMAP2+: Fix build warning when mmc_omap is not built 2021-05-18 09:44:42 +03:00
mach-orion5x
mach-oxnas
mach-pxa ARM: PXA: Fix cplds irqdesc allocation when using legacy mode 2021-05-10 14:12:25 +01:00
mach-qcom
mach-rda
mach-realtek
mach-realview
mach-rockchip
mach-rpc
mach-s3c Merge branch 'i2c/for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2021-04-30 13:01:02 -07:00
mach-s5pv210
mach-sa1100
mach-shmobile
mach-socfpga ARM: socfpga: drop ARCH_SOCFPGA 2021-03-23 11:03:36 -05:00
mach-spear ARM/spi: spear: Drop PL022 num_chipselect 2021-04-08 15:21:58 +01:00
mach-sti
mach-stm32 ARM: stm32: Add a new SoC - STM32H750 2021-04-01 09:54:45 +02:00
mach-sunxi
mach-tegra
mach-uniphier
mach-ux500 ARM: ux500: make ux500_cpu_die static 2021-04-01 22:30:49 +02:00
mach-versatile
mach-vexpress
mach-vt8500
mach-zynq arm: zynq: don't disable CONFIG_ARM_GLOBAL_TIMER due to CONFIG_CPU_FREQ anymore 2021-06-16 17:33:04 +02:00
mm mm: update legacy flush_tlb_* to use vma 2021-06-29 10:53:52 -07:00
net
nwfpe
plat-omap ARM: OMAP2+: Use DEFINE_SPINLOCK() for spinlock 2021-03-31 08:58:42 +03:00
plat-orion
plat-pxa
plat-versatile
probes kprobes: Do not increment probe miss count in the fault handler 2021-06-03 15:47:26 +02:00
tools quota: Wire up quotactl_fd syscall 2021-06-07 12:11:24 +02:00
vdso
vfp
xen xen/swiotlb: check if the swiotlb has already been initialized 2021-05-14 15:52:11 +02:00
Kbuild
Kconfig Merge branch 'akpm' (patches from Andrew) 2021-07-02 12:08:10 -07:00
Kconfig-nommu
Kconfig.assembler
Kconfig.debug ARM: socfpga: introduce common ARCH_INTEL_SOCFPGA 2021-03-23 11:03:35 -05:00
Makefile ARM: socfpga: introduce common ARCH_INTEL_SOCFPGA 2021-03-23 11:03:35 -05:00