All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] u-boot: Update to 2016.01 release
@ 2016-01-13  3:36 Marek Vasut
  2016-01-13  4:49 ` Khem Raj
  2016-01-13 12:04 ` Otavio Salvador
  0 siblings, 2 replies; 24+ messages in thread
From: Marek Vasut @ 2016-01-13  3:36 UTC (permalink / raw)
  To: openembedded-core; +Cc: Marek Vasut, Otavio Salvador

Upgrade U-Boot to latest version and drop upstreamed patches.

Repair configuration of U-Boot during build. It is no longer
possible to run "make foomachine" in U-Boot. Instead, it is
necessary to do "make foomachine_defconfig ; make". Fix this
in u-boot.inc and u-boot-fw-utils*.bb .

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Ross Burton <ross.burton@intel.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 meta/recipes-bsp/u-boot/u-boot-fw-utils_2015.10.bb |   49 -
 meta/recipes-bsp/u-boot/u-boot-fw-utils_2016.01.bb |   49 +
 meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb  |   32 -
 meta/recipes-bsp/u-boot/u-boot-mkimage_2016.01.bb  |   32 +
 meta/recipes-bsp/u-boot/u-boot.inc                 |    4 +-
 ...-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch |  185 ---
 ...-non-Android-booting-with-ramdisk-and-or-.patch |   36 -
 ...board_f-enable-setup_board_part1-for-MIPS.patch |   59 -
 ...PS-bootm-rework-and-fix-broken-bootm-code.patch |  254 -----
 ...PS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch |   93 --
 ...-Replace-extern-inline-with-static-inline.patch | 1184 --------------------
 meta/recipes-bsp/u-boot/u-boot_2015.10.bb          |   19 -
 meta/recipes-bsp/u-boot/u-boot_2016.01.bb          |   10 +
 13 files changed, 93 insertions(+), 1913 deletions(-)
 delete mode 100644 meta/recipes-bsp/u-boot/u-boot-fw-utils_2015.10.bb
 create mode 100644 meta/recipes-bsp/u-boot/u-boot-fw-utils_2016.01.bb
 delete mode 100644 meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb
 create mode 100644 meta/recipes-bsp/u-boot/u-boot-mkimage_2016.01.bb
 delete mode 100644 meta/recipes-bsp/u-boot/u-boot/0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch
 delete mode 100644 meta/recipes-bsp/u-boot/u-boot/0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch
 delete mode 100644 meta/recipes-bsp/u-boot/u-boot/0003-common-board_f-enable-setup_board_part1-for-MIPS.patch
 delete mode 100644 meta/recipes-bsp/u-boot/u-boot/0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch
 delete mode 100644 meta/recipes-bsp/u-boot/u-boot/0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch
 delete mode 100644 meta/recipes-bsp/u-boot/u-boot/0006-Replace-extern-inline-with-static-inline.patch
 delete mode 100644 meta/recipes-bsp/u-boot/u-boot_2015.10.bb
 create mode 100644 meta/recipes-bsp/u-boot/u-boot_2016.01.bb

diff --git a/meta/recipes-bsp/u-boot/u-boot-fw-utils_2015.10.bb b/meta/recipes-bsp/u-boot/u-boot-fw-utils_2015.10.bb
deleted file mode 100644
index 93c06e1..0000000
--- a/meta/recipes-bsp/u-boot/u-boot-fw-utils_2015.10.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95"
-SECTION = "bootloader"
-DEPENDS = "mtd-utils"
-
-# This revision corresponds to the tag "v2015.10"
-# We use the revision in order to avoid having to fetch it from the
-# repo during parse
-SRCREV = "5ec0003b19cbdf06ccd6941237cbc0d1c3468e2d"
-
-PV = "v2015.10+git${SRCPV}"
-
-SRC_URI = "git://git.denx.de/u-boot.git;branch=master"
-
-S = "${WORKDIR}/git"
-
-INSANE_SKIP_${PN} = "already-stripped"
-EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
-EXTRA_OEMAKE_class-cross = 'ARCH=${TARGET_ARCH} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
-
-inherit uboot-config
-
-do_compile () {
-	oe_runmake ${UBOOT_MACHINE}
-	oe_runmake env
-}
-
-do_install () {
-	install -d ${D}${base_sbindir}
-	install -d ${D}${sysconfdir}
-	install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
-	install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_setenv
-	install -m 0644 ${S}/tools/env/fw_env.config ${D}${sysconfdir}/fw_env.config
-}
-
-do_install_class-cross () {
-	install -d ${D}${bindir_cross}
-	install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_printenv
-	install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_setenv
-}
-
-SYSROOT_PREPROCESS_FUNCS_class-cross = "uboot_fw_utils_cross"
-uboot_fw_utils_cross() {
-	sysroot_stage_dir ${D}${bindir_cross} ${SYSROOT_DESTDIR}${bindir_cross}
-}
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-BBCLASSEXTEND = "cross"
diff --git a/meta/recipes-bsp/u-boot/u-boot-fw-utils_2016.01.bb b/meta/recipes-bsp/u-boot/u-boot-fw-utils_2016.01.bb
new file mode 100644
index 0000000..e9940fa
--- /dev/null
+++ b/meta/recipes-bsp/u-boot/u-boot-fw-utils_2016.01.bb
@@ -0,0 +1,49 @@
+SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95"
+SECTION = "bootloader"
+DEPENDS = "mtd-utils"
+
+# This revision corresponds to the tag "v2016.01"
+# We use the revision in order to avoid having to fetch it from the
+# repo during parse
+SRCREV = "fa85e826c16b9ce1ad302a57e9c4b24db0d8b930"
+
+PV = "v2016.01+git${SRCPV}"
+
+SRC_URI = "git://git.denx.de/u-boot.git;branch=master"
+
+S = "${WORKDIR}/git"
+
+INSANE_SKIP_${PN} = "already-stripped"
+EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
+EXTRA_OEMAKE_class-cross = 'ARCH=${TARGET_ARCH} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
+
+inherit uboot-config
+
+do_compile () {
+	oe_runmake ${UBOOT_MACHINE}_defconfig
+	oe_runmake env
+}
+
+do_install () {
+	install -d ${D}${base_sbindir}
+	install -d ${D}${sysconfdir}
+	install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
+	install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_setenv
+	install -m 0644 ${S}/tools/env/fw_env.config ${D}${sysconfdir}/fw_env.config
+}
+
+do_install_class-cross () {
+	install -d ${D}${bindir_cross}
+	install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_printenv
+	install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_setenv
+}
+
+SYSROOT_PREPROCESS_FUNCS_class-cross = "uboot_fw_utils_cross"
+uboot_fw_utils_cross() {
+	sysroot_stage_dir ${D}${bindir_cross} ${SYSROOT_DESTDIR}${bindir_cross}
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+BBCLASSEXTEND = "cross"
diff --git a/meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb b/meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb
deleted file mode 100644
index 301b6e2..0000000
--- a/meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "U-Boot bootloader image creation tool"
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95"
-SECTION = "bootloader"
-
-DEPENDS = "openssl"
-
-# This revision corresponds to the tag "v2015.10"
-# We use the revision in order to avoid having to fetch it from the
-# repo during parse
-SRCREV = "5ec0003b19cbdf06ccd6941237cbc0d1c3468e2d"
-
-PV = "v2015.10+git${SRCPV}"
-
-SRC_URI = "git://git.denx.de/u-boot.git;branch=master"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OEMAKE = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" STRIP=true V=1'
-
-do_compile () {
-	oe_runmake sandbox_defconfig
-	oe_runmake cross_tools NO_SDL=1
-}
-
-do_install () {
-	install -d ${D}${bindir}
-	install -m 0755 tools/mkimage ${D}${bindir}/uboot-mkimage
-	ln -sf uboot-mkimage ${D}${bindir}/mkimage
-}
-
-BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-bsp/u-boot/u-boot-mkimage_2016.01.bb b/meta/recipes-bsp/u-boot/u-boot-mkimage_2016.01.bb
new file mode 100644
index 0000000..5d163a8
--- /dev/null
+++ b/meta/recipes-bsp/u-boot/u-boot-mkimage_2016.01.bb
@@ -0,0 +1,32 @@
+SUMMARY = "U-Boot bootloader image creation tool"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95"
+SECTION = "bootloader"
+
+DEPENDS = "openssl"
+
+# This revision corresponds to the tag "v2016.01"
+# We use the revision in order to avoid having to fetch it from the
+# repo during parse
+SRCREV = "fa85e826c16b9ce1ad302a57e9c4b24db0d8b930"
+
+PV = "v2016.01+git${SRCPV}"
+
+SRC_URI = "git://git.denx.de/u-boot.git;branch=master"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" STRIP=true V=1'
+
+do_compile () {
+	oe_runmake sandbox_defconfig
+	oe_runmake cross_tools NO_SDL=1
+}
+
+do_install () {
+	install -d ${D}${bindir}
+	install -m 0755 tools/mkimage ${D}${bindir}/uboot-mkimage
+	ln -sf uboot-mkimage ${D}${bindir}/mkimage
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
index 41eb205..438069a 100644
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -87,7 +87,7 @@ do_compile () {
                 j=`expr $j + 1`;
                 if [ $j -eq $i ]
                 then
-                    oe_runmake O=${config} ${config}
+                    oe_runmake O=${config} ${config}_defconfig
                     oe_runmake O=${config} ${UBOOT_MAKE_TARGET}
                     cp  ${S}/${config}/${UBOOT_BINARY}  ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
                 fi
@@ -96,7 +96,7 @@ do_compile () {
         done
         unset  i
     else
-        oe_runmake ${UBOOT_MACHINE}
+        oe_runmake ${UBOOT_MACHINE}_defconfig
         oe_runmake ${UBOOT_MAKE_TARGET}
     fi
 
diff --git a/meta/recipes-bsp/u-boot/u-boot/0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch b/meta/recipes-bsp/u-boot/u-boot/0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch
deleted file mode 100644
index b709acf..0000000
--- a/meta/recipes-bsp/u-boot/u-boot/0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch
+++ /dev/null
@@ -1,185 +0,0 @@
-From 47092c85a2d3dea6fb3ffa59ae6fe737112db93e Mon Sep 17 00:00:00 2001
-From: Zhenhua Luo <zhenhua.luo@freescale.com>
-Date: Mon, 9 Feb 2015 18:33:56 +0800
-Subject: [PATCH 1/6] powerpc/cpu/*/u-boot*.lds: remove _GLOBAL_OFFSET_TABLE_
- definition
-Organization: O.S. Systems Software LTDA.
-
-In binutils-2.25, the _GLOBAL_OFFSET_TABLE_ symbols defined by PROVIDE in
-u-boot.lds overrides the linker built-in symbols
-(https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=b893397a4b1316610f49819344817715e4305de9),
-so the linker is treating _GLOBAL_OFFSET_TABLE_ as a definition into the .reloc section.
-
-To align with the change of binutils-2.25, the _GLOBAL_OFFSET_TABLE_ symbol
-should not be defined in sections, and the symbols in linker generated .got
-section should be used(https://sourceware.org/ml/binutils/2008-09/msg00122.html).
-
-Fixed the following build errors with binutils-2.25:
-| powerpc-poky-linux-gnuspe-ld.bfd: _GLOBAL_OFFSET_TABLE_ not defined in linker created .got
-
-Upstream-Status: Pending
-
-Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- arch/powerpc/cpu/mpc512x/u-boot.lds          | 1 -
- arch/powerpc/cpu/mpc5xx/u-boot.lds           | 1 -
- arch/powerpc/cpu/mpc5xxx/u-boot.lds          | 1 -
- arch/powerpc/cpu/mpc8260/u-boot.lds          | 1 -
- arch/powerpc/cpu/mpc83xx/u-boot-spl.lds      | 1 -
- arch/powerpc/cpu/mpc83xx/u-boot.lds          | 1 -
- arch/powerpc/cpu/mpc85xx/u-boot-nand.lds     | 1 -
- arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | 1 -
- arch/powerpc/cpu/mpc85xx/u-boot-spl.lds      | 1 -
- arch/powerpc/cpu/mpc85xx/u-boot.lds          | 1 -
- arch/powerpc/cpu/mpc86xx/u-boot.lds          | 1 -
- arch/powerpc/cpu/ppc4xx/u-boot.lds           | 1 -
- 12 files changed, 12 deletions(-)
-
-diff --git a/arch/powerpc/cpu/mpc512x/u-boot.lds b/arch/powerpc/cpu/mpc512x/u-boot.lds
-index 9658b21..b32f74e 100644
---- a/arch/powerpc/cpu/mpc512x/u-boot.lds
-+++ b/arch/powerpc/cpu/mpc512x/u-boot.lds
-@@ -24,7 +24,6 @@ SECTIONS
-     _GOT2_TABLE_ = .;
-     KEEP(*(.got2))
-     KEEP(*(.got))
--    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-     _FIXUP_TABLE_ = .;
-     KEEP(*(.fixup))
-     *(.fixup)
-diff --git a/arch/powerpc/cpu/mpc5xx/u-boot.lds b/arch/powerpc/cpu/mpc5xx/u-boot.lds
-index 7198465..6a53571 100644
---- a/arch/powerpc/cpu/mpc5xx/u-boot.lds
-+++ b/arch/powerpc/cpu/mpc5xx/u-boot.lds
-@@ -33,7 +33,6 @@ SECTIONS
-     _GOT2_TABLE_ = .;
-     KEEP(*(.got2))
-     KEEP(*(.got))
--    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-     _FIXUP_TABLE_ = .;
-     KEEP(*(.fixup))
-   }
-diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot.lds b/arch/powerpc/cpu/mpc5xxx/u-boot.lds
-index cd9e23f..aa80d3d 100644
---- a/arch/powerpc/cpu/mpc5xxx/u-boot.lds
-+++ b/arch/powerpc/cpu/mpc5xxx/u-boot.lds
-@@ -28,7 +28,6 @@ SECTIONS
-     _GOT2_TABLE_ = .;
-     KEEP(*(.got2))
-     KEEP(*(.got))
--    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-     _FIXUP_TABLE_ = .;
-     KEEP(*(.fixup))
-   }
-diff --git a/arch/powerpc/cpu/mpc8260/u-boot.lds b/arch/powerpc/cpu/mpc8260/u-boot.lds
-index 50cbf85..469fc29 100644
---- a/arch/powerpc/cpu/mpc8260/u-boot.lds
-+++ b/arch/powerpc/cpu/mpc8260/u-boot.lds
-@@ -27,7 +27,6 @@ SECTIONS
-     _GOT2_TABLE_ = .;
-     KEEP(*(.got2))
-     KEEP(*(.got))
--    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-     _FIXUP_TABLE_ = .;
-     KEEP(*(.fixup))
-   }
-diff --git a/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds b/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds
-index 774772b..4101eaf 100644
---- a/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds
-+++ b/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds
-@@ -24,7 +24,6 @@ SECTIONS
- 		_GOT2_TABLE_ = .;
- 		KEEP(*(.got2))
- 		KEEP(*(.got))
--		PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- 	}
- 	__got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
- 
-diff --git a/arch/powerpc/cpu/mpc83xx/u-boot.lds b/arch/powerpc/cpu/mpc83xx/u-boot.lds
-index 3c177fa..dbd8bbe 100644
---- a/arch/powerpc/cpu/mpc83xx/u-boot.lds
-+++ b/arch/powerpc/cpu/mpc83xx/u-boot.lds
-@@ -26,7 +26,6 @@ SECTIONS
-     _GOT2_TABLE_ = .;
-     KEEP(*(.got2))
-     KEEP(*(.got))
--    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-     _FIXUP_TABLE_ = .;
-     KEEP(*(.fixup))
-   }
-diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
-index f933b21..0399f93 100644
---- a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
-+++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
-@@ -44,7 +44,6 @@ SECTIONS
-     _GOT2_TABLE_ = .;
-     KEEP(*(.got2))
-     KEEP(*(.got))
--    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-     _FIXUP_TABLE_ = .;
-     KEEP(*(.fixup))
-   }
-diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
-index b83c553..f044564 100644
---- a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
-+++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
-@@ -22,7 +22,6 @@ SECTIONS
- 		_GOT2_TABLE_ = .;
- 		KEEP(*(.got2))
- 		KEEP(*(.got))
--		PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- 		_FIXUP_TABLE_ = .;
- 		KEEP(*(.fixup))
- 	}
-diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
-index 5ae7b3e..889a4c2 100644
---- a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
-+++ b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
-@@ -29,7 +29,6 @@ SECTIONS
- 		_GOT2_TABLE_ = .;
- 		KEEP(*(.got2))
- 		KEEP(*(.got))
--		PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
- 		_FIXUP_TABLE_ = .;
- 		KEEP(*(.fixup))
- 	}
-diff --git a/arch/powerpc/cpu/mpc85xx/u-boot.lds b/arch/powerpc/cpu/mpc85xx/u-boot.lds
-index 2cf0b25..f15eaf3 100644
---- a/arch/powerpc/cpu/mpc85xx/u-boot.lds
-+++ b/arch/powerpc/cpu/mpc85xx/u-boot.lds
-@@ -50,7 +50,6 @@ SECTIONS
-     _GOT2_TABLE_ = .;
-     KEEP(*(.got2))
-     KEEP(*(.got))
--    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-     _FIXUP_TABLE_ = .;
-     KEEP(*(.fixup))
-   }
-diff --git a/arch/powerpc/cpu/mpc86xx/u-boot.lds b/arch/powerpc/cpu/mpc86xx/u-boot.lds
-index 58467c2..6c48f40 100644
---- a/arch/powerpc/cpu/mpc86xx/u-boot.lds
-+++ b/arch/powerpc/cpu/mpc86xx/u-boot.lds
-@@ -32,7 +32,6 @@ SECTIONS
-     _GOT2_TABLE_ = .;
-     KEEP(*(.got2))
-     KEEP(*(.got))
--    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-     _FIXUP_TABLE_ = .;
-     KEEP(*(.fixup))
-   }
-diff --git a/arch/powerpc/cpu/ppc4xx/u-boot.lds b/arch/powerpc/cpu/ppc4xx/u-boot.lds
-index 1980508..55dd4e1 100644
---- a/arch/powerpc/cpu/ppc4xx/u-boot.lds
-+++ b/arch/powerpc/cpu/ppc4xx/u-boot.lds
-@@ -46,7 +46,6 @@ SECTIONS
-     _GOT2_TABLE_ = .;
-     KEEP(*(.got2))
-     KEEP(*(.got))
--    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-     _FIXUP_TABLE_ = .;
-     KEEP(*(.fixup))
-   }
--- 
-2.6.2
-
diff --git a/meta/recipes-bsp/u-boot/u-boot/0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch b/meta/recipes-bsp/u-boot/u-boot/0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch
deleted file mode 100644
index 0d1a714..0000000
--- a/meta/recipes-bsp/u-boot/u-boot/0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 0a8c59720155c30f01d4cd1c53da3647a3f4decd Mon Sep 17 00:00:00 2001
-From: Tom Rini <trini@konsulko.com>
-Date: Tue, 27 Oct 2015 19:04:40 -0400
-Subject: [PATCH 2/6] image.c: Fix non-Android booting with ramdisk and/or
- device tree
-Organization: O.S. Systems Software LTDA.
-
-In 1fec3c5 I added a check that if we had an Android image we default to
-trying the kernel address for a ramdisk.  However when we don't have an
-Android image buf is NULL and we oops here.  Ensure that we have 'buf'
-to check first.
-
-Upstream-Status: Backport [2016.01]
-
-Reported-by: elipe Balbi <balbi@ti.com>
-Signed-off-by: Tom Rini <trini@konsulko.com>
----
- common/image.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/common/image.c b/common/image.c
-index e607109..85c4f39 100644
---- a/common/image.c
-+++ b/common/image.c
-@@ -913,7 +913,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
- 	 * Look for an Android boot image.
- 	 */
- 	buf = map_sysmem(images->os.start, 0);
--	if (genimg_get_format(buf) == IMAGE_FORMAT_ANDROID)
-+	if (buf && genimg_get_format(buf) == IMAGE_FORMAT_ANDROID)
- 		select = argv[0];
- #endif
- 
--- 
-2.6.2
-
diff --git a/meta/recipes-bsp/u-boot/u-boot/0003-common-board_f-enable-setup_board_part1-for-MIPS.patch b/meta/recipes-bsp/u-boot/u-boot/0003-common-board_f-enable-setup_board_part1-for-MIPS.patch
deleted file mode 100644
index 45d20b8..0000000
--- a/meta/recipes-bsp/u-boot/u-boot/0003-common-board_f-enable-setup_board_part1-for-MIPS.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From e5ebba40a3b8a1405e48d49dc873ffe2fa1963a1 Mon Sep 17 00:00:00 2001
-From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-Date: Sun, 1 Nov 2015 17:36:13 +0100
-Subject: [PATCH 3/6] common/board_f: enable setup_board_part1() for MIPS
-Organization: O.S. Systems Software LTDA.
-
-The variables bd_t:bi_memstart and bd_t:bi_memsize have to be
-initialized also on MIPS. Otherwise LMB and cmd_bdinfo do not
-correctly work. This currently breaks the booting of FIT images
-on MIPS. Enable the board_init_f hook setup_board_part1()
-for MIPS to fix this.
-
-Upstream-Status: Backport [2016.01]
-
-Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-Reviewed-by: Tom Rini <trini@konsulko.com>
-Reviewed-by: Simon Glass <sjg@chromium.org>
----
- common/board_f.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/common/board_f.c b/common/board_f.c
-index 613332e..33cc5c0 100644
---- a/common/board_f.c
-+++ b/common/board_f.c
-@@ -551,7 +551,7 @@ static int display_new_sp(void)
- 	return 0;
- }
- 
--#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
-+#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_MIPS)
- static int setup_board_part1(void)
- {
- 	bd_t *bd = gd->bd;
-@@ -580,7 +580,9 @@ static int setup_board_part1(void)
- 
- 	return 0;
- }
-+#endif
- 
-+#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
- static int setup_board_part2(void)
- {
- 	bd_t *bd = gd->bd;
-@@ -933,8 +935,10 @@ static init_fnc_t init_sequence_f[] = {
- 	reserve_stacks,
- 	setup_dram_config,
- 	show_dram_config,
--#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
-+#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_MIPS)
- 	setup_board_part1,
-+#endif
-+#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
- 	INIT_FUNC_WATCHDOG_RESET
- 	setup_board_part2,
- #endif
--- 
-2.6.2
-
diff --git a/meta/recipes-bsp/u-boot/u-boot/0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch b/meta/recipes-bsp/u-boot/u-boot/0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch
deleted file mode 100644
index 5692c60..0000000
--- a/meta/recipes-bsp/u-boot/u-boot/0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch
+++ /dev/null
@@ -1,254 +0,0 @@
-From da9d99765476b10fe0a75140a2d4c1f284ffc333 Mon Sep 17 00:00:00 2001
-From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-Date: Sun, 1 Nov 2015 17:36:14 +0100
-Subject: [PATCH 4/6] MIPS: bootm: rework and fix broken bootm code
-Organization: O.S. Systems Software LTDA.
-
-The move to 'generic board' as well as changes in the generic
-bootm code broke the boot of FIT uImage's. Especially uImage's
-with additional initramfs images or FDT's do not work anymore.
-
-Refactor the bootm code to work again with the generic bootm code.
-
-Always relocate ramdisk and FDT in step 'bootm prep' because the
-generic bootm code does this only for legacy uImage's.
-
-Move the step 'bootm cmdline' to 'bootm prep' because the Linux
-kernel parameters rd_start and rd_size have to be initialized after
-the relocation of the ramdisk.
-
-Furthermore support the step 'bootm fake'.
-
-Upstream-Status: Backport [2016.01]
-
-Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-Reviewed-by: Tom Rini <trini@konsulko.com>
-Reviewed-by: Simon Glass <sjg@chromium.org>
----
- arch/mips/lib/bootm.c | 163 ++++++++++++++++++++++++--------------------------
- 1 file changed, 78 insertions(+), 85 deletions(-)
-
-diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c
-index 9c647aa..a7eddd3 100644
---- a/arch/mips/lib/bootm.c
-+++ b/arch/mips/lib/bootm.c
-@@ -21,18 +21,6 @@ DECLARE_GLOBAL_DATA_PTR;
- #define mips_boot_malta		0
- #endif
- 
--#if defined(CONFIG_MIPS_BOOT_CMDLINE_LEGACY)
--#define mips_boot_cmdline_legacy	1
--#else
--#define mips_boot_cmdline_legacy	0
--#endif
--
--#if defined(CONFIG_MIPS_BOOT_ENV_LEGACY)
--#define mips_boot_env_legacy	1
--#else
--#define mips_boot_env_legacy	0
--#endif
--
- static int linux_argc;
- static char **linux_argv;
- static char *linux_argp;
-@@ -62,50 +50,6 @@ void arch_lmb_reserve(struct lmb *lmb)
- 	lmb_reserve(lmb, sp, CONFIG_SYS_SDRAM_BASE + gd->ram_size - sp);
- }
- 
--static int boot_setup_linux(bootm_headers_t *images)
--{
--	int ret;
--	ulong rd_len;
--
--	rd_len = images->rd_end - images->rd_start;
--	ret = boot_ramdisk_high(&images->lmb, images->rd_start,
--		rd_len, &images->initrd_start, &images->initrd_end);
--	if (ret)
--		return ret;
--
--#if defined(CONFIG_MIPS_BOOT_FDT) && defined(CONFIG_OF_LIBFDT)
--	if (images->ft_len) {
--		boot_fdt_add_mem_rsv_regions(&images->lmb, images->ft_addr);
--
--		ret = boot_relocate_fdt(&images->lmb, &images->ft_addr,
--			&images->ft_len);
--		if (ret)
--			return ret;
--	}
--#endif
--
--	return 0;
--}
--
--static void boot_setup_fdt(bootm_headers_t *images)
--{
--#if defined(CONFIG_MIPS_BOOT_FDT) && defined(CONFIG_OF_LIBFDT)
--	u64 mem_start = 0;
--	u64 mem_size = gd->ram_size;
--
--	debug("## setup FDT\n");
--
--	fdt_chosen(images->ft_addr);
--	fdt_fixup_memory_banks(images->ft_addr, &mem_start, &mem_size, 1);
--	fdt_fixup_ethernet(images->ft_addr);
--	fdt_initrd(images->ft_addr, images->initrd_start, images->initrd_end);
--
--#if defined(CONFIG_OF_BOARD_SETUP)
--	ft_board_setup(images->ft_addr, gd->bd);
--#endif
--#endif
--}
--
- static void linux_cmdline_init(void)
- {
- 	linux_argc = 1;
-@@ -197,18 +141,6 @@ static void linux_cmdline_append(bootm_headers_t *images)
- 	}
- }
- 
--static void boot_cmdline_linux(bootm_headers_t *images)
--{
--	if (mips_boot_cmdline_legacy && !images->ft_len) {
--		linux_cmdline_legacy(images);
--
--		if (!mips_boot_env_legacy)
--			linux_cmdline_append(images);
--
--		linux_cmdline_dump();
--	}
--}
--
- static void linux_env_init(void)
- {
- 	linux_env = (char **)(((ulong) linux_argp + 15) & ~15);
-@@ -288,13 +220,81 @@ static void linux_env_legacy(bootm_headers_t *images)
- 	}
- }
- 
-+static int boot_reloc_ramdisk(bootm_headers_t *images)
-+{
-+	ulong rd_len = images->rd_end - images->rd_start;
-+
-+	/*
-+	 * In case of legacy uImage's, relocation of ramdisk is already done
-+	 * by do_bootm_states() and should not repeated in 'bootm prep'.
-+	 */
-+	if (images->state & BOOTM_STATE_RAMDISK) {
-+		debug("## Ramdisk already relocated\n");
-+		return 0;
-+	}
-+
-+	return boot_ramdisk_high(&images->lmb, images->rd_start,
-+		rd_len, &images->initrd_start, &images->initrd_end);
-+}
-+
-+static int boot_reloc_fdt(bootm_headers_t *images)
-+{
-+	/*
-+	 * In case of legacy uImage's, relocation of FDT is already done
-+	 * by do_bootm_states() and should not repeated in 'bootm prep'.
-+	 */
-+	if (images->state & BOOTM_STATE_FDT) {
-+		debug("## FDT already relocated\n");
-+		return 0;
-+	}
-+
-+#if CONFIG_IS_ENABLED(MIPS_BOOT_FDT) && CONFIG_IS_ENABLED(OF_LIBFDT)
-+	boot_fdt_add_mem_rsv_regions(&images->lmb, images->ft_addr);
-+	return boot_relocate_fdt(&images->lmb, &images->ft_addr,
-+		&images->ft_len);
-+#else
-+	return 0;
-+#endif
-+}
-+
-+int arch_fixup_memory_node(void *blob)
-+{
-+#if CONFIG_IS_ENABLED(MIPS_BOOT_FDT) && CONFIG_IS_ENABLED(OF_LIBFDT)
-+	u64 mem_start = 0;
-+	u64 mem_size = gd->ram_size;
-+
-+	return fdt_fixup_memory_banks(blob, &mem_start, &mem_size, 1);
-+#else
-+	return 0;
-+#endif
-+}
-+
-+static int boot_setup_fdt(bootm_headers_t *images)
-+{
-+	return image_setup_libfdt(images, images->ft_addr, images->ft_len,
-+		&images->lmb);
-+}
-+
- static void boot_prep_linux(bootm_headers_t *images)
- {
--	if (mips_boot_env_legacy && !images->ft_len)
--		linux_env_legacy(images);
-+	boot_reloc_ramdisk(images);
- 
--	if (images->ft_len)
-+	if (CONFIG_IS_ENABLED(MIPS_BOOT_FDT) && images->ft_len) {
-+		boot_reloc_fdt(images);
- 		boot_setup_fdt(images);
-+	} else {
-+		if (CONFIG_IS_ENABLED(CONFIG_MIPS_BOOT_ENV_LEGACY))
-+			linux_env_legacy(images);
-+
-+		if (CONFIG_IS_ENABLED(MIPS_BOOT_CMDLINE_LEGACY)) {
-+			linux_cmdline_legacy(images);
-+
-+			if (!CONFIG_IS_ENABLED(CONFIG_MIPS_BOOT_ENV_LEGACY))
-+				linux_cmdline_append(images);
-+
-+			linux_cmdline_dump();
-+		}
-+	}
- }
- 
- static void boot_jump_linux(bootm_headers_t *images)
-@@ -327,35 +327,28 @@ static void boot_jump_linux(bootm_headers_t *images)
- int do_bootm_linux(int flag, int argc, char * const argv[],
- 			bootm_headers_t *images)
- {
--	int ret;
--
- 	/* No need for those on MIPS */
- 	if (flag & BOOTM_STATE_OS_BD_T)
- 		return -1;
- 
--	if (flag & BOOTM_STATE_OS_CMDLINE) {
--		boot_cmdline_linux(images);
-+	/*
-+	 * Cmdline init has been moved to 'bootm prep' because it has to be
-+	 * done after relocation of ramdisk to always pass correct values
-+	 * for rd_start and rd_size to Linux kernel.
-+	 */
-+	if (flag & BOOTM_STATE_OS_CMDLINE)
- 		return 0;
--	}
- 
- 	if (flag & BOOTM_STATE_OS_PREP) {
- 		boot_prep_linux(images);
- 		return 0;
- 	}
- 
--	if (flag & BOOTM_STATE_OS_GO) {
-+	if (flag & (BOOTM_STATE_OS_GO | BOOTM_STATE_OS_FAKE_GO)) {
- 		boot_jump_linux(images);
- 		return 0;
- 	}
- 
--	ret = boot_setup_linux(images);
--	if (ret)
--		return ret;
--
--	boot_cmdline_linux(images);
--	boot_prep_linux(images);
--	boot_jump_linux(images);
--
- 	/* does not return */
- 	return 1;
- }
--- 
-2.6.2
-
diff --git a/meta/recipes-bsp/u-boot/u-boot/0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch b/meta/recipes-bsp/u-boot/u-boot/0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch
deleted file mode 100644
index 210ca4d..0000000
--- a/meta/recipes-bsp/u-boot/u-boot/0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From ebaf1eda6f3b8a339837bc0dbcbb9002d751ab75 Mon Sep 17 00:00:00 2001
-From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-Date: Sun, 1 Nov 2015 17:36:15 +0100
-Subject: [PATCH 5/6] MIPS: bootm: use CONFIG_IS_ENABLED() everywhere
-Organization: O.S. Systems Software LTDA.
-
-Upstream-Status: Backport [2016.01]
-
-Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
-Reviewed-by: Tom Rini <trini@konsulko.com>
----
- arch/mips/lib/bootm.c | 33 ++++++++++++++-------------------
- 1 file changed, 14 insertions(+), 19 deletions(-)
-
-diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c
-index a7eddd3..eed159c 100644
---- a/arch/mips/lib/bootm.c
-+++ b/arch/mips/lib/bootm.c
-@@ -15,12 +15,6 @@ DECLARE_GLOBAL_DATA_PTR;
- #define	LINUX_MAX_ENVS		256
- #define	LINUX_MAX_ARGS		256
- 
--#if defined(CONFIG_MALTA)
--#define mips_boot_malta		1
--#else
--#define mips_boot_malta		0
--#endif
--
- static int linux_argc;
- static char **linux_argv;
- static char *linux_argp;
-@@ -157,7 +151,7 @@ static void linux_env_set(const char *env_name, const char *env_val)
- 		strcpy(linux_env_p, env_name);
- 		linux_env_p += strlen(env_name);
- 
--		if (mips_boot_malta) {
-+		if (CONFIG_IS_ENABLED(MALTA)) {
- 			linux_env_p++;
- 			linux_env[++linux_env_idx] = linux_env_p;
- 		} else {
-@@ -178,14 +172,15 @@ static void linux_env_legacy(bootm_headers_t *images)
- 	const char *cp;
- 	ulong rd_start, rd_size;
- 
--#ifdef CONFIG_MEMSIZE_IN_BYTES
--	sprintf(env_buf, "%lu", (ulong)gd->ram_size);
--	debug("## Giving linux memsize in bytes, %lu\n", (ulong)gd->ram_size);
--#else
--	sprintf(env_buf, "%lu", (ulong)(gd->ram_size >> 20));
--	debug("## Giving linux memsize in MB, %lu\n",
--	      (ulong)(gd->ram_size >> 20));
--#endif /* CONFIG_MEMSIZE_IN_BYTES */
-+	if (CONFIG_IS_ENABLED(MEMSIZE_IN_BYTES)) {
-+		sprintf(env_buf, "%lu", (ulong)gd->ram_size);
-+		debug("## Giving linux memsize in bytes, %lu\n",
-+		      (ulong)gd->ram_size);
-+	} else {
-+		sprintf(env_buf, "%lu", (ulong)(gd->ram_size >> 20));
-+		debug("## Giving linux memsize in MB, %lu\n",
-+		      (ulong)(gd->ram_size >> 20));
-+	}
- 
- 	rd_start = UNCACHED_SDRAM(images->initrd_start);
- 	rd_size = images->initrd_end - images->initrd_start;
-@@ -214,7 +209,7 @@ static void linux_env_legacy(bootm_headers_t *images)
- 	if (cp)
- 		linux_env_set("eth1addr", cp);
- 
--	if (mips_boot_malta) {
-+	if (CONFIG_IS_ENABLED(MALTA)) {
- 		sprintf(env_buf, "%un8r", gd->baudrate);
- 		linux_env_set("modetty0", env_buf);
- 	}
-@@ -307,13 +302,13 @@ static void boot_jump_linux(bootm_headers_t *images)
- 
- 	bootstage_mark(BOOTSTAGE_ID_RUN_OS);
- 
--	if (mips_boot_malta)
-+	if (CONFIG_IS_ENABLED(MALTA))
- 		linux_extra = gd->ram_size;
- 
--#ifdef CONFIG_BOOTSTAGE_FDT
-+#if CONFIG_IS_ENABLED(BOOTSTAGE_FDT)
- 	bootstage_fdt_add_report();
- #endif
--#ifdef CONFIG_BOOTSTAGE_REPORT
-+#if CONFIG_IS_ENABLED(BOOTSTAGE_REPORT)
- 	bootstage_report();
- #endif
- 
--- 
-2.6.2
-
diff --git a/meta/recipes-bsp/u-boot/u-boot/0006-Replace-extern-inline-with-static-inline.patch b/meta/recipes-bsp/u-boot/u-boot/0006-Replace-extern-inline-with-static-inline.patch
deleted file mode 100644
index 52ef687..0000000
--- a/meta/recipes-bsp/u-boot/u-boot/0006-Replace-extern-inline-with-static-inline.patch
+++ /dev/null
@@ -1,1184 +0,0 @@
-From 69ce393f6ef57a8a0029df78dbdc9f9def2dbb8c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?M=C3=A5ns=20Rullg=C3=A5rd?= <mans@mansr.com>
-Date: Fri, 6 Nov 2015 12:44:01 +0000
-Subject: [PATCH 6/6] Replace "extern inline" with "static inline"
-Organization: O.S. Systems Software LTDA.
-
-A number of headers define functions as "extern inline" which is
-causing problems with gcc5.  The reason is that starting with
-version 5.1, gcc defaults to the standard C99 semantics for the
-inline keyword.
-
-Under the traditional GNU inline semantics, an "extern inline"
-function would never create an external definition, the same
-as inline *without* extern in C99.  In C99, and "extern inline"
-definition is simply an external definition with an inline hint.
-In short, the meanings of inline with and without extern are
-swapped between GNU and C99.
-
-The upshot is that all these definitions in header files create
-an external definition wherever those headers are included,
-resulting in multiple definition errors at link time.
-
-Changing all these functions to "static inline" fixes the problem
-since this works as desired in all gcc versions.  Although the
-semantics are slightly different (a static inline definition may
-result in an actual function being emitted), it works as intended
-in practice.
-
-This patch also removes extern prototype declarations for the
-changed functions where they existed.
-
-Upstream-Status: Submitted [https://patchwork.ozlabs.org/patch/540952/]
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- arch/blackfin/include/asm/delay.h     |  4 +--
- arch/m68k/include/asm/bitops.h        |  5 ++--
- arch/m68k/include/asm/byteorder.h     |  8 +++---
- arch/m68k/include/asm/io.h            | 40 ++++++++++++++---------------
- arch/powerpc/include/asm/atomic.h     |  8 +++---
- arch/powerpc/include/asm/bitops.h     | 35 ++++++++++---------------
- arch/powerpc/include/asm/byteorder.h  |  8 +++---
- arch/powerpc/include/asm/io.h         | 20 +++++++--------
- arch/powerpc/include/asm/iopin_8260.h | 40 ++++++++++++++---------------
- arch/powerpc/include/asm/iopin_8xx.h  | 48 +++++++++++++++++------------------
- arch/sparc/include/asm/irq.h          |  4 +--
- arch/sparc/include/asm/psr.h          |  6 ++---
- arch/sparc/include/asm/srmmu.h        | 30 +++++++++++-----------
- include/mpc8260.h                     |  2 +-
- 14 files changed, 125 insertions(+), 133 deletions(-)
-
-diff --git a/arch/blackfin/include/asm/delay.h b/arch/blackfin/include/asm/delay.h
-index 97401a7..f146efd 100644
---- a/arch/blackfin/include/asm/delay.h
-+++ b/arch/blackfin/include/asm/delay.h
-@@ -16,7 +16,7 @@
-  * Delay routines, using a pre-computed "loops_per_second" value.
-  */
- 
--extern __inline__ void __delay(unsigned long loops)
-+static __inline__ void __delay(unsigned long loops)
- {
- 	__asm__ __volatile__("1:\t%0 += -1;\n\t"
- 			     "cc = %0 == 0;\n\t"
-@@ -31,7 +31,7 @@ extern __inline__ void __delay(unsigned long loops)
-  * first constant multiplications gets optimized away if the delay is
-  * a constant)
-  */
--extern __inline__ void __udelay(unsigned long usecs)
-+static __inline__ void __udelay(unsigned long usecs)
- {
- 	__delay(usecs);
- }
-diff --git a/arch/m68k/include/asm/bitops.h b/arch/m68k/include/asm/bitops.h
-index f9c434b..6b79a0d 100644
---- a/arch/m68k/include/asm/bitops.h
-+++ b/arch/m68k/include/asm/bitops.h
-@@ -10,21 +10,20 @@
- extern void set_bit(int nr, volatile void *addr);
- extern void clear_bit(int nr, volatile void *addr);
- extern void change_bit(int nr, volatile void *addr);
--extern int test_and_set_bit(int nr, volatile void *addr);
- extern int test_and_clear_bit(int nr, volatile void *addr);
- extern int test_and_change_bit(int nr, volatile void *addr);
- 
- #ifdef __KERNEL__
- 
- 
--extern inline int test_bit(int nr, __const__ volatile void *addr)
-+static inline int test_bit(int nr, __const__ volatile void *addr)
- {
- 	__const__ unsigned int *p = (__const__ unsigned int *) addr;
- 
- 	return (p[nr >> 5] & (1UL << (nr & 31))) != 0;
- }
- 
--extern inline int test_and_set_bit(int nr, volatile void *vaddr)
-+static inline int test_and_set_bit(int nr, volatile void *vaddr)
- {
- 	char retval;
- 
-diff --git a/arch/m68k/include/asm/byteorder.h b/arch/m68k/include/asm/byteorder.h
-index 908a99b..7244b75 100644
---- a/arch/m68k/include/asm/byteorder.h
-+++ b/arch/m68k/include/asm/byteorder.h
-@@ -22,25 +22,25 @@
- 		(((__u32)(x) & (__u32)0x00ff0000UL) >>  8) | \
- 		(((__u32)(x)) >> 24) ))
- 
--extern __inline__ unsigned ld_le16(const volatile unsigned short *addr)
-+static __inline__ unsigned ld_le16(const volatile unsigned short *addr)
- {
- 	unsigned result = *addr;
- 	return __sw16(result);
- }
- 
--extern __inline__ void st_le16(volatile unsigned short *addr,
-+static __inline__ void st_le16(volatile unsigned short *addr,
- 			       const unsigned val)
- {
- 	*addr = __sw16(val);
- }
- 
--extern __inline__ unsigned ld_le32(const volatile unsigned *addr)
-+static __inline__ unsigned ld_le32(const volatile unsigned *addr)
- {
- 	unsigned result = *addr;
- 	return __sw32(result);
- }
- 
--extern __inline__ void st_le32(volatile unsigned *addr, const unsigned val)
-+static __inline__ void st_le32(volatile unsigned *addr, const unsigned val)
- {
- 	*addr = __sw32(val);
- }
-diff --git a/arch/m68k/include/asm/io.h b/arch/m68k/include/asm/io.h
-index 2d2a519..384308b 100644
---- a/arch/m68k/include/asm/io.h
-+++ b/arch/m68k/include/asm/io.h
-@@ -67,28 +67,28 @@
- 
- #define mb() __asm__ __volatile__ ("" : : : "memory")
- 
--extern inline void _insb(volatile u8 * port, void *buf, int ns)
-+static inline void _insb(volatile u8 * port, void *buf, int ns)
- {
- 	u8 *data = (u8 *) buf;
- 	while (ns--)
- 		*data++ = *port;
- }
- 
--extern inline void _outsb(volatile u8 * port, const void *buf, int ns)
-+static inline void _outsb(volatile u8 * port, const void *buf, int ns)
- {
- 	u8 *data = (u8 *) buf;
- 	while (ns--)
- 		*port = *data++;
- }
- 
--extern inline void _insw(volatile u16 * port, void *buf, int ns)
-+static inline void _insw(volatile u16 * port, void *buf, int ns)
- {
- 	u16 *data = (u16 *) buf;
- 	while (ns--)
- 		*data++ = __sw16(*port);
- }
- 
--extern inline void _outsw(volatile u16 * port, const void *buf, int ns)
-+static inline void _outsw(volatile u16 * port, const void *buf, int ns)
- {
- 	u16 *data = (u16 *) buf;
- 	while (ns--) {
-@@ -97,14 +97,14 @@ extern inline void _outsw(volatile u16 * port, const void *buf, int ns)
- 	}
- }
- 
--extern inline void _insl(volatile u32 * port, void *buf, int nl)
-+static inline void _insl(volatile u32 * port, void *buf, int nl)
- {
- 	u32 *data = (u32 *) buf;
- 	while (nl--)
- 		*data++ = __sw32(*port);
- }
- 
--extern inline void _outsl(volatile u32 * port, const void *buf, int nl)
-+static inline void _outsl(volatile u32 * port, const void *buf, int nl)
- {
- 	u32 *data = (u32 *) buf;
- 	while (nl--) {
-@@ -113,14 +113,14 @@ extern inline void _outsl(volatile u32 * port, const void *buf, int nl)
- 	}
- }
- 
--extern inline void _insw_ns(volatile u16 * port, void *buf, int ns)
-+static inline void _insw_ns(volatile u16 * port, void *buf, int ns)
- {
- 	u16 *data = (u16 *) buf;
- 	while (ns--)
- 		*data++ = *port;
- }
- 
--extern inline void _outsw_ns(volatile u16 * port, const void *buf, int ns)
-+static inline void _outsw_ns(volatile u16 * port, const void *buf, int ns)
- {
- 	u16 *data = (u16 *) buf;
- 	while (ns--) {
-@@ -128,14 +128,14 @@ extern inline void _outsw_ns(volatile u16 * port, const void *buf, int ns)
- 	}
- }
- 
--extern inline void _insl_ns(volatile u32 * port, void *buf, int nl)
-+static inline void _insl_ns(volatile u32 * port, void *buf, int nl)
- {
- 	u32 *data = (u32 *) buf;
- 	while (nl--)
- 		*data++ = *port;
- }
- 
--extern inline void _outsl_ns(volatile u32 * port, const void *buf, int nl)
-+static inline void _outsl_ns(volatile u32 * port, const void *buf, int nl)
- {
- 	u32 *data = (u32 *) buf;
- 	while (nl--) {
-@@ -159,52 +159,52 @@ extern inline void _outsl_ns(volatile u32 * port, const void *buf, int nl)
- /*
-  * 8, 16 and 32 bit, big and little endian I/O operations, with barrier.
-  */
--extern inline int in_8(volatile u8 * addr)
-+static inline int in_8(volatile u8 * addr)
- {
- 	return (int)*addr;
- }
- 
--extern inline void out_8(volatile u8 * addr, int val)
-+static inline void out_8(volatile u8 * addr, int val)
- {
- 	*addr = (u8) val;
- }
- 
--extern inline int in_le16(volatile u16 * addr)
-+static inline int in_le16(volatile u16 * addr)
- {
- 	return __sw16(*addr);
- }
- 
--extern inline int in_be16(volatile u16 * addr)
-+static inline int in_be16(volatile u16 * addr)
- {
- 	return (*addr & 0xFFFF);
- }
- 
--extern inline void out_le16(volatile u16 * addr, int val)
-+static inline void out_le16(volatile u16 * addr, int val)
- {
- 	*addr = __sw16(val);
- }
- 
--extern inline void out_be16(volatile u16 * addr, int val)
-+static inline void out_be16(volatile u16 * addr, int val)
- {
- 	*addr = (u16) val;
- }
- 
--extern inline unsigned in_le32(volatile u32 * addr)
-+static inline unsigned in_le32(volatile u32 * addr)
- {
- 	return __sw32(*addr);
- }
- 
--extern inline unsigned in_be32(volatile u32 * addr)
-+static inline unsigned in_be32(volatile u32 * addr)
- {
- 	return (*addr);
- }
- 
--extern inline void out_le32(volatile unsigned *addr, int val)
-+static inline void out_le32(volatile unsigned *addr, int val)
- {
- 	*addr = __sw32(val);
- }
- 
--extern inline void out_be32(volatile unsigned *addr, int val)
-+static inline void out_be32(volatile unsigned *addr, int val)
- {
- 	*addr = val;
- }
-diff --git a/arch/powerpc/include/asm/atomic.h b/arch/powerpc/include/asm/atomic.h
-index 43a2bb2..87efcca 100644
---- a/arch/powerpc/include/asm/atomic.h
-+++ b/arch/powerpc/include/asm/atomic.h
-@@ -19,7 +19,7 @@ typedef struct { int counter; } atomic_t;
- extern void atomic_clear_mask(unsigned long mask, unsigned long *addr);
- extern void atomic_set_mask(unsigned long mask, unsigned long *addr);
- 
--extern __inline__ int atomic_add_return(int a, atomic_t *v)
-+static __inline__ int atomic_add_return(int a, atomic_t *v)
- {
- 	int t;
- 
-@@ -35,7 +35,7 @@ extern __inline__ int atomic_add_return(int a, atomic_t *v)
- 	return t;
- }
- 
--extern __inline__ int atomic_sub_return(int a, atomic_t *v)
-+static __inline__ int atomic_sub_return(int a, atomic_t *v)
- {
- 	int t;
- 
-@@ -51,7 +51,7 @@ extern __inline__ int atomic_sub_return(int a, atomic_t *v)
- 	return t;
- }
- 
--extern __inline__ int atomic_inc_return(atomic_t *v)
-+static __inline__ int atomic_inc_return(atomic_t *v)
- {
- 	int t;
- 
-@@ -67,7 +67,7 @@ extern __inline__ int atomic_inc_return(atomic_t *v)
- 	return t;
- }
- 
--extern __inline__ int atomic_dec_return(atomic_t *v)
-+static __inline__ int atomic_dec_return(atomic_t *v)
- {
- 	int t;
- 
-diff --git a/arch/powerpc/include/asm/bitops.h b/arch/powerpc/include/asm/bitops.h
-index a6bcf3c..986ca96 100644
---- a/arch/powerpc/include/asm/bitops.h
-+++ b/arch/powerpc/include/asm/bitops.h
-@@ -7,13 +7,6 @@
- 
- #include <asm/byteorder.h>
- 
--extern void set_bit(int nr, volatile void *addr);
--extern void clear_bit(int nr, volatile void *addr);
--extern void change_bit(int nr, volatile void *addr);
--extern int test_and_set_bit(int nr, volatile void *addr);
--extern int test_and_clear_bit(int nr, volatile void *addr);
--extern int test_and_change_bit(int nr, volatile void *addr);
--
- /*
-  * Arguably these bit operations don't imply any memory barrier or
-  * SMP ordering, but in fact a lot of drivers expect them to imply
-@@ -34,7 +27,7 @@ extern int test_and_change_bit(int nr, volatile void *addr);
-  * These used to be if'd out here because using : "cc" as a constraint
-  * resulted in errors from egcs.  Things may be OK with gcc-2.95.
-  */
--extern __inline__ void set_bit(int nr, volatile void * addr)
-+static __inline__ void set_bit(int nr, volatile void * addr)
- {
- 	unsigned long old;
- 	unsigned long mask = 1 << (nr & 0x1f);
-@@ -51,7 +44,7 @@ extern __inline__ void set_bit(int nr, volatile void * addr)
- 	: "cc" );
- }
- 
--extern __inline__ void clear_bit(int nr, volatile void *addr)
-+static __inline__ void clear_bit(int nr, volatile void *addr)
- {
- 	unsigned long old;
- 	unsigned long mask = 1 << (nr & 0x1f);
-@@ -68,7 +61,7 @@ extern __inline__ void clear_bit(int nr, volatile void *addr)
- 	: "cc");
- }
- 
--extern __inline__ void change_bit(int nr, volatile void *addr)
-+static __inline__ void change_bit(int nr, volatile void *addr)
- {
- 	unsigned long old;
- 	unsigned long mask = 1 << (nr & 0x1f);
-@@ -85,7 +78,7 @@ extern __inline__ void change_bit(int nr, volatile void *addr)
- 	: "cc");
- }
- 
--extern __inline__ int test_and_set_bit(int nr, volatile void *addr)
-+static __inline__ int test_and_set_bit(int nr, volatile void *addr)
- {
- 	unsigned int old, t;
- 	unsigned int mask = 1 << (nr & 0x1f);
-@@ -104,7 +97,7 @@ extern __inline__ int test_and_set_bit(int nr, volatile void *addr)
- 	return (old & mask) != 0;
- }
- 
--extern __inline__ int test_and_clear_bit(int nr, volatile void *addr)
-+static __inline__ int test_and_clear_bit(int nr, volatile void *addr)
- {
- 	unsigned int old, t;
- 	unsigned int mask = 1 << (nr & 0x1f);
-@@ -123,7 +116,7 @@ extern __inline__ int test_and_clear_bit(int nr, volatile void *addr)
- 	return (old & mask) != 0;
- }
- 
--extern __inline__ int test_and_change_bit(int nr, volatile void *addr)
-+static __inline__ int test_and_change_bit(int nr, volatile void *addr)
- {
- 	unsigned int old, t;
- 	unsigned int mask = 1 << (nr & 0x1f);
-@@ -143,7 +136,7 @@ extern __inline__ int test_and_change_bit(int nr, volatile void *addr)
- }
- #endif /* __INLINE_BITOPS */
- 
--extern __inline__ int test_bit(int nr, __const__ volatile void *addr)
-+static __inline__ int test_bit(int nr, __const__ volatile void *addr)
- {
- 	__const__ unsigned int *p = (__const__ unsigned int *) addr;
- 
-@@ -152,7 +145,7 @@ extern __inline__ int test_bit(int nr, __const__ volatile void *addr)
- 
- /* Return the bit position of the most significant 1 bit in a word */
- /* - the result is undefined when x == 0 */
--extern __inline__ int __ilog2(unsigned int x)
-+static __inline__ int __ilog2(unsigned int x)
- {
- 	int lz;
- 
-@@ -160,7 +153,7 @@ extern __inline__ int __ilog2(unsigned int x)
- 	return 31 - lz;
- }
- 
--extern __inline__ int ffz(unsigned int x)
-+static __inline__ int ffz(unsigned int x)
- {
- 	if ((x = ~x) == 0)
- 		return 32;
-@@ -226,7 +219,7 @@ static inline int ffs64(u64 x)
-  * the libc and compiler builtin ffs routines, therefore
-  * differs in spirit from the above ffz (man ffs).
-  */
--extern __inline__ int ffs(int x)
-+static __inline__ int ffs(int x)
- {
- 	return __ilog2(x & -x) + 1;
- }
-@@ -250,7 +243,7 @@ extern __inline__ int ffs(int x)
- #define find_first_zero_bit(addr, size) \
- 	find_next_zero_bit((addr), (size), 0)
- 
--extern __inline__ unsigned long find_next_zero_bit(void * addr,
-+static __inline__ unsigned long find_next_zero_bit(void * addr,
- 	unsigned long size, unsigned long offset)
- {
- 	unsigned int * p = ((unsigned int *) addr) + (offset >> 5);
-@@ -298,7 +291,7 @@ found_middle:
- #define ext2_clear_bit(nr, addr)	test_and_clear_bit((nr) ^ 0x18, addr)
- 
- #else
--extern __inline__ int ext2_set_bit(int nr, void * addr)
-+static __inline__ int ext2_set_bit(int nr, void * addr)
- {
- 	int		mask;
- 	unsigned char	*ADDR = (unsigned char *) addr;
-@@ -311,7 +304,7 @@ extern __inline__ int ext2_set_bit(int nr, void * addr)
- 	return oldbit;
- }
- 
--extern __inline__ int ext2_clear_bit(int nr, void * addr)
-+static __inline__ int ext2_clear_bit(int nr, void * addr)
- {
- 	int		mask;
- 	unsigned char	*ADDR = (unsigned char *) addr;
-@@ -325,7 +318,7 @@ extern __inline__ int ext2_clear_bit(int nr, void * addr)
- }
- #endif	/* __KERNEL__ */
- 
--extern __inline__ int ext2_test_bit(int nr, __const__ void * addr)
-+static __inline__ int ext2_test_bit(int nr, __const__ void * addr)
- {
- 	__const__ unsigned char	*ADDR = (__const__ unsigned char *) addr;
- 
-diff --git a/arch/powerpc/include/asm/byteorder.h b/arch/powerpc/include/asm/byteorder.h
-index 3f5bcf6..f731d18 100644
---- a/arch/powerpc/include/asm/byteorder.h
-+++ b/arch/powerpc/include/asm/byteorder.h
-@@ -5,7 +5,7 @@
- 
- #ifdef __GNUC__
- 
--extern __inline__ unsigned ld_le16(const volatile unsigned short *addr)
-+static __inline__ unsigned ld_le16(const volatile unsigned short *addr)
- {
- 	unsigned val;
- 
-@@ -13,12 +13,12 @@ extern __inline__ unsigned ld_le16(const volatile unsigned short *addr)
- 	return val;
- }
- 
--extern __inline__ void st_le16(volatile unsigned short *addr, const unsigned val)
-+static __inline__ void st_le16(volatile unsigned short *addr, const unsigned val)
- {
- 	__asm__ __volatile__ ("sthbrx %1,0,%2" : "=m" (*addr) : "r" (val), "r" (addr));
- }
- 
--extern __inline__ unsigned ld_le32(const volatile unsigned *addr)
-+static __inline__ unsigned ld_le32(const volatile unsigned *addr)
- {
- 	unsigned val;
- 
-@@ -26,7 +26,7 @@ extern __inline__ unsigned ld_le32(const volatile unsigned *addr)
- 	return val;
- }
- 
--extern __inline__ void st_le32(volatile unsigned *addr, const unsigned val)
-+static __inline__ void st_le32(volatile unsigned *addr, const unsigned val)
- {
- 	__asm__ __volatile__ ("stwbrx %1,0,%2" : "=m" (*addr) : "r" (val), "r" (addr));
- }
-diff --git a/arch/powerpc/include/asm/io.h b/arch/powerpc/include/asm/io.h
-index a5257e9..a54fc46 100644
---- a/arch/powerpc/include/asm/io.h
-+++ b/arch/powerpc/include/asm/io.h
-@@ -163,7 +163,7 @@ static inline void __raw_writel(unsigned int v, volatile void __iomem *addr)
-  * is actually performed (i.e. the data has come back) before we start
-  * executing any following instructions.
-  */
--extern inline u8 in_8(const volatile unsigned char __iomem *addr)
-+static inline u8 in_8(const volatile unsigned char __iomem *addr)
- {
- 	u8 ret;
- 
-@@ -174,7 +174,7 @@ extern inline u8 in_8(const volatile unsigned char __iomem *addr)
- 	return ret;
- }
- 
--extern inline void out_8(volatile unsigned char __iomem *addr, u8 val)
-+static inline void out_8(volatile unsigned char __iomem *addr, u8 val)
- {
- 	__asm__ __volatile__("sync;\n"
- 			     "stb%U0%X0 %1,%0;\n"
-@@ -182,7 +182,7 @@ extern inline void out_8(volatile unsigned char __iomem *addr, u8 val)
- 			     : "r" (val));
- }
- 
--extern inline u16 in_le16(const volatile unsigned short __iomem *addr)
-+static inline u16 in_le16(const volatile unsigned short __iomem *addr)
- {
- 	u16 ret;
- 
-@@ -193,7 +193,7 @@ extern inline u16 in_le16(const volatile unsigned short __iomem *addr)
- 	return ret;
- }
- 
--extern inline u16 in_be16(const volatile unsigned short __iomem *addr)
-+static inline u16 in_be16(const volatile unsigned short __iomem *addr)
- {
- 	u16 ret;
- 
-@@ -203,18 +203,18 @@ extern inline u16 in_be16(const volatile unsigned short __iomem *addr)
- 	return ret;
- }
- 
--extern inline void out_le16(volatile unsigned short __iomem *addr, u16 val)
-+static inline void out_le16(volatile unsigned short __iomem *addr, u16 val)
- {
- 	__asm__ __volatile__("sync; sthbrx %1,0,%2" : "=m" (*addr) :
- 			      "r" (val), "r" (addr));
- }
- 
--extern inline void out_be16(volatile unsigned short __iomem *addr, u16 val)
-+static inline void out_be16(volatile unsigned short __iomem *addr, u16 val)
- {
- 	__asm__ __volatile__("sync; sth%U0%X0 %1,%0" : "=m" (*addr) : "r" (val));
- }
- 
--extern inline u32 in_le32(const volatile unsigned __iomem *addr)
-+static inline u32 in_le32(const volatile unsigned __iomem *addr)
- {
- 	u32 ret;
- 
-@@ -225,7 +225,7 @@ extern inline u32 in_le32(const volatile unsigned __iomem *addr)
- 	return ret;
- }
- 
--extern inline u32 in_be32(const volatile unsigned __iomem *addr)
-+static inline u32 in_be32(const volatile unsigned __iomem *addr)
- {
- 	u32 ret;
- 
-@@ -235,13 +235,13 @@ extern inline u32 in_be32(const volatile unsigned __iomem *addr)
- 	return ret;
- }
- 
--extern inline void out_le32(volatile unsigned __iomem *addr, u32 val)
-+static inline void out_le32(volatile unsigned __iomem *addr, u32 val)
- {
- 	__asm__ __volatile__("sync; stwbrx %1,0,%2" : "=m" (*addr) :
- 			     "r" (val), "r" (addr));
- }
- 
--extern inline void out_be32(volatile unsigned __iomem *addr, u32 val)
-+static inline void out_be32(volatile unsigned __iomem *addr, u32 val)
- {
- 	__asm__ __volatile__("sync; stw%U0%X0 %1,%0" : "=m" (*addr) : "r" (val));
- }
-diff --git a/arch/powerpc/include/asm/iopin_8260.h b/arch/powerpc/include/asm/iopin_8260.h
-index 619f3a8..617584d 100644
---- a/arch/powerpc/include/asm/iopin_8260.h
-+++ b/arch/powerpc/include/asm/iopin_8260.h
-@@ -23,140 +23,140 @@ iopin_t;
- #define IOPIN_PORTC	2
- #define IOPIN_PORTD	3
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_high(iopin_t *iopin)
- {
-     volatile uint *datp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdata;
-     datp[iopin->port * 8] |= (1 << (31 - iopin->pin));
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_low(iopin_t *iopin)
- {
-     volatile uint *datp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdata;
-     datp[iopin->port * 8] &= ~(1 << (31 - iopin->pin));
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_high(iopin_t *iopin)
- {
-     volatile uint *datp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdata;
-     return (datp[iopin->port * 8] >> (31 - iopin->pin)) & 1;
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_low(iopin_t *iopin)
- {
-     volatile uint *datp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdata;
-     return ((datp[iopin->port * 8] >> (31 - iopin->pin)) & 1) ^ 1;
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_out(iopin_t *iopin)
- {
-     volatile uint *dirp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdira;
-     dirp[iopin->port * 8] |= (1 << (31 - iopin->pin));
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_in(iopin_t *iopin)
- {
-     volatile uint *dirp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdira;
-     dirp[iopin->port * 8] &= ~(1 << (31 - iopin->pin));
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_out(iopin_t *iopin)
- {
-     volatile uint *dirp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdira;
-     return (dirp[iopin->port * 8] >> (31 - iopin->pin)) & 1;
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_in(iopin_t *iopin)
- {
-     volatile uint *dirp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdira;
-     return ((dirp[iopin->port * 8] >> (31 - iopin->pin)) & 1) ^ 1;
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_odr(iopin_t *iopin)
- {
-     volatile uint *odrp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_podra;
-     odrp[iopin->port * 8] |= (1 << (31 - iopin->pin));
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_act(iopin_t *iopin)
- {
-     volatile uint *odrp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_podra;
-     odrp[iopin->port * 8] &= ~(1 << (31 - iopin->pin));
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_odr(iopin_t *iopin)
- {
-     volatile uint *odrp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_podra;
-     return (odrp[iopin->port * 8] >> (31 - iopin->pin)) & 1;
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_act(iopin_t *iopin)
- {
-     volatile uint *odrp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_podra;
-     return ((odrp[iopin->port * 8] >> (31 - iopin->pin)) & 1) ^ 1;
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_ded(iopin_t *iopin)
- {
-     volatile uint *parp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_ppara;
-     parp[iopin->port * 8] |= (1 << (31 - iopin->pin));
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_gen(iopin_t *iopin)
- {
-     volatile uint *parp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_ppara;
-     parp[iopin->port * 8] &= ~(1 << (31 - iopin->pin));
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_ded(iopin_t *iopin)
- {
-     volatile uint *parp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_ppara;
-     return (parp[iopin->port * 8] >> (31 - iopin->pin)) & 1;
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_gen(iopin_t *iopin)
- {
-     volatile uint *parp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_ppara;
-     return ((parp[iopin->port * 8] >> (31 - iopin->pin)) & 1) ^ 1;
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_opt2(iopin_t *iopin)
- {
-     volatile uint *sorp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_psora;
-     sorp[iopin->port * 8] |= (1 << (31 - iopin->pin));
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_opt1(iopin_t *iopin)
- {
-     volatile uint *sorp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_psora;
-     sorp[iopin->port * 8] &= ~(1 << (31 - iopin->pin));
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_opt2(iopin_t *iopin)
- {
-     volatile uint *sorp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_psora;
-     return (sorp[iopin->port * 8] >> (31 - iopin->pin)) & 1;
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_opt1(iopin_t *iopin)
- {
-     volatile uint *sorp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_psora;
-diff --git a/arch/powerpc/include/asm/iopin_8xx.h b/arch/powerpc/include/asm/iopin_8xx.h
-index 0123baf..8db0fa2 100644
---- a/arch/powerpc/include/asm/iopin_8xx.h
-+++ b/arch/powerpc/include/asm/iopin_8xx.h
-@@ -26,7 +26,7 @@ typedef struct {
- #define IOPIN_PORTC	2
- #define IOPIN_PORTD	3
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_high(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTA) {
-@@ -44,7 +44,7 @@ iopin_set_high(iopin_t *iopin)
- 	}
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_low(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTA) {
-@@ -62,7 +62,7 @@ iopin_set_low(iopin_t *iopin)
- 	}
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_high(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTA) {
-@@ -81,7 +81,7 @@ iopin_is_high(iopin_t *iopin)
- 	return 0;
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_low(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTA) {
-@@ -100,7 +100,7 @@ iopin_is_low(iopin_t *iopin)
- 	return 0;
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_out(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTA) {
-@@ -118,7 +118,7 @@ iopin_set_out(iopin_t *iopin)
- 	}
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_in(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTA) {
-@@ -136,7 +136,7 @@ iopin_set_in(iopin_t *iopin)
- 	}
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_out(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTA) {
-@@ -155,7 +155,7 @@ iopin_is_out(iopin_t *iopin)
- 	return 0;
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_in(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTA) {
-@@ -174,7 +174,7 @@ iopin_is_in(iopin_t *iopin)
- 	return 0;
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_odr(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTA) {
-@@ -186,7 +186,7 @@ iopin_set_odr(iopin_t *iopin)
- 	}
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_act(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTA) {
-@@ -198,7 +198,7 @@ iopin_set_act(iopin_t *iopin)
- 	}
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_odr(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTA) {
-@@ -211,7 +211,7 @@ iopin_is_odr(iopin_t *iopin)
- 	return 0;
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_act(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTA) {
-@@ -224,7 +224,7 @@ iopin_is_act(iopin_t *iopin)
- 	return 0;
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_ded(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTA) {
-@@ -242,7 +242,7 @@ iopin_set_ded(iopin_t *iopin)
- 	}
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_gen(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTA) {
-@@ -260,7 +260,7 @@ iopin_set_gen(iopin_t *iopin)
- 	}
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_ded(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTA) {
-@@ -279,7 +279,7 @@ iopin_is_ded(iopin_t *iopin)
- 	return 0;
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_gen(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTA) {
-@@ -298,7 +298,7 @@ iopin_is_gen(iopin_t *iopin)
- 	return 0;
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_opt2(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTC) {
-@@ -307,7 +307,7 @@ iopin_set_opt2(iopin_t *iopin)
- 	}
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_opt1(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTC) {
-@@ -316,7 +316,7 @@ iopin_set_opt1(iopin_t *iopin)
- 	}
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_opt2(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTC) {
-@@ -326,7 +326,7 @@ iopin_is_opt2(iopin_t *iopin)
- 	return 0;
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_opt1(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTC) {
-@@ -336,7 +336,7 @@ iopin_is_opt1(iopin_t *iopin)
- 	return 0;
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_falledge(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTC) {
-@@ -345,7 +345,7 @@ iopin_set_falledge(iopin_t *iopin)
- 	}
- }
- 
--extern __inline__ void
-+static __inline__ void
- iopin_set_anyedge(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTC) {
-@@ -354,7 +354,7 @@ iopin_set_anyedge(iopin_t *iopin)
- 	}
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_falledge(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTC) {
-@@ -364,7 +364,7 @@ iopin_is_falledge(iopin_t *iopin)
- 	return 0;
- }
- 
--extern __inline__ uint
-+static __inline__ uint
- iopin_is_anyedge(iopin_t *iopin)
- {
- 	if (iopin->port == IOPIN_PORTC) {
-diff --git a/arch/sparc/include/asm/irq.h b/arch/sparc/include/asm/irq.h
-index bbe0204..2faf7a0 100644
---- a/arch/sparc/include/asm/irq.h
-+++ b/arch/sparc/include/asm/irq.h
-@@ -12,7 +12,7 @@
- #include <asm/psr.h>
- 
- /* Set SPARC Processor Interrupt Level */
--extern inline void set_pil(unsigned int level)
-+static inline void set_pil(unsigned int level)
- {
- 	unsigned int psr = get_psr();
- 
-@@ -20,7 +20,7 @@ extern inline void set_pil(unsigned int level)
- }
- 
- /* Get SPARC Processor Interrupt Level */
--extern inline unsigned int get_pil(void)
-+static inline unsigned int get_pil(void)
- {
- 	unsigned int psr = get_psr();
- 	return (psr & PSR_PIL) >> PSR_PIL_OFS;
-diff --git a/arch/sparc/include/asm/psr.h b/arch/sparc/include/asm/psr.h
-index 70af8e0..a91bdc9 100644
---- a/arch/sparc/include/asm/psr.h
-+++ b/arch/sparc/include/asm/psr.h
-@@ -42,7 +42,7 @@
- 
- #ifndef __ASSEMBLY__
- /* Get the %psr register. */
--extern __inline__ unsigned int get_psr(void)
-+static __inline__ unsigned int get_psr(void)
- {
- 	unsigned int psr;
- 	__asm__ __volatile__("rd	%%psr, %0\n\t"
-@@ -53,7 +53,7 @@ extern __inline__ unsigned int get_psr(void)
- 	return psr;
- }
- 
--extern __inline__ void put_psr(unsigned int new_psr)
-+static __inline__ void put_psr(unsigned int new_psr)
- {
- 	__asm__ __volatile__("wr	%0, 0x0, %%psr\n\t" "nop\n\t" "nop\n\t" "nop\n\t":	/* no outputs */
- 			     :"r"(new_psr)
-@@ -67,7 +67,7 @@ extern __inline__ void put_psr(unsigned int new_psr)
- 
- extern unsigned int fsr_storage;
- 
--extern __inline__ unsigned int get_fsr(void)
-+static __inline__ unsigned int get_fsr(void)
- {
- 	unsigned int fsr = 0;
- 
-diff --git a/arch/sparc/include/asm/srmmu.h b/arch/sparc/include/asm/srmmu.h
-index 74b1554..8da2f67 100644
---- a/arch/sparc/include/asm/srmmu.h
-+++ b/arch/sparc/include/asm/srmmu.h
-@@ -148,7 +148,7 @@ extern void *srmmu_nocache_pool;
- #define __nocache_fix(VADDR) __va(__nocache_pa(VADDR))
- 
- /* Accessing the MMU control register. */
--extern __inline__ unsigned int srmmu_get_mmureg(void)
-+static __inline__ unsigned int srmmu_get_mmureg(void)
- {
- 	unsigned int retval;
- 	__asm__ __volatile__("lda [%%g0] %1, %0\n\t":
-@@ -156,14 +156,14 @@ extern __inline__ unsigned int srmmu_get_mmureg(void)
- 	return retval;
- }
- 
--extern __inline__ void srmmu_set_mmureg(unsigned long regval)
-+static __inline__ void srmmu_set_mmureg(unsigned long regval)
- {
- 	__asm__ __volatile__("sta %0, [%%g0] %1\n\t"::"r"(regval),
- 			     "i"(ASI_M_MMUREGS):"memory");
- 
- }
- 
--extern __inline__ void srmmu_set_ctable_ptr(unsigned long paddr)
-+static __inline__ void srmmu_set_ctable_ptr(unsigned long paddr)
- {
- 	paddr = ((paddr >> 4) & SRMMU_CTX_PMASK);
- 	__asm__ __volatile__("sta %0, [%1] %2\n\t"::"r"(paddr),
-@@ -171,7 +171,7 @@ extern __inline__ void srmmu_set_ctable_ptr(unsigned long paddr)
- 			     "i"(ASI_M_MMUREGS):"memory");
- }
- 
--extern __inline__ unsigned long srmmu_get_ctable_ptr(void)
-+static __inline__ unsigned long srmmu_get_ctable_ptr(void)
- {
- 	unsigned int retval;
- 
-@@ -181,13 +181,13 @@ extern __inline__ unsigned long srmmu_get_ctable_ptr(void)
- 	return (retval & SRMMU_CTX_PMASK) << 4;
- }
- 
--extern __inline__ void srmmu_set_context(int context)
-+static __inline__ void srmmu_set_context(int context)
- {
- 	__asm__ __volatile__("sta %0, [%1] %2\n\t"::"r"(context),
- 			     "r"(SRMMU_CTX_REG), "i"(ASI_M_MMUREGS):"memory");
- }
- 
--extern __inline__ int srmmu_get_context(void)
-+static __inline__ int srmmu_get_context(void)
- {
- 	register int retval;
- 	__asm__ __volatile__("lda [%1] %2, %0\n\t":
-@@ -196,7 +196,7 @@ extern __inline__ int srmmu_get_context(void)
- 	return retval;
- }
- 
--extern __inline__ unsigned int srmmu_get_fstatus(void)
-+static __inline__ unsigned int srmmu_get_fstatus(void)
- {
- 	unsigned int retval;
- 
-@@ -206,7 +206,7 @@ extern __inline__ unsigned int srmmu_get_fstatus(void)
- 	return retval;
- }
- 
--extern __inline__ unsigned int srmmu_get_faddr(void)
-+static __inline__ unsigned int srmmu_get_faddr(void)
- {
- 	unsigned int retval;
- 
-@@ -217,7 +217,7 @@ extern __inline__ unsigned int srmmu_get_faddr(void)
- }
- 
- /* This is guaranteed on all SRMMU's. */
--extern __inline__ void srmmu_flush_whole_tlb(void)
-+static __inline__ void srmmu_flush_whole_tlb(void)
- {
- 	__asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(0x400),	/* Flush entire TLB!! */
- 			     "i"(ASI_M_FLUSH_PROBE):"memory");
-@@ -225,14 +225,14 @@ extern __inline__ void srmmu_flush_whole_tlb(void)
- }
- 
- /* These flush types are not available on all chips... */
--extern __inline__ void srmmu_flush_tlb_ctx(void)
-+static __inline__ void srmmu_flush_tlb_ctx(void)
- {
- 	__asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(0x300),	/* Flush TLB ctx.. */
- 			     "i"(ASI_M_FLUSH_PROBE):"memory");
- 
- }
- 
--extern __inline__ void srmmu_flush_tlb_region(unsigned long addr)
-+static __inline__ void srmmu_flush_tlb_region(unsigned long addr)
- {
- 	addr &= SRMMU_PGDIR_MASK;
- 	__asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(addr | 0x200),	/* Flush TLB region.. */
-@@ -240,7 +240,7 @@ extern __inline__ void srmmu_flush_tlb_region(unsigned long addr)
- 
- }
- 
--extern __inline__ void srmmu_flush_tlb_segment(unsigned long addr)
-+static __inline__ void srmmu_flush_tlb_segment(unsigned long addr)
- {
- 	addr &= SRMMU_REAL_PMD_MASK;
- 	__asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(addr | 0x100),	/* Flush TLB segment.. */
-@@ -248,7 +248,7 @@ extern __inline__ void srmmu_flush_tlb_segment(unsigned long addr)
- 
- }
- 
--extern __inline__ void srmmu_flush_tlb_page(unsigned long page)
-+static __inline__ void srmmu_flush_tlb_page(unsigned long page)
- {
- 	page &= PAGE_MASK;
- 	__asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(page),	/* Flush TLB page.. */
-@@ -256,7 +256,7 @@ extern __inline__ void srmmu_flush_tlb_page(unsigned long page)
- 
- }
- 
--extern __inline__ unsigned long srmmu_hwprobe(unsigned long vaddr)
-+static __inline__ unsigned long srmmu_hwprobe(unsigned long vaddr)
- {
- 	unsigned long retval;
- 
-@@ -268,7 +268,7 @@ extern __inline__ unsigned long srmmu_hwprobe(unsigned long vaddr)
- 	return retval;
- }
- 
--extern __inline__ int srmmu_get_pte(unsigned long addr)
-+static __inline__ int srmmu_get_pte(unsigned long addr)
- {
- 	register unsigned long entry;
- 
-diff --git a/include/mpc8260.h b/include/mpc8260.h
-index 9980c74..75f1b0c 100644
---- a/include/mpc8260.h
-+++ b/include/mpc8260.h
-@@ -892,7 +892,7 @@
- #define UPMC			3
- 
- #if !defined(__ASSEMBLY__) && defined(CONFIG_WATCHDOG)
--extern __inline__ void
-+static __inline__ void
- reset_8260_watchdog(volatile immap_t *immr)
- {
-     immr->im_siu_conf.sc_swsr = 0x556c;
--- 
-2.6.2
-
diff --git a/meta/recipes-bsp/u-boot/u-boot_2015.10.bb b/meta/recipes-bsp/u-boot/u-boot_2015.10.bb
deleted file mode 100644
index 2abfcfa..0000000
--- a/meta/recipes-bsp/u-boot/u-boot_2015.10.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require u-boot.inc
-
-DEPENDS += "dtc-native"
-
-# This revision corresponds to the tag "v2015.10"
-# We use the revision in order to avoid having to fetch it from the
-# repo during parse
-SRCREV = "5ec0003b19cbdf06ccd6941237cbc0d1c3468e2d"
-
-SRC_URI += " \
-    file://0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch \
-    file://0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch \
-    file://0003-common-board_f-enable-setup_board_part1-for-MIPS.patch \
-    file://0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch \
-    file://0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch \
-    file://0006-Replace-extern-inline-with-static-inline.patch \
-"
-
-PV = "v2015.10+git${SRCPV}"
diff --git a/meta/recipes-bsp/u-boot/u-boot_2016.01.bb b/meta/recipes-bsp/u-boot/u-boot_2016.01.bb
new file mode 100644
index 0000000..d5c1181
--- /dev/null
+++ b/meta/recipes-bsp/u-boot/u-boot_2016.01.bb
@@ -0,0 +1,10 @@
+require u-boot.inc
+
+DEPENDS += "dtc-native"
+
+# This revision corresponds to the tag "v2016.01"
+# We use the revision in order to avoid having to fetch it from the
+# repo during parse
+SRCREV = "fa85e826c16b9ce1ad302a57e9c4b24db0d8b930"
+
+PV = "v2016.01+git${SRCPV}"
-- 
2.1.4



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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-13  3:36 [PATCH] u-boot: Update to 2016.01 release Marek Vasut
@ 2016-01-13  4:49 ` Khem Raj
  2016-01-13  5:01   ` Marek Vasut
  2016-01-13 12:04 ` Otavio Salvador
  1 sibling, 1 reply; 24+ messages in thread
From: Khem Raj @ 2016-01-13  4:49 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Otavio Salvador, Patches and discussions about the oe-core layer

On Tue, Jan 12, 2016 at 7:36 PM, Marek Vasut <marex@denx.de> wrote:
> Upgrade U-Boot to latest version and drop upstreamed patches.
>
> Repair configuration of U-Boot during build. It is no longer
> possible to run "make foomachine" in U-Boot. Instead, it is
> necessary to do "make foomachine_defconfig ; make". Fix this
> in u-boot.inc and u-boot-fw-utils*.bb .
>
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Otavio Salvador <otavio@ossystems.com.br>
> Cc: Ross Burton <ross.burton@intel.com>
> Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
>  meta/recipes-bsp/u-boot/u-boot-fw-utils_2015.10.bb |   49 -
>  meta/recipes-bsp/u-boot/u-boot-fw-utils_2016.01.bb |   49 +
>  meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb  |   32 -
>  meta/recipes-bsp/u-boot/u-boot-mkimage_2016.01.bb  |   32 +

can you make git work hard to detect renames so its easier to review it ?

git format -C


>  meta/recipes-bsp/u-boot/u-boot.inc                 |    4 +-
>  ...-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch |  185 ---
>  ...-non-Android-booting-with-ramdisk-and-or-.patch |   36 -
>  ...board_f-enable-setup_board_part1-for-MIPS.patch |   59 -
>  ...PS-bootm-rework-and-fix-broken-bootm-code.patch |  254 -----
>  ...PS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch |   93 --
>  ...-Replace-extern-inline-with-static-inline.patch | 1184 --------------------
>  meta/recipes-bsp/u-boot/u-boot_2015.10.bb          |   19 -
>  meta/recipes-bsp/u-boot/u-boot_2016.01.bb          |   10 +
>  13 files changed, 93 insertions(+), 1913 deletions(-)
>  delete mode 100644 meta/recipes-bsp/u-boot/u-boot-fw-utils_2015.10.bb
>  create mode 100644 meta/recipes-bsp/u-boot/u-boot-fw-utils_2016.01.bb
>  delete mode 100644 meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb
>  create mode 100644 meta/recipes-bsp/u-boot/u-boot-mkimage_2016.01.bb
>  delete mode 100644 meta/recipes-bsp/u-boot/u-boot/0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch
>  delete mode 100644 meta/recipes-bsp/u-boot/u-boot/0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch
>  delete mode 100644 meta/recipes-bsp/u-boot/u-boot/0003-common-board_f-enable-setup_board_part1-for-MIPS.patch
>  delete mode 100644 meta/recipes-bsp/u-boot/u-boot/0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch
>  delete mode 100644 meta/recipes-bsp/u-boot/u-boot/0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch
>  delete mode 100644 meta/recipes-bsp/u-boot/u-boot/0006-Replace-extern-inline-with-static-inline.patch
>  delete mode 100644 meta/recipes-bsp/u-boot/u-boot_2015.10.bb
>  create mode 100644 meta/recipes-bsp/u-boot/u-boot_2016.01.bb
>
> diff --git a/meta/recipes-bsp/u-boot/u-boot-fw-utils_2015.10.bb b/meta/recipes-bsp/u-boot/u-boot-fw-utils_2015.10.bb
> deleted file mode 100644
> index 93c06e1..0000000
> --- a/meta/recipes-bsp/u-boot/u-boot-fw-utils_2015.10.bb
> +++ /dev/null
> @@ -1,49 +0,0 @@
> -SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
> -LICENSE = "GPLv2+"
> -LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95"
> -SECTION = "bootloader"
> -DEPENDS = "mtd-utils"
> -
> -# This revision corresponds to the tag "v2015.10"
> -# We use the revision in order to avoid having to fetch it from the
> -# repo during parse
> -SRCREV = "5ec0003b19cbdf06ccd6941237cbc0d1c3468e2d"
> -
> -PV = "v2015.10+git${SRCPV}"
> -
> -SRC_URI = "git://git.denx.de/u-boot.git;branch=master"
> -
> -S = "${WORKDIR}/git"
> -
> -INSANE_SKIP_${PN} = "already-stripped"
> -EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
> -EXTRA_OEMAKE_class-cross = 'ARCH=${TARGET_ARCH} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
> -
> -inherit uboot-config
> -
> -do_compile () {
> -       oe_runmake ${UBOOT_MACHINE}
> -       oe_runmake env
> -}
> -
> -do_install () {
> -       install -d ${D}${base_sbindir}
> -       install -d ${D}${sysconfdir}
> -       install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
> -       install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_setenv
> -       install -m 0644 ${S}/tools/env/fw_env.config ${D}${sysconfdir}/fw_env.config
> -}
> -
> -do_install_class-cross () {
> -       install -d ${D}${bindir_cross}
> -       install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_printenv
> -       install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_setenv
> -}
> -
> -SYSROOT_PREPROCESS_FUNCS_class-cross = "uboot_fw_utils_cross"
> -uboot_fw_utils_cross() {
> -       sysroot_stage_dir ${D}${bindir_cross} ${SYSROOT_DESTDIR}${bindir_cross}
> -}
> -
> -PACKAGE_ARCH = "${MACHINE_ARCH}"
> -BBCLASSEXTEND = "cross"
> diff --git a/meta/recipes-bsp/u-boot/u-boot-fw-utils_2016.01.bb b/meta/recipes-bsp/u-boot/u-boot-fw-utils_2016.01.bb
> new file mode 100644
> index 0000000..e9940fa
> --- /dev/null
> +++ b/meta/recipes-bsp/u-boot/u-boot-fw-utils_2016.01.bb
> @@ -0,0 +1,49 @@
> +SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
> +LICENSE = "GPLv2+"
> +LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95"
> +SECTION = "bootloader"
> +DEPENDS = "mtd-utils"
> +
> +# This revision corresponds to the tag "v2016.01"
> +# We use the revision in order to avoid having to fetch it from the
> +# repo during parse
> +SRCREV = "fa85e826c16b9ce1ad302a57e9c4b24db0d8b930"
> +
> +PV = "v2016.01+git${SRCPV}"
> +
> +SRC_URI = "git://git.denx.de/u-boot.git;branch=master"
> +
> +S = "${WORKDIR}/git"
> +
> +INSANE_SKIP_${PN} = "already-stripped"
> +EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
> +EXTRA_OEMAKE_class-cross = 'ARCH=${TARGET_ARCH} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
> +
> +inherit uboot-config
> +
> +do_compile () {
> +       oe_runmake ${UBOOT_MACHINE}_defconfig
> +       oe_runmake env
> +}
> +
> +do_install () {
> +       install -d ${D}${base_sbindir}
> +       install -d ${D}${sysconfdir}
> +       install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
> +       install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_setenv
> +       install -m 0644 ${S}/tools/env/fw_env.config ${D}${sysconfdir}/fw_env.config
> +}
> +
> +do_install_class-cross () {
> +       install -d ${D}${bindir_cross}
> +       install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_printenv
> +       install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_setenv
> +}
> +
> +SYSROOT_PREPROCESS_FUNCS_class-cross = "uboot_fw_utils_cross"
> +uboot_fw_utils_cross() {
> +       sysroot_stage_dir ${D}${bindir_cross} ${SYSROOT_DESTDIR}${bindir_cross}
> +}
> +
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> +BBCLASSEXTEND = "cross"
> diff --git a/meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb b/meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb
> deleted file mode 100644
> index 301b6e2..0000000
> --- a/meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb
> +++ /dev/null
> @@ -1,32 +0,0 @@
> -SUMMARY = "U-Boot bootloader image creation tool"
> -LICENSE = "GPLv2+"
> -LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95"
> -SECTION = "bootloader"
> -
> -DEPENDS = "openssl"
> -
> -# This revision corresponds to the tag "v2015.10"
> -# We use the revision in order to avoid having to fetch it from the
> -# repo during parse
> -SRCREV = "5ec0003b19cbdf06ccd6941237cbc0d1c3468e2d"
> -
> -PV = "v2015.10+git${SRCPV}"
> -
> -SRC_URI = "git://git.denx.de/u-boot.git;branch=master"
> -
> -S = "${WORKDIR}/git"
> -
> -EXTRA_OEMAKE = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" STRIP=true V=1'
> -
> -do_compile () {
> -       oe_runmake sandbox_defconfig
> -       oe_runmake cross_tools NO_SDL=1
> -}
> -
> -do_install () {
> -       install -d ${D}${bindir}
> -       install -m 0755 tools/mkimage ${D}${bindir}/uboot-mkimage
> -       ln -sf uboot-mkimage ${D}${bindir}/mkimage
> -}
> -
> -BBCLASSEXTEND = "native nativesdk"
> diff --git a/meta/recipes-bsp/u-boot/u-boot-mkimage_2016.01.bb b/meta/recipes-bsp/u-boot/u-boot-mkimage_2016.01.bb
> new file mode 100644
> index 0000000..5d163a8
> --- /dev/null
> +++ b/meta/recipes-bsp/u-boot/u-boot-mkimage_2016.01.bb
> @@ -0,0 +1,32 @@
> +SUMMARY = "U-Boot bootloader image creation tool"
> +LICENSE = "GPLv2+"
> +LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95"
> +SECTION = "bootloader"
> +
> +DEPENDS = "openssl"
> +
> +# This revision corresponds to the tag "v2016.01"
> +# We use the revision in order to avoid having to fetch it from the
> +# repo during parse
> +SRCREV = "fa85e826c16b9ce1ad302a57e9c4b24db0d8b930"
> +
> +PV = "v2016.01+git${SRCPV}"
> +
> +SRC_URI = "git://git.denx.de/u-boot.git;branch=master"
> +
> +S = "${WORKDIR}/git"
> +
> +EXTRA_OEMAKE = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" STRIP=true V=1'
> +
> +do_compile () {
> +       oe_runmake sandbox_defconfig
> +       oe_runmake cross_tools NO_SDL=1
> +}
> +
> +do_install () {
> +       install -d ${D}${bindir}
> +       install -m 0755 tools/mkimage ${D}${bindir}/uboot-mkimage
> +       ln -sf uboot-mkimage ${D}${bindir}/mkimage
> +}
> +
> +BBCLASSEXTEND = "native nativesdk"
> diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
> index 41eb205..438069a 100644
> --- a/meta/recipes-bsp/u-boot/u-boot.inc
> +++ b/meta/recipes-bsp/u-boot/u-boot.inc
> @@ -87,7 +87,7 @@ do_compile () {
>                  j=`expr $j + 1`;
>                  if [ $j -eq $i ]
>                  then
> -                    oe_runmake O=${config} ${config}
> +                    oe_runmake O=${config} ${config}_defconfig
>                      oe_runmake O=${config} ${UBOOT_MAKE_TARGET}
>                      cp  ${S}/${config}/${UBOOT_BINARY}  ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
>                  fi
> @@ -96,7 +96,7 @@ do_compile () {
>          done
>          unset  i
>      else
> -        oe_runmake ${UBOOT_MACHINE}
> +        oe_runmake ${UBOOT_MACHINE}_defconfig
>          oe_runmake ${UBOOT_MAKE_TARGET}
>      fi
>
> diff --git a/meta/recipes-bsp/u-boot/u-boot/0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch b/meta/recipes-bsp/u-boot/u-boot/0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch
> deleted file mode 100644
> index b709acf..0000000
> --- a/meta/recipes-bsp/u-boot/u-boot/0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch
> +++ /dev/null
> @@ -1,185 +0,0 @@
> -From 47092c85a2d3dea6fb3ffa59ae6fe737112db93e Mon Sep 17 00:00:00 2001
> -From: Zhenhua Luo <zhenhua.luo@freescale.com>
> -Date: Mon, 9 Feb 2015 18:33:56 +0800
> -Subject: [PATCH 1/6] powerpc/cpu/*/u-boot*.lds: remove _GLOBAL_OFFSET_TABLE_
> - definition
> -Organization: O.S. Systems Software LTDA.
> -
> -In binutils-2.25, the _GLOBAL_OFFSET_TABLE_ symbols defined by PROVIDE in
> -u-boot.lds overrides the linker built-in symbols
> -(https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=b893397a4b1316610f49819344817715e4305de9),
> -so the linker is treating _GLOBAL_OFFSET_TABLE_ as a definition into the .reloc section.
> -
> -To align with the change of binutils-2.25, the _GLOBAL_OFFSET_TABLE_ symbol
> -should not be defined in sections, and the symbols in linker generated .got
> -section should be used(https://sourceware.org/ml/binutils/2008-09/msg00122.html).
> -
> -Fixed the following build errors with binutils-2.25:
> -| powerpc-poky-linux-gnuspe-ld.bfd: _GLOBAL_OFFSET_TABLE_ not defined in linker created .got
> -
> -Upstream-Status: Pending
> -
> -Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
> -Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
> ----
> - arch/powerpc/cpu/mpc512x/u-boot.lds          | 1 -
> - arch/powerpc/cpu/mpc5xx/u-boot.lds           | 1 -
> - arch/powerpc/cpu/mpc5xxx/u-boot.lds          | 1 -
> - arch/powerpc/cpu/mpc8260/u-boot.lds          | 1 -
> - arch/powerpc/cpu/mpc83xx/u-boot-spl.lds      | 1 -
> - arch/powerpc/cpu/mpc83xx/u-boot.lds          | 1 -
> - arch/powerpc/cpu/mpc85xx/u-boot-nand.lds     | 1 -
> - arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds | 1 -
> - arch/powerpc/cpu/mpc85xx/u-boot-spl.lds      | 1 -
> - arch/powerpc/cpu/mpc85xx/u-boot.lds          | 1 -
> - arch/powerpc/cpu/mpc86xx/u-boot.lds          | 1 -
> - arch/powerpc/cpu/ppc4xx/u-boot.lds           | 1 -
> - 12 files changed, 12 deletions(-)
> -
> -diff --git a/arch/powerpc/cpu/mpc512x/u-boot.lds b/arch/powerpc/cpu/mpc512x/u-boot.lds
> -index 9658b21..b32f74e 100644
> ---- a/arch/powerpc/cpu/mpc512x/u-boot.lds
> -+++ b/arch/powerpc/cpu/mpc512x/u-boot.lds
> -@@ -24,7 +24,6 @@ SECTIONS
> -     _GOT2_TABLE_ = .;
> -     KEEP(*(.got2))
> -     KEEP(*(.got))
> --    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
> -     _FIXUP_TABLE_ = .;
> -     KEEP(*(.fixup))
> -     *(.fixup)
> -diff --git a/arch/powerpc/cpu/mpc5xx/u-boot.lds b/arch/powerpc/cpu/mpc5xx/u-boot.lds
> -index 7198465..6a53571 100644
> ---- a/arch/powerpc/cpu/mpc5xx/u-boot.lds
> -+++ b/arch/powerpc/cpu/mpc5xx/u-boot.lds
> -@@ -33,7 +33,6 @@ SECTIONS
> -     _GOT2_TABLE_ = .;
> -     KEEP(*(.got2))
> -     KEEP(*(.got))
> --    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
> -     _FIXUP_TABLE_ = .;
> -     KEEP(*(.fixup))
> -   }
> -diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot.lds b/arch/powerpc/cpu/mpc5xxx/u-boot.lds
> -index cd9e23f..aa80d3d 100644
> ---- a/arch/powerpc/cpu/mpc5xxx/u-boot.lds
> -+++ b/arch/powerpc/cpu/mpc5xxx/u-boot.lds
> -@@ -28,7 +28,6 @@ SECTIONS
> -     _GOT2_TABLE_ = .;
> -     KEEP(*(.got2))
> -     KEEP(*(.got))
> --    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
> -     _FIXUP_TABLE_ = .;
> -     KEEP(*(.fixup))
> -   }
> -diff --git a/arch/powerpc/cpu/mpc8260/u-boot.lds b/arch/powerpc/cpu/mpc8260/u-boot.lds
> -index 50cbf85..469fc29 100644
> ---- a/arch/powerpc/cpu/mpc8260/u-boot.lds
> -+++ b/arch/powerpc/cpu/mpc8260/u-boot.lds
> -@@ -27,7 +27,6 @@ SECTIONS
> -     _GOT2_TABLE_ = .;
> -     KEEP(*(.got2))
> -     KEEP(*(.got))
> --    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
> -     _FIXUP_TABLE_ = .;
> -     KEEP(*(.fixup))
> -   }
> -diff --git a/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds b/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds
> -index 774772b..4101eaf 100644
> ---- a/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds
> -+++ b/arch/powerpc/cpu/mpc83xx/u-boot-spl.lds
> -@@ -24,7 +24,6 @@ SECTIONS
> -               _GOT2_TABLE_ = .;
> -               KEEP(*(.got2))
> -               KEEP(*(.got))
> --              PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
> -       }
> -       __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
> -
> -diff --git a/arch/powerpc/cpu/mpc83xx/u-boot.lds b/arch/powerpc/cpu/mpc83xx/u-boot.lds
> -index 3c177fa..dbd8bbe 100644
> ---- a/arch/powerpc/cpu/mpc83xx/u-boot.lds
> -+++ b/arch/powerpc/cpu/mpc83xx/u-boot.lds
> -@@ -26,7 +26,6 @@ SECTIONS
> -     _GOT2_TABLE_ = .;
> -     KEEP(*(.got2))
> -     KEEP(*(.got))
> --    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
> -     _FIXUP_TABLE_ = .;
> -     KEEP(*(.fixup))
> -   }
> -diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
> -index f933b21..0399f93 100644
> ---- a/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
> -+++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
> -@@ -44,7 +44,6 @@ SECTIONS
> -     _GOT2_TABLE_ = .;
> -     KEEP(*(.got2))
> -     KEEP(*(.got))
> --    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
> -     _FIXUP_TABLE_ = .;
> -     KEEP(*(.fixup))
> -   }
> -diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
> -index b83c553..f044564 100644
> ---- a/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
> -+++ b/arch/powerpc/cpu/mpc85xx/u-boot-nand_spl.lds
> -@@ -22,7 +22,6 @@ SECTIONS
> -               _GOT2_TABLE_ = .;
> -               KEEP(*(.got2))
> -               KEEP(*(.got))
> --              PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
> -               _FIXUP_TABLE_ = .;
> -               KEEP(*(.fixup))
> -       }
> -diff --git a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
> -index 5ae7b3e..889a4c2 100644
> ---- a/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
> -+++ b/arch/powerpc/cpu/mpc85xx/u-boot-spl.lds
> -@@ -29,7 +29,6 @@ SECTIONS
> -               _GOT2_TABLE_ = .;
> -               KEEP(*(.got2))
> -               KEEP(*(.got))
> --              PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
> -               _FIXUP_TABLE_ = .;
> -               KEEP(*(.fixup))
> -       }
> -diff --git a/arch/powerpc/cpu/mpc85xx/u-boot.lds b/arch/powerpc/cpu/mpc85xx/u-boot.lds
> -index 2cf0b25..f15eaf3 100644
> ---- a/arch/powerpc/cpu/mpc85xx/u-boot.lds
> -+++ b/arch/powerpc/cpu/mpc85xx/u-boot.lds
> -@@ -50,7 +50,6 @@ SECTIONS
> -     _GOT2_TABLE_ = .;
> -     KEEP(*(.got2))
> -     KEEP(*(.got))
> --    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
> -     _FIXUP_TABLE_ = .;
> -     KEEP(*(.fixup))
> -   }
> -diff --git a/arch/powerpc/cpu/mpc86xx/u-boot.lds b/arch/powerpc/cpu/mpc86xx/u-boot.lds
> -index 58467c2..6c48f40 100644
> ---- a/arch/powerpc/cpu/mpc86xx/u-boot.lds
> -+++ b/arch/powerpc/cpu/mpc86xx/u-boot.lds
> -@@ -32,7 +32,6 @@ SECTIONS
> -     _GOT2_TABLE_ = .;
> -     KEEP(*(.got2))
> -     KEEP(*(.got))
> --    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
> -     _FIXUP_TABLE_ = .;
> -     KEEP(*(.fixup))
> -   }
> -diff --git a/arch/powerpc/cpu/ppc4xx/u-boot.lds b/arch/powerpc/cpu/ppc4xx/u-boot.lds
> -index 1980508..55dd4e1 100644
> ---- a/arch/powerpc/cpu/ppc4xx/u-boot.lds
> -+++ b/arch/powerpc/cpu/ppc4xx/u-boot.lds
> -@@ -46,7 +46,6 @@ SECTIONS
> -     _GOT2_TABLE_ = .;
> -     KEEP(*(.got2))
> -     KEEP(*(.got))
> --    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
> -     _FIXUP_TABLE_ = .;
> -     KEEP(*(.fixup))
> -   }
> ---
> -2.6.2
> -
> diff --git a/meta/recipes-bsp/u-boot/u-boot/0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch b/meta/recipes-bsp/u-boot/u-boot/0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch
> deleted file mode 100644
> index 0d1a714..0000000
> --- a/meta/recipes-bsp/u-boot/u-boot/0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -From 0a8c59720155c30f01d4cd1c53da3647a3f4decd Mon Sep 17 00:00:00 2001
> -From: Tom Rini <trini@konsulko.com>
> -Date: Tue, 27 Oct 2015 19:04:40 -0400
> -Subject: [PATCH 2/6] image.c: Fix non-Android booting with ramdisk and/or
> - device tree
> -Organization: O.S. Systems Software LTDA.
> -
> -In 1fec3c5 I added a check that if we had an Android image we default to
> -trying the kernel address for a ramdisk.  However when we don't have an
> -Android image buf is NULL and we oops here.  Ensure that we have 'buf'
> -to check first.
> -
> -Upstream-Status: Backport [2016.01]
> -
> -Reported-by: elipe Balbi <balbi@ti.com>
> -Signed-off-by: Tom Rini <trini@konsulko.com>
> ----
> - common/image.c | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/common/image.c b/common/image.c
> -index e607109..85c4f39 100644
> ---- a/common/image.c
> -+++ b/common/image.c
> -@@ -913,7 +913,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
> -        * Look for an Android boot image.
> -        */
> -       buf = map_sysmem(images->os.start, 0);
> --      if (genimg_get_format(buf) == IMAGE_FORMAT_ANDROID)
> -+      if (buf && genimg_get_format(buf) == IMAGE_FORMAT_ANDROID)
> -               select = argv[0];
> - #endif
> -
> ---
> -2.6.2
> -
> diff --git a/meta/recipes-bsp/u-boot/u-boot/0003-common-board_f-enable-setup_board_part1-for-MIPS.patch b/meta/recipes-bsp/u-boot/u-boot/0003-common-board_f-enable-setup_board_part1-for-MIPS.patch
> deleted file mode 100644
> index 45d20b8..0000000
> --- a/meta/recipes-bsp/u-boot/u-boot/0003-common-board_f-enable-setup_board_part1-for-MIPS.patch
> +++ /dev/null
> @@ -1,59 +0,0 @@
> -From e5ebba40a3b8a1405e48d49dc873ffe2fa1963a1 Mon Sep 17 00:00:00 2001
> -From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
> -Date: Sun, 1 Nov 2015 17:36:13 +0100
> -Subject: [PATCH 3/6] common/board_f: enable setup_board_part1() for MIPS
> -Organization: O.S. Systems Software LTDA.
> -
> -The variables bd_t:bi_memstart and bd_t:bi_memsize have to be
> -initialized also on MIPS. Otherwise LMB and cmd_bdinfo do not
> -correctly work. This currently breaks the booting of FIT images
> -on MIPS. Enable the board_init_f hook setup_board_part1()
> -for MIPS to fix this.
> -
> -Upstream-Status: Backport [2016.01]
> -
> -Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
> -Reviewed-by: Tom Rini <trini@konsulko.com>
> -Reviewed-by: Simon Glass <sjg@chromium.org>
> ----
> - common/board_f.c | 8 ++++++--
> - 1 file changed, 6 insertions(+), 2 deletions(-)
> -
> -diff --git a/common/board_f.c b/common/board_f.c
> -index 613332e..33cc5c0 100644
> ---- a/common/board_f.c
> -+++ b/common/board_f.c
> -@@ -551,7 +551,7 @@ static int display_new_sp(void)
> -       return 0;
> - }
> -
> --#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
> -+#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_MIPS)
> - static int setup_board_part1(void)
> - {
> -       bd_t *bd = gd->bd;
> -@@ -580,7 +580,9 @@ static int setup_board_part1(void)
> -
> -       return 0;
> - }
> -+#endif
> -
> -+#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
> - static int setup_board_part2(void)
> - {
> -       bd_t *bd = gd->bd;
> -@@ -933,8 +935,10 @@ static init_fnc_t init_sequence_f[] = {
> -       reserve_stacks,
> -       setup_dram_config,
> -       show_dram_config,
> --#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
> -+#if defined(CONFIG_PPC) || defined(CONFIG_M68K) || defined(CONFIG_MIPS)
> -       setup_board_part1,
> -+#endif
> -+#if defined(CONFIG_PPC) || defined(CONFIG_M68K)
> -       INIT_FUNC_WATCHDOG_RESET
> -       setup_board_part2,
> - #endif
> ---
> -2.6.2
> -
> diff --git a/meta/recipes-bsp/u-boot/u-boot/0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch b/meta/recipes-bsp/u-boot/u-boot/0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch
> deleted file mode 100644
> index 5692c60..0000000
> --- a/meta/recipes-bsp/u-boot/u-boot/0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch
> +++ /dev/null
> @@ -1,254 +0,0 @@
> -From da9d99765476b10fe0a75140a2d4c1f284ffc333 Mon Sep 17 00:00:00 2001
> -From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
> -Date: Sun, 1 Nov 2015 17:36:14 +0100
> -Subject: [PATCH 4/6] MIPS: bootm: rework and fix broken bootm code
> -Organization: O.S. Systems Software LTDA.
> -
> -The move to 'generic board' as well as changes in the generic
> -bootm code broke the boot of FIT uImage's. Especially uImage's
> -with additional initramfs images or FDT's do not work anymore.
> -
> -Refactor the bootm code to work again with the generic bootm code.
> -
> -Always relocate ramdisk and FDT in step 'bootm prep' because the
> -generic bootm code does this only for legacy uImage's.
> -
> -Move the step 'bootm cmdline' to 'bootm prep' because the Linux
> -kernel parameters rd_start and rd_size have to be initialized after
> -the relocation of the ramdisk.
> -
> -Furthermore support the step 'bootm fake'.
> -
> -Upstream-Status: Backport [2016.01]
> -
> -Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
> -Reviewed-by: Tom Rini <trini@konsulko.com>
> -Reviewed-by: Simon Glass <sjg@chromium.org>
> ----
> - arch/mips/lib/bootm.c | 163 ++++++++++++++++++++++++--------------------------
> - 1 file changed, 78 insertions(+), 85 deletions(-)
> -
> -diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c
> -index 9c647aa..a7eddd3 100644
> ---- a/arch/mips/lib/bootm.c
> -+++ b/arch/mips/lib/bootm.c
> -@@ -21,18 +21,6 @@ DECLARE_GLOBAL_DATA_PTR;
> - #define mips_boot_malta               0
> - #endif
> -
> --#if defined(CONFIG_MIPS_BOOT_CMDLINE_LEGACY)
> --#define mips_boot_cmdline_legacy      1
> --#else
> --#define mips_boot_cmdline_legacy      0
> --#endif
> --
> --#if defined(CONFIG_MIPS_BOOT_ENV_LEGACY)
> --#define mips_boot_env_legacy  1
> --#else
> --#define mips_boot_env_legacy  0
> --#endif
> --
> - static int linux_argc;
> - static char **linux_argv;
> - static char *linux_argp;
> -@@ -62,50 +50,6 @@ void arch_lmb_reserve(struct lmb *lmb)
> -       lmb_reserve(lmb, sp, CONFIG_SYS_SDRAM_BASE + gd->ram_size - sp);
> - }
> -
> --static int boot_setup_linux(bootm_headers_t *images)
> --{
> --      int ret;
> --      ulong rd_len;
> --
> --      rd_len = images->rd_end - images->rd_start;
> --      ret = boot_ramdisk_high(&images->lmb, images->rd_start,
> --              rd_len, &images->initrd_start, &images->initrd_end);
> --      if (ret)
> --              return ret;
> --
> --#if defined(CONFIG_MIPS_BOOT_FDT) && defined(CONFIG_OF_LIBFDT)
> --      if (images->ft_len) {
> --              boot_fdt_add_mem_rsv_regions(&images->lmb, images->ft_addr);
> --
> --              ret = boot_relocate_fdt(&images->lmb, &images->ft_addr,
> --                      &images->ft_len);
> --              if (ret)
> --                      return ret;
> --      }
> --#endif
> --
> --      return 0;
> --}
> --
> --static void boot_setup_fdt(bootm_headers_t *images)
> --{
> --#if defined(CONFIG_MIPS_BOOT_FDT) && defined(CONFIG_OF_LIBFDT)
> --      u64 mem_start = 0;
> --      u64 mem_size = gd->ram_size;
> --
> --      debug("## setup FDT\n");
> --
> --      fdt_chosen(images->ft_addr);
> --      fdt_fixup_memory_banks(images->ft_addr, &mem_start, &mem_size, 1);
> --      fdt_fixup_ethernet(images->ft_addr);
> --      fdt_initrd(images->ft_addr, images->initrd_start, images->initrd_end);
> --
> --#if defined(CONFIG_OF_BOARD_SETUP)
> --      ft_board_setup(images->ft_addr, gd->bd);
> --#endif
> --#endif
> --}
> --
> - static void linux_cmdline_init(void)
> - {
> -       linux_argc = 1;
> -@@ -197,18 +141,6 @@ static void linux_cmdline_append(bootm_headers_t *images)
> -       }
> - }
> -
> --static void boot_cmdline_linux(bootm_headers_t *images)
> --{
> --      if (mips_boot_cmdline_legacy && !images->ft_len) {
> --              linux_cmdline_legacy(images);
> --
> --              if (!mips_boot_env_legacy)
> --                      linux_cmdline_append(images);
> --
> --              linux_cmdline_dump();
> --      }
> --}
> --
> - static void linux_env_init(void)
> - {
> -       linux_env = (char **)(((ulong) linux_argp + 15) & ~15);
> -@@ -288,13 +220,81 @@ static void linux_env_legacy(bootm_headers_t *images)
> -       }
> - }
> -
> -+static int boot_reloc_ramdisk(bootm_headers_t *images)
> -+{
> -+      ulong rd_len = images->rd_end - images->rd_start;
> -+
> -+      /*
> -+       * In case of legacy uImage's, relocation of ramdisk is already done
> -+       * by do_bootm_states() and should not repeated in 'bootm prep'.
> -+       */
> -+      if (images->state & BOOTM_STATE_RAMDISK) {
> -+              debug("## Ramdisk already relocated\n");
> -+              return 0;
> -+      }
> -+
> -+      return boot_ramdisk_high(&images->lmb, images->rd_start,
> -+              rd_len, &images->initrd_start, &images->initrd_end);
> -+}
> -+
> -+static int boot_reloc_fdt(bootm_headers_t *images)
> -+{
> -+      /*
> -+       * In case of legacy uImage's, relocation of FDT is already done
> -+       * by do_bootm_states() and should not repeated in 'bootm prep'.
> -+       */
> -+      if (images->state & BOOTM_STATE_FDT) {
> -+              debug("## FDT already relocated\n");
> -+              return 0;
> -+      }
> -+
> -+#if CONFIG_IS_ENABLED(MIPS_BOOT_FDT) && CONFIG_IS_ENABLED(OF_LIBFDT)
> -+      boot_fdt_add_mem_rsv_regions(&images->lmb, images->ft_addr);
> -+      return boot_relocate_fdt(&images->lmb, &images->ft_addr,
> -+              &images->ft_len);
> -+#else
> -+      return 0;
> -+#endif
> -+}
> -+
> -+int arch_fixup_memory_node(void *blob)
> -+{
> -+#if CONFIG_IS_ENABLED(MIPS_BOOT_FDT) && CONFIG_IS_ENABLED(OF_LIBFDT)
> -+      u64 mem_start = 0;
> -+      u64 mem_size = gd->ram_size;
> -+
> -+      return fdt_fixup_memory_banks(blob, &mem_start, &mem_size, 1);
> -+#else
> -+      return 0;
> -+#endif
> -+}
> -+
> -+static int boot_setup_fdt(bootm_headers_t *images)
> -+{
> -+      return image_setup_libfdt(images, images->ft_addr, images->ft_len,
> -+              &images->lmb);
> -+}
> -+
> - static void boot_prep_linux(bootm_headers_t *images)
> - {
> --      if (mips_boot_env_legacy && !images->ft_len)
> --              linux_env_legacy(images);
> -+      boot_reloc_ramdisk(images);
> -
> --      if (images->ft_len)
> -+      if (CONFIG_IS_ENABLED(MIPS_BOOT_FDT) && images->ft_len) {
> -+              boot_reloc_fdt(images);
> -               boot_setup_fdt(images);
> -+      } else {
> -+              if (CONFIG_IS_ENABLED(CONFIG_MIPS_BOOT_ENV_LEGACY))
> -+                      linux_env_legacy(images);
> -+
> -+              if (CONFIG_IS_ENABLED(MIPS_BOOT_CMDLINE_LEGACY)) {
> -+                      linux_cmdline_legacy(images);
> -+
> -+                      if (!CONFIG_IS_ENABLED(CONFIG_MIPS_BOOT_ENV_LEGACY))
> -+                              linux_cmdline_append(images);
> -+
> -+                      linux_cmdline_dump();
> -+              }
> -+      }
> - }
> -
> - static void boot_jump_linux(bootm_headers_t *images)
> -@@ -327,35 +327,28 @@ static void boot_jump_linux(bootm_headers_t *images)
> - int do_bootm_linux(int flag, int argc, char * const argv[],
> -                       bootm_headers_t *images)
> - {
> --      int ret;
> --
> -       /* No need for those on MIPS */
> -       if (flag & BOOTM_STATE_OS_BD_T)
> -               return -1;
> -
> --      if (flag & BOOTM_STATE_OS_CMDLINE) {
> --              boot_cmdline_linux(images);
> -+      /*
> -+       * Cmdline init has been moved to 'bootm prep' because it has to be
> -+       * done after relocation of ramdisk to always pass correct values
> -+       * for rd_start and rd_size to Linux kernel.
> -+       */
> -+      if (flag & BOOTM_STATE_OS_CMDLINE)
> -               return 0;
> --      }
> -
> -       if (flag & BOOTM_STATE_OS_PREP) {
> -               boot_prep_linux(images);
> -               return 0;
> -       }
> -
> --      if (flag & BOOTM_STATE_OS_GO) {
> -+      if (flag & (BOOTM_STATE_OS_GO | BOOTM_STATE_OS_FAKE_GO)) {
> -               boot_jump_linux(images);
> -               return 0;
> -       }
> -
> --      ret = boot_setup_linux(images);
> --      if (ret)
> --              return ret;
> --
> --      boot_cmdline_linux(images);
> --      boot_prep_linux(images);
> --      boot_jump_linux(images);
> --
> -       /* does not return */
> -       return 1;
> - }
> ---
> -2.6.2
> -
> diff --git a/meta/recipes-bsp/u-boot/u-boot/0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch b/meta/recipes-bsp/u-boot/u-boot/0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch
> deleted file mode 100644
> index 210ca4d..0000000
> --- a/meta/recipes-bsp/u-boot/u-boot/0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch
> +++ /dev/null
> @@ -1,93 +0,0 @@
> -From ebaf1eda6f3b8a339837bc0dbcbb9002d751ab75 Mon Sep 17 00:00:00 2001
> -From: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
> -Date: Sun, 1 Nov 2015 17:36:15 +0100
> -Subject: [PATCH 5/6] MIPS: bootm: use CONFIG_IS_ENABLED() everywhere
> -Organization: O.S. Systems Software LTDA.
> -
> -Upstream-Status: Backport [2016.01]
> -
> -Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
> -Reviewed-by: Tom Rini <trini@konsulko.com>
> ----
> - arch/mips/lib/bootm.c | 33 ++++++++++++++-------------------
> - 1 file changed, 14 insertions(+), 19 deletions(-)
> -
> -diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c
> -index a7eddd3..eed159c 100644
> ---- a/arch/mips/lib/bootm.c
> -+++ b/arch/mips/lib/bootm.c
> -@@ -15,12 +15,6 @@ DECLARE_GLOBAL_DATA_PTR;
> - #define       LINUX_MAX_ENVS          256
> - #define       LINUX_MAX_ARGS          256
> -
> --#if defined(CONFIG_MALTA)
> --#define mips_boot_malta               1
> --#else
> --#define mips_boot_malta               0
> --#endif
> --
> - static int linux_argc;
> - static char **linux_argv;
> - static char *linux_argp;
> -@@ -157,7 +151,7 @@ static void linux_env_set(const char *env_name, const char *env_val)
> -               strcpy(linux_env_p, env_name);
> -               linux_env_p += strlen(env_name);
> -
> --              if (mips_boot_malta) {
> -+              if (CONFIG_IS_ENABLED(MALTA)) {
> -                       linux_env_p++;
> -                       linux_env[++linux_env_idx] = linux_env_p;
> -               } else {
> -@@ -178,14 +172,15 @@ static void linux_env_legacy(bootm_headers_t *images)
> -       const char *cp;
> -       ulong rd_start, rd_size;
> -
> --#ifdef CONFIG_MEMSIZE_IN_BYTES
> --      sprintf(env_buf, "%lu", (ulong)gd->ram_size);
> --      debug("## Giving linux memsize in bytes, %lu\n", (ulong)gd->ram_size);
> --#else
> --      sprintf(env_buf, "%lu", (ulong)(gd->ram_size >> 20));
> --      debug("## Giving linux memsize in MB, %lu\n",
> --            (ulong)(gd->ram_size >> 20));
> --#endif /* CONFIG_MEMSIZE_IN_BYTES */
> -+      if (CONFIG_IS_ENABLED(MEMSIZE_IN_BYTES)) {
> -+              sprintf(env_buf, "%lu", (ulong)gd->ram_size);
> -+              debug("## Giving linux memsize in bytes, %lu\n",
> -+                    (ulong)gd->ram_size);
> -+      } else {
> -+              sprintf(env_buf, "%lu", (ulong)(gd->ram_size >> 20));
> -+              debug("## Giving linux memsize in MB, %lu\n",
> -+                    (ulong)(gd->ram_size >> 20));
> -+      }
> -
> -       rd_start = UNCACHED_SDRAM(images->initrd_start);
> -       rd_size = images->initrd_end - images->initrd_start;
> -@@ -214,7 +209,7 @@ static void linux_env_legacy(bootm_headers_t *images)
> -       if (cp)
> -               linux_env_set("eth1addr", cp);
> -
> --      if (mips_boot_malta) {
> -+      if (CONFIG_IS_ENABLED(MALTA)) {
> -               sprintf(env_buf, "%un8r", gd->baudrate);
> -               linux_env_set("modetty0", env_buf);
> -       }
> -@@ -307,13 +302,13 @@ static void boot_jump_linux(bootm_headers_t *images)
> -
> -       bootstage_mark(BOOTSTAGE_ID_RUN_OS);
> -
> --      if (mips_boot_malta)
> -+      if (CONFIG_IS_ENABLED(MALTA))
> -               linux_extra = gd->ram_size;
> -
> --#ifdef CONFIG_BOOTSTAGE_FDT
> -+#if CONFIG_IS_ENABLED(BOOTSTAGE_FDT)
> -       bootstage_fdt_add_report();
> - #endif
> --#ifdef CONFIG_BOOTSTAGE_REPORT
> -+#if CONFIG_IS_ENABLED(BOOTSTAGE_REPORT)
> -       bootstage_report();
> - #endif
> -
> ---
> -2.6.2
> -
> diff --git a/meta/recipes-bsp/u-boot/u-boot/0006-Replace-extern-inline-with-static-inline.patch b/meta/recipes-bsp/u-boot/u-boot/0006-Replace-extern-inline-with-static-inline.patch
> deleted file mode 100644
> index 52ef687..0000000
> --- a/meta/recipes-bsp/u-boot/u-boot/0006-Replace-extern-inline-with-static-inline.patch
> +++ /dev/null
> @@ -1,1184 +0,0 @@
> -From 69ce393f6ef57a8a0029df78dbdc9f9def2dbb8c Mon Sep 17 00:00:00 2001
> -From: =?UTF-8?q?M=C3=A5ns=20Rullg=C3=A5rd?= <mans@mansr.com>
> -Date: Fri, 6 Nov 2015 12:44:01 +0000
> -Subject: [PATCH 6/6] Replace "extern inline" with "static inline"
> -Organization: O.S. Systems Software LTDA.
> -
> -A number of headers define functions as "extern inline" which is
> -causing problems with gcc5.  The reason is that starting with
> -version 5.1, gcc defaults to the standard C99 semantics for the
> -inline keyword.
> -
> -Under the traditional GNU inline semantics, an "extern inline"
> -function would never create an external definition, the same
> -as inline *without* extern in C99.  In C99, and "extern inline"
> -definition is simply an external definition with an inline hint.
> -In short, the meanings of inline with and without extern are
> -swapped between GNU and C99.
> -
> -The upshot is that all these definitions in header files create
> -an external definition wherever those headers are included,
> -resulting in multiple definition errors at link time.
> -
> -Changing all these functions to "static inline" fixes the problem
> -since this works as desired in all gcc versions.  Although the
> -semantics are slightly different (a static inline definition may
> -result in an actual function being emitted), it works as intended
> -in practice.
> -
> -This patch also removes extern prototype declarations for the
> -changed functions where they existed.
> -
> -Upstream-Status: Submitted [https://patchwork.ozlabs.org/patch/540952/]
> -
> -Signed-off-by: Mans Rullgard <mans@mansr.com>
> -Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
> ----
> - arch/blackfin/include/asm/delay.h     |  4 +--
> - arch/m68k/include/asm/bitops.h        |  5 ++--
> - arch/m68k/include/asm/byteorder.h     |  8 +++---
> - arch/m68k/include/asm/io.h            | 40 ++++++++++++++---------------
> - arch/powerpc/include/asm/atomic.h     |  8 +++---
> - arch/powerpc/include/asm/bitops.h     | 35 ++++++++++---------------
> - arch/powerpc/include/asm/byteorder.h  |  8 +++---
> - arch/powerpc/include/asm/io.h         | 20 +++++++--------
> - arch/powerpc/include/asm/iopin_8260.h | 40 ++++++++++++++---------------
> - arch/powerpc/include/asm/iopin_8xx.h  | 48 +++++++++++++++++------------------
> - arch/sparc/include/asm/irq.h          |  4 +--
> - arch/sparc/include/asm/psr.h          |  6 ++---
> - arch/sparc/include/asm/srmmu.h        | 30 +++++++++++-----------
> - include/mpc8260.h                     |  2 +-
> - 14 files changed, 125 insertions(+), 133 deletions(-)
> -
> -diff --git a/arch/blackfin/include/asm/delay.h b/arch/blackfin/include/asm/delay.h
> -index 97401a7..f146efd 100644
> ---- a/arch/blackfin/include/asm/delay.h
> -+++ b/arch/blackfin/include/asm/delay.h
> -@@ -16,7 +16,7 @@
> -  * Delay routines, using a pre-computed "loops_per_second" value.
> -  */
> -
> --extern __inline__ void __delay(unsigned long loops)
> -+static __inline__ void __delay(unsigned long loops)
> - {
> -       __asm__ __volatile__("1:\t%0 += -1;\n\t"
> -                            "cc = %0 == 0;\n\t"
> -@@ -31,7 +31,7 @@ extern __inline__ void __delay(unsigned long loops)
> -  * first constant multiplications gets optimized away if the delay is
> -  * a constant)
> -  */
> --extern __inline__ void __udelay(unsigned long usecs)
> -+static __inline__ void __udelay(unsigned long usecs)
> - {
> -       __delay(usecs);
> - }
> -diff --git a/arch/m68k/include/asm/bitops.h b/arch/m68k/include/asm/bitops.h
> -index f9c434b..6b79a0d 100644
> ---- a/arch/m68k/include/asm/bitops.h
> -+++ b/arch/m68k/include/asm/bitops.h
> -@@ -10,21 +10,20 @@
> - extern void set_bit(int nr, volatile void *addr);
> - extern void clear_bit(int nr, volatile void *addr);
> - extern void change_bit(int nr, volatile void *addr);
> --extern int test_and_set_bit(int nr, volatile void *addr);
> - extern int test_and_clear_bit(int nr, volatile void *addr);
> - extern int test_and_change_bit(int nr, volatile void *addr);
> -
> - #ifdef __KERNEL__
> -
> -
> --extern inline int test_bit(int nr, __const__ volatile void *addr)
> -+static inline int test_bit(int nr, __const__ volatile void *addr)
> - {
> -       __const__ unsigned int *p = (__const__ unsigned int *) addr;
> -
> -       return (p[nr >> 5] & (1UL << (nr & 31))) != 0;
> - }
> -
> --extern inline int test_and_set_bit(int nr, volatile void *vaddr)
> -+static inline int test_and_set_bit(int nr, volatile void *vaddr)
> - {
> -       char retval;
> -
> -diff --git a/arch/m68k/include/asm/byteorder.h b/arch/m68k/include/asm/byteorder.h
> -index 908a99b..7244b75 100644
> ---- a/arch/m68k/include/asm/byteorder.h
> -+++ b/arch/m68k/include/asm/byteorder.h
> -@@ -22,25 +22,25 @@
> -               (((__u32)(x) & (__u32)0x00ff0000UL) >>  8) | \
> -               (((__u32)(x)) >> 24) ))
> -
> --extern __inline__ unsigned ld_le16(const volatile unsigned short *addr)
> -+static __inline__ unsigned ld_le16(const volatile unsigned short *addr)
> - {
> -       unsigned result = *addr;
> -       return __sw16(result);
> - }
> -
> --extern __inline__ void st_le16(volatile unsigned short *addr,
> -+static __inline__ void st_le16(volatile unsigned short *addr,
> -                              const unsigned val)
> - {
> -       *addr = __sw16(val);
> - }
> -
> --extern __inline__ unsigned ld_le32(const volatile unsigned *addr)
> -+static __inline__ unsigned ld_le32(const volatile unsigned *addr)
> - {
> -       unsigned result = *addr;
> -       return __sw32(result);
> - }
> -
> --extern __inline__ void st_le32(volatile unsigned *addr, const unsigned val)
> -+static __inline__ void st_le32(volatile unsigned *addr, const unsigned val)
> - {
> -       *addr = __sw32(val);
> - }
> -diff --git a/arch/m68k/include/asm/io.h b/arch/m68k/include/asm/io.h
> -index 2d2a519..384308b 100644
> ---- a/arch/m68k/include/asm/io.h
> -+++ b/arch/m68k/include/asm/io.h
> -@@ -67,28 +67,28 @@
> -
> - #define mb() __asm__ __volatile__ ("" : : : "memory")
> -
> --extern inline void _insb(volatile u8 * port, void *buf, int ns)
> -+static inline void _insb(volatile u8 * port, void *buf, int ns)
> - {
> -       u8 *data = (u8 *) buf;
> -       while (ns--)
> -               *data++ = *port;
> - }
> -
> --extern inline void _outsb(volatile u8 * port, const void *buf, int ns)
> -+static inline void _outsb(volatile u8 * port, const void *buf, int ns)
> - {
> -       u8 *data = (u8 *) buf;
> -       while (ns--)
> -               *port = *data++;
> - }
> -
> --extern inline void _insw(volatile u16 * port, void *buf, int ns)
> -+static inline void _insw(volatile u16 * port, void *buf, int ns)
> - {
> -       u16 *data = (u16 *) buf;
> -       while (ns--)
> -               *data++ = __sw16(*port);
> - }
> -
> --extern inline void _outsw(volatile u16 * port, const void *buf, int ns)
> -+static inline void _outsw(volatile u16 * port, const void *buf, int ns)
> - {
> -       u16 *data = (u16 *) buf;
> -       while (ns--) {
> -@@ -97,14 +97,14 @@ extern inline void _outsw(volatile u16 * port, const void *buf, int ns)
> -       }
> - }
> -
> --extern inline void _insl(volatile u32 * port, void *buf, int nl)
> -+static inline void _insl(volatile u32 * port, void *buf, int nl)
> - {
> -       u32 *data = (u32 *) buf;
> -       while (nl--)
> -               *data++ = __sw32(*port);
> - }
> -
> --extern inline void _outsl(volatile u32 * port, const void *buf, int nl)
> -+static inline void _outsl(volatile u32 * port, const void *buf, int nl)
> - {
> -       u32 *data = (u32 *) buf;
> -       while (nl--) {
> -@@ -113,14 +113,14 @@ extern inline void _outsl(volatile u32 * port, const void *buf, int nl)
> -       }
> - }
> -
> --extern inline void _insw_ns(volatile u16 * port, void *buf, int ns)
> -+static inline void _insw_ns(volatile u16 * port, void *buf, int ns)
> - {
> -       u16 *data = (u16 *) buf;
> -       while (ns--)
> -               *data++ = *port;
> - }
> -
> --extern inline void _outsw_ns(volatile u16 * port, const void *buf, int ns)
> -+static inline void _outsw_ns(volatile u16 * port, const void *buf, int ns)
> - {
> -       u16 *data = (u16 *) buf;
> -       while (ns--) {
> -@@ -128,14 +128,14 @@ extern inline void _outsw_ns(volatile u16 * port, const void *buf, int ns)
> -       }
> - }
> -
> --extern inline void _insl_ns(volatile u32 * port, void *buf, int nl)
> -+static inline void _insl_ns(volatile u32 * port, void *buf, int nl)
> - {
> -       u32 *data = (u32 *) buf;
> -       while (nl--)
> -               *data++ = *port;
> - }
> -
> --extern inline void _outsl_ns(volatile u32 * port, const void *buf, int nl)
> -+static inline void _outsl_ns(volatile u32 * port, const void *buf, int nl)
> - {
> -       u32 *data = (u32 *) buf;
> -       while (nl--) {
> -@@ -159,52 +159,52 @@ extern inline void _outsl_ns(volatile u32 * port, const void *buf, int nl)
> - /*
> -  * 8, 16 and 32 bit, big and little endian I/O operations, with barrier.
> -  */
> --extern inline int in_8(volatile u8 * addr)
> -+static inline int in_8(volatile u8 * addr)
> - {
> -       return (int)*addr;
> - }
> -
> --extern inline void out_8(volatile u8 * addr, int val)
> -+static inline void out_8(volatile u8 * addr, int val)
> - {
> -       *addr = (u8) val;
> - }
> -
> --extern inline int in_le16(volatile u16 * addr)
> -+static inline int in_le16(volatile u16 * addr)
> - {
> -       return __sw16(*addr);
> - }
> -
> --extern inline int in_be16(volatile u16 * addr)
> -+static inline int in_be16(volatile u16 * addr)
> - {
> -       return (*addr & 0xFFFF);
> - }
> -
> --extern inline void out_le16(volatile u16 * addr, int val)
> -+static inline void out_le16(volatile u16 * addr, int val)
> - {
> -       *addr = __sw16(val);
> - }
> -
> --extern inline void out_be16(volatile u16 * addr, int val)
> -+static inline void out_be16(volatile u16 * addr, int val)
> - {
> -       *addr = (u16) val;
> - }
> -
> --extern inline unsigned in_le32(volatile u32 * addr)
> -+static inline unsigned in_le32(volatile u32 * addr)
> - {
> -       return __sw32(*addr);
> - }
> -
> --extern inline unsigned in_be32(volatile u32 * addr)
> -+static inline unsigned in_be32(volatile u32 * addr)
> - {
> -       return (*addr);
> - }
> -
> --extern inline void out_le32(volatile unsigned *addr, int val)
> -+static inline void out_le32(volatile unsigned *addr, int val)
> - {
> -       *addr = __sw32(val);
> - }
> -
> --extern inline void out_be32(volatile unsigned *addr, int val)
> -+static inline void out_be32(volatile unsigned *addr, int val)
> - {
> -       *addr = val;
> - }
> -diff --git a/arch/powerpc/include/asm/atomic.h b/arch/powerpc/include/asm/atomic.h
> -index 43a2bb2..87efcca 100644
> ---- a/arch/powerpc/include/asm/atomic.h
> -+++ b/arch/powerpc/include/asm/atomic.h
> -@@ -19,7 +19,7 @@ typedef struct { int counter; } atomic_t;
> - extern void atomic_clear_mask(unsigned long mask, unsigned long *addr);
> - extern void atomic_set_mask(unsigned long mask, unsigned long *addr);
> -
> --extern __inline__ int atomic_add_return(int a, atomic_t *v)
> -+static __inline__ int atomic_add_return(int a, atomic_t *v)
> - {
> -       int t;
> -
> -@@ -35,7 +35,7 @@ extern __inline__ int atomic_add_return(int a, atomic_t *v)
> -       return t;
> - }
> -
> --extern __inline__ int atomic_sub_return(int a, atomic_t *v)
> -+static __inline__ int atomic_sub_return(int a, atomic_t *v)
> - {
> -       int t;
> -
> -@@ -51,7 +51,7 @@ extern __inline__ int atomic_sub_return(int a, atomic_t *v)
> -       return t;
> - }
> -
> --extern __inline__ int atomic_inc_return(atomic_t *v)
> -+static __inline__ int atomic_inc_return(atomic_t *v)
> - {
> -       int t;
> -
> -@@ -67,7 +67,7 @@ extern __inline__ int atomic_inc_return(atomic_t *v)
> -       return t;
> - }
> -
> --extern __inline__ int atomic_dec_return(atomic_t *v)
> -+static __inline__ int atomic_dec_return(atomic_t *v)
> - {
> -       int t;
> -
> -diff --git a/arch/powerpc/include/asm/bitops.h b/arch/powerpc/include/asm/bitops.h
> -index a6bcf3c..986ca96 100644
> ---- a/arch/powerpc/include/asm/bitops.h
> -+++ b/arch/powerpc/include/asm/bitops.h
> -@@ -7,13 +7,6 @@
> -
> - #include <asm/byteorder.h>
> -
> --extern void set_bit(int nr, volatile void *addr);
> --extern void clear_bit(int nr, volatile void *addr);
> --extern void change_bit(int nr, volatile void *addr);
> --extern int test_and_set_bit(int nr, volatile void *addr);
> --extern int test_and_clear_bit(int nr, volatile void *addr);
> --extern int test_and_change_bit(int nr, volatile void *addr);
> --
> - /*
> -  * Arguably these bit operations don't imply any memory barrier or
> -  * SMP ordering, but in fact a lot of drivers expect them to imply
> -@@ -34,7 +27,7 @@ extern int test_and_change_bit(int nr, volatile void *addr);
> -  * These used to be if'd out here because using : "cc" as a constraint
> -  * resulted in errors from egcs.  Things may be OK with gcc-2.95.
> -  */
> --extern __inline__ void set_bit(int nr, volatile void * addr)
> -+static __inline__ void set_bit(int nr, volatile void * addr)
> - {
> -       unsigned long old;
> -       unsigned long mask = 1 << (nr & 0x1f);
> -@@ -51,7 +44,7 @@ extern __inline__ void set_bit(int nr, volatile void * addr)
> -       : "cc" );
> - }
> -
> --extern __inline__ void clear_bit(int nr, volatile void *addr)
> -+static __inline__ void clear_bit(int nr, volatile void *addr)
> - {
> -       unsigned long old;
> -       unsigned long mask = 1 << (nr & 0x1f);
> -@@ -68,7 +61,7 @@ extern __inline__ void clear_bit(int nr, volatile void *addr)
> -       : "cc");
> - }
> -
> --extern __inline__ void change_bit(int nr, volatile void *addr)
> -+static __inline__ void change_bit(int nr, volatile void *addr)
> - {
> -       unsigned long old;
> -       unsigned long mask = 1 << (nr & 0x1f);
> -@@ -85,7 +78,7 @@ extern __inline__ void change_bit(int nr, volatile void *addr)
> -       : "cc");
> - }
> -
> --extern __inline__ int test_and_set_bit(int nr, volatile void *addr)
> -+static __inline__ int test_and_set_bit(int nr, volatile void *addr)
> - {
> -       unsigned int old, t;
> -       unsigned int mask = 1 << (nr & 0x1f);
> -@@ -104,7 +97,7 @@ extern __inline__ int test_and_set_bit(int nr, volatile void *addr)
> -       return (old & mask) != 0;
> - }
> -
> --extern __inline__ int test_and_clear_bit(int nr, volatile void *addr)
> -+static __inline__ int test_and_clear_bit(int nr, volatile void *addr)
> - {
> -       unsigned int old, t;
> -       unsigned int mask = 1 << (nr & 0x1f);
> -@@ -123,7 +116,7 @@ extern __inline__ int test_and_clear_bit(int nr, volatile void *addr)
> -       return (old & mask) != 0;
> - }
> -
> --extern __inline__ int test_and_change_bit(int nr, volatile void *addr)
> -+static __inline__ int test_and_change_bit(int nr, volatile void *addr)
> - {
> -       unsigned int old, t;
> -       unsigned int mask = 1 << (nr & 0x1f);
> -@@ -143,7 +136,7 @@ extern __inline__ int test_and_change_bit(int nr, volatile void *addr)
> - }
> - #endif /* __INLINE_BITOPS */
> -
> --extern __inline__ int test_bit(int nr, __const__ volatile void *addr)
> -+static __inline__ int test_bit(int nr, __const__ volatile void *addr)
> - {
> -       __const__ unsigned int *p = (__const__ unsigned int *) addr;
> -
> -@@ -152,7 +145,7 @@ extern __inline__ int test_bit(int nr, __const__ volatile void *addr)
> -
> - /* Return the bit position of the most significant 1 bit in a word */
> - /* - the result is undefined when x == 0 */
> --extern __inline__ int __ilog2(unsigned int x)
> -+static __inline__ int __ilog2(unsigned int x)
> - {
> -       int lz;
> -
> -@@ -160,7 +153,7 @@ extern __inline__ int __ilog2(unsigned int x)
> -       return 31 - lz;
> - }
> -
> --extern __inline__ int ffz(unsigned int x)
> -+static __inline__ int ffz(unsigned int x)
> - {
> -       if ((x = ~x) == 0)
> -               return 32;
> -@@ -226,7 +219,7 @@ static inline int ffs64(u64 x)
> -  * the libc and compiler builtin ffs routines, therefore
> -  * differs in spirit from the above ffz (man ffs).
> -  */
> --extern __inline__ int ffs(int x)
> -+static __inline__ int ffs(int x)
> - {
> -       return __ilog2(x & -x) + 1;
> - }
> -@@ -250,7 +243,7 @@ extern __inline__ int ffs(int x)
> - #define find_first_zero_bit(addr, size) \
> -       find_next_zero_bit((addr), (size), 0)
> -
> --extern __inline__ unsigned long find_next_zero_bit(void * addr,
> -+static __inline__ unsigned long find_next_zero_bit(void * addr,
> -       unsigned long size, unsigned long offset)
> - {
> -       unsigned int * p = ((unsigned int *) addr) + (offset >> 5);
> -@@ -298,7 +291,7 @@ found_middle:
> - #define ext2_clear_bit(nr, addr)      test_and_clear_bit((nr) ^ 0x18, addr)
> -
> - #else
> --extern __inline__ int ext2_set_bit(int nr, void * addr)
> -+static __inline__ int ext2_set_bit(int nr, void * addr)
> - {
> -       int             mask;
> -       unsigned char   *ADDR = (unsigned char *) addr;
> -@@ -311,7 +304,7 @@ extern __inline__ int ext2_set_bit(int nr, void * addr)
> -       return oldbit;
> - }
> -
> --extern __inline__ int ext2_clear_bit(int nr, void * addr)
> -+static __inline__ int ext2_clear_bit(int nr, void * addr)
> - {
> -       int             mask;
> -       unsigned char   *ADDR = (unsigned char *) addr;
> -@@ -325,7 +318,7 @@ extern __inline__ int ext2_clear_bit(int nr, void * addr)
> - }
> - #endif        /* __KERNEL__ */
> -
> --extern __inline__ int ext2_test_bit(int nr, __const__ void * addr)
> -+static __inline__ int ext2_test_bit(int nr, __const__ void * addr)
> - {
> -       __const__ unsigned char *ADDR = (__const__ unsigned char *) addr;
> -
> -diff --git a/arch/powerpc/include/asm/byteorder.h b/arch/powerpc/include/asm/byteorder.h
> -index 3f5bcf6..f731d18 100644
> ---- a/arch/powerpc/include/asm/byteorder.h
> -+++ b/arch/powerpc/include/asm/byteorder.h
> -@@ -5,7 +5,7 @@
> -
> - #ifdef __GNUC__
> -
> --extern __inline__ unsigned ld_le16(const volatile unsigned short *addr)
> -+static __inline__ unsigned ld_le16(const volatile unsigned short *addr)
> - {
> -       unsigned val;
> -
> -@@ -13,12 +13,12 @@ extern __inline__ unsigned ld_le16(const volatile unsigned short *addr)
> -       return val;
> - }
> -
> --extern __inline__ void st_le16(volatile unsigned short *addr, const unsigned val)
> -+static __inline__ void st_le16(volatile unsigned short *addr, const unsigned val)
> - {
> -       __asm__ __volatile__ ("sthbrx %1,0,%2" : "=m" (*addr) : "r" (val), "r" (addr));
> - }
> -
> --extern __inline__ unsigned ld_le32(const volatile unsigned *addr)
> -+static __inline__ unsigned ld_le32(const volatile unsigned *addr)
> - {
> -       unsigned val;
> -
> -@@ -26,7 +26,7 @@ extern __inline__ unsigned ld_le32(const volatile unsigned *addr)
> -       return val;
> - }
> -
> --extern __inline__ void st_le32(volatile unsigned *addr, const unsigned val)
> -+static __inline__ void st_le32(volatile unsigned *addr, const unsigned val)
> - {
> -       __asm__ __volatile__ ("stwbrx %1,0,%2" : "=m" (*addr) : "r" (val), "r" (addr));
> - }
> -diff --git a/arch/powerpc/include/asm/io.h b/arch/powerpc/include/asm/io.h
> -index a5257e9..a54fc46 100644
> ---- a/arch/powerpc/include/asm/io.h
> -+++ b/arch/powerpc/include/asm/io.h
> -@@ -163,7 +163,7 @@ static inline void __raw_writel(unsigned int v, volatile void __iomem *addr)
> -  * is actually performed (i.e. the data has come back) before we start
> -  * executing any following instructions.
> -  */
> --extern inline u8 in_8(const volatile unsigned char __iomem *addr)
> -+static inline u8 in_8(const volatile unsigned char __iomem *addr)
> - {
> -       u8 ret;
> -
> -@@ -174,7 +174,7 @@ extern inline u8 in_8(const volatile unsigned char __iomem *addr)
> -       return ret;
> - }
> -
> --extern inline void out_8(volatile unsigned char __iomem *addr, u8 val)
> -+static inline void out_8(volatile unsigned char __iomem *addr, u8 val)
> - {
> -       __asm__ __volatile__("sync;\n"
> -                            "stb%U0%X0 %1,%0;\n"
> -@@ -182,7 +182,7 @@ extern inline void out_8(volatile unsigned char __iomem *addr, u8 val)
> -                            : "r" (val));
> - }
> -
> --extern inline u16 in_le16(const volatile unsigned short __iomem *addr)
> -+static inline u16 in_le16(const volatile unsigned short __iomem *addr)
> - {
> -       u16 ret;
> -
> -@@ -193,7 +193,7 @@ extern inline u16 in_le16(const volatile unsigned short __iomem *addr)
> -       return ret;
> - }
> -
> --extern inline u16 in_be16(const volatile unsigned short __iomem *addr)
> -+static inline u16 in_be16(const volatile unsigned short __iomem *addr)
> - {
> -       u16 ret;
> -
> -@@ -203,18 +203,18 @@ extern inline u16 in_be16(const volatile unsigned short __iomem *addr)
> -       return ret;
> - }
> -
> --extern inline void out_le16(volatile unsigned short __iomem *addr, u16 val)
> -+static inline void out_le16(volatile unsigned short __iomem *addr, u16 val)
> - {
> -       __asm__ __volatile__("sync; sthbrx %1,0,%2" : "=m" (*addr) :
> -                             "r" (val), "r" (addr));
> - }
> -
> --extern inline void out_be16(volatile unsigned short __iomem *addr, u16 val)
> -+static inline void out_be16(volatile unsigned short __iomem *addr, u16 val)
> - {
> -       __asm__ __volatile__("sync; sth%U0%X0 %1,%0" : "=m" (*addr) : "r" (val));
> - }
> -
> --extern inline u32 in_le32(const volatile unsigned __iomem *addr)
> -+static inline u32 in_le32(const volatile unsigned __iomem *addr)
> - {
> -       u32 ret;
> -
> -@@ -225,7 +225,7 @@ extern inline u32 in_le32(const volatile unsigned __iomem *addr)
> -       return ret;
> - }
> -
> --extern inline u32 in_be32(const volatile unsigned __iomem *addr)
> -+static inline u32 in_be32(const volatile unsigned __iomem *addr)
> - {
> -       u32 ret;
> -
> -@@ -235,13 +235,13 @@ extern inline u32 in_be32(const volatile unsigned __iomem *addr)
> -       return ret;
> - }
> -
> --extern inline void out_le32(volatile unsigned __iomem *addr, u32 val)
> -+static inline void out_le32(volatile unsigned __iomem *addr, u32 val)
> - {
> -       __asm__ __volatile__("sync; stwbrx %1,0,%2" : "=m" (*addr) :
> -                            "r" (val), "r" (addr));
> - }
> -
> --extern inline void out_be32(volatile unsigned __iomem *addr, u32 val)
> -+static inline void out_be32(volatile unsigned __iomem *addr, u32 val)
> - {
> -       __asm__ __volatile__("sync; stw%U0%X0 %1,%0" : "=m" (*addr) : "r" (val));
> - }
> -diff --git a/arch/powerpc/include/asm/iopin_8260.h b/arch/powerpc/include/asm/iopin_8260.h
> -index 619f3a8..617584d 100644
> ---- a/arch/powerpc/include/asm/iopin_8260.h
> -+++ b/arch/powerpc/include/asm/iopin_8260.h
> -@@ -23,140 +23,140 @@ iopin_t;
> - #define IOPIN_PORTC   2
> - #define IOPIN_PORTD   3
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_high(iopin_t *iopin)
> - {
> -     volatile uint *datp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdata;
> -     datp[iopin->port * 8] |= (1 << (31 - iopin->pin));
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_low(iopin_t *iopin)
> - {
> -     volatile uint *datp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdata;
> -     datp[iopin->port * 8] &= ~(1 << (31 - iopin->pin));
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_high(iopin_t *iopin)
> - {
> -     volatile uint *datp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdata;
> -     return (datp[iopin->port * 8] >> (31 - iopin->pin)) & 1;
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_low(iopin_t *iopin)
> - {
> -     volatile uint *datp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdata;
> -     return ((datp[iopin->port * 8] >> (31 - iopin->pin)) & 1) ^ 1;
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_out(iopin_t *iopin)
> - {
> -     volatile uint *dirp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdira;
> -     dirp[iopin->port * 8] |= (1 << (31 - iopin->pin));
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_in(iopin_t *iopin)
> - {
> -     volatile uint *dirp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdira;
> -     dirp[iopin->port * 8] &= ~(1 << (31 - iopin->pin));
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_out(iopin_t *iopin)
> - {
> -     volatile uint *dirp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdira;
> -     return (dirp[iopin->port * 8] >> (31 - iopin->pin)) & 1;
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_in(iopin_t *iopin)
> - {
> -     volatile uint *dirp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_pdira;
> -     return ((dirp[iopin->port * 8] >> (31 - iopin->pin)) & 1) ^ 1;
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_odr(iopin_t *iopin)
> - {
> -     volatile uint *odrp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_podra;
> -     odrp[iopin->port * 8] |= (1 << (31 - iopin->pin));
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_act(iopin_t *iopin)
> - {
> -     volatile uint *odrp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_podra;
> -     odrp[iopin->port * 8] &= ~(1 << (31 - iopin->pin));
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_odr(iopin_t *iopin)
> - {
> -     volatile uint *odrp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_podra;
> -     return (odrp[iopin->port * 8] >> (31 - iopin->pin)) & 1;
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_act(iopin_t *iopin)
> - {
> -     volatile uint *odrp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_podra;
> -     return ((odrp[iopin->port * 8] >> (31 - iopin->pin)) & 1) ^ 1;
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_ded(iopin_t *iopin)
> - {
> -     volatile uint *parp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_ppara;
> -     parp[iopin->port * 8] |= (1 << (31 - iopin->pin));
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_gen(iopin_t *iopin)
> - {
> -     volatile uint *parp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_ppara;
> -     parp[iopin->port * 8] &= ~(1 << (31 - iopin->pin));
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_ded(iopin_t *iopin)
> - {
> -     volatile uint *parp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_ppara;
> -     return (parp[iopin->port * 8] >> (31 - iopin->pin)) & 1;
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_gen(iopin_t *iopin)
> - {
> -     volatile uint *parp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_ppara;
> -     return ((parp[iopin->port * 8] >> (31 - iopin->pin)) & 1) ^ 1;
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_opt2(iopin_t *iopin)
> - {
> -     volatile uint *sorp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_psora;
> -     sorp[iopin->port * 8] |= (1 << (31 - iopin->pin));
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_opt1(iopin_t *iopin)
> - {
> -     volatile uint *sorp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_psora;
> -     sorp[iopin->port * 8] &= ~(1 << (31 - iopin->pin));
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_opt2(iopin_t *iopin)
> - {
> -     volatile uint *sorp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_psora;
> -     return (sorp[iopin->port * 8] >> (31 - iopin->pin)) & 1;
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_opt1(iopin_t *iopin)
> - {
> -     volatile uint *sorp = &((immap_t *)CONFIG_SYS_IMMR)->im_ioport.iop_psora;
> -diff --git a/arch/powerpc/include/asm/iopin_8xx.h b/arch/powerpc/include/asm/iopin_8xx.h
> -index 0123baf..8db0fa2 100644
> ---- a/arch/powerpc/include/asm/iopin_8xx.h
> -+++ b/arch/powerpc/include/asm/iopin_8xx.h
> -@@ -26,7 +26,7 @@ typedef struct {
> - #define IOPIN_PORTC   2
> - #define IOPIN_PORTD   3
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_high(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTA) {
> -@@ -44,7 +44,7 @@ iopin_set_high(iopin_t *iopin)
> -       }
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_low(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTA) {
> -@@ -62,7 +62,7 @@ iopin_set_low(iopin_t *iopin)
> -       }
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_high(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTA) {
> -@@ -81,7 +81,7 @@ iopin_is_high(iopin_t *iopin)
> -       return 0;
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_low(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTA) {
> -@@ -100,7 +100,7 @@ iopin_is_low(iopin_t *iopin)
> -       return 0;
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_out(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTA) {
> -@@ -118,7 +118,7 @@ iopin_set_out(iopin_t *iopin)
> -       }
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_in(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTA) {
> -@@ -136,7 +136,7 @@ iopin_set_in(iopin_t *iopin)
> -       }
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_out(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTA) {
> -@@ -155,7 +155,7 @@ iopin_is_out(iopin_t *iopin)
> -       return 0;
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_in(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTA) {
> -@@ -174,7 +174,7 @@ iopin_is_in(iopin_t *iopin)
> -       return 0;
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_odr(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTA) {
> -@@ -186,7 +186,7 @@ iopin_set_odr(iopin_t *iopin)
> -       }
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_act(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTA) {
> -@@ -198,7 +198,7 @@ iopin_set_act(iopin_t *iopin)
> -       }
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_odr(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTA) {
> -@@ -211,7 +211,7 @@ iopin_is_odr(iopin_t *iopin)
> -       return 0;
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_act(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTA) {
> -@@ -224,7 +224,7 @@ iopin_is_act(iopin_t *iopin)
> -       return 0;
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_ded(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTA) {
> -@@ -242,7 +242,7 @@ iopin_set_ded(iopin_t *iopin)
> -       }
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_gen(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTA) {
> -@@ -260,7 +260,7 @@ iopin_set_gen(iopin_t *iopin)
> -       }
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_ded(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTA) {
> -@@ -279,7 +279,7 @@ iopin_is_ded(iopin_t *iopin)
> -       return 0;
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_gen(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTA) {
> -@@ -298,7 +298,7 @@ iopin_is_gen(iopin_t *iopin)
> -       return 0;
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_opt2(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTC) {
> -@@ -307,7 +307,7 @@ iopin_set_opt2(iopin_t *iopin)
> -       }
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_opt1(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTC) {
> -@@ -316,7 +316,7 @@ iopin_set_opt1(iopin_t *iopin)
> -       }
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_opt2(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTC) {
> -@@ -326,7 +326,7 @@ iopin_is_opt2(iopin_t *iopin)
> -       return 0;
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_opt1(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTC) {
> -@@ -336,7 +336,7 @@ iopin_is_opt1(iopin_t *iopin)
> -       return 0;
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_falledge(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTC) {
> -@@ -345,7 +345,7 @@ iopin_set_falledge(iopin_t *iopin)
> -       }
> - }
> -
> --extern __inline__ void
> -+static __inline__ void
> - iopin_set_anyedge(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTC) {
> -@@ -354,7 +354,7 @@ iopin_set_anyedge(iopin_t *iopin)
> -       }
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_falledge(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTC) {
> -@@ -364,7 +364,7 @@ iopin_is_falledge(iopin_t *iopin)
> -       return 0;
> - }
> -
> --extern __inline__ uint
> -+static __inline__ uint
> - iopin_is_anyedge(iopin_t *iopin)
> - {
> -       if (iopin->port == IOPIN_PORTC) {
> -diff --git a/arch/sparc/include/asm/irq.h b/arch/sparc/include/asm/irq.h
> -index bbe0204..2faf7a0 100644
> ---- a/arch/sparc/include/asm/irq.h
> -+++ b/arch/sparc/include/asm/irq.h
> -@@ -12,7 +12,7 @@
> - #include <asm/psr.h>
> -
> - /* Set SPARC Processor Interrupt Level */
> --extern inline void set_pil(unsigned int level)
> -+static inline void set_pil(unsigned int level)
> - {
> -       unsigned int psr = get_psr();
> -
> -@@ -20,7 +20,7 @@ extern inline void set_pil(unsigned int level)
> - }
> -
> - /* Get SPARC Processor Interrupt Level */
> --extern inline unsigned int get_pil(void)
> -+static inline unsigned int get_pil(void)
> - {
> -       unsigned int psr = get_psr();
> -       return (psr & PSR_PIL) >> PSR_PIL_OFS;
> -diff --git a/arch/sparc/include/asm/psr.h b/arch/sparc/include/asm/psr.h
> -index 70af8e0..a91bdc9 100644
> ---- a/arch/sparc/include/asm/psr.h
> -+++ b/arch/sparc/include/asm/psr.h
> -@@ -42,7 +42,7 @@
> -
> - #ifndef __ASSEMBLY__
> - /* Get the %psr register. */
> --extern __inline__ unsigned int get_psr(void)
> -+static __inline__ unsigned int get_psr(void)
> - {
> -       unsigned int psr;
> -       __asm__ __volatile__("rd        %%psr, %0\n\t"
> -@@ -53,7 +53,7 @@ extern __inline__ unsigned int get_psr(void)
> -       return psr;
> - }
> -
> --extern __inline__ void put_psr(unsigned int new_psr)
> -+static __inline__ void put_psr(unsigned int new_psr)
> - {
> -       __asm__ __volatile__("wr        %0, 0x0, %%psr\n\t" "nop\n\t" "nop\n\t" "nop\n\t":      /* no outputs */
> -                            :"r"(new_psr)
> -@@ -67,7 +67,7 @@ extern __inline__ void put_psr(unsigned int new_psr)
> -
> - extern unsigned int fsr_storage;
> -
> --extern __inline__ unsigned int get_fsr(void)
> -+static __inline__ unsigned int get_fsr(void)
> - {
> -       unsigned int fsr = 0;
> -
> -diff --git a/arch/sparc/include/asm/srmmu.h b/arch/sparc/include/asm/srmmu.h
> -index 74b1554..8da2f67 100644
> ---- a/arch/sparc/include/asm/srmmu.h
> -+++ b/arch/sparc/include/asm/srmmu.h
> -@@ -148,7 +148,7 @@ extern void *srmmu_nocache_pool;
> - #define __nocache_fix(VADDR) __va(__nocache_pa(VADDR))
> -
> - /* Accessing the MMU control register. */
> --extern __inline__ unsigned int srmmu_get_mmureg(void)
> -+static __inline__ unsigned int srmmu_get_mmureg(void)
> - {
> -       unsigned int retval;
> -       __asm__ __volatile__("lda [%%g0] %1, %0\n\t":
> -@@ -156,14 +156,14 @@ extern __inline__ unsigned int srmmu_get_mmureg(void)
> -       return retval;
> - }
> -
> --extern __inline__ void srmmu_set_mmureg(unsigned long regval)
> -+static __inline__ void srmmu_set_mmureg(unsigned long regval)
> - {
> -       __asm__ __volatile__("sta %0, [%%g0] %1\n\t"::"r"(regval),
> -                            "i"(ASI_M_MMUREGS):"memory");
> -
> - }
> -
> --extern __inline__ void srmmu_set_ctable_ptr(unsigned long paddr)
> -+static __inline__ void srmmu_set_ctable_ptr(unsigned long paddr)
> - {
> -       paddr = ((paddr >> 4) & SRMMU_CTX_PMASK);
> -       __asm__ __volatile__("sta %0, [%1] %2\n\t"::"r"(paddr),
> -@@ -171,7 +171,7 @@ extern __inline__ void srmmu_set_ctable_ptr(unsigned long paddr)
> -                            "i"(ASI_M_MMUREGS):"memory");
> - }
> -
> --extern __inline__ unsigned long srmmu_get_ctable_ptr(void)
> -+static __inline__ unsigned long srmmu_get_ctable_ptr(void)
> - {
> -       unsigned int retval;
> -
> -@@ -181,13 +181,13 @@ extern __inline__ unsigned long srmmu_get_ctable_ptr(void)
> -       return (retval & SRMMU_CTX_PMASK) << 4;
> - }
> -
> --extern __inline__ void srmmu_set_context(int context)
> -+static __inline__ void srmmu_set_context(int context)
> - {
> -       __asm__ __volatile__("sta %0, [%1] %2\n\t"::"r"(context),
> -                            "r"(SRMMU_CTX_REG), "i"(ASI_M_MMUREGS):"memory");
> - }
> -
> --extern __inline__ int srmmu_get_context(void)
> -+static __inline__ int srmmu_get_context(void)
> - {
> -       register int retval;
> -       __asm__ __volatile__("lda [%1] %2, %0\n\t":
> -@@ -196,7 +196,7 @@ extern __inline__ int srmmu_get_context(void)
> -       return retval;
> - }
> -
> --extern __inline__ unsigned int srmmu_get_fstatus(void)
> -+static __inline__ unsigned int srmmu_get_fstatus(void)
> - {
> -       unsigned int retval;
> -
> -@@ -206,7 +206,7 @@ extern __inline__ unsigned int srmmu_get_fstatus(void)
> -       return retval;
> - }
> -
> --extern __inline__ unsigned int srmmu_get_faddr(void)
> -+static __inline__ unsigned int srmmu_get_faddr(void)
> - {
> -       unsigned int retval;
> -
> -@@ -217,7 +217,7 @@ extern __inline__ unsigned int srmmu_get_faddr(void)
> - }
> -
> - /* This is guaranteed on all SRMMU's. */
> --extern __inline__ void srmmu_flush_whole_tlb(void)
> -+static __inline__ void srmmu_flush_whole_tlb(void)
> - {
> -       __asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(0x400),       /* Flush entire TLB!! */
> -                            "i"(ASI_M_FLUSH_PROBE):"memory");
> -@@ -225,14 +225,14 @@ extern __inline__ void srmmu_flush_whole_tlb(void)
> - }
> -
> - /* These flush types are not available on all chips... */
> --extern __inline__ void srmmu_flush_tlb_ctx(void)
> -+static __inline__ void srmmu_flush_tlb_ctx(void)
> - {
> -       __asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(0x300),       /* Flush TLB ctx.. */
> -                            "i"(ASI_M_FLUSH_PROBE):"memory");
> -
> - }
> -
> --extern __inline__ void srmmu_flush_tlb_region(unsigned long addr)
> -+static __inline__ void srmmu_flush_tlb_region(unsigned long addr)
> - {
> -       addr &= SRMMU_PGDIR_MASK;
> -       __asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(addr | 0x200),        /* Flush TLB region.. */
> -@@ -240,7 +240,7 @@ extern __inline__ void srmmu_flush_tlb_region(unsigned long addr)
> -
> - }
> -
> --extern __inline__ void srmmu_flush_tlb_segment(unsigned long addr)
> -+static __inline__ void srmmu_flush_tlb_segment(unsigned long addr)
> - {
> -       addr &= SRMMU_REAL_PMD_MASK;
> -       __asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(addr | 0x100),        /* Flush TLB segment.. */
> -@@ -248,7 +248,7 @@ extern __inline__ void srmmu_flush_tlb_segment(unsigned long addr)
> -
> - }
> -
> --extern __inline__ void srmmu_flush_tlb_page(unsigned long page)
> -+static __inline__ void srmmu_flush_tlb_page(unsigned long page)
> - {
> -       page &= PAGE_MASK;
> -       __asm__ __volatile__("sta %%g0, [%0] %1\n\t"::"r"(page),        /* Flush TLB page.. */
> -@@ -256,7 +256,7 @@ extern __inline__ void srmmu_flush_tlb_page(unsigned long page)
> -
> - }
> -
> --extern __inline__ unsigned long srmmu_hwprobe(unsigned long vaddr)
> -+static __inline__ unsigned long srmmu_hwprobe(unsigned long vaddr)
> - {
> -       unsigned long retval;
> -
> -@@ -268,7 +268,7 @@ extern __inline__ unsigned long srmmu_hwprobe(unsigned long vaddr)
> -       return retval;
> - }
> -
> --extern __inline__ int srmmu_get_pte(unsigned long addr)
> -+static __inline__ int srmmu_get_pte(unsigned long addr)
> - {
> -       register unsigned long entry;
> -
> -diff --git a/include/mpc8260.h b/include/mpc8260.h
> -index 9980c74..75f1b0c 100644
> ---- a/include/mpc8260.h
> -+++ b/include/mpc8260.h
> -@@ -892,7 +892,7 @@
> - #define UPMC                  3
> -
> - #if !defined(__ASSEMBLY__) && defined(CONFIG_WATCHDOG)
> --extern __inline__ void
> -+static __inline__ void
> - reset_8260_watchdog(volatile immap_t *immr)
> - {
> -     immr->im_siu_conf.sc_swsr = 0x556c;
> ---
> -2.6.2
> -
> diff --git a/meta/recipes-bsp/u-boot/u-boot_2015.10.bb b/meta/recipes-bsp/u-boot/u-boot_2015.10.bb
> deleted file mode 100644
> index 2abfcfa..0000000
> --- a/meta/recipes-bsp/u-boot/u-boot_2015.10.bb
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -require u-boot.inc
> -
> -DEPENDS += "dtc-native"
> -
> -# This revision corresponds to the tag "v2015.10"
> -# We use the revision in order to avoid having to fetch it from the
> -# repo during parse
> -SRCREV = "5ec0003b19cbdf06ccd6941237cbc0d1c3468e2d"
> -
> -SRC_URI += " \
> -    file://0001-powerpc-cpu-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch \
> -    file://0002-image.c-Fix-non-Android-booting-with-ramdisk-and-or-.patch \
> -    file://0003-common-board_f-enable-setup_board_part1-for-MIPS.patch \
> -    file://0004-MIPS-bootm-rework-and-fix-broken-bootm-code.patch \
> -    file://0005-MIPS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch \
> -    file://0006-Replace-extern-inline-with-static-inline.patch \
> -"
> -
> -PV = "v2015.10+git${SRCPV}"
> diff --git a/meta/recipes-bsp/u-boot/u-boot_2016.01.bb b/meta/recipes-bsp/u-boot/u-boot_2016.01.bb
> new file mode 100644
> index 0000000..d5c1181
> --- /dev/null
> +++ b/meta/recipes-bsp/u-boot/u-boot_2016.01.bb
> @@ -0,0 +1,10 @@
> +require u-boot.inc
> +
> +DEPENDS += "dtc-native"
> +
> +# This revision corresponds to the tag "v2016.01"
> +# We use the revision in order to avoid having to fetch it from the
> +# repo during parse
> +SRCREV = "fa85e826c16b9ce1ad302a57e9c4b24db0d8b930"
> +
> +PV = "v2016.01+git${SRCPV}"
> --
> 2.1.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-13  4:49 ` Khem Raj
@ 2016-01-13  5:01   ` Marek Vasut
  2016-01-13  6:42     ` Khem Raj
  0 siblings, 1 reply; 24+ messages in thread
From: Marek Vasut @ 2016-01-13  5:01 UTC (permalink / raw)
  To: Khem Raj; +Cc: Otavio Salvador, Patches and discussions about the oe-core layer

On Wednesday, January 13, 2016 at 05:49:08 AM, Khem Raj wrote:
> On Tue, Jan 12, 2016 at 7:36 PM, Marek Vasut <marex@denx.de> wrote:
> > Upgrade U-Boot to latest version and drop upstreamed patches.
> > 
> > Repair configuration of U-Boot during build. It is no longer
> > possible to run "make foomachine" in U-Boot. Instead, it is
> > necessary to do "make foomachine_defconfig ; make". Fix this
> > in u-boot.inc and u-boot-fw-utils*.bb .
> > 
> > Signed-off-by: Marek Vasut <marex@denx.de>
> > Cc: Otavio Salvador <otavio@ossystems.com.br>
> > Cc: Ross Burton <ross.burton@intel.com>
> > Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
> > ---
> > 
> >  meta/recipes-bsp/u-boot/u-boot-fw-utils_2015.10.bb |   49 -
> >  meta/recipes-bsp/u-boot/u-boot-fw-utils_2016.01.bb |   49 +
> >  meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb  |   32 -
> >  meta/recipes-bsp/u-boot/u-boot-mkimage_2016.01.bb  |   32 +
> 
> can you make git work hard to detect renames so its easier to review it ?
> 
> git format -C

I usually use git format-patch -M -C, but didn't do it this time.
I can do a repost if needed.

btw. do you have any other comment about this patch? It'd be nice if you
could snip out of the irrelevant part(s) of the patch so it's easier to
find the relevant comments.

> >  meta/recipes-bsp/u-boot/u-boot.inc                 |    4 +-
> >  ...-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch |  185 ---
> >  ...-non-Android-booting-with-ramdisk-and-or-.patch |   36 -
> >  ...board_f-enable-setup_board_part1-for-MIPS.patch |   59 -
> >  ...PS-bootm-rework-and-fix-broken-bootm-code.patch |  254 -----
> >  ...PS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch |   93 --
> >  ...-Replace-extern-inline-with-static-inline.patch | 1184
> >  -------------------- meta/recipes-bsp/u-boot/u-boot_2015.10.bb         

[...]

Best regards,
Marek Vasut


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-13  5:01   ` Marek Vasut
@ 2016-01-13  6:42     ` Khem Raj
  0 siblings, 0 replies; 24+ messages in thread
From: Khem Raj @ 2016-01-13  6:42 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Otavio Salvador, Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 2063 bytes --]


> On Jan 12, 2016, at 9:01 PM, Marek Vasut <marex@denx.de> wrote:
> 
> On Wednesday, January 13, 2016 at 05:49:08 AM, Khem Raj wrote:
>> On Tue, Jan 12, 2016 at 7:36 PM, Marek Vasut <marex@denx.de> wrote:
>>> Upgrade U-Boot to latest version and drop upstreamed patches.
>>> 
>>> Repair configuration of U-Boot during build. It is no longer
>>> possible to run "make foomachine" in U-Boot. Instead, it is
>>> necessary to do "make foomachine_defconfig ; make". Fix this
>>> in u-boot.inc and u-boot-fw-utils*.bb .
>>> 
>>> Signed-off-by: Marek Vasut <marex@denx.de>
>>> Cc: Otavio Salvador <otavio@ossystems.com.br>
>>> Cc: Ross Burton <ross.burton@intel.com>
>>> Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
>>> ---
>>> 
>>> meta/recipes-bsp/u-boot/u-boot-fw-utils_2015.10.bb |   49 -
>>> meta/recipes-bsp/u-boot/u-boot-fw-utils_2016.01.bb |   49 +
>>> meta/recipes-bsp/u-boot/u-boot-mkimage_2015.10.bb  |   32 -
>>> meta/recipes-bsp/u-boot/u-boot-mkimage_2016.01.bb  |   32 +
>> 
>> can you make git work hard to detect renames so its easier to review it ?
>> 
>> git format -C
> 
> I usually use git format-patch -M -C, but didn't do it this time.
> I can do a repost if needed.
> 
> btw. do you have any other comment about this patch? It'd be nice if you
> could snip out of the irrelevant part(s) of the patch so it's easier to
> find the relevant comments.

I started to review it and it just put me off at very beginning.

> 
>>> meta/recipes-bsp/u-boot/u-boot.inc                 |    4 +-
>>> ...-u-boot-.lds-remove-_GLOBAL_OFFSET_TABLE_.patch |  185 ---
>>> ...-non-Android-booting-with-ramdisk-and-or-.patch |   36 -
>>> ...board_f-enable-setup_board_part1-for-MIPS.patch |   59 -
>>> ...PS-bootm-rework-and-fix-broken-bootm-code.patch |  254 -----
>>> ...PS-bootm-use-CONFIG_IS_ENABLED-everywhere.patch |   93 --
>>> ...-Replace-extern-inline-with-static-inline.patch | 1184
>>> -------------------- meta/recipes-bsp/u-boot/u-boot_2015.10.bb
> 
> [...]
> 
> Best regards,
> Marek Vasut


[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 211 bytes --]

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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-13  3:36 [PATCH] u-boot: Update to 2016.01 release Marek Vasut
  2016-01-13  4:49 ` Khem Raj
@ 2016-01-13 12:04 ` Otavio Salvador
  2016-01-13 14:34   ` Marek Vasut
  1 sibling, 1 reply; 24+ messages in thread
From: Otavio Salvador @ 2016-01-13 12:04 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Otavio Salvador, Patches and discussions about the oe-core layer

On Wed, Jan 13, 2016 at 1:36 AM, Marek Vasut <marex@denx.de> wrote:
> Upgrade U-Boot to latest version and drop upstreamed patches.
>
> Repair configuration of U-Boot during build. It is no longer
> possible to run "make foomachine" in U-Boot. Instead, it is
> necessary to do "make foomachine_defconfig ; make". Fix this
> in u-boot.inc and u-boot-fw-utils*.bb .

Please drop this config suffix, from u-boot.inc. The config value
should be used as is and the respective BSP ought to be fixed to
change _config to _defconfig.

Apart from that, it seems fine. As suggested by Khem, please post it
with rename detection so we can double check it.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-13 12:04 ` Otavio Salvador
@ 2016-01-13 14:34   ` Marek Vasut
  2016-01-13 15:39     ` Otavio Salvador
  0 siblings, 1 reply; 24+ messages in thread
From: Marek Vasut @ 2016-01-13 14:34 UTC (permalink / raw)
  To: Otavio Salvador
  Cc: Otavio Salvador, Patches and discussions about the oe-core layer

On Wednesday, January 13, 2016 at 01:04:31 PM, Otavio Salvador wrote:
> On Wed, Jan 13, 2016 at 1:36 AM, Marek Vasut <marex@denx.de> wrote:
> > Upgrade U-Boot to latest version and drop upstreamed patches.
> > 
> > Repair configuration of U-Boot during build. It is no longer
> > possible to run "make foomachine" in U-Boot. Instead, it is
> > necessary to do "make foomachine_defconfig ; make". Fix this
> > in u-boot.inc and u-boot-fw-utils*.bb .
> 
> Please drop this config suffix, from u-boot.inc. The config value
> should be used as is and the respective BSP ought to be fixed to
> change _config to _defconfig.

If I don't have the _defconfig there AND I define UBOOT_MACHINE in my machine
file, it will call "make machine", which no longer works.

> Apart from that, it seems fine. As suggested by Khem, please post it
> with rename detection so we can double check it.

Best regards,
Marek Vasut


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-13 14:34   ` Marek Vasut
@ 2016-01-13 15:39     ` Otavio Salvador
  2016-01-13 15:53       ` Marek Vasut
  0 siblings, 1 reply; 24+ messages in thread
From: Otavio Salvador @ 2016-01-13 15:39 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Otavio Salvador, Patches and discussions about the oe-core layer

On Wed, Jan 13, 2016 at 12:34 PM, Marek Vasut <marex@denx.de> wrote:
> On Wednesday, January 13, 2016 at 01:04:31 PM, Otavio Salvador wrote:
>> On Wed, Jan 13, 2016 at 1:36 AM, Marek Vasut <marex@denx.de> wrote:
>> > Upgrade U-Boot to latest version and drop upstreamed patches.
>> >
>> > Repair configuration of U-Boot during build. It is no longer
>> > possible to run "make foomachine" in U-Boot. Instead, it is
>> > necessary to do "make foomachine_defconfig ; make". Fix this
>> > in u-boot.inc and u-boot-fw-utils*.bb .
>>
>> Please drop this config suffix, from u-boot.inc. The config value
>> should be used as is and the respective BSP ought to be fixed to
>> change _config to _defconfig.
>
> If I don't have the _defconfig there AND I define UBOOT_MACHINE in my machine
> file, it will call "make machine", which no longer works.

I know and the right fix is to use the right value to UBOOT_MACHINE as
we do for KERNEL_DEVICETREE.

Doing this 'under the hood' change hides wrong settings and I think we
should no do this. the defconfig is in use for a while (2 release,
from YP point of view) and people had time to move the BSP to use
proper values.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-13 15:39     ` Otavio Salvador
@ 2016-01-13 15:53       ` Marek Vasut
  2016-01-13 15:55         ` Otavio Salvador
  0 siblings, 1 reply; 24+ messages in thread
From: Marek Vasut @ 2016-01-13 15:53 UTC (permalink / raw)
  To: Otavio Salvador
  Cc: Otavio Salvador, Patches and discussions about the oe-core layer

On Wednesday, January 13, 2016 at 04:39:53 PM, Otavio Salvador wrote:
> On Wed, Jan 13, 2016 at 12:34 PM, Marek Vasut <marex@denx.de> wrote:
> > On Wednesday, January 13, 2016 at 01:04:31 PM, Otavio Salvador wrote:
> >> On Wed, Jan 13, 2016 at 1:36 AM, Marek Vasut <marex@denx.de> wrote:
> >> > Upgrade U-Boot to latest version and drop upstreamed patches.
> >> > 
> >> > Repair configuration of U-Boot during build. It is no longer
> >> > possible to run "make foomachine" in U-Boot. Instead, it is
> >> > necessary to do "make foomachine_defconfig ; make". Fix this
> >> > in u-boot.inc and u-boot-fw-utils*.bb .
> >> 
> >> Please drop this config suffix, from u-boot.inc. The config value
> >> should be used as is and the respective BSP ought to be fixed to
> >> change _config to _defconfig.
> > 
> > If I don't have the _defconfig there AND I define UBOOT_MACHINE in my
> > machine file, it will call "make machine", which no longer works.
> 
> I know and the right fix is to use the right value to UBOOT_MACHINE as
> we do for KERNEL_DEVICETREE.

So what is the right value ? UBOOT_MACHINE := "foo_defconfig" ? This does
not sound right at all.

And what is the right value of UBOOT_CONFIG then ?

> Doing this 'under the hood' change hides wrong settings and I think we
> should no do this. the defconfig is in use for a while (2 release,
> from YP point of view) and people had time to move the BSP to use
> proper values.

Best regards,
Marek Vasut


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-13 15:53       ` Marek Vasut
@ 2016-01-13 15:55         ` Otavio Salvador
  2016-01-13 16:30           ` Marek Vasut
  2016-01-13 22:09           ` Tom Rini
  0 siblings, 2 replies; 24+ messages in thread
From: Otavio Salvador @ 2016-01-13 15:55 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Otavio Salvador, Patches and discussions about the oe-core layer

On Wed, Jan 13, 2016 at 1:53 PM, Marek Vasut <marex@denx.de> wrote:
> On Wednesday, January 13, 2016 at 04:39:53 PM, Otavio Salvador wrote:
>> On Wed, Jan 13, 2016 at 12:34 PM, Marek Vasut <marex@denx.de> wrote:
>> > On Wednesday, January 13, 2016 at 01:04:31 PM, Otavio Salvador wrote:
>> >> On Wed, Jan 13, 2016 at 1:36 AM, Marek Vasut <marex@denx.de> wrote:
>> >> > Upgrade U-Boot to latest version and drop upstreamed patches.
>> >> >
>> >> > Repair configuration of U-Boot during build. It is no longer
>> >> > possible to run "make foomachine" in U-Boot. Instead, it is
>> >> > necessary to do "make foomachine_defconfig ; make". Fix this
>> >> > in u-boot.inc and u-boot-fw-utils*.bb .
>> >>
>> >> Please drop this config suffix, from u-boot.inc. The config value
>> >> should be used as is and the respective BSP ought to be fixed to
>> >> change _config to _defconfig.
>> >
>> > If I don't have the _defconfig there AND I define UBOOT_MACHINE in my
>> > machine file, it will call "make machine", which no longer works.
>>
>> I know and the right fix is to use the right value to UBOOT_MACHINE as
>> we do for KERNEL_DEVICETREE.
>
> So what is the right value ? UBOOT_MACHINE := "foo_defconfig" ? This does
> not sound right at all.
>
> And what is the right value of UBOOT_CONFIG then ?

foo_defconfig.

This is what we pass for make to configure the board and should be the
given value.

As we does for device tree, where we pass for KERNEL_DEVICETREE:

foo-bar.dtb

and this is also given for the make, for the kernel.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-13 15:55         ` Otavio Salvador
@ 2016-01-13 16:30           ` Marek Vasut
  2016-01-13 16:40             ` Otavio Salvador
  2016-01-13 22:09           ` Tom Rini
  1 sibling, 1 reply; 24+ messages in thread
From: Marek Vasut @ 2016-01-13 16:30 UTC (permalink / raw)
  To: Otavio Salvador
  Cc: Otavio Salvador, Patches and discussions about the oe-core layer

On Wednesday, January 13, 2016 at 04:55:56 PM, Otavio Salvador wrote:
> On Wed, Jan 13, 2016 at 1:53 PM, Marek Vasut <marex@denx.de> wrote:
> > On Wednesday, January 13, 2016 at 04:39:53 PM, Otavio Salvador wrote:
> >> On Wed, Jan 13, 2016 at 12:34 PM, Marek Vasut <marex@denx.de> wrote:
> >> > On Wednesday, January 13, 2016 at 01:04:31 PM, Otavio Salvador wrote:
> >> >> On Wed, Jan 13, 2016 at 1:36 AM, Marek Vasut <marex@denx.de> wrote:
> >> >> > Upgrade U-Boot to latest version and drop upstreamed patches.
> >> >> > 
> >> >> > Repair configuration of U-Boot during build. It is no longer
> >> >> > possible to run "make foomachine" in U-Boot. Instead, it is
> >> >> > necessary to do "make foomachine_defconfig ; make". Fix this
> >> >> > in u-boot.inc and u-boot-fw-utils*.bb .
> >> >> 
> >> >> Please drop this config suffix, from u-boot.inc. The config value
> >> >> should be used as is and the respective BSP ought to be fixed to
> >> >> change _config to _defconfig.
> >> > 
> >> > If I don't have the _defconfig there AND I define UBOOT_MACHINE in my
> >> > machine file, it will call "make machine", which no longer works.
> >> 
> >> I know and the right fix is to use the right value to UBOOT_MACHINE as
> >> we do for KERNEL_DEVICETREE.
> > 
> > So what is the right value ? UBOOT_MACHINE := "foo_defconfig" ? This does
> > not sound right at all.
> > 
> > And what is the right value of UBOOT_CONFIG then ?
> 
> foo_defconfig.
> 
> This is what we pass for make to configure the board and should be the
> given value.

OK, that makes sense. You didn't answer my question about UBOOT_MACHINE though.
Any thoughts on that ?

> As we does for device tree, where we pass for KERNEL_DEVICETREE:
> 
> foo-bar.dtb
> 
> and this is also given for the make, for the kernel.

This is fine.

Best regards,
Marek Vasut


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-13 16:30           ` Marek Vasut
@ 2016-01-13 16:40             ` Otavio Salvador
  2016-01-13 17:09               ` Marek Vasut
  0 siblings, 1 reply; 24+ messages in thread
From: Otavio Salvador @ 2016-01-13 16:40 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Otavio Salvador, Patches and discussions about the oe-core layer

On Wed, Jan 13, 2016 at 2:30 PM, Marek Vasut <marex@denx.de> wrote:
> On Wednesday, January 13, 2016 at 04:55:56 PM, Otavio Salvador wrote:
>> On Wed, Jan 13, 2016 at 1:53 PM, Marek Vasut <marex@denx.de> wrote:
>> > On Wednesday, January 13, 2016 at 04:39:53 PM, Otavio Salvador wrote:
>> >> On Wed, Jan 13, 2016 at 12:34 PM, Marek Vasut <marex@denx.de> wrote:
>> >> > On Wednesday, January 13, 2016 at 01:04:31 PM, Otavio Salvador wrote:
>> >> >> On Wed, Jan 13, 2016 at 1:36 AM, Marek Vasut <marex@denx.de> wrote:
>> >> >> > Upgrade U-Boot to latest version and drop upstreamed patches.
>> >> >> >
>> >> >> > Repair configuration of U-Boot during build. It is no longer
>> >> >> > possible to run "make foomachine" in U-Boot. Instead, it is
>> >> >> > necessary to do "make foomachine_defconfig ; make". Fix this
>> >> >> > in u-boot.inc and u-boot-fw-utils*.bb .
>> >> >>
>> >> >> Please drop this config suffix, from u-boot.inc. The config value
>> >> >> should be used as is and the respective BSP ought to be fixed to
>> >> >> change _config to _defconfig.
>> >> >
>> >> > If I don't have the _defconfig there AND I define UBOOT_MACHINE in my
>> >> > machine file, it will call "make machine", which no longer works.
>> >>
>> >> I know and the right fix is to use the right value to UBOOT_MACHINE as
>> >> we do for KERNEL_DEVICETREE.
>> >
>> > So what is the right value ? UBOOT_MACHINE := "foo_defconfig" ? This does
>> > not sound right at all.
>> >
>> > And what is the right value of UBOOT_CONFIG then ?
>>
>> foo_defconfig.
>>
>> This is what we pass for make to configure the board and should be the
>> given value.
>
> OK, that makes sense. You didn't answer my question about UBOOT_MACHINE though.
> Any thoughts on that ?

If using UBOOT_MACHINE = "foo_defconfig" will work just fine.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-13 16:40             ` Otavio Salvador
@ 2016-01-13 17:09               ` Marek Vasut
  2016-01-13 17:16                 ` Otavio Salvador
  0 siblings, 1 reply; 24+ messages in thread
From: Marek Vasut @ 2016-01-13 17:09 UTC (permalink / raw)
  To: Otavio Salvador
  Cc: Otavio Salvador, Patches and discussions about the oe-core layer

On Wednesday, January 13, 2016 at 05:40:20 PM, Otavio Salvador wrote:
> On Wed, Jan 13, 2016 at 2:30 PM, Marek Vasut <marex@denx.de> wrote:
> > On Wednesday, January 13, 2016 at 04:55:56 PM, Otavio Salvador wrote:
> >> On Wed, Jan 13, 2016 at 1:53 PM, Marek Vasut <marex@denx.de> wrote:
> >> > On Wednesday, January 13, 2016 at 04:39:53 PM, Otavio Salvador wrote:
> >> >> On Wed, Jan 13, 2016 at 12:34 PM, Marek Vasut <marex@denx.de> wrote:
> >> >> > On Wednesday, January 13, 2016 at 01:04:31 PM, Otavio Salvador wrote:
> >> >> >> On Wed, Jan 13, 2016 at 1:36 AM, Marek Vasut <marex@denx.de> wrote:
> >> >> >> > Upgrade U-Boot to latest version and drop upstreamed patches.
> >> >> >> > 
> >> >> >> > Repair configuration of U-Boot during build. It is no longer
> >> >> >> > possible to run "make foomachine" in U-Boot. Instead, it is
> >> >> >> > necessary to do "make foomachine_defconfig ; make". Fix this
> >> >> >> > in u-boot.inc and u-boot-fw-utils*.bb .
> >> >> >> 
> >> >> >> Please drop this config suffix, from u-boot.inc. The config value
> >> >> >> should be used as is and the respective BSP ought to be fixed to
> >> >> >> change _config to _defconfig.
> >> >> > 
> >> >> > If I don't have the _defconfig there AND I define UBOOT_MACHINE in
> >> >> > my machine file, it will call "make machine", which no longer
> >> >> > works.
> >> >> 
> >> >> I know and the right fix is to use the right value to UBOOT_MACHINE
> >> >> as we do for KERNEL_DEVICETREE.
> >> > 
> >> > So what is the right value ? UBOOT_MACHINE := "foo_defconfig" ? This
> >> > does not sound right at all.
> >> > 
> >> > And what is the right value of UBOOT_CONFIG then ?
> >> 
> >> foo_defconfig.
> >> 
> >> This is what we pass for make to configure the board and should be the
> >> given value.
> > 
> > OK, that makes sense. You didn't answer my question about UBOOT_MACHINE
> > though. Any thoughts on that ?
> 
> If using UBOOT_MACHINE = "foo_defconfig" will work just fine.

This makes no sense at all, does it ? How can UBOOT_MACHINE contain _defconfig ?
This sounds like a crude hack, not a systematic solution.

Best regards,
Marek Vasut


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-13 17:09               ` Marek Vasut
@ 2016-01-13 17:16                 ` Otavio Salvador
  2016-01-13 17:42                   ` Marek Vasut
  0 siblings, 1 reply; 24+ messages in thread
From: Otavio Salvador @ 2016-01-13 17:16 UTC (permalink / raw)
  To: Marek Vasut, Tom Rini
  Cc: Otavio Salvador, Patches and discussions about the oe-core layer

On Wed, Jan 13, 2016 at 3:09 PM, Marek Vasut <marex@denx.de> wrote:
> On Wednesday, January 13, 2016 at 05:40:20 PM, Otavio Salvador wrote:
>> On Wed, Jan 13, 2016 at 2:30 PM, Marek Vasut <marex@denx.de> wrote:
>> > On Wednesday, January 13, 2016 at 04:55:56 PM, Otavio Salvador wrote:
>> >> On Wed, Jan 13, 2016 at 1:53 PM, Marek Vasut <marex@denx.de> wrote:
>> >> > On Wednesday, January 13, 2016 at 04:39:53 PM, Otavio Salvador wrote:
>> >> >> On Wed, Jan 13, 2016 at 12:34 PM, Marek Vasut <marex@denx.de> wrote:
>> >> >> > On Wednesday, January 13, 2016 at 01:04:31 PM, Otavio Salvador wrote:
>> >> >> >> On Wed, Jan 13, 2016 at 1:36 AM, Marek Vasut <marex@denx.de> wrote:
>> >> >> >> > Upgrade U-Boot to latest version and drop upstreamed patches.
>> >> >> >> >
>> >> >> >> > Repair configuration of U-Boot during build. It is no longer
>> >> >> >> > possible to run "make foomachine" in U-Boot. Instead, it is
>> >> >> >> > necessary to do "make foomachine_defconfig ; make". Fix this
>> >> >> >> > in u-boot.inc and u-boot-fw-utils*.bb .
>> >> >> >>
>> >> >> >> Please drop this config suffix, from u-boot.inc. The config value
>> >> >> >> should be used as is and the respective BSP ought to be fixed to
>> >> >> >> change _config to _defconfig.
>> >> >> >
>> >> >> > If I don't have the _defconfig there AND I define UBOOT_MACHINE in
>> >> >> > my machine file, it will call "make machine", which no longer
>> >> >> > works.
>> >> >>
>> >> >> I know and the right fix is to use the right value to UBOOT_MACHINE
>> >> >> as we do for KERNEL_DEVICETREE.
>> >> >
>> >> > So what is the right value ? UBOOT_MACHINE := "foo_defconfig" ? This
>> >> > does not sound right at all.
>> >> >
>> >> > And what is the right value of UBOOT_CONFIG then ?
>> >>
>> >> foo_defconfig.
>> >>
>> >> This is what we pass for make to configure the board and should be the
>> >> given value.
>> >
>> > OK, that makes sense. You didn't answer my question about UBOOT_MACHINE
>> > though. Any thoughts on that ?
>>
>> If using UBOOT_MACHINE = "foo_defconfig" will work just fine.
>
> This makes no sense at all, does it ? How can UBOOT_MACHINE contain _defconfig ?
> This sounds like a crude hack, not a systematic solution.

I think it makes more sense than it adding _defconfig suffix behind
the scenes...

Adding Tom, on Cc, so he can also comment.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-13 17:16                 ` Otavio Salvador
@ 2016-01-13 17:42                   ` Marek Vasut
  2016-01-13 17:56                     ` Otavio Salvador
  0 siblings, 1 reply; 24+ messages in thread
From: Marek Vasut @ 2016-01-13 17:42 UTC (permalink / raw)
  To: Otavio Salvador
  Cc: Tom Rini, Otavio Salvador,
	Patches and discussions about the oe-core layer

On Wednesday, January 13, 2016 at 06:16:01 PM, Otavio Salvador wrote:
> On Wed, Jan 13, 2016 at 3:09 PM, Marek Vasut <marex@denx.de> wrote:
> > On Wednesday, January 13, 2016 at 05:40:20 PM, Otavio Salvador wrote:
> >> On Wed, Jan 13, 2016 at 2:30 PM, Marek Vasut <marex@denx.de> wrote:
> >> > On Wednesday, January 13, 2016 at 04:55:56 PM, Otavio Salvador wrote:
> >> >> On Wed, Jan 13, 2016 at 1:53 PM, Marek Vasut <marex@denx.de> wrote:
> >> >> > On Wednesday, January 13, 2016 at 04:39:53 PM, Otavio Salvador wrote:
> >> >> >> On Wed, Jan 13, 2016 at 12:34 PM, Marek Vasut <marex@denx.de> wrote:
> >> >> >> > On Wednesday, January 13, 2016 at 01:04:31 PM, Otavio Salvador 
wrote:
> >> >> >> >> On Wed, Jan 13, 2016 at 1:36 AM, Marek Vasut <marex@denx.de> 
wrote:
> >> >> >> >> > Upgrade U-Boot to latest version and drop upstreamed patches.
> >> >> >> >> > 
> >> >> >> >> > Repair configuration of U-Boot during build. It is no longer
> >> >> >> >> > possible to run "make foomachine" in U-Boot. Instead, it is
> >> >> >> >> > necessary to do "make foomachine_defconfig ; make". Fix this
> >> >> >> >> > in u-boot.inc and u-boot-fw-utils*.bb .
> >> >> >> >> 
> >> >> >> >> Please drop this config suffix, from u-boot.inc. The config
> >> >> >> >> value should be used as is and the respective BSP ought to be
> >> >> >> >> fixed to change _config to _defconfig.
> >> >> >> > 
> >> >> >> > If I don't have the _defconfig there AND I define UBOOT_MACHINE
> >> >> >> > in my machine file, it will call "make machine", which no
> >> >> >> > longer works.
> >> >> >> 
> >> >> >> I know and the right fix is to use the right value to
> >> >> >> UBOOT_MACHINE as we do for KERNEL_DEVICETREE.
> >> >> > 
> >> >> > So what is the right value ? UBOOT_MACHINE := "foo_defconfig" ?
> >> >> > This does not sound right at all.
> >> >> > 
> >> >> > And what is the right value of UBOOT_CONFIG then ?
> >> >> 
> >> >> foo_defconfig.
> >> >> 
> >> >> This is what we pass for make to configure the board and should be
> >> >> the given value.
> >> > 
> >> > OK, that makes sense. You didn't answer my question about
> >> > UBOOT_MACHINE though. Any thoughts on that ?
> >> 
> >> If using UBOOT_MACHINE = "foo_defconfig" will work just fine.
> > 
> > This makes no sense at all, does it ? How can UBOOT_MACHINE contain
> > _defconfig ? This sounds like a crude hack, not a systematic solution.
> 
> I think it makes more sense than it adding _defconfig suffix behind
> the scenes...

The machine is just that, the name of the machine. For machine foo, the
UBOOT_MACHINE should be foo , not foo_defconfig . The _defconfig should
be added by the recipe, but certainly not by the user, since that would
be a dirty hack and confusing as hell. The "foo_defconfig" string would
only be sensible for UBOOT_CONFIG variable, but no way for UBOOT_MACHINE.

> Adding Tom, on Cc, so he can also comment.

OK

Best regards,
Marek Vasut


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-13 17:42                   ` Marek Vasut
@ 2016-01-13 17:56                     ` Otavio Salvador
  2016-01-13 20:35                       ` Marek Vasut
  0 siblings, 1 reply; 24+ messages in thread
From: Otavio Salvador @ 2016-01-13 17:56 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Tom Rini, Otavio Salvador,
	Patches and discussions about the oe-core layer

On Wed, Jan 13, 2016 at 3:42 PM, Marek Vasut <marex@denx.de> wrote:
> On Wednesday, January 13, 2016 at 06:16:01 PM, Otavio Salvador wrote:
>> On Wed, Jan 13, 2016 at 3:09 PM, Marek Vasut <marex@denx.de> wrote:
>> > On Wednesday, January 13, 2016 at 05:40:20 PM, Otavio Salvador wrote:
>> >> On Wed, Jan 13, 2016 at 2:30 PM, Marek Vasut <marex@denx.de> wrote:
>> >> > On Wednesday, January 13, 2016 at 04:55:56 PM, Otavio Salvador wrote:
>> >> >> On Wed, Jan 13, 2016 at 1:53 PM, Marek Vasut <marex@denx.de> wrote:
>> >> >> > On Wednesday, January 13, 2016 at 04:39:53 PM, Otavio Salvador wrote:
>> >> >> >> On Wed, Jan 13, 2016 at 12:34 PM, Marek Vasut <marex@denx.de> wrote:
>> >> >> >> > On Wednesday, January 13, 2016 at 01:04:31 PM, Otavio Salvador
> wrote:
>> >> >> >> >> On Wed, Jan 13, 2016 at 1:36 AM, Marek Vasut <marex@denx.de>
> wrote:
>> >> >> >> >> > Upgrade U-Boot to latest version and drop upstreamed patches.
>> >> >> >> >> >
>> >> >> >> >> > Repair configuration of U-Boot during build. It is no longer
>> >> >> >> >> > possible to run "make foomachine" in U-Boot. Instead, it is
>> >> >> >> >> > necessary to do "make foomachine_defconfig ; make". Fix this
>> >> >> >> >> > in u-boot.inc and u-boot-fw-utils*.bb .
>> >> >> >> >>
>> >> >> >> >> Please drop this config suffix, from u-boot.inc. The config
>> >> >> >> >> value should be used as is and the respective BSP ought to be
>> >> >> >> >> fixed to change _config to _defconfig.
>> >> >> >> >
>> >> >> >> > If I don't have the _defconfig there AND I define UBOOT_MACHINE
>> >> >> >> > in my machine file, it will call "make machine", which no
>> >> >> >> > longer works.
>> >> >> >>
>> >> >> >> I know and the right fix is to use the right value to
>> >> >> >> UBOOT_MACHINE as we do for KERNEL_DEVICETREE.
>> >> >> >
>> >> >> > So what is the right value ? UBOOT_MACHINE := "foo_defconfig" ?
>> >> >> > This does not sound right at all.
>> >> >> >
>> >> >> > And what is the right value of UBOOT_CONFIG then ?
>> >> >>
>> >> >> foo_defconfig.
>> >> >>
>> >> >> This is what we pass for make to configure the board and should be
>> >> >> the given value.
>> >> >
>> >> > OK, that makes sense. You didn't answer my question about
>> >> > UBOOT_MACHINE though. Any thoughts on that ?
>> >>
>> >> If using UBOOT_MACHINE = "foo_defconfig" will work just fine.
>> >
>> > This makes no sense at all, does it ? How can UBOOT_MACHINE contain
>> > _defconfig ? This sounds like a crude hack, not a systematic solution.
>>
>> I think it makes more sense than it adding _defconfig suffix behind
>> the scenes...
>
> The machine is just that, the name of the machine. For machine foo, the
> UBOOT_MACHINE should be foo , not foo_defconfig . The _defconfig should
> be added by the recipe, but certainly not by the user, since that would
> be a dirty hack and confusing as hell. The "foo_defconfig" string would
> only be sensible for UBOOT_CONFIG variable, but no way for UBOOT_MACHINE.

UBOOT_CONFIG is different on this context; it is more like PACKAGECONFIG.

You can see, for example:

http://git.yoctoproject.org/cgit/cgit.cgi/meta-fsl-arm/tree/conf/machine/imx6qsabresd.conf#n14

So I understand it is a little confusing but it is indeed how it has been done.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-13 17:56                     ` Otavio Salvador
@ 2016-01-13 20:35                       ` Marek Vasut
  2016-01-13 20:57                         ` Otavio Salvador
  0 siblings, 1 reply; 24+ messages in thread
From: Marek Vasut @ 2016-01-13 20:35 UTC (permalink / raw)
  To: Otavio Salvador
  Cc: Tom Rini, Otavio Salvador,
	Patches and discussions about the oe-core layer

On Wednesday, January 13, 2016 at 06:56:36 PM, Otavio Salvador wrote:
> On Wed, Jan 13, 2016 at 3:42 PM, Marek Vasut <marex@denx.de> wrote:
> > On Wednesday, January 13, 2016 at 06:16:01 PM, Otavio Salvador wrote:
> >> On Wed, Jan 13, 2016 at 3:09 PM, Marek Vasut <marex@denx.de> wrote:
> >> > On Wednesday, January 13, 2016 at 05:40:20 PM, Otavio Salvador wrote:
> >> >> On Wed, Jan 13, 2016 at 2:30 PM, Marek Vasut <marex@denx.de> wrote:
> >> >> > On Wednesday, January 13, 2016 at 04:55:56 PM, Otavio Salvador wrote:
> >> >> >> On Wed, Jan 13, 2016 at 1:53 PM, Marek Vasut <marex@denx.de> wrote:
> >> >> >> > On Wednesday, January 13, 2016 at 04:39:53 PM, Otavio Salvador 
wrote:
> >> >> >> >> On Wed, Jan 13, 2016 at 12:34 PM, Marek Vasut <marex@denx.de> 
wrote:
> >> >> >> >> > On Wednesday, January 13, 2016 at 01:04:31 PM, Otavio
> >> >> >> >> > Salvador
> > 
> > wrote:
> >> >> >> >> >> On Wed, Jan 13, 2016 at 1:36 AM, Marek Vasut <marex@denx.de>
> > 
> > wrote:
> >> >> >> >> >> > Upgrade U-Boot to latest version and drop upstreamed
> >> >> >> >> >> > patches.
> >> >> >> >> >> > 
> >> >> >> >> >> > Repair configuration of U-Boot during build. It is no
> >> >> >> >> >> > longer possible to run "make foomachine" in U-Boot.
> >> >> >> >> >> > Instead, it is necessary to do "make foomachine_defconfig
> >> >> >> >> >> > ; make". Fix this in u-boot.inc and u-boot-fw-utils*.bb .
> >> >> >> >> >> 
> >> >> >> >> >> Please drop this config suffix, from u-boot.inc. The config
> >> >> >> >> >> value should be used as is and the respective BSP ought to
> >> >> >> >> >> be fixed to change _config to _defconfig.
> >> >> >> >> > 
> >> >> >> >> > If I don't have the _defconfig there AND I define
> >> >> >> >> > UBOOT_MACHINE in my machine file, it will call "make
> >> >> >> >> > machine", which no longer works.
> >> >> >> >> 
> >> >> >> >> I know and the right fix is to use the right value to
> >> >> >> >> UBOOT_MACHINE as we do for KERNEL_DEVICETREE.
> >> >> >> > 
> >> >> >> > So what is the right value ? UBOOT_MACHINE := "foo_defconfig" ?
> >> >> >> > This does not sound right at all.
> >> >> >> > 
> >> >> >> > And what is the right value of UBOOT_CONFIG then ?
> >> >> >> 
> >> >> >> foo_defconfig.
> >> >> >> 
> >> >> >> This is what we pass for make to configure the board and should be
> >> >> >> the given value.
> >> >> > 
> >> >> > OK, that makes sense. You didn't answer my question about
> >> >> > UBOOT_MACHINE though. Any thoughts on that ?
> >> >> 
> >> >> If using UBOOT_MACHINE = "foo_defconfig" will work just fine.
> >> > 
> >> > This makes no sense at all, does it ? How can UBOOT_MACHINE contain
> >> > _defconfig ? This sounds like a crude hack, not a systematic solution.
> >> 
> >> I think it makes more sense than it adding _defconfig suffix behind
> >> the scenes...
> > 
> > The machine is just that, the name of the machine. For machine foo, the
> > UBOOT_MACHINE should be foo , not foo_defconfig . The _defconfig should
> > be added by the recipe, but certainly not by the user, since that would
> > be a dirty hack and confusing as hell. The "foo_defconfig" string would
> > only be sensible for UBOOT_CONFIG variable, but no way for UBOOT_MACHINE.
> 
> UBOOT_CONFIG is different on this context; it is more like PACKAGECONFIG.
> 
> You can see, for example:
> 
> http://git.yoctoproject.org/cgit/cgit.cgi/meta-fsl-arm/tree/conf/machine/im
> x6qsabresd.conf#n14
> 
> So I understand it is a little confusing but it is indeed how it has been
> done.

Just because some variable is misused in some metalayer doesn't make it right,
does it ?


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-13 20:35                       ` Marek Vasut
@ 2016-01-13 20:57                         ` Otavio Salvador
  0 siblings, 0 replies; 24+ messages in thread
From: Otavio Salvador @ 2016-01-13 20:57 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Tom Rini, Otavio Salvador,
	Patches and discussions about the oe-core layer

On Wed, Jan 13, 2016 at 6:35 PM, Marek Vasut <marex@denx.de> wrote:
> On Wednesday, January 13, 2016 at 06:56:36 PM, Otavio Salvador wrote:
>> On Wed, Jan 13, 2016 at 3:42 PM, Marek Vasut <marex@denx.de> wrote:
>> > On Wednesday, January 13, 2016 at 06:16:01 PM, Otavio Salvador wrote:
>> >> On Wed, Jan 13, 2016 at 3:09 PM, Marek Vasut <marex@denx.de> wrote:
>> >> > On Wednesday, January 13, 2016 at 05:40:20 PM, Otavio Salvador wrote:
>> >> >> On Wed, Jan 13, 2016 at 2:30 PM, Marek Vasut <marex@denx.de> wrote:
>> >> >> > On Wednesday, January 13, 2016 at 04:55:56 PM, Otavio Salvador wrote:
>> >> >> >> On Wed, Jan 13, 2016 at 1:53 PM, Marek Vasut <marex@denx.de> wrote:
>> >> >> >> > On Wednesday, January 13, 2016 at 04:39:53 PM, Otavio Salvador
> wrote:
>> >> >> >> >> On Wed, Jan 13, 2016 at 12:34 PM, Marek Vasut <marex@denx.de>
> wrote:
>> >> >> >> >> > On Wednesday, January 13, 2016 at 01:04:31 PM, Otavio
>> >> >> >> >> > Salvador
>> >
>> > wrote:
>> >> >> >> >> >> On Wed, Jan 13, 2016 at 1:36 AM, Marek Vasut <marex@denx.de>
>> >
>> > wrote:
>> >> >> >> >> >> > Upgrade U-Boot to latest version and drop upstreamed
>> >> >> >> >> >> > patches.
>> >> >> >> >> >> >
>> >> >> >> >> >> > Repair configuration of U-Boot during build. It is no
>> >> >> >> >> >> > longer possible to run "make foomachine" in U-Boot.
>> >> >> >> >> >> > Instead, it is necessary to do "make foomachine_defconfig
>> >> >> >> >> >> > ; make". Fix this in u-boot.inc and u-boot-fw-utils*.bb .
>> >> >> >> >> >>
>> >> >> >> >> >> Please drop this config suffix, from u-boot.inc. The config
>> >> >> >> >> >> value should be used as is and the respective BSP ought to
>> >> >> >> >> >> be fixed to change _config to _defconfig.
>> >> >> >> >> >
>> >> >> >> >> > If I don't have the _defconfig there AND I define
>> >> >> >> >> > UBOOT_MACHINE in my machine file, it will call "make
>> >> >> >> >> > machine", which no longer works.
>> >> >> >> >>
>> >> >> >> >> I know and the right fix is to use the right value to
>> >> >> >> >> UBOOT_MACHINE as we do for KERNEL_DEVICETREE.
>> >> >> >> >
>> >> >> >> > So what is the right value ? UBOOT_MACHINE := "foo_defconfig" ?
>> >> >> >> > This does not sound right at all.
>> >> >> >> >
>> >> >> >> > And what is the right value of UBOOT_CONFIG then ?
>> >> >> >>
>> >> >> >> foo_defconfig.
>> >> >> >>
>> >> >> >> This is what we pass for make to configure the board and should be
>> >> >> >> the given value.
>> >> >> >
>> >> >> > OK, that makes sense. You didn't answer my question about
>> >> >> > UBOOT_MACHINE though. Any thoughts on that ?
>> >> >>
>> >> >> If using UBOOT_MACHINE = "foo_defconfig" will work just fine.
>> >> >
>> >> > This makes no sense at all, does it ? How can UBOOT_MACHINE contain
>> >> > _defconfig ? This sounds like a crude hack, not a systematic solution.
>> >>
>> >> I think it makes more sense than it adding _defconfig suffix behind
>> >> the scenes...
>> >
>> > The machine is just that, the name of the machine. For machine foo, the
>> > UBOOT_MACHINE should be foo , not foo_defconfig . The _defconfig should
>> > be added by the recipe, but certainly not by the user, since that would
>> > be a dirty hack and confusing as hell. The "foo_defconfig" string would
>> > only be sensible for UBOOT_CONFIG variable, but no way for UBOOT_MACHINE.
>>
>> UBOOT_CONFIG is different on this context; it is more like PACKAGECONFIG.
>>
>> You can see, for example:
>>
>> http://git.yoctoproject.org/cgit/cgit.cgi/meta-fsl-arm/tree/conf/machine/im
>> x6qsabresd.conf#n14
>>
>> So I understand it is a little confusing but it is indeed how it has been
>> done.
>
> Just because some variable is misused in some metalayer doesn't make it right,
> does it ?

I am not OE-Core maintainer but I think we ought to push for simple
things and making behind the scenes suffix appending to generate a
value goes on the opposite direction, from my point of view.

Also this u-boot.inc change will make impossible for people to use OLD
versions of U-Boot without duplicating it and hacking it. A bad side
effect.

From me, this is Nack!

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-13 15:55         ` Otavio Salvador
  2016-01-13 16:30           ` Marek Vasut
@ 2016-01-13 22:09           ` Tom Rini
  2016-01-14 20:43             ` Otavio Salvador
  1 sibling, 1 reply; 24+ messages in thread
From: Tom Rini @ 2016-01-13 22:09 UTC (permalink / raw)
  To: Otavio Salvador
  Cc: Marek Vasut, Otavio Salvador,
	Patches and discussions about the oe-core layer

[-- Attachment #1: Type: text/plain, Size: 2114 bytes --]

On Wed, Jan 13, 2016 at 01:55:56PM -0200, Otavio Salvador wrote:
> On Wed, Jan 13, 2016 at 1:53 PM, Marek Vasut <marex@denx.de> wrote:
> > On Wednesday, January 13, 2016 at 04:39:53 PM, Otavio Salvador wrote:
> >> On Wed, Jan 13, 2016 at 12:34 PM, Marek Vasut <marex@denx.de> wrote:
> >> > On Wednesday, January 13, 2016 at 01:04:31 PM, Otavio Salvador wrote:
> >> >> On Wed, Jan 13, 2016 at 1:36 AM, Marek Vasut <marex@denx.de> wrote:
> >> >> > Upgrade U-Boot to latest version and drop upstreamed patches.
> >> >> >
> >> >> > Repair configuration of U-Boot during build. It is no longer
> >> >> > possible to run "make foomachine" in U-Boot. Instead, it is
> >> >> > necessary to do "make foomachine_defconfig ; make". Fix this
> >> >> > in u-boot.inc and u-boot-fw-utils*.bb .
> >> >>
> >> >> Please drop this config suffix, from u-boot.inc. The config value
> >> >> should be used as is and the respective BSP ought to be fixed to
> >> >> change _config to _defconfig.
> >> >
> >> > If I don't have the _defconfig there AND I define UBOOT_MACHINE in my
> >> > machine file, it will call "make machine", which no longer works.
> >>
> >> I know and the right fix is to use the right value to UBOOT_MACHINE as
> >> we do for KERNEL_DEVICETREE.
> >
> > So what is the right value ? UBOOT_MACHINE := "foo_defconfig" ? This does
> > not sound right at all.
> >
> > And what is the right value of UBOOT_CONFIG then ?
> 
> foo_defconfig.
> 
> This is what we pass for make to configure the board and should be the
> given value.
> 
> As we does for device tree, where we pass for KERNEL_DEVICETREE:
> 
> foo-bar.dtb
> 
> and this is also given for the make, for the kernel.

This is not the same thing in my view.  In the kernel you're also
getting that as the output file.

What we should do, and I've wanted to do for ages but always never get
around to it is:

do_configure() {
	oe_runmake ${UBOOT_MACHINE}_config
}

do_compile() {
	oe_runmake
}

As _config has worked for forever.  And modify the above as-needed for
the env recipes and so forth.

-- 
Tom

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 853 bytes --]

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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-13 22:09           ` Tom Rini
@ 2016-01-14 20:43             ` Otavio Salvador
  2016-01-14 21:15               ` Marek Vasut
  0 siblings, 1 reply; 24+ messages in thread
From: Otavio Salvador @ 2016-01-14 20:43 UTC (permalink / raw)
  To: Tom Rini
  Cc: Marek Vasut, Otavio Salvador,
	Patches and discussions about the oe-core layer

On Wed, Jan 13, 2016 at 8:09 PM, Tom Rini <trini@konsulko.com> wrote:
> On Wed, Jan 13, 2016 at 01:55:56PM -0200, Otavio Salvador wrote:
>> On Wed, Jan 13, 2016 at 1:53 PM, Marek Vasut <marex@denx.de> wrote:
>> > On Wednesday, January 13, 2016 at 04:39:53 PM, Otavio Salvador wrote:
>> >> On Wed, Jan 13, 2016 at 12:34 PM, Marek Vasut <marex@denx.de> wrote:
>> >> > On Wednesday, January 13, 2016 at 01:04:31 PM, Otavio Salvador wrote:
>> >> >> On Wed, Jan 13, 2016 at 1:36 AM, Marek Vasut <marex@denx.de> wrote:
>> >> >> > Upgrade U-Boot to latest version and drop upstreamed patches.
>> >> >> >
>> >> >> > Repair configuration of U-Boot during build. It is no longer
>> >> >> > possible to run "make foomachine" in U-Boot. Instead, it is
>> >> >> > necessary to do "make foomachine_defconfig ; make". Fix this
>> >> >> > in u-boot.inc and u-boot-fw-utils*.bb .
>> >> >>
>> >> >> Please drop this config suffix, from u-boot.inc. The config value
>> >> >> should be used as is and the respective BSP ought to be fixed to
>> >> >> change _config to _defconfig.
>> >> >
>> >> > If I don't have the _defconfig there AND I define UBOOT_MACHINE in my
>> >> > machine file, it will call "make machine", which no longer works.
>> >>
>> >> I know and the right fix is to use the right value to UBOOT_MACHINE as
>> >> we do for KERNEL_DEVICETREE.
>> >
>> > So what is the right value ? UBOOT_MACHINE := "foo_defconfig" ? This does
>> > not sound right at all.
>> >
>> > And what is the right value of UBOOT_CONFIG then ?
>>
>> foo_defconfig.
>>
>> This is what we pass for make to configure the board and should be the
>> given value.
>>
>> As we does for device tree, where we pass for KERNEL_DEVICETREE:
>>
>> foo-bar.dtb
>>
>> and this is also given for the make, for the kernel.
>
> This is not the same thing in my view.  In the kernel you're also
> getting that as the output file.
>
> What we should do, and I've wanted to do for ages but always never get
> around to it is:
>
> do_configure() {
>         oe_runmake ${UBOOT_MACHINE}_config
> }
>
> do_compile() {
>         oe_runmake
> }
>
> As _config has worked for forever.  And modify the above as-needed for
> the env recipes and so forth.

Any change like this need to be proposed as another patch; please
split this patch in upgrade and logic change. So we review and test
them separated.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-14 20:43             ` Otavio Salvador
@ 2016-01-14 21:15               ` Marek Vasut
  2016-01-14 21:37                 ` Otavio Salvador
  0 siblings, 1 reply; 24+ messages in thread
From: Marek Vasut @ 2016-01-14 21:15 UTC (permalink / raw)
  To: Otavio Salvador
  Cc: Tom Rini, Otavio Salvador,
	Patches and discussions about the oe-core layer

On Thursday, January 14, 2016 at 09:43:24 PM, Otavio Salvador wrote:
> On Wed, Jan 13, 2016 at 8:09 PM, Tom Rini <trini@konsulko.com> wrote:
> > On Wed, Jan 13, 2016 at 01:55:56PM -0200, Otavio Salvador wrote:
> >> On Wed, Jan 13, 2016 at 1:53 PM, Marek Vasut <marex@denx.de> wrote:
> >> > On Wednesday, January 13, 2016 at 04:39:53 PM, Otavio Salvador wrote:
> >> >> On Wed, Jan 13, 2016 at 12:34 PM, Marek Vasut <marex@denx.de> wrote:
> >> >> > On Wednesday, January 13, 2016 at 01:04:31 PM, Otavio Salvador wrote:
> >> >> >> On Wed, Jan 13, 2016 at 1:36 AM, Marek Vasut <marex@denx.de> wrote:
> >> >> >> > Upgrade U-Boot to latest version and drop upstreamed patches.
> >> >> >> > 
> >> >> >> > Repair configuration of U-Boot during build. It is no longer
> >> >> >> > possible to run "make foomachine" in U-Boot. Instead, it is
> >> >> >> > necessary to do "make foomachine_defconfig ; make". Fix this
> >> >> >> > in u-boot.inc and u-boot-fw-utils*.bb .
> >> >> >> 
> >> >> >> Please drop this config suffix, from u-boot.inc. The config value
> >> >> >> should be used as is and the respective BSP ought to be fixed to
> >> >> >> change _config to _defconfig.
> >> >> > 
> >> >> > If I don't have the _defconfig there AND I define UBOOT_MACHINE in
> >> >> > my machine file, it will call "make machine", which no longer
> >> >> > works.
> >> >> 
> >> >> I know and the right fix is to use the right value to UBOOT_MACHINE
> >> >> as we do for KERNEL_DEVICETREE.
> >> > 
> >> > So what is the right value ? UBOOT_MACHINE := "foo_defconfig" ? This
> >> > does not sound right at all.
> >> > 
> >> > And what is the right value of UBOOT_CONFIG then ?
> >> 
> >> foo_defconfig.
> >> 
> >> This is what we pass for make to configure the board and should be the
> >> given value.
> >> 
> >> As we does for device tree, where we pass for KERNEL_DEVICETREE:
> >> 
> >> foo-bar.dtb
> >> 
> >> and this is also given for the make, for the kernel.
> > 
> > This is not the same thing in my view.  In the kernel you're also
> > getting that as the output file.
> > 
> > What we should do, and I've wanted to do for ages but always never get
> > around to it is:
> > 
> > do_configure() {
> > 
> >         oe_runmake ${UBOOT_MACHINE}_config
> > 
> > }
> > 
> > do_compile() {
> > 
> >         oe_runmake
> > 
> > }
> > 
> > As _config has worked for forever.  And modify the above as-needed for
> > the env recipes and so forth.
> 
> Any change like this need to be proposed as another patch; please
> split this patch in upgrade and logic change. So we review and test
> them separated.

The change would be more involved, because the u-boot build scripts are 
seriously misdesigned and for example somehow expect that you can invoke 
do_compile() and expect it to produce multiple u-boot binaries for different 
configurations.

Taking a look at u-boot.inc and uboot-config.bbclass makes me wonder how all 
that could work at all. It's either a stackpile of legacy cruft or just poor 
design.

Best regards,
Marek Vasut


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-14 21:15               ` Marek Vasut
@ 2016-01-14 21:37                 ` Otavio Salvador
  2016-01-14 21:41                   ` Marek Vasut
  0 siblings, 1 reply; 24+ messages in thread
From: Otavio Salvador @ 2016-01-14 21:37 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Tom Rini, Otavio Salvador,
	Patches and discussions about the oe-core layer

On Thu, Jan 14, 2016 at 7:15 PM, Marek Vasut <marex@denx.de> wrote:
...
> Taking a look at u-boot.inc and uboot-config.bbclass makes me wonder how all
> that could work at all. It's either a stackpile of legacy cruft or just poor
> design.

I think it is a mix of both.

How would you address this in a clean way?

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-14 21:37                 ` Otavio Salvador
@ 2016-01-14 21:41                   ` Marek Vasut
  2016-01-14 23:42                     ` Otavio Salvador
  0 siblings, 1 reply; 24+ messages in thread
From: Marek Vasut @ 2016-01-14 21:41 UTC (permalink / raw)
  To: Otavio Salvador
  Cc: Tom Rini, Otavio Salvador,
	Patches and discussions about the oe-core layer

On Thursday, January 14, 2016 at 10:37:16 PM, Otavio Salvador wrote:
> On Thu, Jan 14, 2016 at 7:15 PM, Marek Vasut <marex@denx.de> wrote:
> ...
> 
> > Taking a look at u-boot.inc and uboot-config.bbclass makes me wonder how
> > all that could work at all. It's either a stackpile of legacy cruft or
> > just poor design.
> 
> I think it is a mix of both.
> 
> How would you address this in a clean way?

I would have one U-Boot build per package. Debian doesn't do it that way tho,
so their rationale might be something to consider here too.

I would also have exactly one variable to for a machine and it would be the
name of the config _WITHOUT_ any _config or _defconfig or _whatever suffix.

Best regards,
Marek Vasut


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-14 21:41                   ` Marek Vasut
@ 2016-01-14 23:42                     ` Otavio Salvador
  2016-01-15  1:07                       ` Marek Vasut
  0 siblings, 1 reply; 24+ messages in thread
From: Otavio Salvador @ 2016-01-14 23:42 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Tom Rini, Otavio Salvador,
	Patches and discussions about the oe-core layer

On Thu, Jan 14, 2016 at 7:41 PM, Marek Vasut <marex@denx.de> wrote:
> On Thursday, January 14, 2016 at 10:37:16 PM, Otavio Salvador wrote:
>> On Thu, Jan 14, 2016 at 7:15 PM, Marek Vasut <marex@denx.de> wrote:
>> ...
>>
>> > Taking a look at u-boot.inc and uboot-config.bbclass makes me wonder how
>> > all that could work at all. It's either a stackpile of legacy cruft or
>> > just poor design.
>>
>> I think it is a mix of both.
>>
>> How would you address this in a clean way?
>
> I would have one U-Boot build per package. Debian doesn't do it that way tho,
> so their rationale might be something to consider here too.

This is what we do in uboot-config class, isn't it?

Without going deep on the minor details, could you describe how you
think it should be done?

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


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

* Re: [PATCH] u-boot: Update to 2016.01 release
  2016-01-14 23:42                     ` Otavio Salvador
@ 2016-01-15  1:07                       ` Marek Vasut
  0 siblings, 0 replies; 24+ messages in thread
From: Marek Vasut @ 2016-01-15  1:07 UTC (permalink / raw)
  To: Otavio Salvador
  Cc: Tom Rini, Otavio Salvador,
	Patches and discussions about the oe-core layer

On Friday, January 15, 2016 at 12:42:18 AM, Otavio Salvador wrote:
> On Thu, Jan 14, 2016 at 7:41 PM, Marek Vasut <marex@denx.de> wrote:
> > On Thursday, January 14, 2016 at 10:37:16 PM, Otavio Salvador wrote:
> >> On Thu, Jan 14, 2016 at 7:15 PM, Marek Vasut <marex@denx.de> wrote:
> >> ...
> >> 
> >> > Taking a look at u-boot.inc and uboot-config.bbclass makes me wonder
> >> > how all that could work at all. It's either a stackpile of legacy
> >> > cruft or just poor design.
> >> 
> >> I think it is a mix of both.
> >> 
> >> How would you address this in a clean way?
> > 
> > I would have one U-Boot build per package. Debian doesn't do it that way
> > tho, so their rationale might be something to consider here too.
> 
> This is what we do in uboot-config class, isn't it?

The class lacks documentation and is written in rather obscure way, so I am
not sure about how the result is packaged, sorry.

> Without going deep on the minor details, could you describe how you
> think it should be done?

Can you be more specific about this "it" ? What do you refer to ?

Best regards,
Marek Vasut


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

end of thread, other threads:[~2016-01-15  1:07 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-13  3:36 [PATCH] u-boot: Update to 2016.01 release Marek Vasut
2016-01-13  4:49 ` Khem Raj
2016-01-13  5:01   ` Marek Vasut
2016-01-13  6:42     ` Khem Raj
2016-01-13 12:04 ` Otavio Salvador
2016-01-13 14:34   ` Marek Vasut
2016-01-13 15:39     ` Otavio Salvador
2016-01-13 15:53       ` Marek Vasut
2016-01-13 15:55         ` Otavio Salvador
2016-01-13 16:30           ` Marek Vasut
2016-01-13 16:40             ` Otavio Salvador
2016-01-13 17:09               ` Marek Vasut
2016-01-13 17:16                 ` Otavio Salvador
2016-01-13 17:42                   ` Marek Vasut
2016-01-13 17:56                     ` Otavio Salvador
2016-01-13 20:35                       ` Marek Vasut
2016-01-13 20:57                         ` Otavio Salvador
2016-01-13 22:09           ` Tom Rini
2016-01-14 20:43             ` Otavio Salvador
2016-01-14 21:15               ` Marek Vasut
2016-01-14 21:37                 ` Otavio Salvador
2016-01-14 21:41                   ` Marek Vasut
2016-01-14 23:42                     ` Otavio Salvador
2016-01-15  1:07                       ` Marek Vasut

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.