From 23bf153eadc9a1f0fa761155742f2e7107159a0c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
Date: Wed, 1 Mar 2017 15:37:58 +0100
Subject: [PATCH] kernel: fix earlycon by keeping __earlycon_table
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Somewhere between 4.4 and 4.9 there was a change that made
OF_EARLYCON_DECLARE adding entries to the __earlycon_table instead of
__earlycon_of_table. We need to keep this table as well.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
 target/linux/generic/patches-4.9/220-gc_sections.patch | 9 +++++++++
 target/linux/generic/patches-4.9/721-phy_packets.patch | 2 +-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/target/linux/generic/patches-4.9/220-gc_sections.patch b/target/linux/generic/patches-4.9/220-gc_sections.patch
index 570083a509..e8a834fbeb 100644
--- a/target/linux/generic/patches-4.9/220-gc_sections.patch
+++ b/target/linux/generic/patches-4.9/220-gc_sections.patch
@@ -63,6 +63,15 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  			 VMLINUX_SYMBOL(__stop_syscalls_metadata) = .;
  #else
  #define TRACE_SYSCALLS()
+@@ -156,7 +156,7 @@
+ #ifdef CONFIG_SERIAL_EARLYCON
+ #define EARLYCON_TABLE() STRUCT_ALIGN();			\
+ 			 VMLINUX_SYMBOL(__earlycon_table) = .;	\
+-			 *(__earlycon_table)			\
++			 KEEP(*(__earlycon_table))		\
+ 			 VMLINUX_SYMBOL(__earlycon_table_end) = .;
+ #else
+ #define EARLYCON_TABLE()
 @@ -169,8 +169,8 @@
  #define _OF_TABLE_1(name)						\
  	. = ALIGN(8);							\
diff --git a/target/linux/generic/patches-4.9/721-phy_packets.patch b/target/linux/generic/patches-4.9/721-phy_packets.patch
index 22ca7df862..46e8574b9b 100644
--- a/target/linux/generic/patches-4.9/721-phy_packets.patch
+++ b/target/linux/generic/patches-4.9/721-phy_packets.patch
@@ -28,7 +28,7 @@
  	const struct header_ops *header_ops;
  
  	unsigned int		flags;
-@@ -1779,6 +1782,10 @@ struct net_device {
+@@ -1779,6 +1786,10 @@ struct net_device {
  	struct mpls_dev __rcu	*mpls_ptr;
  #endif
  
-- 
GitLab