Adapt directory paths in Makefiles

Quantenna's kernel code references a lot of files that were located
outside the tree.  For example, they would use CFLAGS like -I../include.

We moved a number of files to new locations inside the Linux kernel tree
to avoid that the kernel build system references any files outside the
kernel tree. Now, we have to update Makefiles and symbolic links
accordingly. In some cases, it became necessary to change #include
statements.
diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
index 374aaf5..b10037a 100644
--- a/arch/arc/Kconfig
+++ b/arch/arc/Kconfig
@@ -95,8 +95,8 @@
 
 #New platform adds here
 source "arch/arc/plat-qtn/Kconfig"
-source "../drivers/ruby/Kconfig"
-source "../drivers/topaz/Kconfig"
+source "drivers/qtn/ruby/Kconfig"
+source "drivers/qtn/topaz/Kconfig"
 
 endmenu
 
diff --git a/arch/arc/Makefile b/arch/arc/Makefile
index 9e0727e..ce84396 100644
--- a/arch/arc/Makefile
+++ b/arch/arc/Makefile
@@ -45,9 +45,9 @@
 # any kernel headers, and missing the r25 global register
 # Can't do unconditionally because of recursive include issues
 # due to <linux/thread_info.h>
-LINUXINCLUDE	+=  -include ${src}/arch/arc/include/asm/current.h -I$(srctree)/../ -I$(srctree)/../include/
-LINUXINCLUDE	+=  -include $(src)/../common/ruby_mem.h
-LINUXINCLUDE	+=  -include $(src)/../common/current_platform.h -include $(src)/../common/common_mem.h
+LINUXINCLUDE	+=  -include ${src}/arch/arc/include/asm/current.h -I$(srctree)/arch/arc/plat-qtn/sdk-qsr1000/ -I$(srctree)/arch/arc/plat-qtn/sdk-qsr1000/include/
+LINUXINCLUDE	+=  -include $(src)/arch/arc/plat-qtn/sdk-qsr1000/common/ruby_mem.h
+LINUXINCLUDE	+=  -include $(src)/arch/arc/plat-qtn/sdk-qsr1000/common/current_platform.h -include $(src)/arch/arc/plat-qtn/sdk-qsr1000/common/common_mem.h
 LINUXINCLUDE	+=  -include ${src}/arch/arc/include/asm/current.h
 endif
 
@@ -110,8 +110,8 @@
 KBUILD_CFLAGS	+= -Iarch/arc/include/asm/board-$(PLATFORM)
 KBUILD_AFLAGS	+= $(KBUILD_CFLAGS)
 LDFLAGS		+= $(ldflags-y)
-KBUILD_CFLAGS	+= -I../drivers/include/kernel
-KBUILD_CFLAGS	+= -I../drivers/include/shared
+KBUILD_CFLAGS	+= -Idrivers/qtn/include/kernel
+KBUILD_CFLAGS	+= -Idrivers/qtn/include/shared
 
 ifdef CONFIG_ARC_PLAT_QTN
 KBUILD_CPPFLAGS += -I$(srctree)/arch/arc/plat-qtn/include/
@@ -131,11 +131,13 @@
 ARCH_CFLAGS += -mmedium-calls
 endif
 
-drivers-$(CONFIG_QUANTENNA_RUBY)	+= ../drivers/ruby/
+drivers-y				+= drivers/qtn/
 
-ifeq ($(CONFIG_QUANTENNA_TOPAZ),y)
-drivers-$(CONFIG_QUANTENNA_TOPAZ)	+= ../drivers/topaz/
-endif
+# drivers-$(CONFIG_QUANTENNA_RUBY)	+= drivers/qtn/ruby/
+
+# ifeq ($(CONFIG_QUANTENNA_TOPAZ),y)
+# drivers-$(CONFIG_QUANTENNA_TOPAZ)	+= drivers/qtn/topaz/
+# endif
 
 drivers-$(CONFIG_OPROFILE)	+= arch/arc/oprofile/
 
diff --git a/arch/arc/include/asm/board b/arch/arc/include/asm/board
new file mode 120000
index 0000000..c39b576
--- /dev/null
+++ b/arch/arc/include/asm/board
@@ -0,0 +1 @@
+board-ruby
\ No newline at end of file
diff --git a/arch/arc/include/asm/board-ruby b/arch/arc/include/asm/board-ruby
index b4672d4..916e172a 120000
--- a/arch/arc/include/asm/board-ruby
+++ b/arch/arc/include/asm/board-ruby
@@ -1 +1 @@
-drivers/qtn/ruby/
\ No newline at end of file
+../../../../drivers/qtn/ruby/
\ No newline at end of file
diff --git a/drivers/qtn/Makefile b/drivers/qtn/Makefile
index f30443a..ff09620 100644
--- a/drivers/qtn/Makefile
+++ b/drivers/qtn/Makefile
@@ -2,19 +2,15 @@
 QTN_EXTERNAL_MODULES=y
 export QTN_EXTERNAL_MODULES
 
-ifneq ($(KERNELRELEASE),)
-ifeq ($(CONFIG_QUANTENNA_RUBY),y)
-obj-m += ruby/
-endif
-ifeq ($(CONFIG_QUANTENNA_TOPAZ),y)
-obj-m += topaz/
+obj-$(CONFIG_QUANTENNA_RUBY) += ruby/
+obj-$(CONFIG_QUANTENNA_TOPAZ) += topaz/
+
 #
 # Check for fwt_ctrl.ko source code
 #
 ifneq ($(wildcard $(src)/fwt/Makefile),)
 obj-m += fwt/
 endif
-endif
 
 ifeq ($(filter topaz_host_config,$(board_config)),)
 obj-m += qdrv/
@@ -27,22 +23,3 @@
 ifeq ($(CONFIG_TOPAZ_PCIE_HOST), y)
 obj-m += pcie2/host/quantenna/
 endif
-else
-KERNELDIR	= ../linux
-CROSS		= ARCH=arc
-INSTALL		= INSTALL_MOD_PATH=../linux/modules
-MDIR		= ../drivers/
-EXTRA_CFLAGS	+= -Wall -Werror -I../include -I$(KERNELDIR)/include
-
-default: force
-	$(MAKE) -C $(KERNELDIR) $(CROSS) M=$(MDIR) modules KBUILD_EXTRA_SYMBOLS=$(MDIR)/extra_kos.symvers
-
-install: force
-	$(MAKE) -C $(KERNELDIR) $(CROSS) $(INSTALL) M=$(MDIR) modules_install
-
-clean: force
-	$(MAKE) -C $(KERNELDIR) $(CROSS) M=$(MDIR) clean
-
-force:
-
-endif
diff --git a/drivers/qtn/i2cbus/Makefile b/drivers/qtn/i2cbus/Makefile
index aac3173..ea8a771 100644
--- a/drivers/qtn/i2cbus/Makefile
+++ b/drivers/qtn/i2cbus/Makefile
@@ -6,7 +6,7 @@
 #
 
 EXTRA_CFLAGS	+= -Wall -Werror	\
-					-I../drivers	\
+					-Idrivers/qtn	\
 
 ifneq ($(KERNELRELEASE),)
 
diff --git a/drivers/qtn/include/kernel/net80211/ieee80211_linux.h b/drivers/qtn/include/kernel/net80211/ieee80211_linux.h
index f17217a..c6545b8 100644
--- a/drivers/qtn/include/kernel/net80211/ieee80211_linux.h
+++ b/drivers/qtn/include/kernel/net80211/ieee80211_linux.h
@@ -32,7 +32,7 @@
 #include <linux/version.h>
 #include <linux/wireless.h>
 #include <linux/fs.h>
-#include "linux/net/8021q/vlan.h"
+#include "../../../../linux/net/8021q/vlan.h"
 #include "compat.h"
 
 /*
diff --git a/drivers/qtn/include/kernel/net80211/ieee80211_var.h b/drivers/qtn/include/kernel/net80211/ieee80211_var.h
index 986d9f9..c12c084 100644
--- a/drivers/qtn/include/kernel/net80211/ieee80211_var.h
+++ b/drivers/qtn/include/kernel/net80211/ieee80211_var.h
@@ -63,7 +63,7 @@
 #include "net80211/ieee80211_chan_select.h"
 #if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE)
 #include <linux/if_bridge.h>
-#include <linux/net/bridge/br_public.h>
+#include "../../../../net/bridge/br_public.h"
 #endif
 
 #define	IEEE80211_BGSCAN_INTVAL_MIN	15	/* min bg scan intvl (secs) */
diff --git a/drivers/qtn/qdrv/Makefile b/drivers/qtn/qdrv/Makefile
index c210ae6..e6a15a6 100644
--- a/drivers/qtn/qdrv/Makefile
+++ b/drivers/qtn/qdrv/Makefile
@@ -7,7 +7,7 @@
 CLEAN_FILES+=$(QDRV_SLAB_H)
 
 EXTRA_CFLAGS += -Wall -Werror -Wno-unknown-pragmas -DQDRV \
-		-I../drivers -I../include -I../drivers/include/shared -I../drivers/include/kernel
+		-Idrivers/qtn -Iarch/arc/plat-qtn/sdk-qsr1000/include -Idrivers/qtn/include/shared -Idrivers/qtn/include/kernel
 EXTRA_CFLAGS += -mlong-calls
 EXTRA_CFLAGS += -DQTN_ENABLE_TRACE_BUFFER=0 -DQSCS_ENABLED -DQTN_BG_SCAN -DQBMPS_ENABLE
 EXTRA_CFLAGS += -DCONFIG_QTN_80211K_SUPPORT -DCONFIG_NAC_MONITOR
diff --git a/drivers/qtn/qdrv/qdrv_control.c b/drivers/qtn/qdrv/qdrv_control.c
index dd300d8..fcd3964 100644
--- a/drivers/qtn/qdrv/qdrv_control.c
+++ b/drivers/qtn/qdrv/qdrv_control.c
@@ -69,7 +69,7 @@
 #include <qtn/qtn_muc_stats_print.h>
 #include <qtn/qtn_vlan.h>
 #include <asm/board/troubleshoot.h>
-#include <linux/net/bridge/br_public.h>
+#include "../../net/bridge/br_public.h"
 #include "qdrv_show.h"
 #include <qtn/txbf_mbox.h>
 #include <net/iw_handler.h> /* wireless_send_event(..) */
diff --git a/drivers/qtn/qdrv/qdrv_rx.c b/drivers/qtn/qdrv/qdrv_rx.c
index 3781aea..09bfb8c 100644
--- a/drivers/qtn/qdrv/qdrv_rx.c
+++ b/drivers/qtn/qdrv/qdrv_rx.c
@@ -65,7 +65,7 @@
 #if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE)
 #include "qtn/qdrv_sch.h"
 #include <linux/if_bridge.h>
-#include <linux/net/bridge/br_public.h>
+#include "../../net/bridge/br_public.h"
 #endif
 
 #include <qtn/qtn_decap.h>
diff --git a/drivers/qtn/qdrv/qdrv_wlan.c b/drivers/qtn/qdrv/qdrv_wlan.c
index b628e53..5780557 100644
--- a/drivers/qtn/qdrv/qdrv_wlan.c
+++ b/drivers/qtn/qdrv/qdrv_wlan.c
@@ -31,7 +31,7 @@
 #include <net/sch_generic.h>
 #include <asm/hardware.h>
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
-#include <linux/net/bridge/br_public.h>
+#include "../../net/bridge/br_public.h"
 #include <linux/gpio.h>
 #else
 #include <asm/gpio.h>
diff --git a/drivers/qtn/qdrv/qdrv_wlan.h b/drivers/qtn/qdrv/qdrv_wlan.h
index 53924ab..960dd6c 100644
--- a/drivers/qtn/qdrv/qdrv_wlan.h
+++ b/drivers/qtn/qdrv/qdrv_wlan.h
@@ -23,7 +23,7 @@
 
 #include <linux/version.h>
 #include <linux/interrupt.h>
-#include <linux/net/bridge/br_public.h>
+#include "../../../../net/bridge/br_public.h"
 
 /* Include the WLAN 802.11 layer here */
 #include <linux/skbuff.h>
@@ -36,7 +36,7 @@
 #include "qdrv_comm.h"
 #include "qdrv_debug.h"
 #include "qtn/qtn_pcap.h"
-#include "qdrv/qdrv_bridge.h"
+#include "qdrv_bridge.h"
 #include "qtn/muc_txrx_stats.h"
 #include "qtn/muc_phy_stats.h"
 #include "qtn/dsp_stats.h"
diff --git a/drivers/qtn/ruby/Makefile b/drivers/qtn/ruby/Makefile
index cf844ed..8c9aab8 100644
--- a/drivers/qtn/ruby/Makefile
+++ b/drivers/qtn/ruby/Makefile
@@ -1,8 +1,8 @@
 EXTRA_CFLAGS +=	-Wall -Werror \
-		-I../include \
-		-I../common \
-		-I../drivers/include/shared \
-		-I../drivers/include/kernel
+		-Iarch/arc/plat-qtn/sdk-qsr1000/include \
+		-Iarch/arc/plat-qtn/sdk-qsr1000/common \
+		-Idrivers/include/shared \
+		-Idrivers/include/kernel
 
 obj-y += \
 	board_config.o \
diff --git a/drivers/qtn/topaz/Makefile b/drivers/qtn/topaz/Makefile
index 8966938..775f52a 100644
--- a/drivers/qtn/topaz/Makefile
+++ b/drivers/qtn/topaz/Makefile
@@ -1,8 +1,8 @@
 EXTRA_CFLAGS +=	-Wall -Werror -Wno-unknown-pragmas -mlong-calls \
-		-I../include \
-		-I../ \
-		-I../drivers/include/shared \
-		-I../drivers/include/kernel
+		-Iarch/arc/plat-qtn/sdk-qsr1000/include \
+		-Iarch/arc/plat-qtn/sdk-qsr1000/ \
+		-Idrivers/include/shared \
+		-Idrivers/include/kernel
 
 ifeq ($(board_config),topaz_config)
 	EXTRA_CFLAGS += -DTOPAZ_VB_CONFIG -DTOPAZ_CONGE_CONFIG -DTOPAZ_SRAM_CONFIG
diff --git a/drivers/qtn/topaz/fwt_if.c b/drivers/qtn/topaz/fwt_if.c
index b56d9b8..4aff537 100755
--- a/drivers/qtn/topaz/fwt_if.c
+++ b/drivers/qtn/topaz/fwt_if.c
@@ -27,7 +27,7 @@
 #include <linux/netdevice.h>
 #include <linux/ctype.h>
 #include <linux/if_ether.h>
-#include <linux/net/bridge/br_public.h>
+#include "../../net/bridge/br_public.h"
 
 #include <net80211/if_ethersubr.h>
 #include <net80211/ieee80211.h>
diff --git a/drivers/qtn/topaz/switch_emac.c b/drivers/qtn/topaz/switch_emac.c
index a0a338f..894fa89 100644
--- a/drivers/qtn/topaz/switch_emac.c
+++ b/drivers/qtn/topaz/switch_emac.c
@@ -35,7 +35,7 @@
 
 #include <qtn/topaz_dpi.h>
 #include <common/topaz_emac.h>
-#include <drivers/ruby/emac_lib.h>
+#include "../ruby/emac_lib.h"
 
 #include <qtn/topaz_fwt_sw.h>
 #include <qtn/qtn_buffers.h>
diff --git a/drivers/qtn/topaz/switch_tqe.c b/drivers/qtn/topaz/switch_tqe.c
index 1e09715..2a0f435 100644
--- a/drivers/qtn/topaz/switch_tqe.c
+++ b/drivers/qtn/topaz/switch_tqe.c
@@ -31,7 +31,7 @@
 #endif
 
 #include <qtn/dmautil.h>
-#include <drivers/ruby/dma_cache_ops.h>
+#include <asm/board/dma_cache_ops.h>
 
 #include "topaz_test.h"
 #include <qtn/topaz_fwt_sw.h>
@@ -51,7 +51,7 @@
 #include <qtn/iputil.h>
 #include <qtn/mproc_sync.h>
 #include <qtn/qtn_vlan.h>
-#include "linux/net/bridge/br_public.h"
+#include "../../net/bridge/br_public.h"
 
 int g_dscp_flag = 0;
 int g_dscp_value[2];
diff --git a/drivers/qtn/topaz/switch_vlan.c b/drivers/qtn/topaz/switch_vlan.c
index 4b7d9d3..6ef756e 100644
--- a/drivers/qtn/topaz/switch_vlan.c
+++ b/drivers/qtn/topaz/switch_vlan.c
@@ -28,14 +28,14 @@
 #include <linux/etherdevice.h>
 #include <linux/if_vlan.h>
 #include <linux/spinlock.h>
-#include <linux/net/bridge/br_public.h>
+#include "../../net/bridge/br_public.h"
 
 #include <net80211/if_ethersubr.h>
 #include <qtn/topaz_tqe_cpuif.h>
 #include <qtn/qtn_skb_cb.h>
 #include <qtn/qtn_vlan.h>
 #include <qtn/lhost_muc_comm.h>
-#include <drivers/ruby/emac_lib.h>
+#include "../ruby/emac_lib.h"
 
 __sram_data uint8_t vlan_enabled;
 EXPORT_SYMBOL(vlan_enabled);
diff --git a/drivers/qtn/wlan/ieee80211.c b/drivers/qtn/wlan/ieee80211.c
index b4a10b3..bb45fad 100644
--- a/drivers/qtn/wlan/ieee80211.c
+++ b/drivers/qtn/wlan/ieee80211.c
@@ -57,7 +57,7 @@
 
 #include <qtn/qtn_buffers.h>
 #include <qtn/qtn_global.h>
-#include <qdrv/qdrv_vap.h>
+#include "../qdrv/qdrv_vap.h"
 
 const char *ieee80211_phymode_name[] = {
 	"auto",		/* IEEE80211_MODE_AUTO */
diff --git a/drivers/qtn/wlan/ieee80211_beacon_desc.c b/drivers/qtn/wlan/ieee80211_beacon_desc.c
index 8f0488a..628045e 100644
--- a/drivers/qtn/wlan/ieee80211_beacon_desc.c
+++ b/drivers/qtn/wlan/ieee80211_beacon_desc.c
@@ -28,12 +28,12 @@
 #include <linux/dma-mapping.h>
 #include <linux/dmapool.h>
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
-#include <ruby/plat_dma_addr.h>
+#include <asm/board/plat_dma_addr.h>
 #endif
 
 #include "net80211/ieee80211_var.h"
 #include "net80211/ieee80211_beacon_desc.h"
-#include "qdrv/qdrv_vap.h"
+#include "../qdrv/qdrv_vap.h"
 
 /* This fucntion allocates a beacon ie and associate the beacon ie buffer. */
 static void ieee80211_beacon_associate_ie(struct beacon_shared_ie_t *ie, uint8_t *frm, uint8_t size)
diff --git a/drivers/qtn/wlan/ieee80211_input.c b/drivers/qtn/wlan/ieee80211_input.c
index 250c5d8..68d4035 100644
--- a/drivers/qtn/wlan/ieee80211_input.c
+++ b/drivers/qtn/wlan/ieee80211_input.c
@@ -69,13 +69,13 @@
 #include "qtn/qtn_global.h"
 #include "qtn_logging.h"
 
-#include <qdrv/qdrv_debug.h>
+#include "../qdrv/qdrv_debug.h"
 #include <qtn/shared_params.h>
 #include <qtn/hardware_revision.h>
 
 #if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE)
 #include <linux/if_bridge.h>
-#include <linux/net/bridge/br_public.h>
+#include "../../net/bridge/br_public.h"
 #endif
 
 #if defined(CONFIG_QTN_BSA_SUPPORT)
diff --git a/drivers/qtn/wlan/ieee80211_tdls.c b/drivers/qtn/wlan/ieee80211_tdls.c
index 1544d66..1db88b4 100755
--- a/drivers/qtn/wlan/ieee80211_tdls.c
+++ b/drivers/qtn/wlan/ieee80211_tdls.c
@@ -67,7 +67,7 @@
 
 #if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE)
 #include <linux/if_bridge.h>
-#include "linux/net/bridge/br_private.h"
+#include "../../net/bridge/br_private.h"
 #endif
 
 #define IEEE80211_TDLS_FRAME_MAX 512
diff --git a/drivers/qtn/wlan/ieee80211_wireless.c b/drivers/qtn/wlan/ieee80211_wireless.c
index 2f971ca..3dca6c3 100644
--- a/drivers/qtn/wlan/ieee80211_wireless.c
+++ b/drivers/qtn/wlan/ieee80211_wireless.c
@@ -84,18 +84,18 @@
 #include "net80211/ieee80211_mlme_statistics.h"
 #include "qtn_logging.h"
 
-#include <qdrv/qdrv_vap.h>
+#include "../qdrv/qdrv_vap.h"
 #include <qtn/qtn_debug.h>
 #include <qtn/shared_params.h>
 #include <qtn/qtn_bb_mutex.h>
 #include <qtn/qtn_vlan.h>
-#include <linux/net/bridge/br_public.h>
+#include "../../net/bridge/br_public.h"
 
 #include "qtn/wlan_ioctl.h"
 
 #include "soc.h"
 
-#include <qdrv/qdrv_mac.h>
+#include "../qdrv/qdrv_mac.h"
 #include <qtn/txbf_mbox.h>
 
 #include <qtn/topaz_tqe_cpuif.h>