Loading Documentation/devicetree/bindings/display/panel/toppoly,td028ttec1.txt→Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt +2 −2 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ Toppoly TD028TTEC1 Panel ======================== Required properties: - compatible: "toppoly,td028ttec1" - compatible: "tpo,td028ttec1" Optional properties: - label: a symbolic name for the panel Loading @@ -14,7 +14,7 @@ Example ------- lcd-panel: td028ttec1@0 { compatible = "toppoly,td028ttec1"; compatible = "tpo,td028ttec1"; reg = <0>; spi-max-frequency = <100000>; spi-cpol; Loading Documentation/devicetree/bindings/mfd/axp20x.txt +3 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,9 @@ Optional properties: regulator to drive the OTG VBus, rather then as an input pin which signals whether the board is driving OTG VBus or not. - x-powers,master-mode: Boolean (axp806 only). Set this when the PMIC is wired for master mode. The default is slave mode. - <input>-supply: a phandle to the regulator supply node. May be omitted if inputs are unregulated, such as using the IPSOUT output from the PMIC. Loading Makefile +86 −2 Original line number Diff line number Diff line VERSION = 4 PATCHLEVEL = 9 SUBLEVEL = 84 SUBLEVEL = 90 EXTRAVERSION = NAME = Roaring Lionus Loading Loading @@ -349,6 +349,7 @@ include scripts/Kbuild.include AS = $(CROSS_COMPILE)as LD = $(CROSS_COMPILE)ld REAL_CC = $(CROSS_COMPILE)gcc LDGOLD = $(CROSS_COMPILE)ld.gold CPP = $(CC) -E AR = $(CROSS_COMPILE)ar NM = $(CROSS_COMPILE)nm Loading Loading @@ -627,6 +628,20 @@ CFLAGS_GCOV := -fprofile-arcs -ftest-coverage -fno-tree-loop-im $(call cc-disabl CFLAGS_KCOV := $(call cc-option,-fsanitize-coverage=trace-pc,) export CFLAGS_GCOV CFLAGS_KCOV # Make toolchain changes before including arch/$(SRCARCH)/Makefile to ensure # ar/cc/ld-* macros return correct values. ifdef CONFIG_LTO_CLANG # use GNU gold with LLVMgold for LTO linking, and LD for vmlinux_link LDFINAL_vmlinux := $(LD) LD := $(LDGOLD) LDFLAGS += -plugin LLVMgold.so # use llvm-ar for building symbol tables from IR files, and llvm-dis instead # of objdump for processing symbol versions and exports LLVM_AR := llvm-ar LLVM_DIS := llvm-dis export LLVM_AR LLVM_DIS endif # The arch Makefile can set ARCH_{CPP,A,C}FLAGS to override the default # values of the respective KBUILD_* variables ARCH_CPPFLAGS := Loading @@ -645,6 +660,53 @@ KBUILD_CFLAGS += $(call cc-option,-ffunction-sections,) KBUILD_CFLAGS += $(call cc-option,-fdata-sections,) endif ifdef CONFIG_LTO_CLANG lto-clang-flags := -flto -fvisibility=hidden # allow disabling only clang LTO where needed DISABLE_LTO_CLANG := -fno-lto -fvisibility=default export DISABLE_LTO_CLANG endif ifdef CONFIG_LTO lto-flags := $(lto-clang-flags) KBUILD_CFLAGS += $(lto-flags) DISABLE_LTO := $(DISABLE_LTO_CLANG) export DISABLE_LTO # LDFINAL_vmlinux and LDFLAGS_FINAL_vmlinux can be set to override # the linker and flags for vmlinux_link. export LDFINAL_vmlinux LDFLAGS_FINAL_vmlinux endif ifdef CONFIG_CFI_CLANG cfi-clang-flags += -fsanitize=cfi DISABLE_CFI_CLANG := -fno-sanitize=cfi ifdef CONFIG_MODULES cfi-clang-flags += -fsanitize-cfi-cross-dso DISABLE_CFI_CLANG += -fno-sanitize-cfi-cross-dso endif ifdef CONFIG_CFI_PERMISSIVE cfi-clang-flags += -fsanitize-recover=cfi -fno-sanitize-trap=cfi endif # also disable CFI when LTO is disabled DISABLE_LTO_CLANG += $(DISABLE_CFI_CLANG) # allow disabling only clang CFI where needed export DISABLE_CFI_CLANG endif ifdef CONFIG_CFI # cfi-flags are re-tested in prepare-compiler-check cfi-flags := $(cfi-clang-flags) KBUILD_CFLAGS += $(cfi-flags) DISABLE_CFI := $(DISABLE_CFI_CLANG) DISABLE_LTO += $(DISABLE_CFI) export DISABLE_CFI endif ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE KBUILD_CFLAGS += $(call cc-option,-Oz,-Os) KBUILD_CFLAGS += $(call cc-disable-warning,maybe-uninitialized,) Loading Loading @@ -1087,6 +1149,22 @@ prepare-objtool: $(objtool_target) # CC_STACKPROTECTOR_STRONG! Why did it build with _REGULAR?!") PHONY += prepare-compiler-check prepare-compiler-check: FORCE # Make sure we're using a supported toolchain with LTO_CLANG ifdef CONFIG_LTO_CLANG ifneq ($(call clang-ifversion, -ge, 0500, y), y) @echo Cannot use CONFIG_LTO_CLANG: requires clang 5.0 or later >&2 && exit 1 endif ifneq ($(call gold-ifversion, -ge, 112000000, y), y) @echo Cannot use CONFIG_LTO_CLANG: requires GNU gold 1.12 or later >&2 && exit 1 endif endif # Make sure compiler supports LTO flags ifdef lto-flags ifeq ($(call cc-option, $(lto-flags)),) @echo Cannot use CONFIG_LTO: $(lto-flags) not supported by compiler \ >&2 && exit 1 endif endif # Make sure compiler supports requested stack protector flag. ifdef stackp-name ifeq ($(call cc-option, $(stackp-flag)),) Loading @@ -1100,6 +1178,11 @@ ifdef stackp-check @echo Cannot use CONFIG_CC_STACKPROTECTOR_$(stackp-name): \ $(stackp-flag) available but compiler is broken >&2 && exit 1 endif endif ifdef cfi-flags ifeq ($(call cc-option, $(cfi-flags)),) @echo Cannot use CONFIG_CFI: $(cfi-flags) not supported by compiler >&2 && exit 1 endif endif @: Loading Loading @@ -1575,7 +1658,8 @@ clean: $(clean-dirs) -o -name modules.builtin -o -name '.tmp_*.o.*' \ -o -name '*.c.[012]*.*' \ -o -name '*.ll' \ -o -name '*.gcno' \) -type f -print | xargs rm -f -o -name '*.gcno' \ -o -name '*.*.symversions' \) -type f -print | xargs rm -f # Generate tags for editors # --------------------------------------------------------------------------- Loading arch/Kconfig +68 −0 Original line number Diff line number Diff line Loading @@ -503,6 +503,74 @@ config LD_DEAD_CODE_DATA_ELIMINATION sections (e.g., '.text.init'). Typically '.' in section names is used to distinguish them from label names / C identifiers. config LTO def_bool n config ARCH_SUPPORTS_LTO_CLANG bool help An architecture should select this option it supports: - compiling with clang, - compiling inline assembly with clang's integrated assembler, - and linking with either lld or GNU gold w/ LLVMgold. choice prompt "Link-Time Optimization (LTO) (EXPERIMENTAL)" default LTO_NONE help This option turns on Link-Time Optimization (LTO). config LTO_NONE bool "None" config LTO_CLANG bool "Use clang Link Time Optimization (LTO) (EXPERIMENTAL)" depends on ARCH_SUPPORTS_LTO_CLANG depends on !FTRACE_MCOUNT_RECORD || HAVE_C_RECORDMCOUNT select LTO select THIN_ARCHIVES select LD_DEAD_CODE_DATA_ELIMINATION help This option enables clang's Link Time Optimization (LTO), which allows the compiler to optimize the kernel globally at link time. If you enable this option, the compiler generates LLVM IR instead of object files, and the actual compilation from IR occurs at the LTO link step, which may take several minutes. If you select this option, you must compile the kernel with clang >= 5.0 (make CC=clang) and GNU gold from binutils >= 2.27, and have the LLVMgold plug-in in LD_LIBRARY_PATH. endchoice config CFI bool config CFI_PERMISSIVE bool "Use CFI in permissive mode" depends on CFI help When selected, Control Flow Integrity (CFI) violations result in a warning instead of a kernel panic. This option is useful for finding CFI violations in drivers during development. config CFI_CLANG bool "Use clang Control Flow Integrity (CFI) (EXPERIMENTAL)" depends on LTO_CLANG depends on KALLSYMS select CFI help This option enables clang Control Flow Integrity (CFI), which adds runtime checking for indirect function calls. config CFI_CLANG_SHADOW bool "Use CFI shadow to speed up cross-module checks" default y depends on CFI_CLANG help If you select this option, the kernel builds a fast look-up table of CFI check functions in loaded modules to reduce overhead. config HAVE_ARCH_WITHIN_STACK_FRAMES bool help Loading arch/alpha/kernel/console.c +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ struct pci_controller *pci_vga_hose; static struct resource alpha_vga = { .name = "alpha-vga+", .flags = IORESOURCE_IO, .start = 0x3C0, .end = 0x3DF }; Loading Loading
Documentation/devicetree/bindings/display/panel/toppoly,td028ttec1.txt→Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt +2 −2 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ Toppoly TD028TTEC1 Panel ======================== Required properties: - compatible: "toppoly,td028ttec1" - compatible: "tpo,td028ttec1" Optional properties: - label: a symbolic name for the panel Loading @@ -14,7 +14,7 @@ Example ------- lcd-panel: td028ttec1@0 { compatible = "toppoly,td028ttec1"; compatible = "tpo,td028ttec1"; reg = <0>; spi-max-frequency = <100000>; spi-cpol; Loading
Documentation/devicetree/bindings/mfd/axp20x.txt +3 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,9 @@ Optional properties: regulator to drive the OTG VBus, rather then as an input pin which signals whether the board is driving OTG VBus or not. - x-powers,master-mode: Boolean (axp806 only). Set this when the PMIC is wired for master mode. The default is slave mode. - <input>-supply: a phandle to the regulator supply node. May be omitted if inputs are unregulated, such as using the IPSOUT output from the PMIC. Loading
Makefile +86 −2 Original line number Diff line number Diff line VERSION = 4 PATCHLEVEL = 9 SUBLEVEL = 84 SUBLEVEL = 90 EXTRAVERSION = NAME = Roaring Lionus Loading Loading @@ -349,6 +349,7 @@ include scripts/Kbuild.include AS = $(CROSS_COMPILE)as LD = $(CROSS_COMPILE)ld REAL_CC = $(CROSS_COMPILE)gcc LDGOLD = $(CROSS_COMPILE)ld.gold CPP = $(CC) -E AR = $(CROSS_COMPILE)ar NM = $(CROSS_COMPILE)nm Loading Loading @@ -627,6 +628,20 @@ CFLAGS_GCOV := -fprofile-arcs -ftest-coverage -fno-tree-loop-im $(call cc-disabl CFLAGS_KCOV := $(call cc-option,-fsanitize-coverage=trace-pc,) export CFLAGS_GCOV CFLAGS_KCOV # Make toolchain changes before including arch/$(SRCARCH)/Makefile to ensure # ar/cc/ld-* macros return correct values. ifdef CONFIG_LTO_CLANG # use GNU gold with LLVMgold for LTO linking, and LD for vmlinux_link LDFINAL_vmlinux := $(LD) LD := $(LDGOLD) LDFLAGS += -plugin LLVMgold.so # use llvm-ar for building symbol tables from IR files, and llvm-dis instead # of objdump for processing symbol versions and exports LLVM_AR := llvm-ar LLVM_DIS := llvm-dis export LLVM_AR LLVM_DIS endif # The arch Makefile can set ARCH_{CPP,A,C}FLAGS to override the default # values of the respective KBUILD_* variables ARCH_CPPFLAGS := Loading @@ -645,6 +660,53 @@ KBUILD_CFLAGS += $(call cc-option,-ffunction-sections,) KBUILD_CFLAGS += $(call cc-option,-fdata-sections,) endif ifdef CONFIG_LTO_CLANG lto-clang-flags := -flto -fvisibility=hidden # allow disabling only clang LTO where needed DISABLE_LTO_CLANG := -fno-lto -fvisibility=default export DISABLE_LTO_CLANG endif ifdef CONFIG_LTO lto-flags := $(lto-clang-flags) KBUILD_CFLAGS += $(lto-flags) DISABLE_LTO := $(DISABLE_LTO_CLANG) export DISABLE_LTO # LDFINAL_vmlinux and LDFLAGS_FINAL_vmlinux can be set to override # the linker and flags for vmlinux_link. export LDFINAL_vmlinux LDFLAGS_FINAL_vmlinux endif ifdef CONFIG_CFI_CLANG cfi-clang-flags += -fsanitize=cfi DISABLE_CFI_CLANG := -fno-sanitize=cfi ifdef CONFIG_MODULES cfi-clang-flags += -fsanitize-cfi-cross-dso DISABLE_CFI_CLANG += -fno-sanitize-cfi-cross-dso endif ifdef CONFIG_CFI_PERMISSIVE cfi-clang-flags += -fsanitize-recover=cfi -fno-sanitize-trap=cfi endif # also disable CFI when LTO is disabled DISABLE_LTO_CLANG += $(DISABLE_CFI_CLANG) # allow disabling only clang CFI where needed export DISABLE_CFI_CLANG endif ifdef CONFIG_CFI # cfi-flags are re-tested in prepare-compiler-check cfi-flags := $(cfi-clang-flags) KBUILD_CFLAGS += $(cfi-flags) DISABLE_CFI := $(DISABLE_CFI_CLANG) DISABLE_LTO += $(DISABLE_CFI) export DISABLE_CFI endif ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE KBUILD_CFLAGS += $(call cc-option,-Oz,-Os) KBUILD_CFLAGS += $(call cc-disable-warning,maybe-uninitialized,) Loading Loading @@ -1087,6 +1149,22 @@ prepare-objtool: $(objtool_target) # CC_STACKPROTECTOR_STRONG! Why did it build with _REGULAR?!") PHONY += prepare-compiler-check prepare-compiler-check: FORCE # Make sure we're using a supported toolchain with LTO_CLANG ifdef CONFIG_LTO_CLANG ifneq ($(call clang-ifversion, -ge, 0500, y), y) @echo Cannot use CONFIG_LTO_CLANG: requires clang 5.0 or later >&2 && exit 1 endif ifneq ($(call gold-ifversion, -ge, 112000000, y), y) @echo Cannot use CONFIG_LTO_CLANG: requires GNU gold 1.12 or later >&2 && exit 1 endif endif # Make sure compiler supports LTO flags ifdef lto-flags ifeq ($(call cc-option, $(lto-flags)),) @echo Cannot use CONFIG_LTO: $(lto-flags) not supported by compiler \ >&2 && exit 1 endif endif # Make sure compiler supports requested stack protector flag. ifdef stackp-name ifeq ($(call cc-option, $(stackp-flag)),) Loading @@ -1100,6 +1178,11 @@ ifdef stackp-check @echo Cannot use CONFIG_CC_STACKPROTECTOR_$(stackp-name): \ $(stackp-flag) available but compiler is broken >&2 && exit 1 endif endif ifdef cfi-flags ifeq ($(call cc-option, $(cfi-flags)),) @echo Cannot use CONFIG_CFI: $(cfi-flags) not supported by compiler >&2 && exit 1 endif endif @: Loading Loading @@ -1575,7 +1658,8 @@ clean: $(clean-dirs) -o -name modules.builtin -o -name '.tmp_*.o.*' \ -o -name '*.c.[012]*.*' \ -o -name '*.ll' \ -o -name '*.gcno' \) -type f -print | xargs rm -f -o -name '*.gcno' \ -o -name '*.*.symversions' \) -type f -print | xargs rm -f # Generate tags for editors # --------------------------------------------------------------------------- Loading
arch/Kconfig +68 −0 Original line number Diff line number Diff line Loading @@ -503,6 +503,74 @@ config LD_DEAD_CODE_DATA_ELIMINATION sections (e.g., '.text.init'). Typically '.' in section names is used to distinguish them from label names / C identifiers. config LTO def_bool n config ARCH_SUPPORTS_LTO_CLANG bool help An architecture should select this option it supports: - compiling with clang, - compiling inline assembly with clang's integrated assembler, - and linking with either lld or GNU gold w/ LLVMgold. choice prompt "Link-Time Optimization (LTO) (EXPERIMENTAL)" default LTO_NONE help This option turns on Link-Time Optimization (LTO). config LTO_NONE bool "None" config LTO_CLANG bool "Use clang Link Time Optimization (LTO) (EXPERIMENTAL)" depends on ARCH_SUPPORTS_LTO_CLANG depends on !FTRACE_MCOUNT_RECORD || HAVE_C_RECORDMCOUNT select LTO select THIN_ARCHIVES select LD_DEAD_CODE_DATA_ELIMINATION help This option enables clang's Link Time Optimization (LTO), which allows the compiler to optimize the kernel globally at link time. If you enable this option, the compiler generates LLVM IR instead of object files, and the actual compilation from IR occurs at the LTO link step, which may take several minutes. If you select this option, you must compile the kernel with clang >= 5.0 (make CC=clang) and GNU gold from binutils >= 2.27, and have the LLVMgold plug-in in LD_LIBRARY_PATH. endchoice config CFI bool config CFI_PERMISSIVE bool "Use CFI in permissive mode" depends on CFI help When selected, Control Flow Integrity (CFI) violations result in a warning instead of a kernel panic. This option is useful for finding CFI violations in drivers during development. config CFI_CLANG bool "Use clang Control Flow Integrity (CFI) (EXPERIMENTAL)" depends on LTO_CLANG depends on KALLSYMS select CFI help This option enables clang Control Flow Integrity (CFI), which adds runtime checking for indirect function calls. config CFI_CLANG_SHADOW bool "Use CFI shadow to speed up cross-module checks" default y depends on CFI_CLANG help If you select this option, the kernel builds a fast look-up table of CFI check functions in loaded modules to reduce overhead. config HAVE_ARCH_WITHIN_STACK_FRAMES bool help Loading
arch/alpha/kernel/console.c +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ struct pci_controller *pci_vga_hose; static struct resource alpha_vga = { .name = "alpha-vga+", .flags = IORESOURCE_IO, .start = 0x3C0, .end = 0x3DF }; Loading