Make U-Boot compile w/ GCC 6.1.1

Change-Id: I9a715102092812c952e516aad38f8482a93fd810
diff --git a/board/ruby/ar8236.c b/board/ruby/ar8236.c
index 1c18a93..43bd33d 100644
--- a/board/ruby/ar8236.c
+++ b/board/ruby/ar8236.c
@@ -157,12 +157,12 @@
 //      Functions
 ////////////////////////////////////////////////////////////////////
 
-inline u32 ar8236_emac_rdreg(int reg)
+u32 ar8236_emac_rdreg(int reg)
 {
 	return *(volatile u32 *)(g8236Dev.base + reg);
 }
 
-inline void ar8236_emac_wrreg(int reg, u32 val)
+void ar8236_emac_wrreg(int reg, u32 val)
 {
 	*(volatile u32 *)(g8236Dev.base + reg) = val;
 }
diff --git a/board/ruby/ar8237.c b/board/ruby/ar8237.c
index 08e39aa..49ec3df 100755
--- a/board/ruby/ar8237.c
+++ b/board/ruby/ar8237.c
@@ -157,12 +157,12 @@
 //      Functions
 ////////////////////////////////////////////////////////////////////
 
-inline u32 ar8237_emac_rdreg(int reg)
+u32 ar8237_emac_rdreg(int reg)
 {
 	return *(volatile u32 *)(g8237Dev.base + reg);
 }
 
-inline void ar8237_emac_wrreg(int reg, u32 val)
+void ar8237_emac_wrreg(int reg, u32 val)
 {
 	*(volatile u32 *)(g8237Dev.base + reg) = val;
 }
diff --git a/board/ruby/arasan-emac-ahb.c b/board/ruby/arasan-emac-ahb.c
index d70bf7e..0b1858f 100644
--- a/board/ruby/arasan-emac-ahb.c
+++ b/board/ruby/arasan-emac-ahb.c
@@ -395,7 +395,7 @@
 static int emac_reset(struct emac_private * priv)
 {
 	unsigned int i;
-	uintptr_t base, mdio_base;
+	uintptr_t base;
 	uint16_t macaddr16[3];
 	uint16_t rx_desc_size = 0;
 	uint16_t tx_ring_size = 0;
@@ -403,7 +403,6 @@
 	struct eth_device * br = priv->parent;
 
 	base = priv->io_base;
-	mdio_base = priv->mdio->base;
 	memcpy(macaddr16, br->enetaddr, sizeof(macaddr16));
 	emac_reset_dma(base);
 
diff --git a/board/ruby/newlib_asm.h b/board/ruby/newlib_asm.h
index e1f5c23..3144159 100644
--- a/board/ruby/newlib_asm.h
+++ b/board/ruby/newlib_asm.h
@@ -8,7 +8,7 @@
 #define _ENTRY(name) \
 	.text ` .balign 4 ` .globl name ` name:
 #define FUNC(name)         .type name,@function
-#define ENDFUNC0(name) .Lfe_##X##name: .size name,.Lfe_##name-name
+#define ENDFUNC0(name) .Lfe_##X##name: .size name,.Lfe_##X##name-name
 #define ENDFUNC(name) ENDFUNC0(name)
 #define ENTRY(name) _ENTRY(name) ` FUNC(name)
 
diff --git a/board/ruby/pcie.c b/board/ruby/pcie.c
index c128d38..861ff97 100755
--- a/board/ruby/pcie.c
+++ b/board/ruby/pcie.c
@@ -45,7 +45,7 @@
  */
 static int32_t setup_atu_shmem(void)
 {
-	uint32_t val = 0x0;
+	uint32_t __attribute__((unused)) val = 0x0;
 
 	/* Select shared mem region */
 	writel(PCIE_SHMEM_REGION, RUBY_PCIE_ATU_VIEW);
@@ -75,7 +75,7 @@
  */
 static int32_t setup_atu_sysctl(void)
 {
-	uint32_t val = 0x0;
+	uint32_t __attribute__((unused)) val = 0x0;
 
 	/* Select shared mem region */
 	writel(PCIE_SYSCTL_REGION, RUBY_PCIE_ATU_VIEW);
@@ -106,7 +106,7 @@
  */
 static int32_t setup_atu_dma(void)
 {
-	uint32_t val = 0x0;
+	uint32_t __attribute__((unused)) val = 0x0;
 
 	/* Select dma register region */
 	writel(PCIE_DMAREG_REGION, RUBY_PCIE_ATU_VIEW);
@@ -138,7 +138,7 @@
 static int32_t setup_atu_host(volatile qdpc_pcie_bda_t *bda)
 {
 	uint32_t host_mem_start = PCIE_HOSTMEM_EP_START_LO - readl(&bda->bda_dma_offset);
-	uint32_t val = 0x0;
+	uint32_t __attribute__((unused)) val = 0x0;
 
 	/* Select shared mem region */
 	writel(PCIE_HOSTMEM_REGION, RUBY_PCIE_ATU_VIEW);
@@ -202,7 +202,7 @@
 	uint16_t flag = 0;
 	uint32_t msi_addr = 0x0;
 	uint32_t msi_addr_up = 0x0;
-	uint32_t val = 0x0;
+	uint32_t __attribute__((unused)) val = 0x0;
 	uint32_t msi64 = 0;
 
 	flag = readl(PCIE_MSI_CAP) >> 16;
diff --git a/board/ruby/pcie2.c b/board/ruby/pcie2.c
index 9d1aa42..0c0ffb5 100644
--- a/board/ruby/pcie2.c
+++ b/board/ruby/pcie2.c
@@ -223,7 +223,7 @@
  *****************************************************************************/
 void pcie_cfg_map(u32 base,u32 size, u32 ch)
 {
-	u32 tmp = 0;
+	u32 __attribute__((unused)) tmp = 0;
 
 	REG_WRITE(PCIE_ATU_VIEW, ch);
 	REG_WRITE(PCIE_ATU_LBAR, base);
@@ -302,7 +302,7 @@
 
 void pcie_bar_map(u32 bar, u32 target, u32 size, u32 atu_chan)
 {
-	u32 tmp;
+	u32 __attribute__((unused)) tmp;
 	REG_WRITE(PCIE_ATU_VIEW, atu_chan | PCIE_ATU_VIEW_INBOUND);
 	REG_WRITE(PCIE_ATU_LAR, size);
 	REG_WRITE(PCIE_ATU_LTAR, target);
@@ -330,7 +330,7 @@
  *****************************************************************************/
 void pcie_mem_map(u32 base,u32 target,u32 size,u32 ch,u32 dir)
 {
-	u32 tmp;
+	u32 __attribute__((unused)) tmp;
 
 	REG_WRITE(PCIE_ATU_VIEW,ch|dir);
 	REG_WRITE(PCIE_ATU_LBAR,base);
@@ -353,7 +353,7 @@
  *****************************************************************************/
 void pcie_msi_map(u32 base)
 {
-	u32 tmp;
+	u32 __attribute__((unused)) tmp;
 	REG_WRITE(PCIE_MSI_ADDR,base);
 	REG_WRITE(PCIE_MSI_ADDR_UPPER,0);
 	REG_WRITE(PCIE_MSI_ENABLE,BIT(0));
@@ -677,7 +677,7 @@
 void topaz_ep_mmap(u32 target)
 {
 	volatile qdpc_pcie_bda_t *bda = (qdpc_pcie_bda_t *)(RUBY_PCIE_BDA_ADDR);
-	u32 tmp;
+	u32 __attribute__((unused)) tmp;
 
 	if (atu_is_init)
 		return;
diff --git a/board/ruby/rtl8367b/rtl8367b_api.c b/board/ruby/rtl8367b/rtl8367b_api.c
index 5e2a091..059883e 100644
--- a/board/ruby/rtl8367b/rtl8367b_api.c
+++ b/board/ruby/rtl8367b/rtl8367b_api.c
@@ -583,7 +583,7 @@
 {
     rtk_api_ret_t retVal;
     rtl8367b_port_ability_t ability;
-    uint32_t  reg, mask;
+    uint32_t  __attribute__((unused)) reg, mask;
 
     if (port >= EXT_PORT_END)
         return RT_ERR_INPUT;
diff --git a/board/ruby/start.S b/board/ruby/start.S
index 7c1f26a..366e457 100644
--- a/board/ruby/start.S
+++ b/board/ruby/start.S
@@ -127,22 +127,22 @@
         /* reset bus monitors */
         mov     r0, 0
         mov     r1, 0xe0000200
-        st.di	r0,[r1, 0x00]
-        st.di	r0,[r1, 0x40]
-        st.di	r0,[r1, 0x80]
-        st.di	r0,[r1, 0xc0]
-        st.di	r0,[r1, 0x100]
-        st.di	r0,[r1, 0x140]
-        st.di	r0,[r1, 0x180]
-        st.di	r0,[r1, 0x1c0]
-        ld.di	r0,[r1, 0x00]
-        ld.di	r0,[r1, 0x40]
-        ld.di	r0,[r1, 0x80]
-        ld.di	r0,[r1, 0xc0]
-        ld.di	r0,[r1, 0x100]
-        ld.di	r0,[r1, 0x140]
-        ld.di	r0,[r1, 0x180]
-        ld.di	r0,[r1, 0x1c0]
+        st.di.as r0,[r1, 0x00]
+        st.di.as r0,[r1, 0x10]
+        st.di.as r0,[r1, 0x20]
+        st.di.as r0,[r1, 0x30]
+        st.di.as r0,[r1, 0x40]
+        st.di.as r0,[r1, 0x50]
+        st.di.as r0,[r1, 0x60]
+        st.di.as r0,[r1, 0x70]
+        ld.di.as r0,[r1, 0x00]
+        ld.di.as r0,[r1, 0x10]
+        ld.di.as r0,[r1, 0x20]
+        ld.di.as r0,[r1, 0x30]
+        ld.di.as r0,[r1, 0x40]
+        ld.di.as r0,[r1, 0x50]
+        ld.di.as r0,[r1, 0x60]
+        ld.di.as r0,[r1, 0x70]
 #endif
 
 	M_REMOVE_FROM_RESET
diff --git a/board/ruby_mini/ruby_mini_common.c b/board/ruby_mini/ruby_mini_common.c
index 06c95f8..c105fe4 100644
--- a/board/ruby_mini/ruby_mini_common.c
+++ b/board/ruby_mini/ruby_mini_common.c
@@ -71,7 +71,7 @@
 void printf(const char *fmt, ...)
 {
 	va_list args;
-	uint i;
+	uint __attribute__((unused)) i;
 	char printbuffer[256];
 
 	va_start (args, fmt);
@@ -89,7 +89,7 @@
 
 void vprintf(const char *fmt, va_list args)
 {
-	uint i;
+	uint __attribute__((unused)) i;
 	char printbuffer[256];
 
 	/*
diff --git a/board/ruby_mini/ruby_piggy.c b/board/ruby_mini/ruby_piggy.c
index 9a17af9..bd93c63 100644
--- a/board/ruby_mini/ruby_piggy.c
+++ b/board/ruby_mini/ruby_piggy.c
@@ -57,7 +57,7 @@
 	extern unsigned int early_flash_config_end;
 	unsigned int *pin;
 	unsigned int *pout;
-	int rc;
+	int __attribute__((unused)) rc;
 
 	unsigned long decompression_addr = RUBY_SRAM_BEGIN + TEXT_BASE_OFFSET_CHILD;
 	unsigned long uncompressed_size;
diff --git a/common/main.c b/common/main.c
index f2f3d6e..3d4b3b5 100755
--- a/common/main.c
+++ b/common/main.c
@@ -47,7 +47,7 @@
 /*
  * Board-specific Platform code can reimplement show_boot_progress () if needed
  */
-void inline __show_boot_progress (int val) {}
+void __show_boot_progress (int val) {}
 void show_boot_progress (int val) __attribute__((weak, alias("__show_boot_progress")));
 
 #if defined(CONFIG_BOOT_RETRY_TIME) && defined(CONFIG_RESET_TO_RETRY)
diff --git a/config.mk b/config.mk
index 68b4906..b0721ff 100644
--- a/config.mk
+++ b/config.mk
@@ -157,6 +157,7 @@
 endif
 
 CFLAGS += $(call cc-option,-fno-stack-protector)
+CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks)
 
 # avoid trigraph warnings while parsing pci.h (produced by NIOS gcc-2.9)
 # this option have to be placed behind -Wall -- that's why it is here
diff --git a/quantenna/common/ruby_arasan_emac_ahb.h b/quantenna/common/ruby_arasan_emac_ahb.h
index 2d36410..e31bbf4 100755
--- a/quantenna/common/ruby_arasan_emac_ahb.h
+++ b/quantenna/common/ruby_arasan_emac_ahb.h
@@ -27,7 +27,7 @@
 #include <include/qtn/amber.h>
 #endif
 
-extern __inline__ void __mydelay(unsigned long loops)
+static __inline__ void __mydelay(unsigned long loops)
 {
 	__asm__ __volatile__ ( "1: \n\t"
 			     "sub.f %0, %1, 1\n\t"