compile with W=1
arm: board: use __weak
common: board: use __weak
cti_flash.c: use __weak when requested

For performance reason there seems to be a CONFIG_xyz.
Introduce a __maybe_weak to allow using __weak directly
instead of relying on aliases.
i2c: use __weak
misc: use __weak
net: phy: fix warnings with W=1

get_phy_id is marked weak but has no protype nor a
strong version, just make it static. Use __weak for
board_phy_config.
pci: use __weak
samsung: board: use __weak
usb: use __weak
video: use __weak
common: cmd_elf: make do_bootelf_exec static

do_bootelf_exec was a weak function without a prototype nor
and strong version. Just make it static.
common: board_r: make local functions static
disk/part.c: make local function static
ehci-hcd.c: make local functions static
env_nand: make local functions static
eth: make eth_address_set static
fat: make local functions as static
gpio: make local functions static
image-fit: make local function static