u-boot/include/linux
Pali Rohár 5692e5b244 arm: mvebu: mbus: Fix mbus driver to work also after U-Boot relocation
mbus driver is initialized from arch_cpu_init() callback which is called
before relocation. This driver stores lot of functions and structure
pointers into global variables, so it is data position dependent.

Therefore after relocations all pointers are invalid and driver does not
work anymore as all pointers referes to the old memory, which overlaps with
CONFIG_SYS_LOAD_ADDR and ${loadaddr}.

For example U-Boot fuse command crashes if loadaddr memory is cleared or
rewritten by some image loaded by U-Boot load command.

  mw.w ${loadaddr} 0x0 10000
  fuse read 0 1 2

Fix this issue by removing of all mbus global variables in which are stored
pointers to structures or functions which changes during relocation. And
replace it by direct function calls (not via pointers). With this change
fuse command finally works.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Reviewed-by: Stefan Roese <sr@denx.de>
2022-08-23 12:35:37 +02:00
..
byteorder include/linux/byteorder: fix cpu_to_be32_array() 2022-04-12 08:02:54 -04:00
clk clk: at91: add pre-requisite headers for AT91 clock architecture 2020-09-22 11:27:18 +03:00
mtd mtd: nand: Move Macronix specific initialization in nand_macronix.c 2022-07-22 13:29:06 +02:00
soc/ti firmware: ti_sci: Include linux/err.h in ti_sci_protocol.h 2021-09-17 14:47:03 -04:00
unaligned
usb usb: common: move urb code to common 2022-07-12 21:59:54 +02:00
apm_bios.h WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
apple-mailbox.h mailbox: apple: Add driver for Apple IOP mailbox 2022-02-10 16:44:23 -05:00
arm-smccc.h firmware: psci: bind arm smccc features when discovered 2022-06-23 13:12:56 -04:00
asn1.h cmd: add asn1_compiler 2019-12-06 16:44:20 -05:00
asn1_ber_bytecode.h cmd: add asn1_compiler 2019-12-06 16:44:20 -05:00
asn1_decoder.h cmd: add asn1_compiler 2019-12-06 16:44:20 -05:00
bch.h
bitfield.h linux/bitfield.h: Add primitives for manipulating bitfields both in host- and fixed-endian 2020-07-10 11:47:12 +02:00
bitmap.h linux: bitmap.h: Add find_next_zero_area function 2022-02-08 11:00:03 -05:00
bitops.h log: convert pr_*() to logging 2021-03-01 09:54:11 -05:00
bitrev.h
bug.h
build_bug.h build_bug.h: add wrapper for _Static_assert 2021-07-01 16:34:32 -04:00
clk-provider.h clk: ccf: Add some helper functions for clock ops 2022-03-30 13:03:29 -04:00
compat.h linux/compat.h: Remove debug() from spin_lock_irqsave() 2020-12-02 16:21:58 -05:00
compiler-clang.h compiler*.h: sync include/linux/compiler*.h with Linux 5.7-rc5 2020-07-01 11:48:05 -04:00
compiler-gcc.h compiler*.h: sync include/linux/compiler*.h with Linux 5.7-rc5 2020-07-01 11:48:05 -04:00
compiler-intel.h compiler*.h: sync include/linux/compiler*.h with Linux 5.7-rc5 2020-07-01 11:48:05 -04:00
compiler.h WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
compiler_attributes.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2021-05-24 14:21:30 -04:00
compiler_types.h compilers: Introduce options for forcing inlining on SPL/TPL 2020-07-01 11:48:05 -04:00
completion.h
const.h
crc7.h
crc16.h crc16: Rename fs/ubifs/crc16.h to include/linux/crc16.h 2022-04-21 14:32:40 -04:00
crc32.h
ctype.h
delay.h
dma-direction.h
dma-mapping.h dma-mapping: Add header file for ARCH_DMA_MINALIGN 2020-06-02 13:06:11 -04:00
drm_dp_helper.h
edd.h
err.h
errno.h
ethtool.h net: ethtool: Add ethernet speed macros for higher speeds 2021-07-26 09:18:45 +02:00
fb.h
if_ether.h
if_vlan.h include: import if_vlan.h from Linux 2021-11-23 09:57:55 +02:00
immap_qe.h powerpc: remove support for kmtergr1 and MPC8309 2022-08-20 22:45:00 -04:00
input.h
intel-smc.h arm: socfpga: smc: Add function to get usercode 2021-04-08 17:29:13 +08:00
io.h
ioctl.h
iopoll.h iopoll: Extend read_poll_timeout macro to support variable parameters 2022-04-12 19:10:44 +02:00
ioport.h WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
kbuild.h
kconfig.h Introduce Verifying Program Loader (VPL) 2022-05-02 09:58:13 -04:00
kernel.h include: kernel.h: define SSIZE_MAX 2020-08-24 16:37:53 +02:00
libfdt.h libfdt: split fdt_region declarations out to <fdt_region.h> 2020-04-26 14:24:08 -06:00
libfdt_env.h
linkage.h
linux_string.h
list.h WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
list_sort.h
log2.h
lzo.h
math64.h lib: div64: Add support for round up of div64_u64 2022-03-09 12:34:47 +01:00
mbus.h arm: mvebu: mbus: Fix mbus driver to work also after U-Boot relocation 2022-08-23 12:35:37 +02:00
mc146818rtc.h
mdio.h
mii.h
netdevice.h
oid_registry.h lib: add oid registry utility 2019-12-06 16:44:20 -05:00
poison.h
posix_types.h
printk.h log: convert pr_*() to logging 2021-03-01 09:54:11 -05:00
pruss_driver.h soc: ti: pruss: Add a platform driver for PRUSS in TI SoCs 2021-07-15 17:56:04 +05:30
psci.h firmware: psci: bind arm smccc features when discovered 2022-06-23 13:12:56 -04:00
rational.h lib: rational: copy the rational fraction lib routines from Linux 2021-06-11 16:34:52 +05:30
rbtree.h
rbtree_augmented.h
screen_info.h WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
serial_reg.h WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
sizes.h
stat.h
stddef.h stddef: Avoid warning with clang with offsetof() 2022-01-13 09:13:41 -07:00
string.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
stringify.h
time.h lib/date: Make rtc_mktime and mktime64 Y2038-ready 2022-05-05 15:06:02 -04:00
typecheck.h
types.h common: Move type declarations to linux/types.h 2020-01-17 13:27:25 -05:00
utf.h usb: gadget: move utf8_to_utf16le to header file 2021-01-31 14:08:56 +01:00
xxhash.h
zstd.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00