Build fixes.

- Fix paths that point outside the kernel tree. Dependencies outside the
  kernel tree were imported into the kernel tree (see import manifest).

- Add symlinks to net/bridge/br_{public,private}.h. Quantenna drivers
  #include linux/net/bridge/br_{public,private}.h, which only works in
  the SDK due to some gcc -I mischief. The "linux" directory actually
  resolves to $SDK_DIR/linux, not the usual
  $SDK_DIR/linux/include/linux.

- Move -I flags from driver-specific Makefiles to the top-level
  arc/arc/Makefile. This allows the includes to be shared with
  backports.

Some of these changes are extracted from go/fibercl/65615.

Change-Id: I7d0c16d25500540079ff8f334538f74e3e142d7f
diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
index d58098b..ee610a4 100755
--- a/arch/arc/Kconfig
+++ b/arch/arc/Kconfig
@@ -727,7 +727,7 @@
 
 source "lib/Kconfig"
 
-source "../drivers/ruby/Kconfig"
+source "drivers/ruby/Kconfig"
 
-source "../drivers/topaz/Kconfig"
+source "drivers/topaz/Kconfig"
 
diff --git a/arch/arc/Makefile b/arch/arc/Makefile
index 0545dd4..f6024b9 100755
--- a/arch/arc/Makefile
+++ b/arch/arc/Makefile
@@ -16,12 +16,9 @@
 
 #LDFLAGS_vmlinux :=-X -T arch/$(ARCH)/kernel/vmlinux.lds
 GZFLAGS		:=-9
-KBUILD_CFLAGS		+= -Iarch/arc/include/asm/board-$(PLATFORM) -I$(srctree)/../ -I$(srctree)/../include/
+KBUILD_CFLAGS		+= -Iarch/arc/include/asm/board-$(PLATFORM) -Iinclude/common -Iinclude/shared -Iinclude/kernel
 KBUILD_CFLAGS		+= -mA7 -mlong-calls -fno-common -pipe -fno-builtin \
 						-D__linux__  -fcall-used-gp -multcost=16
-KBUILD_AFLAGS		+= -I$(srctree)/../
-
-CPPFLAGS_vmlinux.lds	+= -I$(srctree)/../
 
 ifdef CONFIG_ARC_HAS_LLSC
 KBUILD_CFLAGS		+= -mlock
@@ -108,8 +105,8 @@
 core-$(CONFIG_OPROFILE)		+= arch/arc/oprofile/
 
 drivers-y	+= arch/arc/drivers/
-drivers-$(CONFIG_QUANTENNA_RUBY)	+= ../drivers/ruby/
-drivers-$(CONFIG_QUANTENNA_TOPAZ)	+= ../drivers/topaz/
+drivers-$(CONFIG_QUANTENNA_RUBY)	+= drivers/ruby/
+drivers-$(CONFIG_QUANTENNA_TOPAZ)	+= drivers/topaz/
 
 libs-y 		+= arch/arc/lib/ $(LIBGCC)
 
diff --git a/arch/arc/include/asm/board-ruby b/arch/arc/include/asm/board-ruby
index 1ca4289..c13a6ee 120000
--- a/arch/arc/include/asm/board-ruby
+++ b/arch/arc/include/asm/board-ruby
@@ -1 +1 @@
-../../../../../drivers/ruby/
\ No newline at end of file
+../../../../drivers/ruby
\ No newline at end of file
diff --git a/drivers/ruby/Makefile b/drivers/ruby/Makefile
index 8e86a15..6376fed 100644
--- a/drivers/ruby/Makefile
+++ b/drivers/ruby/Makefile
@@ -1,8 +1,4 @@
-EXTRA_CFLAGS +=	-Wall -Werror \
-		-I../include \
-		-I../common \
-		-I../drivers/include/shared \
-		-I../drivers/include/kernel
+EXTRA_CFLAGS +=	-Wall -Werror
 
 obj-y += \
 	board_config.o \
diff --git a/drivers/topaz/Makefile b/drivers/topaz/Makefile
index 2a2c8e1..7cfe7e2 100644
--- a/drivers/topaz/Makefile
+++ b/drivers/topaz/Makefile
@@ -1,8 +1,4 @@
-EXTRA_CFLAGS +=	-Wall -Werror -Wno-unknown-pragmas \
-		-I../include \
-		-I../ \
-		-I../drivers/include/shared \
-		-I../drivers/include/kernel
+EXTRA_CFLAGS +=	-Wall -Werror -Wno-unknown-pragmas
 
 ifeq ($(board_config),topaz_config)
 	EXTRA_CFLAGS += -DTOPAZ_VB_CONFIG
diff --git a/include/linux/net/bridge/br_private.h b/include/linux/net/bridge/br_private.h
new file mode 120000
index 0000000..ef8a2ae
--- /dev/null
+++ b/include/linux/net/bridge/br_private.h
@@ -0,0 +1 @@
+../../../../net/bridge/br_private.h
\ No newline at end of file
diff --git a/include/linux/net/bridge/br_public.h b/include/linux/net/bridge/br_public.h
new file mode 120000
index 0000000..1133fb1
--- /dev/null
+++ b/include/linux/net/bridge/br_public.h
@@ -0,0 +1 @@
+../../../../net/bridge/br_public.h
\ No newline at end of file
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 0915573..b15399f 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -29,7 +29,7 @@
 #include <linux/rcupdate.h>
 #include <linux/dmaengine.h>
 #include <linux/hrtimer.h>
-#include <include/qtn/qtn_skb_cb.h>
+#include <qtn/qtn_skb_cb.h>
 #include <common/queue.h>
 
 #define QTN_SKB_ALLOC_TRACE		0
diff --git a/include/linux/slab_def.h b/include/linux/slab_def.h
index 0b33e27..8dbb913 100644
--- a/include/linux/slab_def.h
+++ b/include/linux/slab_def.h
@@ -15,7 +15,7 @@
 #include <asm/cache.h>		/* kmalloc_sizes.h needs L1_CACHE_BYTES */
 #include <linux/compiler.h>
 #include <linux/kmemtrace.h>
-#include <include/qtn/qtn_skb_size.h>
+#include <qtn/qtn_skb_size.h>
 
 #ifndef ARCH_KMALLOC_MINALIGN
 /*
diff --git a/net/bridge/Makefile b/net/bridge/Makefile
index b9c68db..ab47c4d 100644
--- a/net/bridge/Makefile
+++ b/net/bridge/Makefile
@@ -2,9 +2,7 @@
 # Makefile for the IEEE 802.1d ethernet bridging layer.
 #
 #
-EXTRA_CFLAGS += -Wall	\
-		-I../drivers/include/shared	\
-		-I../drivers/include/kernel
+EXTRA_CFLAGS += -Wall
 
 obj-$(CONFIG_BRIDGE) += bridge.o