kernel: fix earlycon by keeping __earlycon_table
authorRafał Miłecki <rafal@milecki.pl>
Wed, 1 Mar 2017 14:37:58 +0000 (15:37 +0100)
committerRafał Miłecki <rafal@milecki.pl>
Wed, 1 Mar 2017 14:40:17 +0000 (15:40 +0100)
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
target/linux/generic/patches-4.9/721-phy_packets.patch

index 570083a..e8a834f 100644 (file)
@@ -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);                                                   \
index 22ca7df..46e8574 100644 (file)
@@ -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