summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorsten Leemhuis <fedora@leemhuis.info>2017-06-07 14:35:15 +0200
committerThorsten Leemhuis <fedora@leemhuis.info>2017-06-07 14:35:15 +0200
commit0a44e3cbba9c0945b798a28f19b159a327085842 (patch)
tree1ec893a4c2d26cff5352fd9f46c8e68bea77b7d5
parent61f502cc9a478a610bb14c8a827273a38b7ab227 (diff)
parent52e0b8805714b8616f40f53f9d41fb49abeeda1c (diff)
downloadkernel-4.11.3-302.vanilla.knurd.1.fc26.tar.gz
kernel-4.11.3-302.vanilla.knurd.1.fc26.tar.xz
kernel-4.11.3-302.vanilla.knurd.1.fc26.zip
Merge remote-tracking branch 'origin/f26' into f26-user-thl-vanilla-fedorakernel-4.11.3-302.vanilla.knurd.1.fc26
-rw-r--r--0001-platform-x86-thinkpad_acpi-guard-generic-hotkey-case.patch71
-rw-r--r--0002-platform-x86-thinkpad_acpi-add-mapping-for-new-hotke.patch158
-rw-r--r--2-2-nvme-Quirk-APST-on-Intel-600P-P3100-devices.patch33
-rw-r--r--actual_udpencap_fix.patch45
-rw-r--r--arm-dts-boneblack-wireless-add-WL1835-Bluetooth-device-node.patch40
-rw-r--r--arm-hikey-fixWiFi.patch501
-rw-r--r--baseconfig/CONFIG_CROS_KBD_LED_BACKLIGHT2
-rw-r--r--baseconfig/CONFIG_DRM_MXSFB2
-rw-r--r--baseconfig/CONFIG_IIO_CROS_EC_SENSORS_COR1
-rw-r--r--baseconfig/CONFIG_INPUT_MMA84502
-rw-r--r--baseconfig/CONFIG_KEYBOARD_QT10702
-rw-r--r--baseconfig/CONFIG_MAX13632
-rw-r--r--baseconfig/CONFIG_SENSORS_ADS10152
-rw-r--r--baseconfig/CONFIG_SPI_ROCKCHIP (renamed from baseconfig/x86/CONFIG_SPI_ROCKCHIP)0
-rw-r--r--baseconfig/CONFIG_TI_ADS10152
-rw-r--r--baseconfig/arm/CONFIG_CROS_EC_CHARDEV (renamed from baseconfig/arm/armv7/CONFIG_CROS_EC_CHARDEV)0
-rw-r--r--baseconfig/arm/CONFIG_CROS_EC_PROTO (renamed from baseconfig/arm/armv7/CONFIG_CROS_EC_PROTO)0
-rw-r--r--baseconfig/arm/CONFIG_DRM_LVDS_ENCODER1
-rw-r--r--baseconfig/arm/CONFIG_DRM_PANEL_JDI_LT070ME050001
-rw-r--r--baseconfig/arm/CONFIG_DRM_TOSHIBA_TC3587671
-rw-r--r--baseconfig/arm/CONFIG_I2C_CROS_EC_TUNNEL (renamed from baseconfig/arm/armv7/CONFIG_I2C_CROS_EC_TUNNEL)0
-rw-r--r--baseconfig/arm/CONFIG_IIO_CROS_EC_BARO1
-rw-r--r--baseconfig/arm/CONFIG_IIO_CROS_EC_SENSORS (renamed from baseconfig/CONFIG_IIO_CROS_EC_SENSORS)0
-rw-r--r--baseconfig/arm/CONFIG_IIO_CROS_EC_SENSORS_CORE (renamed from baseconfig/CONFIG_IIO_CROS_EC_SENSORS_CORE)0
-rw-r--r--baseconfig/arm/CONFIG_KEYBOARD_ADC1
-rw-r--r--baseconfig/arm/CONFIG_KEYBOARD_CROS_EC (renamed from baseconfig/arm/armv7/CONFIG_KEYBOARD_CROS_EC)0
-rw-r--r--baseconfig/arm/CONFIG_MFD_CROS_EC (renamed from baseconfig/arm/armv7/CONFIG_MFD_CROS_EC)0
-rw-r--r--baseconfig/arm/CONFIG_MFD_CROS_EC_I2C (renamed from baseconfig/arm/armv7/CONFIG_MFD_CROS_EC_I2C)0
-rw-r--r--baseconfig/arm/CONFIG_MFD_CROS_EC_SPI (renamed from baseconfig/arm/armv7/CONFIG_MFD_CROS_EC_SPI)0
-rw-r--r--baseconfig/arm/CONFIG_PWM_CROS_EC (renamed from baseconfig/arm/armv7/CONFIG_PWM_CROS_EC)0
-rw-r--r--baseconfig/arm/CONFIG_QCOM_SPMI_IADC1
-rw-r--r--baseconfig/arm/CONFIG_QCOM_SPMI_VADC1
-rw-r--r--baseconfig/arm/CONFIG_REGULATOR_FAN535552
-rw-r--r--baseconfig/arm/CONFIG_REGULATOR_QCOM_SPMI1
-rw-r--r--baseconfig/arm/arm64/CONFIG_ARM64_SW_TTBR0_PAN2
-rw-r--r--baseconfig/arm/arm64/CONFIG_EXTCON_QCOM_SPMI_MISC1
-rw-r--r--baseconfig/arm/arm64/CONFIG_GPIO_PCA953X1
-rw-r--r--baseconfig/arm/arm64/CONFIG_MFD_SPMI_PMIC (renamed from baseconfig/arm/CONFIG_MFD_SPMI_PMIC)0
-rw-r--r--baseconfig/arm/arm64/CONFIG_QCOM_ADSP_PIL (renamed from baseconfig/CONFIG_QCOM_ADSP_PIL)0
-rw-r--r--baseconfig/arm/arm64/CONFIG_QCOM_Q6V5_PIL2
-rw-r--r--baseconfig/arm/arm64/CONFIG_QCOM_WCNSS_PIL2
-rw-r--r--baseconfig/arm/arm64/CONFIG_REGMAP_SPMI (renamed from baseconfig/arm/CONFIG_REGMAP_SPMI)0
-rw-r--r--baseconfig/arm/arm64/CONFIG_SPMI (renamed from baseconfig/arm/CONFIG_SPMI)0
-rw-r--r--baseconfig/arm/armv7/CONFIG_DRM_PANEL1
-rw-r--r--baseconfig/arm/armv7/CONFIG_DRM_PANEL_LG_LG45731
-rw-r--r--baseconfig/arm/armv7/CONFIG_DRM_PANEL_PANASONIC_VVX10F034N001
-rw-r--r--baseconfig/arm/armv7/CONFIG_DRM_PANEL_SAMSUNG_LD90401
-rw-r--r--baseconfig/arm/armv7/CONFIG_DRM_PANEL_SAMSUNG_S6E8AA01
-rw-r--r--baseconfig/arm/armv7/CONFIG_DRM_PANEL_SHARP_LQ101R1SX011
-rw-r--r--baseconfig/arm/armv7/CONFIG_DRM_PANEL_SHARP_LS043T1LE011
-rw-r--r--baseconfig/arm/armv7/CONFIG_DRM_PANEL_SIMPLE1
-rw-r--r--baseconfig/arm/armv7/CONFIG_IIO_CROS_EC_BARO1
-rw-r--r--baseconfig/arm/armv7/CONFIG_MMA84521
-rw-r--r--baseconfig/arm/armv7/CONFIG_QCOM_SPMI_TEMP_ALARM1
-rw-r--r--baseconfig/arm/armv7/CONFIG_REGULATOR_FAN535551
-rw-r--r--baseconfig/arm/armv7/CONFIG_UBIFS_FS1
-rw-r--r--baseconfig/arm/armv7/CONFIG_UBIFS_FS_ADVANCED_COMPR1
-rw-r--r--baseconfig/arm/armv7/CONFIG_UBIFS_FS_LZO1
-rw-r--r--baseconfig/arm/armv7/CONFIG_UBIFS_FS_ZLIB1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_DRM_MXSFB1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_EXTCON_QCOM_SPMI_MISC1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_KXSD91
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_KXSD9_I2C1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_KXSD9_SPI1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_MFD_SPMI_PMIC1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_MPU3050_I2C1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_QCOM_ADSP_PIL1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_QCOM_Q6V5_PIL2
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_QCOM_SPMI_TEMP_ALARM1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_QCOM_WCNSS_PIL2
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_REGMAP_SPMI1
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_REGULATOR_FAN535551
-rw-r--r--baseconfig/arm/armv7/armv7/CONFIG_SPMI1
-rw-r--r--baseconfig/s390x/CONFIG_CRASH_DUMP1
-rw-r--r--bcm2835-clk-audio-jitter-issues.patch206
-rw-r--r--bcm283x-mmc-bcm2835.patch66
-rw-r--r--drm-i915-Do-not-drop-pagetables-when-empty.patch95
-rw-r--r--efi-lockdown.patch239
-rw-r--r--kernel-aarch64-debug.config44
-rw-r--r--kernel-aarch64.config44
-rw-r--r--kernel-armv7hl-debug.config42
-rw-r--r--kernel-armv7hl-lpae-debug.config39
-rw-r--r--kernel-armv7hl-lpae.config39
-rw-r--r--kernel-armv7hl.config42
-rw-r--r--kernel-i686-PAE.config18
-rw-r--r--kernel-i686-PAEdebug.config18
-rw-r--r--kernel-i686-debug.config18
-rw-r--r--kernel-i686.config18
-rw-r--r--kernel-ppc64-debug.config19
-rw-r--r--kernel-ppc64.config19
-rw-r--r--kernel-ppc64le-debug.config19
-rw-r--r--kernel-ppc64le.config19
-rw-r--r--kernel-ppc64p7-debug.config19
-rw-r--r--kernel-ppc64p7.config19
-rw-r--r--kernel-s390x-debug.config19
-rw-r--r--kernel-s390x.config19
-rw-r--r--kernel-x86_64-debug.config18
-rw-r--r--kernel-x86_64.config18
-rw-r--r--kernel.spec189
-rw-r--r--media-cec-Fix-runtime-BUG-when-CONFIG_RC_CORE-CEC_CAP_RC.patch45
-rw-r--r--net-v2-ip6_tunnel-ip6_gre-fix-setting-of-DSCP-on-encapsulated-packets.patch156
-rw-r--r--sources2
102 files changed, 1882 insertions, 540 deletions
diff --git a/0001-platform-x86-thinkpad_acpi-guard-generic-hotkey-case.patch b/0001-platform-x86-thinkpad_acpi-guard-generic-hotkey-case.patch
new file mode 100644
index 000000000..847c70ce8
--- /dev/null
+++ b/0001-platform-x86-thinkpad_acpi-guard-generic-hotkey-case.patch
@@ -0,0 +1,71 @@
+From 6bb84c0f9da1144e0d443798a76d5769b7d554af Mon Sep 17 00:00:00 2001
+From: Christian Kellner <christian@kellner.me>
+Date: Tue, 28 Feb 2017 17:10:56 +0100
+Subject: [PATCH 1/2] platform/x86: thinkpad_acpi: guard generic hotkey case
+
+Currently when dispatching hotkeys we check if the scancode is in
+the range of 0 and TPACPI_HOTKEY_MAP_LEN, although the bottom 20
+entries in the hotkey keymap are already adaptive keycodes.
+Therefore we introduce a TP_ACPI_HOTKEYSCAN_ADAPTIVE_START and
+ensure that we are in the range 0 and ADAPTIVE_START for the generic
+keycode case.
+
+Signed-off-by: Christian Kellner <ckellner@redhat.com>
+Reviewed-by: Hans de Goede <hdegoede@redhat.com>
+Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
+Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+---
+ drivers/platform/x86/thinkpad_acpi.c | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
+index 1d18b32..e2b962f 100644
+--- a/drivers/platform/x86/thinkpad_acpi.c
++++ b/drivers/platform/x86/thinkpad_acpi.c
+@@ -1922,7 +1922,9 @@ enum { /* hot key scan codes (derived from ACPI DSDT) */
+ TP_ACPI_HOTKEYSCAN_UNK7,
+ TP_ACPI_HOTKEYSCAN_UNK8,
+
+- TP_ACPI_HOTKEYSCAN_MUTE2,
++ /* Adaptive keyboard keycodes */
++ TP_ACPI_HOTKEYSCAN_ADAPTIVE_START,
++ TP_ACPI_HOTKEYSCAN_MUTE2 = TP_ACPI_HOTKEYSCAN_ADAPTIVE_START,
+ TP_ACPI_HOTKEYSCAN_BRIGHTNESS_ZERO,
+ TP_ACPI_HOTKEYSCAN_CLIPPING_TOOL,
+ TP_ACPI_HOTKEYSCAN_CLOUD,
+@@ -3656,7 +3658,6 @@ static const int adaptive_keyboard_modes[] = {
+ #define DFR_CHANGE_ROW 0x101
+ #define DFR_SHOW_QUICKVIEW_ROW 0x102
+ #define FIRST_ADAPTIVE_KEY 0x103
+-#define ADAPTIVE_KEY_OFFSET 0x020
+
+ /* press Fn key a while second, it will switch to Function Mode. Then
+ * release Fn key, previous mode be restored.
+@@ -3747,12 +3748,13 @@ static bool adaptive_keyboard_hotkey_notify_hotkey(unsigned int scancode)
+ default:
+ if (scancode < FIRST_ADAPTIVE_KEY ||
+ scancode >= FIRST_ADAPTIVE_KEY + TPACPI_HOTKEY_MAP_LEN -
+- ADAPTIVE_KEY_OFFSET) {
++ TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) {
+ pr_info("Unhandled adaptive keyboard key: 0x%x\n",
+ scancode);
+ return false;
+ }
+- keycode = hotkey_keycode_map[scancode - FIRST_ADAPTIVE_KEY + ADAPTIVE_KEY_OFFSET];
++ keycode = hotkey_keycode_map[scancode - FIRST_ADAPTIVE_KEY +
++ TP_ACPI_HOTKEYSCAN_ADAPTIVE_START];
+ if (keycode != KEY_RESERVED) {
+ mutex_lock(&tpacpi_inputdev_send_mutex);
+
+@@ -3778,7 +3780,7 @@ static bool hotkey_notify_hotkey(const u32 hkey,
+ *ignore_acpi_ev = false;
+
+ /* HKEY event 0x1001 is scancode 0x00 */
+- if (scancode > 0 && scancode <= TPACPI_HOTKEY_MAP_LEN) {
++ if (scancode > 0 && scancode <= TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) {
+ scancode--;
+ if (!(hotkey_source_mask & (1 << scancode))) {
+ tpacpi_input_send_key_masked(scancode);
+--
+2.9.4
+
diff --git a/0002-platform-x86-thinkpad_acpi-add-mapping-for-new-hotke.patch b/0002-platform-x86-thinkpad_acpi-add-mapping-for-new-hotke.patch
new file mode 100644
index 000000000..2c9bcbbeb
--- /dev/null
+++ b/0002-platform-x86-thinkpad_acpi-add-mapping-for-new-hotke.patch
@@ -0,0 +1,158 @@
+From 82e71b57b1b4347126b1ffd7b2beed2bc8b795bd Mon Sep 17 00:00:00 2001
+From: Christian Kellner <christian@kellner.me>
+Date: Tue, 28 Feb 2017 17:10:57 +0100
+Subject: [PATCH 2/2] platform/x86: thinkpad_acpi: add mapping for new hotkeys
+
+The T470, X270 emits new hkey events in the 0x1311 - 0x1315 range.
+According to the user manual they should launch a user selected
+favorite application (star icon, 0x1311), snipping tool (0x1312,
+currently ignored), enable/disable bluetooth (0x1314) and open they
+keyboard settings (0x1315).
+
+The third nibble (0xf00) is used to differentiate between the original
+hotkeys, the adaptive keyboard codes and the new, additional ones.
+
+Signed-off-by: Christian Kellner <ckellner@redhat.com>
+Reviewed-by: Hans de Goede <hdegoede@redhat.com>
+Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
+Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+---
+ drivers/platform/x86/thinkpad_acpi.c | 91 +++++++++++++++++++++++++++++++-----
+ 1 file changed, 79 insertions(+), 12 deletions(-)
+
+diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
+index e2b962f..7b6cb0c 100644
+--- a/drivers/platform/x86/thinkpad_acpi.c
++++ b/drivers/platform/x86/thinkpad_acpi.c
+@@ -1945,6 +1945,15 @@ enum { /* hot key scan codes (derived from ACPI DSDT) */
+ TP_ACPI_HOTKEYSCAN_CAMERA_MODE,
+ TP_ACPI_HOTKEYSCAN_ROTATE_DISPLAY,
+
++ /* Lenovo extended keymap, starting at 0x1300 */
++ TP_ACPI_HOTKEYSCAN_EXTENDED_START,
++ /* first new observed key (star, favorites) is 0x1311 */
++ TP_ACPI_HOTKEYSCAN_STAR = 69,
++ TP_ACPI_HOTKEYSCAN_CLIPPING_TOOL2,
++ TP_ACPI_HOTKEYSCAN_UNK25,
++ TP_ACPI_HOTKEYSCAN_BLUETOOTH,
++ TP_ACPI_HOTKEYSCAN_KEYBOARD,
++
+ /* Hotkey keymap size */
+ TPACPI_HOTKEY_MAP_LEN
+ };
+@@ -3252,6 +3261,15 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
+ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
+ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
+ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++
++ /* No assignment, used for newer Lenovo models */
++ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++ KEY_UNKNOWN, KEY_UNKNOWN
++
+ },
+
+ /* Generic keymap for Lenovo ThinkPads */
+@@ -3337,6 +3355,29 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
+ KEY_RESERVED, /* Microphone cancellation */
+ KEY_RESERVED, /* Camera mode */
+ KEY_RESERVED, /* Rotate display, 0x116 */
++
++ /*
++ * These are found in 2017 models (e.g. T470s, X270).
++ * The lowest known value is 0x311, which according to
++ * the manual should launch a user defined favorite
++ * application.
++ *
++ * The offset for these is TP_ACPI_HOTKEYSCAN_EXTENDED_START,
++ * corresponding to 0x34.
++ */
++
++ /* (assignments unknown, please report if found) */
++ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++ KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN, KEY_UNKNOWN,
++ KEY_UNKNOWN,
++
++ KEY_FAVORITES, /* Favorite app, 0x311 */
++ KEY_RESERVED, /* Clipping tool */
++ KEY_RESERVED,
++ KEY_BLUETOOTH, /* Bluetooth */
++ KEY_KEYBOARD /* Keyboard, 0x315 */
+ },
+ };
+
+@@ -3747,8 +3788,9 @@ static bool adaptive_keyboard_hotkey_notify_hotkey(unsigned int scancode)
+
+ default:
+ if (scancode < FIRST_ADAPTIVE_KEY ||
+- scancode >= FIRST_ADAPTIVE_KEY + TPACPI_HOTKEY_MAP_LEN -
+- TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) {
++ scancode >= FIRST_ADAPTIVE_KEY +
++ TP_ACPI_HOTKEYSCAN_EXTENDED_START -
++ TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) {
+ pr_info("Unhandled adaptive keyboard key: 0x%x\n",
+ scancode);
+ return false;
+@@ -3779,19 +3821,44 @@ static bool hotkey_notify_hotkey(const u32 hkey,
+ *send_acpi_ev = true;
+ *ignore_acpi_ev = false;
+
+- /* HKEY event 0x1001 is scancode 0x00 */
+- if (scancode > 0 && scancode <= TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) {
+- scancode--;
+- if (!(hotkey_source_mask & (1 << scancode))) {
+- tpacpi_input_send_key_masked(scancode);
+- *send_acpi_ev = false;
+- } else {
+- *ignore_acpi_ev = true;
++ /*
++ * Original events are in the 0x10XX range, the adaptive keyboard
++ * found in 2014 X1 Carbon emits events are of 0x11XX. In 2017
++ * models, additional keys are emitted through 0x13XX.
++ */
++ switch ((hkey >> 8) & 0xf) {
++ case 0:
++ if (scancode > 0 &&
++ scancode <= TP_ACPI_HOTKEYSCAN_ADAPTIVE_START) {
++ /* HKEY event 0x1001 is scancode 0x00 */
++ scancode--;
++ if (!(hotkey_source_mask & (1 << scancode))) {
++ tpacpi_input_send_key_masked(scancode);
++ *send_acpi_ev = false;
++ } else {
++ *ignore_acpi_ev = true;
++ }
++ return true;
+ }
+- return true;
+- } else {
++ break;
++
++ case 1:
+ return adaptive_keyboard_hotkey_notify_hotkey(scancode);
++
++ case 3:
++ /* Extended keycodes start at 0x300 and our offset into the map
++ * TP_ACPI_HOTKEYSCAN_EXTENDED_START. The calculated scancode
++ * will be positive, but might not be in the correct range.
++ */
++ scancode -= (0x300 - TP_ACPI_HOTKEYSCAN_EXTENDED_START);
++ if (scancode >= TP_ACPI_HOTKEYSCAN_EXTENDED_START &&
++ scancode < TPACPI_HOTKEY_MAP_LEN) {
++ tpacpi_input_send_key(scancode);
++ return true;
++ }
++ break;
+ }
++
+ return false;
+ }
+
+--
+2.9.4
+
diff --git a/2-2-nvme-Quirk-APST-on-Intel-600P-P3100-devices.patch b/2-2-nvme-Quirk-APST-on-Intel-600P-P3100-devices.patch
new file mode 100644
index 000000000..088d921a7
--- /dev/null
+++ b/2-2-nvme-Quirk-APST-on-Intel-600P-P3100-devices.patch
@@ -0,0 +1,33 @@
+From 596bbd8d3752b0a922b7a5a059f47607a36ecc2e Mon Sep 17 00:00:00 2001
+From: Andrew Lutomirski <luto@kernel.org>
+Date: Wed, 24 May 2017 15:06:31 -0700
+Subject: [PATCH] nvme: Quirk APST on Intel 600P/P3100 devices
+
+They have known firmware bugs. A fix is apparently in the works --
+once fixed firmware is available, someone from Intel (Hi, Keith!)
+can adjust the quirk accordingly.
+
+Cc: stable@vger.kernel.org # v4.11
+Cc: Kai-Heng Feng <kai.heng.feng@canonical.com>
+Cc: Mario Limonciello <mario_limonciello@dell.com>
+Signed-off-by: Andy Lutomirski <luto@kernel.org>
+---
+ drivers/nvme/host/pci.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
+index d8a1707..993d16c 100644
+--- a/drivers/nvme/host/pci.c
++++ b/drivers/nvme/host/pci.c
+@@ -2171,6 +2171,8 @@ static const struct pci_device_id nvme_id_table[] = {
+ { PCI_VDEVICE(INTEL, 0x0a54),
+ .driver_data = NVME_QUIRK_STRIPE_SIZE |
+ NVME_QUIRK_DISCARD_ZEROES, },
++ { PCI_VDEVICE(INTEL, 0xf1a5), /* Intel 600P/P3100 */
++ .driver_data = NVME_QUIRK_NO_DEEPEST_PS },
+ { PCI_VDEVICE(INTEL, 0x5845), /* Qemu emulated controller */
+ .driver_data = NVME_QUIRK_IDENTIFY_CNS, },
+ { PCI_DEVICE(0x1c58, 0x0003), /* HGST adapter */
+--
+2.7.5
+
diff --git a/actual_udpencap_fix.patch b/actual_udpencap_fix.patch
new file mode 100644
index 000000000..bba8b7676
--- /dev/null
+++ b/actual_udpencap_fix.patch
@@ -0,0 +1,45 @@
+From: Steffen Klassert <steffen.klassert@secunet.com>
+Subject: [PATCH] esp4: Fix udpencap for local TCP packets.
+
+Locally generated TCP packets are usually cloned, so we
+do skb_cow_data() on this packets. After that we need to
+reload the pointer to the esp header. On udpencap this
+header has an offset to skb_transport_header, so take this
+offset into account.
+
+Fixes: commit cac2661c53f ("esp4: Avoid skb_cow_data whenever possible")
+Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
+---
+ net/ipv4/esp4.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c
+index b1e2444..ab71fbb 100644
+--- a/net/ipv4/esp4.c
++++ b/net/ipv4/esp4.c
+@@ -223,6 +223,7 @@ static int esp_output(struct xfrm_state *x, struct sk_buff *skb)
+ int extralen;
+ int tailen;
+ __be64 seqno;
++ int esp_offset = 0;
+ __u8 proto = *skb_mac_header(skb);
+
+ /* skb is pure payload to encrypt */
+@@ -288,6 +289,8 @@ static int esp_output(struct xfrm_state *x, struct sk_buff *skb)
+ break;
+ }
+
++ esp_offset = (unsigned char *)esph - (unsigned char *)uh;
++
+ *skb_mac_header(skb) = IPPROTO_UDP;
+ }
+
+@@ -397,7 +400,7 @@ static int esp_output(struct xfrm_state *x, struct sk_buff *skb)
+ goto error;
+ nfrags = err;
+ tail = skb_tail_pointer(trailer);
+- esph = ip_esp_hdr(skb);
++ esph = (struct ip_esp_hdr *)(skb_transport_header(skb) + esp_offset);
+
+ skip_cow:
+ esp_output_fill_trailer(tail, tfclen, plen, proto);
diff --git a/arm-dts-boneblack-wireless-add-WL1835-Bluetooth-device-node.patch b/arm-dts-boneblack-wireless-add-WL1835-Bluetooth-device-node.patch
new file mode 100644
index 000000000..b4c945697
--- /dev/null
+++ b/arm-dts-boneblack-wireless-add-WL1835-Bluetooth-device-node.patch
@@ -0,0 +1,40 @@
+From patchwork Mon May 22 14:51:38 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: arm: dts: boneblack-wireless: add WL1835 Bluetooth device node
+From: Ricardo Salveti <ricardo.salveti@linaro.org>
+X-Patchwork-Id: 9740719
+Message-Id: <1495464701-12046-1-git-send-email-ricardo.salveti@linaro.org>
+To: linux-omap@vger.kernel.org
+Cc: Mark Rutland <mark.rutland@arm.com>,
+ Ricardo Salveti <ricardo.salveti@linaro.org>, devicetree@vger.kernel.org,
+ Tony Lindgren <tony@atomide.com>, Russell King <linux@armlinux.org.uk>,
+ linux-kernel@vger.kernel.org, Rob Herring <robh+dt@kernel.org>,
+ =?UTF-8?q?Beno=C3=AEt=20Cousson?= <bcousson@baylibre.com>,
+ robertcnelson@gmail.com, linux-arm-kernel@lists.infradead.org
+Date: Mon, 22 May 2017 11:51:38 -0300
+
+This adds the serial slave device for the WL1835 Bluetooth interface.
+
+Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org>
+---
+ arch/arm/boot/dts/am335x-boneblack-wireless.dts | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/arch/arm/boot/dts/am335x-boneblack-wireless.dts b/arch/arm/boot/dts/am335x-boneblack-wireless.dts
+index 105bd10..83f49f6 100644
+--- a/arch/arm/boot/dts/am335x-boneblack-wireless.dts
++++ b/arch/arm/boot/dts/am335x-boneblack-wireless.dts
+@@ -97,6 +97,11 @@
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart3_pins &bt_pins>;
+ status = "okay";
++
++ bluetooth {
++ compatible = "ti,wl1835-st";
++ enable-gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
++ };
+ };
+
+ &gpio3 {
diff --git a/arm-hikey-fixWiFi.patch b/arm-hikey-fixWiFi.patch
new file mode 100644
index 000000000..9ea70efd5
--- /dev/null
+++ b/arm-hikey-fixWiFi.patch
@@ -0,0 +1,501 @@
+From c477ebe21fabe0010a2ed324ce3a1762c757d867 Mon Sep 17 00:00:00 2001
+From: Ulf Hansson <ulf.hansson@linaro.org>
+Date: Sat, 6 May 2017 11:41:30 +0200
+Subject: [PATCH 179/554] mmc: dt: pwrseq-simple: Invent power-off-delay-us
+
+During power off, after the GPIO pin has been asserted, some devices like
+the Wifi chip from TI, Wl18xx, needs a delay before the host continues with
+clock gating and turning off regulators as to follow a graceful shutdown
+sequence.
+
+Therefore invent an optional power-off-delay-us DT binding for
+mmc-pwrseq-simple, to allow us to support this constraint.
+
+Cc: devicetree@vger.kernel.org
+Cc: Rob Herring <robh+dt@kernel.org>
+Cc: linux-mmc@vger.kernel.org
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+Acked-by: Arnd Bergmann <arnd@arndb.de>
+---
+ Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt
+index e25436861867..9029b45b8a22 100644
+--- a/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt
++++ b/Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt
+@@ -18,6 +18,8 @@ Optional properties:
+ "ext_clock" (External clock provided to the card).
+ - post-power-on-delay-ms : Delay in ms after powering the card and
+ de-asserting the reset-gpios (if any)
++- power-off-delay-us : Delay in us after asserting the reset-gpios (if any)
++ during power off of the card.
+
+ Example:
+
+--
+2.13.0
+
+From e9256e142f597edf90c68cec22db4c4aebaa27de Mon Sep 17 00:00:00 2001
+From: Ulf Hansson <ulf.hansson@linaro.org>
+Date: Sat, 6 May 2017 11:43:05 +0200
+Subject: [PATCH 180/554] mmc: pwrseq_simple: Parse DTS for the
+ power-off-delay-us property
+
+If the optional power-off-delay-us property is found, insert the
+corresponding delay after asserting the GPIO during power off. This enables
+a graceful shutdown sequence for some devices.
+
+Cc: linux-mmc@vger.kernel.org
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+Acked-by: Arnd Bergmann <arnd@arndb.de>
+---
+ drivers/mmc/core/pwrseq_simple.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/drivers/mmc/core/pwrseq_simple.c b/drivers/mmc/core/pwrseq_simple.c
+index 1304160de168..13ef162cf066 100644
+--- a/drivers/mmc/core/pwrseq_simple.c
++++ b/drivers/mmc/core/pwrseq_simple.c
+@@ -27,6 +27,7 @@ struct mmc_pwrseq_simple {
+ struct mmc_pwrseq pwrseq;
+ bool clk_enabled;
+ u32 post_power_on_delay_ms;
++ u32 power_off_delay_us;
+ struct clk *ext_clk;
+ struct gpio_descs *reset_gpios;
+ };
+@@ -78,6 +79,10 @@ static void mmc_pwrseq_simple_power_off(struct mmc_host *host)
+
+ mmc_pwrseq_simple_set_gpios_value(pwrseq, 1);
+
++ if (pwrseq->power_off_delay_us)
++ usleep_range(pwrseq->power_off_delay_us,
++ 2 * pwrseq->power_off_delay_us);
++
+ if (!IS_ERR(pwrseq->ext_clk) && pwrseq->clk_enabled) {
+ clk_disable_unprepare(pwrseq->ext_clk);
+ pwrseq->clk_enabled = false;
+@@ -119,6 +124,8 @@ static int mmc_pwrseq_simple_probe(struct platform_device *pdev)
+
+ device_property_read_u32(dev, "post-power-on-delay-ms",
+ &pwrseq->post_power_on_delay_ms);
++ device_property_read_u32(dev, "power-off-delay-us",
++ &pwrseq->power_off_delay_us);
+
+ pwrseq->pwrseq.dev = dev;
+ pwrseq->pwrseq.ops = &mmc_pwrseq_simple_ops;
+--
+2.13.0
+
+From f74ac688c981138c914f9afba50b646146e35585 Mon Sep 17 00:00:00 2001
+From: Daniel Lezcano <daniel.lezcano@linaro.org>
+Date: Mon, 24 Apr 2017 22:40:22 +0200
+Subject: [PATCH 181/554] mfd: dts: hi655x: Add clock binding for the pmic
+
+The hi655x PMIC provides the regulators but also a clock. The latter is
+missing in the definition, so extend the documentation to include this as
+well.
+
+Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
+Acked-by: Rob Herring <robh@kernel.org>
+Acked-by: Lee Jones <lee.jones@linaro.org>
+[Ulf: Split patch and updated changelog]
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+Acked-by: Arnd Bergmann <arnd@arndb.de>
+---
+ Documentation/devicetree/bindings/mfd/hisilicon,hi655x.txt | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/Documentation/devicetree/bindings/mfd/hisilicon,hi655x.txt b/Documentation/devicetree/bindings/mfd/hisilicon,hi655x.txt
+index 05485699d70e..9630ac0e4b56 100644
+--- a/Documentation/devicetree/bindings/mfd/hisilicon,hi655x.txt
++++ b/Documentation/devicetree/bindings/mfd/hisilicon,hi655x.txt
+@@ -16,6 +16,11 @@ Required properties:
+ - reg: Base address of PMIC on Hi6220 SoC.
+ - interrupt-controller: Hi655x has internal IRQs (has own IRQ domain).
+ - pmic-gpios: The GPIO used by PMIC IRQ.
++- #clock-cells: From common clock binding; shall be set to 0
++
++Optional properties:
++- clock-output-names: From common clock binding to override the
++ default output clock name
+
+ Example:
+ pmic: pmic@f8000000 {
+@@ -24,4 +29,5 @@ Example:
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ pmic-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
++ #clock-cells = <0>;
+ }
+--
+2.13.0
+
+From 307ded8968868e55343e063fbe96cff1efd77eb6 Mon Sep 17 00:00:00 2001
+From: Daniel Lezcano <daniel.lezcano@linaro.org>
+Date: Mon, 24 Apr 2017 22:40:22 +0200
+Subject: [PATCH 182/554] arm64: dts: hikey: Add clock for the pmic mfd
+
+The hi655x PMIC provides the regulators but also a clock. The latter is
+missing so let's add it. This clock is used by WiFi/Bluetooth chip, but
+that connection is done in a separate change on top of this one.
+
+Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
+Acked-by: Rob Herring <robh@kernel.org>
+Acked-by: Lee Jones <lee.jones@linaro.org>
+[Ulf: Split patch and updated changelog]
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+Acked-by: Arnd Bergmann <arnd@arndb.de>
+---
+ arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+index 75bce2d0b1a8..d22eb3a646c4 100644
+--- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
++++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+@@ -330,6 +330,7 @@
+ pmic: pmic@f8000000 {
+ compatible = "hisilicon,hi655x-pmic";
+ reg = <0x0 0xf8000000 0x0 0x1000>;
++ #clock-cells = <0>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ pmic-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+--
+2.13.0
+
+From 1b32a5ff98fbb271d2235ddcfe3b58f514f8260a Mon Sep 17 00:00:00 2001
+From: Ulf Hansson <ulf.hansson@linaro.org>
+Date: Wed, 3 May 2017 12:46:55 +0200
+Subject: [PATCH 183/554] arm64: dts: hi6220: Move the fixed_5v_hub regulator
+ to the hikey dts
+
+The regulator is a part of the hikey board, therefore let's move it from
+the hi6220 SoC dtsi file into the hikey dts file . Let's also rename the
+regulator according to the datasheet (5V_HUB) to better reflect the HW.
+
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
+Acked-by: Arnd Bergmann <arnd@arndb.de>
+---
+ arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 10 ++++++++++
+ arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 12 +-----------
+ 2 files changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+index d22eb3a646c4..0f6cba77fc76 100644
+--- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
++++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+@@ -81,6 +81,16 @@
+ };
+ };
+
++ reg_5v_hub: regulator@0 {
++ compatible = "regulator-fixed";
++ regulator-name = "5V_HUB";
++ regulator-min-microvolt = <5000000>;
++ regulator-max-microvolt = <5000000>;
++ regulator-boot-on;
++ gpio = <&gpio0 7 0>;
++ regulator-always-on;
++ };
++
+ soc {
+ spi0: spi@f7106000 {
+ status = "ok";
+diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
+index 1e5129b19280..951152d44c02 100644
+--- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
++++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
+@@ -725,20 +725,10 @@
+ status = "disabled";
+ };
+
+- fixed_5v_hub: regulator@0 {
+- compatible = "regulator-fixed";
+- regulator-name = "fixed_5v_hub";
+- regulator-min-microvolt = <5000000>;
+- regulator-max-microvolt = <5000000>;
+- regulator-boot-on;
+- gpio = <&gpio0 7 0>;
+- regulator-always-on;
+- };
+-
+ usb_phy: usbphy {
+ compatible = "hisilicon,hi6220-usb-phy";
+ #phy-cells = <0>;
+- phy-supply = <&fixed_5v_hub>;
++ phy-supply = <&reg_5v_hub>;
+ hisilicon,peripheral-syscon = <&sys_ctrl>;
+ };
+
+--
+2.13.0
+
+From 84f7c60b31f10e3a438153bc7408ad536f585641 Mon Sep 17 00:00:00 2001
+From: Ulf Hansson <ulf.hansson@linaro.org>
+Date: Wed, 3 May 2017 13:51:27 +0200
+Subject: [PATCH 184/554] arm64: dts: hikey: Add the SYS_5V and the VDD_3V3
+ regulators
+
+Add these regulators to better describe the HW, but also because those is
+needed in following changes.
+
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
+Acked-by: Arnd Bergmann <arnd@arndb.de>
+---
+ arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 22 +++++++++++++++++++++-
+ 1 file changed, 21 insertions(+), 1 deletion(-)
+
+diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+index 0f6cba77fc76..802f4a4bed30 100644
+--- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
++++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+@@ -81,7 +81,26 @@
+ };
+ };
+
+- reg_5v_hub: regulator@0 {
++ reg_sys_5v: regulator@0 {
++ compatible = "regulator-fixed";
++ regulator-name = "SYS_5V";
++ regulator-min-microvolt = <5000000>;
++ regulator-max-microvolt = <5000000>;
++ regulator-boot-on;
++ regulator-always-on;
++ };
++
++ reg_vdd_3v3: regulator@1 {
++ compatible = "regulator-fixed";
++ regulator-name = "VDD_3V3";
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-boot-on;
++ regulator-always-on;
++ vin-supply = <&reg_sys_5v>;
++ };
++
++ reg_5v_hub: regulator@2 {
+ compatible = "regulator-fixed";
+ regulator-name = "5V_HUB";
+ regulator-min-microvolt = <5000000>;
+@@ -89,6 +108,7 @@
+ regulator-boot-on;
+ gpio = <&gpio0 7 0>;
+ regulator-always-on;
++ vin-supply = <&reg_sys_5v>;
+ };
+
+ soc {
+--
+2.13.0
+
+From 76f1dfb687150e852aa74573962cfc158a9570cc Mon Sep 17 00:00:00 2001
+From: Ulf Hansson <ulf.hansson@linaro.org>
+Date: Wed, 3 May 2017 14:18:26 +0200
+Subject: [PATCH 185/554] arm64: dts: hi6220: Move board data from the dwmmc
+ nodes to hikey dts
+
+Move the board specific descriptions for the dwmmc nodes in the hi6220 SoC
+dtsi, into the hikey dts as it's there these belongs.
+
+While changing this, let's take the opportunity to drop the use of the
+"ti,non-removable" binding for one of the dwmmc device nodes, as it's not a
+valid binding and not used. Drop also the unnecessary use of "num-slots =
+<0x1>" for all of the dwmmc nodes, as there is no need to set this since
+when default number of slots is one.
+
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
+Acked-by: Arnd Bergmann <arnd@arndb.de>
+---
+ arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 23 ++++++++++++++++++++++-
+ arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 19 -------------------
+ 2 files changed, 22 insertions(+), 20 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+index 802f4a4bed30..5132d8ed4664 100644
+--- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
++++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+@@ -286,8 +286,29 @@
+
+ /* GPIO blocks 16 thru 19 do not appear to be routed to pins */
+
++ dwmmc_0: dwmmc0@f723d000 {
++ cap-mmc-highspeed;
++ non-removable;
++ bus-width = <0x8>;
++ vmmc-supply = <&ldo19>;
++ };
++
++ dwmmc_1: dwmmc1@f723e000 {
++ card-detect-delay = <200>;
++ cap-sd-highspeed;
++ sd-uhs-sdr12;
++ sd-uhs-sdr25;
++ sd-uhs-sdr50;
++ vqmmc-supply = <&ldo7>;
++ vmmc-supply = <&ldo10>;
++ bus-width = <0x4>;
++ disable-wp;
++ cd-gpios = <&gpio1 0 1>;
++ };
++
+ dwmmc_2: dwmmc2@f723f000 {
+- ti,non-removable;
++ broken-cd;
++ bus-width = <0x4>;
+ non-removable;
+ /* WL_EN */
+ vmmc-supply = <&wlan_en_reg>;
+diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
+index 951152d44c02..5013e4b2ea71 100644
+--- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
++++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
+@@ -756,17 +756,12 @@
+
+ dwmmc_0: dwmmc0@f723d000 {
+ compatible = "hisilicon,hi6220-dw-mshc";
+- num-slots = <0x1>;
+- cap-mmc-highspeed;
+- non-removable;
+ reg = <0x0 0xf723d000 0x0 0x1000>;
+ interrupts = <0x0 0x48 0x4>;
+ clocks = <&sys_ctrl 2>, <&sys_ctrl 1>;
+ clock-names = "ciu", "biu";
+ resets = <&sys_ctrl PERIPH_RSTDIS0_MMC0>;
+ reset-names = "reset";
+- bus-width = <0x8>;
+- vmmc-supply = <&ldo19>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&emmc_pmx_func &emmc_clk_cfg_func
+ &emmc_cfg_func &emmc_rst_cfg_func>;
+@@ -774,13 +769,7 @@
+
+ dwmmc_1: dwmmc1@f723e000 {
+ compatible = "hisilicon,hi6220-dw-mshc";
+- num-slots = <0x1>;
+- card-detect-delay = <200>;
+ hisilicon,peripheral-syscon = <&ao_ctrl>;
+- cap-sd-highspeed;
+- sd-uhs-sdr12;
+- sd-uhs-sdr25;
+- sd-uhs-sdr50;
+ reg = <0x0 0xf723e000 0x0 0x1000>;
+ interrupts = <0x0 0x49 0x4>;
+ #address-cells = <0x1>;
+@@ -789,11 +778,6 @@
+ clock-names = "ciu", "biu";
+ resets = <&sys_ctrl PERIPH_RSTDIS0_MMC1>;
+ reset-names = "reset";
+- vqmmc-supply = <&ldo7>;
+- vmmc-supply = <&ldo10>;
+- bus-width = <0x4>;
+- disable-wp;
+- cd-gpios = <&gpio1 0 1>;
+ pinctrl-names = "default", "idle";
+ pinctrl-0 = <&sd_pmx_func &sd_clk_cfg_func &sd_cfg_func>;
+ pinctrl-1 = <&sd_pmx_idle &sd_clk_cfg_idle &sd_cfg_idle>;
+@@ -801,15 +785,12 @@
+
+ dwmmc_2: dwmmc2@f723f000 {
+ compatible = "hisilicon,hi6220-dw-mshc";
+- num-slots = <0x1>;
+ reg = <0x0 0xf723f000 0x0 0x1000>;
+ interrupts = <0x0 0x4a 0x4>;
+ clocks = <&sys_ctrl HI6220_MMC2_CIUCLK>, <&sys_ctrl HI6220_MMC2_CLK>;
+ clock-names = "ciu", "biu";
+ resets = <&sys_ctrl PERIPH_RSTDIS0_MMC2>;
+ reset-names = "reset";
+- bus-width = <0x4>;
+- broken-cd;
+ pinctrl-names = "default", "idle";
+ pinctrl-0 = <&sdio_pmx_func &sdio_clk_cfg_func &sdio_cfg_func>;
+ pinctrl-1 = <&sdio_pmx_idle &sdio_clk_cfg_idle &sdio_cfg_idle>;
+--
+2.13.0
+
+From ea452678734eb782126f999bf5c4fb3e71d3b196 Mon Sep 17 00:00:00 2001
+From: Ulf Hansson <ulf.hansson@linaro.org>
+Date: Wed, 3 May 2017 16:11:33 +0200
+Subject: [PATCH 186/554] arm64: dts: hikey: Fix WiFi support
+
+The description of the connection between the dwmmc (SDIO) controller and
+the Wifi chip, which is attached to the SDIO bus is wrong. Currently the
+SDIO card can't be detected and thus the Wifi doesn't work.
+
+Let's fix this by assigning the correct vmmc supply, which is the always on
+regulator VDD_3V3 and remove the WLAN enable regulator altogether. Then to
+properly deal with the power on/off sequence, add a mmc-pwrseq node to
+describe the resources needed to detect the SDIO card.
+
+Except for the WLAN enable GPIO and its corresponding assert/de-assert
+delays, the mmc-pwrseq node also contains a handle to a clock provided by
+the hi655x pmic. This clock is also needed to be able to turn on the WiFi
+chip.
+
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+Acked-by: Arnd Bergmann <arnd@arndb.de>
+---
+ arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 26 +++++++++++---------------
+ 1 file changed, 11 insertions(+), 15 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+index 5132d8ed4664..49f6a6242cf9 100644
+--- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
++++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+@@ -111,6 +111,15 @@
+ vin-supply = <&reg_sys_5v>;
+ };
+
++ wl1835_pwrseq: wl1835-pwrseq {
++ compatible = "mmc-pwrseq-simple";
++ /* WLAN_EN GPIO */
++ reset-gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
++ clocks = <&pmic>;
++ clock-names = "ext_clock";
++ power-off-delay-us = <10>;
++ };
++
+ soc {
+ spi0: spi@f7106000 {
+ status = "ok";
+@@ -307,11 +316,10 @@
+ };
+
+ dwmmc_2: dwmmc2@f723f000 {
+- broken-cd;
+ bus-width = <0x4>;
+ non-removable;
+- /* WL_EN */
+- vmmc-supply = <&wlan_en_reg>;
++ vmmc-supply = <&reg_vdd_3v3>;
++ mmc-pwrseq = <&wl1835_pwrseq>;
+
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+@@ -323,18 +331,6 @@
+ interrupts = <3 IRQ_TYPE_EDGE_RISING>;
+ };
+ };
+-
+- wlan_en_reg: regulator@1 {
+- compatible = "regulator-fixed";
+- regulator-name = "wlan-en-regulator";
+- regulator-min-microvolt = <1800000>;
+- regulator-max-microvolt = <1800000>;
+- /* WLAN_EN GPIO */
+- gpio = <&gpio0 5 0>;
+- /* WLAN card specific delay */
+- startup-delay-us = <70000>;
+- enable-active-high;
+- };
+ };
+
+ leds {
+--
+2.13.0
+
diff --git a/baseconfig/CONFIG_CROS_KBD_LED_BACKLIGHT b/baseconfig/CONFIG_CROS_KBD_LED_BACKLIGHT
index 95f043d68..83b61e1e1 100644
--- a/baseconfig/CONFIG_CROS_KBD_LED_BACKLIGHT
+++ b/baseconfig/CONFIG_CROS_KBD_LED_BACKLIGHT
@@ -1 +1 @@
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
diff --git a/baseconfig/CONFIG_DRM_MXSFB b/baseconfig/CONFIG_DRM_MXSFB
index e24a8952c..550352f6d 100644
--- a/baseconfig/CONFIG_DRM_MXSFB
+++ b/baseconfig/CONFIG_DRM_MXSFB
@@ -1 +1 @@
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
diff --git a/baseconfig/CONFIG_IIO_CROS_EC_SENSORS_COR b/baseconfig/CONFIG_IIO_CROS_EC_SENSORS_COR
deleted file mode 100644
index f3d54f70e..000000000
--- a/baseconfig/CONFIG_IIO_CROS_EC_SENSORS_COR
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
diff --git a/baseconfig/CONFIG_INPUT_MMA8450 b/baseconfig/CONFIG_INPUT_MMA8450
index 68519d153..105180917 100644
--- a/baseconfig/CONFIG_INPUT_MMA8450
+++ b/baseconfig/CONFIG_INPUT_MMA8450
@@ -1 +1 @@
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
diff --git a/baseconfig/CONFIG_KEYBOARD_QT1070 b/baseconfig/CONFIG_KEYBOARD_QT1070
index 7deb75f9a..f9f0b0a84 100644
--- a/baseconfig/CONFIG_KEYBOARD_QT1070
+++ b/baseconfig/CONFIG_KEYBOARD_QT1070
@@ -1 +1 @@
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
diff --git a/baseconfig/CONFIG_MAX1363 b/baseconfig/CONFIG_MAX1363
index d0090112c..08e944fb7 100644
--- a/baseconfig/CONFIG_MAX1363
+++ b/baseconfig/CONFIG_MAX1363
@@ -1 +1 @@
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
diff --git a/baseconfig/CONFIG_SENSORS_ADS1015 b/baseconfig/CONFIG_SENSORS_ADS1015
index 4fc01f323..928b4f25f 100644
--- a/baseconfig/CONFIG_SENSORS_ADS1015
+++ b/baseconfig/CONFIG_SENSORS_ADS1015
@@ -1 +1 @@
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
diff --git a/baseconfig/x86/CONFIG_SPI_ROCKCHIP b/baseconfig/CONFIG_SPI_ROCKCHIP
index bf067a3e5..bf067a3e5 100644
--- a/baseconfig/x86/CONFIG_SPI_ROCKCHIP
+++ b/baseconfig/CONFIG_SPI_ROCKCHIP
diff --git a/baseconfig/CONFIG_TI_ADS1015 b/baseconfig/CONFIG_TI_ADS1015
index 8a8d511c6..f57c3fdc4 100644
--- a/baseconfig/CONFIG_TI_ADS1015
+++ b/baseconfig/CONFIG_TI_ADS1015
@@ -1 +1 @@
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
diff --git a/baseconfig/arm/armv7/CONFIG_CROS_EC_CHARDEV b/baseconfig/arm/CONFIG_CROS_EC_CHARDEV
index a3df83240..a3df83240 100644
--- a/baseconfig/arm/armv7/CONFIG_CROS_EC_CHARDEV
+++ b/baseconfig/arm/CONFIG_CROS_EC_CHARDEV
diff --git a/baseconfig/arm/armv7/CONFIG_CROS_EC_PROTO b/baseconfig/arm/CONFIG_CROS_EC_PROTO
index 96a1e9bcb..96a1e9bcb 100644
--- a/baseconfig/arm/armv7/CONFIG_CROS_EC_PROTO
+++ b/baseconfig/arm/CONFIG_CROS_EC_PROTO
diff --git a/baseconfig/arm/CONFIG_DRM_LVDS_ENCODER b/baseconfig/arm/CONFIG_DRM_LVDS_ENCODER
new file mode 100644
index 000000000..53f0efb59
--- /dev/null
+++ b/baseconfig/arm/CONFIG_DRM_LVDS_ENCODER
@@ -0,0 +1 @@
+CONFIG_DRM_LVDS_ENCODER=m
diff --git a/baseconfig/arm/CONFIG_DRM_PANEL_JDI_LT070ME05000 b/baseconfig/arm/CONFIG_DRM_PANEL_JDI_LT070ME05000
new file mode 100644
index 000000000..1d6f21566
--- /dev/null
+++ b/baseconfig/arm/CONFIG_DRM_PANEL_JDI_LT070ME05000
@@ -0,0 +1 @@
+CONFIG_DRM_PANEL_JDI_LT070ME05000=m
diff --git a/baseconfig/arm/CONFIG_DRM_TOSHIBA_TC358767 b/baseconfig/arm/CONFIG_DRM_TOSHIBA_TC358767
new file mode 100644
index 000000000..dd9667384
--- /dev/null
+++ b/baseconfig/arm/CONFIG_DRM_TOSHIBA_TC358767
@@ -0,0 +1 @@
+CONFIG_DRM_TOSHIBA_TC358767=m
diff --git a/baseconfig/arm/armv7/CONFIG_I2C_CROS_EC_TUNNEL b/baseconfig/arm/CONFIG_I2C_CROS_EC_TUNNEL
index f32c67849..f32c67849 100644
--- a/baseconfig/arm/armv7/CONFIG_I2C_CROS_EC_TUNNEL
+++ b/baseconfig/arm/CONFIG_I2C_CROS_EC_TUNNEL
diff --git a/baseconfig/arm/CONFIG_IIO_CROS_EC_BARO b/baseconfig/arm/CONFIG_IIO_CROS_EC_BARO
new file mode 100644
index 000000000..c64555bfa
--- /dev/null
+++ b/baseconfig/arm/CONFIG_IIO_CROS_EC_BARO
@@ -0,0 +1 @@
+CONFIG_IIO_CROS_EC_BARO=m
diff --git a/baseconfig/CONFIG_IIO_CROS_EC_SENSORS b/baseconfig/arm/CONFIG_IIO_CROS_EC_SENSORS
index e93e4c8f0..e93e4c8f0 100644
--- a/baseconfig/CONFIG_IIO_CROS_EC_SENSORS
+++ b/baseconfig/arm/CONFIG_IIO_CROS_EC_SENSORS
diff --git a/baseconfig/CONFIG_IIO_CROS_EC_SENSORS_CORE b/baseconfig/arm/CONFIG_IIO_CROS_EC_SENSORS_CORE
index baf78d1ad..baf78d1ad 100644
--- a/baseconfig/CONFIG_IIO_CROS_EC_SENSORS_CORE
+++ b/baseconfig/arm/CONFIG_IIO_CROS_EC_SENSORS_CORE
diff --git a/baseconfig/arm/CONFIG_KEYBOARD_ADC b/baseconfig/arm/CONFIG_KEYBOARD_ADC
new file mode 100644
index 000000000..d9b66de57
--- /dev/null
+++ b/baseconfig/arm/CONFIG_KEYBOARD_ADC
@@ -0,0 +1 @@
+CONFIG_KEYBOARD_ADC=m
diff --git a/baseconfig/arm/armv7/CONFIG_KEYBOARD_CROS_EC b/baseconfig/arm/CONFIG_KEYBOARD_CROS_EC
index 0444103f7..0444103f7 100644
--- a/baseconfig/arm/armv7/CONFIG_KEYBOARD_CROS_EC
+++ b/baseconfig/arm/CONFIG_KEYBOARD_CROS_EC
diff --git a/baseconfig/arm/armv7/CONFIG_MFD_CROS_EC b/baseconfig/arm/CONFIG_MFD_CROS_EC
index 3600231f6..3600231f6 100644
--- a/baseconfig/arm/armv7/CONFIG_MFD_CROS_EC
+++ b/baseconfig/arm/CONFIG_MFD_CROS_EC
diff --git a/baseconfig/arm/armv7/CONFIG_MFD_CROS_EC_I2C b/baseconfig/arm/CONFIG_MFD_CROS_EC_I2C
index e67f4a1e6..e67f4a1e6 100644
--- a/baseconfig/arm/armv7/CONFIG_MFD_CROS_EC_I2C
+++ b/baseconfig/arm/CONFIG_MFD_CROS_EC_I2C
diff --git a/baseconfig/arm/armv7/CONFIG_MFD_CROS_EC_SPI b/baseconfig/arm/CONFIG_MFD_CROS_EC_SPI
index 3b26eb47d..3b26eb47d 100644
--- a/baseconfig/arm/armv7/CONFIG_MFD_CROS_EC_SPI
+++ b/baseconfig/arm/CONFIG_MFD_CROS_EC_SPI
diff --git a/baseconfig/arm/armv7/CONFIG_PWM_CROS_EC b/baseconfig/arm/CONFIG_PWM_CROS_EC
index b3e721134..b3e721134 100644
--- a/baseconfig/arm/armv7/CONFIG_PWM_CROS_EC
+++ b/baseconfig/arm/CONFIG_PWM_CROS_EC
diff --git a/baseconfig/arm/CONFIG_QCOM_SPMI_IADC b/baseconfig/arm/CONFIG_QCOM_SPMI_IADC
deleted file mode 100644
index 1b31637a0..000000000
--- a/baseconfig/arm/CONFIG_QCOM_SPMI_IADC
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_QCOM_SPMI_IADC is not set
diff --git a/baseconfig/arm/CONFIG_QCOM_SPMI_VADC b/baseconfig/arm/CONFIG_QCOM_SPMI_VADC
deleted file mode 100644
index 54e057273..000000000
--- a/baseconfig/arm/CONFIG_QCOM_SPMI_VADC
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_QCOM_SPMI_VADC is not set
diff --git a/baseconfig/arm/CONFIG_REGULATOR_FAN53555 b/baseconfig/arm/CONFIG_REGULATOR_FAN53555
index d62314c7d..5534cc406 100644
--- a/baseconfig/arm/CONFIG_REGULATOR_FAN53555
+++ b/baseconfig/arm/CONFIG_REGULATOR_FAN53555
@@ -1 +1 @@
-# CONFIG_REGULATOR_FAN53555 is not set
+CONFIG_REGULATOR_FAN53555=m
diff --git a/baseconfig/arm/CONFIG_REGULATOR_QCOM_SPMI b/baseconfig/arm/CONFIG_REGULATOR_QCOM_SPMI
deleted file mode 100644
index fe224dc89..000000000
--- a/baseconfig/arm/CONFIG_REGULATOR_QCOM_SPMI
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_REGULATOR_QCOM_SPMI is not set
diff --git a/baseconfig/arm/arm64/CONFIG_ARM64_SW_TTBR0_PAN b/baseconfig/arm/arm64/CONFIG_ARM64_SW_TTBR0_PAN
index 3b878e832..294c8ec50 100644
--- a/baseconfig/arm/arm64/CONFIG_ARM64_SW_TTBR0_PAN
+++ b/baseconfig/arm/arm64/CONFIG_ARM64_SW_TTBR0_PAN
@@ -1 +1 @@
-# CONFIG_ARM64_SW_TTBR0_PAN is not set
+CONFIG_ARM64_SW_TTBR0_PAN=y
diff --git a/baseconfig/arm/arm64/CONFIG_EXTCON_QCOM_SPMI_MISC b/baseconfig/arm/arm64/CONFIG_EXTCON_QCOM_SPMI_MISC
new file mode 100644
index 000000000..b52487909
--- /dev/null
+++ b/baseconfig/arm/arm64/CONFIG_EXTCON_QCOM_SPMI_MISC
@@ -0,0 +1 @@
+CONFIG_EXTCON_QCOM_SPMI_MISC=m
diff --git a/baseconfig/arm/arm64/CONFIG_GPIO_PCA953X b/baseconfig/arm/arm64/CONFIG_GPIO_PCA953X
deleted file mode 100644
index 15f1c9373..000000000
--- a/baseconfig/arm/arm64/CONFIG_GPIO_PCA953X
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_GPIO_PCA953X=m
diff --git a/baseconfig/arm/CONFIG_MFD_SPMI_PMIC b/baseconfig/arm/arm64/CONFIG_MFD_SPMI_PMIC
index 6360fee39..6360fee39 100644
--- a/baseconfig/arm/CONFIG_MFD_SPMI_PMIC
+++ b/baseconfig/arm/arm64/CONFIG_MFD_SPMI_PMIC
diff --git a/baseconfig/CONFIG_QCOM_ADSP_PIL b/baseconfig/arm/arm64/CONFIG_QCOM_ADSP_PIL
index 0aa258124..0aa258124 100644
--- a/baseconfig/CONFIG_QCOM_ADSP_PIL
+++ b/baseconfig/arm/arm64/CONFIG_QCOM_ADSP_PIL
diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_Q6V5_PIL b/baseconfig/arm/arm64/CONFIG_QCOM_Q6V5_PIL
index b749a7daa..18d8fb792 100644
--- a/baseconfig/arm/arm64/CONFIG_QCOM_Q6V5_PIL
+++ b/baseconfig/arm/arm64/CONFIG_QCOM_Q6V5_PIL
@@ -1 +1 @@
-# CONFIG_QCOM_Q6V5_PIL is not set
+CONFIG_QCOM_Q6V5_PIL=m
diff --git a/baseconfig/arm/arm64/CONFIG_QCOM_WCNSS_PIL b/baseconfig/arm/arm64/CONFIG_QCOM_WCNSS_PIL
index bb8c24d61..b13cefb38 100644
--- a/baseconfig/arm/arm64/CONFIG_QCOM_WCNSS_PIL
+++ b/baseconfig/arm/arm64/CONFIG_QCOM_WCNSS_PIL
@@ -1 +1 @@
-# CONFIG_QCOM_WCNSS_PIL is not set
+CONFIG_QCOM_WCNSS_PIL=m
diff --git a/baseconfig/arm/CONFIG_REGMAP_SPMI b/baseconfig/arm/arm64/CONFIG_REGMAP_SPMI
index 0c319596b..0c319596b 100644
--- a/baseconfig/arm/CONFIG_REGMAP_SPMI
+++ b/baseconfig/arm/arm64/CONFIG_REGMAP_SPMI
diff --git a/baseconfig/arm/CONFIG_SPMI b/baseconfig/arm/arm64/CONFIG_SPMI
index b340c89e6..b340c89e6 100644
--- a/baseconfig/arm/CONFIG_SPMI
+++ b/baseconfig/arm/arm64/CONFIG_SPMI
diff --git a/baseconfig/arm/armv7/CONFIG_DRM_PANEL b/baseconfig/arm/armv7/CONFIG_DRM_PANEL
deleted file mode 100644
index de8a9c247..000000000
--- a/baseconfig/arm/armv7/CONFIG_DRM_PANEL
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DRM_PANEL=y
diff --git a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_LG_LG4573 b/baseconfig/arm/armv7/CONFIG_DRM_PANEL_LG_LG4573
deleted file mode 100644
index bdb9d96a2..000000000
--- a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_LG_LG4573
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DRM_PANEL_LG_LG4573=m
diff --git a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 b/baseconfig/arm/armv7/CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00
deleted file mode 100644
index 6a1aa6578..000000000
--- a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
diff --git a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SAMSUNG_LD9040 b/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SAMSUNG_LD9040
deleted file mode 100644
index aa66847bb..000000000
--- a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SAMSUNG_LD9040
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
diff --git a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 b/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0
deleted file mode 100644
index 8e8122a2d..000000000
--- a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m
diff --git a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 b/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01
deleted file mode 100644
index e5e36406d..000000000
--- a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SHARP_LQ101R1SX01
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
diff --git a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SHARP_LS043T1LE01 b/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SHARP_LS043T1LE01
deleted file mode 100644
index e3649f9de..000000000
--- a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SHARP_LS043T1LE01
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
diff --git a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SIMPLE b/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SIMPLE
deleted file mode 100644
index 1c716c97c..000000000
--- a/baseconfig/arm/armv7/CONFIG_DRM_PANEL_SIMPLE
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_DRM_PANEL_SIMPLE=m
diff --git a/baseconfig/arm/armv7/CONFIG_IIO_CROS_EC_BARO b/baseconfig/arm/armv7/CONFIG_IIO_CROS_EC_BARO
deleted file mode 100644
index 7b38ce09b..000000000
--- a/baseconfig/arm/armv7/CONFIG_IIO_CROS_EC_BARO
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_IIO_CROS_EC_BARO is not set
diff --git a/baseconfig/arm/armv7/CONFIG_MMA8452 b/baseconfig/arm/armv7/CONFIG_MMA8452
new file mode 100644
index 000000000..44b2d2ae8
--- /dev/null
+++ b/baseconfig/arm/armv7/CONFIG_MMA8452
@@ -0,0 +1 @@
+CONFIG_MMA8452=m
diff --git a/baseconfig/arm/armv7/CONFIG_QCOM_SPMI_TEMP_ALARM b/baseconfig/arm/armv7/CONFIG_QCOM_SPMI_TEMP_ALARM
deleted file mode 100644
index 69966daab..000000000
--- a/baseconfig/arm/armv7/CONFIG_QCOM_SPMI_TEMP_ALARM
+++ /dev/null
@@ -1 +0,0 @@
-# CONFIG_QCOM_SPMI_TEMP_ALARM is not set
diff --git a/baseconfig/arm/armv7/CONFIG_REGULATOR_FAN53555 b/baseconfig/arm/armv7/CONFIG_REGULATOR_FAN53555
deleted file mode 100644
index 5534cc406..000000000
--- a/baseconfig/arm/armv7/CONFIG_REGULATOR_FAN53555
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_REGULATOR_FAN53555=m
diff --git a/baseconfig/arm/armv7/CONFIG_UBIFS_FS b/baseconfig/arm/armv7/CONFIG_UBIFS_FS
deleted file mode 100644
index e71980df4..000000000
--- a/baseconfig/arm/armv7/CONFIG_UBIFS_FS
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_UBIFS_FS=m
diff --git a/baseconfig/arm/armv7/CONFIG_UBIFS_FS_ADVANCED_COMPR b/baseconfig/arm/armv7/CONFIG_UBIFS_FS_ADVANCED_COMPR
deleted file mode 100644
index f91c8cd6c..000000000
--- a/baseconfig/arm/armv7/CONFIG_UBIFS_FS_ADVANCED_COMPR
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
diff --git a/baseconfig/arm/armv7/CONFIG_UBIFS_FS_LZO b/baseconfig/arm/armv7/CONFIG_UBIFS_FS_LZO
deleted file mode 100644
index e743a6b32..000000000
--- a/baseconfig/arm/armv7/CONFIG_UBIFS_FS_LZO
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_UBIFS_FS_LZO=y
diff --git a/baseconfig/arm/armv7/CONFIG_UBIFS_FS_ZLIB b/baseconfig/arm/armv7/CONFIG_UBIFS_FS_ZLIB
deleted file mode 100644
index 18bffa1f1..000000000
--- a/baseconfig/arm/armv7/CONFIG_UBIFS_FS_ZLIB
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_UBIFS_FS_ZLIB=y
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_DRM_MXSFB b/baseconfig/arm/armv7/armv7/CONFIG_DRM_MXSFB
new file mode 100644
index 000000000..e24a8952c
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_DRM_MXSFB
@@ -0,0 +1 @@
+CONFIG_DRM_MXSFB=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_EXTCON_QCOM_SPMI_MISC b/baseconfig/arm/armv7/armv7/CONFIG_EXTCON_QCOM_SPMI_MISC
new file mode 100644
index 000000000..b52487909
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_EXTCON_QCOM_SPMI_MISC
@@ -0,0 +1 @@
+CONFIG_EXTCON_QCOM_SPMI_MISC=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_KXSD9 b/baseconfig/arm/armv7/armv7/CONFIG_KXSD9
new file mode 100644
index 000000000..090669c9c
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_KXSD9
@@ -0,0 +1 @@
+CONFIG_KXSD9=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_KXSD9_I2C b/baseconfig/arm/armv7/armv7/CONFIG_KXSD9_I2C
new file mode 100644
index 000000000..3d2256700
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_KXSD9_I2C
@@ -0,0 +1 @@
+CONFIG_KXSD9_I2C=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_KXSD9_SPI b/baseconfig/arm/armv7/armv7/CONFIG_KXSD9_SPI
new file mode 100644
index 000000000..f4da57bbc
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_KXSD9_SPI
@@ -0,0 +1 @@
+CONFIG_KXSD9_SPI=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_MFD_SPMI_PMIC b/baseconfig/arm/armv7/armv7/CONFIG_MFD_SPMI_PMIC
new file mode 100644
index 000000000..6360fee39
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_MFD_SPMI_PMIC
@@ -0,0 +1 @@
+CONFIG_MFD_SPMI_PMIC=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_MPU3050_I2C b/baseconfig/arm/armv7/armv7/CONFIG_MPU3050_I2C
new file mode 100644
index 000000000..2e9c7cc45
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_MPU3050_I2C
@@ -0,0 +1 @@
+CONFIG_MPU3050_I2C=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_ADSP_PIL b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_ADSP_PIL
new file mode 100644
index 000000000..0aa258124
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_ADSP_PIL
@@ -0,0 +1 @@
+CONFIG_QCOM_ADSP_PIL=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_Q6V5_PIL b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_Q6V5_PIL
index b749a7daa..18d8fb792 100644
--- a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_Q6V5_PIL
+++ b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_Q6V5_PIL
@@ -1 +1 @@
-# CONFIG_QCOM_Q6V5_PIL is not set
+CONFIG_QCOM_Q6V5_PIL=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_SPMI_TEMP_ALARM b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_SPMI_TEMP_ALARM
new file mode 100644
index 000000000..7155372b9
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_SPMI_TEMP_ALARM
@@ -0,0 +1 @@
+CONFIG_QCOM_SPMI_TEMP_ALARM=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_WCNSS_PIL b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_WCNSS_PIL
index bb8c24d61..b13cefb38 100644
--- a/baseconfig/arm/armv7/armv7/CONFIG_QCOM_WCNSS_PIL
+++ b/baseconfig/arm/armv7/armv7/CONFIG_QCOM_WCNSS_PIL
@@ -1 +1 @@
-# CONFIG_QCOM_WCNSS_PIL is not set
+CONFIG_QCOM_WCNSS_PIL=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_REGMAP_SPMI b/baseconfig/arm/armv7/armv7/CONFIG_REGMAP_SPMI
new file mode 100644
index 000000000..0c319596b
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_REGMAP_SPMI
@@ -0,0 +1 @@
+CONFIG_REGMAP_SPMI=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_REGULATOR_FAN53555 b/baseconfig/arm/armv7/armv7/CONFIG_REGULATOR_FAN53555
deleted file mode 100644
index 5534cc406..000000000
--- a/baseconfig/arm/armv7/armv7/CONFIG_REGULATOR_FAN53555
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_REGULATOR_FAN53555=m
diff --git a/baseconfig/arm/armv7/armv7/CONFIG_SPMI b/baseconfig/arm/armv7/armv7/CONFIG_SPMI
new file mode 100644
index 000000000..b340c89e6
--- /dev/null
+++ b/baseconfig/arm/armv7/armv7/CONFIG_SPMI
@@ -0,0 +1 @@
+CONFIG_SPMI=m
diff --git a/baseconfig/s390x/CONFIG_CRASH_DUMP b/baseconfig/s390x/CONFIG_CRASH_DUMP
deleted file mode 100644
index 84bb04c03..000000000
--- a/baseconfig/s390x/CONFIG_CRASH_DUMP
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_CRASH_DUMP=y
diff --git a/bcm2835-clk-audio-jitter-issues.patch b/bcm2835-clk-audio-jitter-issues.patch
new file mode 100644
index 000000000..91304d64b
--- /dev/null
+++ b/bcm2835-clk-audio-jitter-issues.patch
@@ -0,0 +1,206 @@
+From patchwork Thu Jun 1 14:14:16 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v4,1/2] clk: bcm2835: Limit PCM clock to OSC and PLLD_PER
+From: Phil Elwell <phil@raspberrypi.org>
+X-Patchwork-Id: 9759641
+Message-Id: <8cc0ba82-d33e-127b-7b86-ac595ef416d1@raspberrypi.org>
+To: Michael Turquette <mturquette@baylibre.com>,
+ Stephen Boyd <sboyd@codeaurora.org>, Eric Anholt <eric@anholt.net>,
+ Stefan Wahren <stefan.wahren@i2se.com>,
+ Florian Fainelli <f.fainelli@gmail.com>,
+ linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org,
+ linux-kernel@vger.kernel.org
+Date: Thu, 1 Jun 2017 15:14:16 +0100
+
+Restrict clock sources for the PCM peripheral to the oscillator and
+PLLD_PER because other source may have varying rates or be switched off.
+Prevent other sources from being selected by replacing their names in
+the list of potential parents with dummy entries (entry index is
+significant).
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+Reviewed-by: Eric Anholt <eric@anholt.net>
+Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
+---
+ drivers/clk/bcm/clk-bcm2835.c | 27 ++++++++++++++++++++++++++-
+ 1 file changed, 26 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c
+index 0258538..49867d2 100644
+--- a/drivers/clk/bcm/clk-bcm2835.c
++++ b/drivers/clk/bcm/clk-bcm2835.c
+@@ -1516,6 +1516,31 @@ struct bcm2835_clk_desc {
+ .parents = bcm2835_clock_per_parents, \
+ __VA_ARGS__)
+
++/*
++ * Restrict clock sources for the PCM peripheral to the oscillator and
++ * PLLD_PER because other source may have varying rates or be switched
++ * off.
++ *
++ * Prevent other sources from being selected by replacing their names in
++ * the list of potential parents with dummy entries (entry index is
++ * significant).
++ */
++static const char *const bcm2835_pcm_per_parents[] = {
++ "-",
++ "xosc",
++ "-",
++ "-",
++ "-",
++ "-",
++ "plld_per",
++ "-",
++};
++
++#define REGISTER_PCM_CLK(...) REGISTER_CLK( \
++ .num_mux_parents = ARRAY_SIZE(bcm2835_pcm_per_parents), \
++ .parents = bcm2835_pcm_per_parents, \
++ __VA_ARGS__)
++
+ /* main vpu parent mux */
+ static const char *const bcm2835_clock_vpu_parents[] = {
+ "gnd",
+@@ -1993,7 +2018,7 @@ struct bcm2835_clk_desc {
+ .int_bits = 4,
+ .frac_bits = 8,
+ .tcnt_mux = 22),
+- [BCM2835_CLOCK_PCM] = REGISTER_PER_CLK(
++ [BCM2835_CLOCK_PCM] = REGISTER_PCM_CLK(
+ .name = "pcm",
+ .ctl_reg = CM_PCMCTL,
+ .div_reg = CM_PCMDIV,
+From patchwork Thu Jun 1 14:14:22 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v4,2/2] clk: bcm2835: Minimise clock jitter for PCM clock
+From: Phil Elwell <phil@raspberrypi.org>
+X-Patchwork-Id: 9759643
+Message-Id: <9989244b-ca4d-9081-95d9-b24f51099222@raspberrypi.org>
+To: Michael Turquette <mturquette@baylibre.com>,
+ Stephen Boyd <sboyd@codeaurora.org>, Eric Anholt <eric@anholt.net>,
+ Stefan Wahren <stefan.wahren@i2se.com>,
+ Florian Fainelli <f.fainelli@gmail.com>,
+ linux-clk@vger.kernel.org, linux-rpi-kernel@lists.infradead.org,
+ linux-kernel@vger.kernel.org
+Date: Thu, 1 Jun 2017 15:14:22 +0100
+
+Fractional clock dividers generate accurate average frequencies but
+with jitter, particularly when the integer divisor is small.
+
+Introduce a new metric of clock accuracy to penalise clocks with a good
+average but worse jitter compared to clocks with an average which is no
+better but with lower jitter. The metric is the ideal rate minus the
+worse deviation from that ideal using the nearest integer divisors.
+
+Use this metric for parent selection for clocks requiring low jitter
+(currently just PCM).
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+Reviewed-by: Eric Anholt <eric@anholt.net>
+Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
+---
+ drivers/clk/bcm/clk-bcm2835.c | 34 +++++++++++++++++++++++++++++-----
+ 1 file changed, 29 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c
+index 49867d2..0bc56a0 100644
+--- a/drivers/clk/bcm/clk-bcm2835.c
++++ b/drivers/clk/bcm/clk-bcm2835.c
+@@ -530,6 +530,7 @@ struct bcm2835_clock_data {
+
+ bool is_vpu_clock;
+ bool is_mash_clock;
++ bool low_jitter;
+
+ u32 tcnt_mux;
+ };
+@@ -1124,7 +1125,8 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw,
+ int parent_idx,
+ unsigned long rate,
+ u32 *div,
+- unsigned long *prate)
++ unsigned long *prate,
++ unsigned long *avgrate)
+ {
+ struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw);
+ struct bcm2835_cprman *cprman = clock->cprman;
+@@ -1139,8 +1141,25 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw,
+ *prate = clk_hw_get_rate(parent);
+ *div = bcm2835_clock_choose_div(hw, rate, *prate, true);
+
+- return bcm2835_clock_rate_from_divisor(clock, *prate,
+- *div);
++ *avgrate = bcm2835_clock_rate_from_divisor(clock, *prate, *div);
++
++ if (data->low_jitter && (*div & CM_DIV_FRAC_MASK)) {
++ unsigned long high, low;
++ u32 int_div = *div & ~CM_DIV_FRAC_MASK;
++
++ high = bcm2835_clock_rate_from_divisor(clock, *prate,
++ int_div);
++ int_div += CM_DIV_FRAC_MASK + 1;
++ low = bcm2835_clock_rate_from_divisor(clock, *prate,
++ int_div);
++
++ /*
++ * Return a value which is the maximum deviation
++ * below the ideal rate, for use as a metric.
++ */
++ return *avgrate - max(*avgrate - low, high - *avgrate);
++ }
++ return *avgrate;
+ }
+
+ if (data->frac_bits)
+@@ -1167,6 +1186,7 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw,
+
+ *div = curdiv << CM_DIV_FRAC_BITS;
+ *prate = curdiv * best_rate;
++ *avgrate = best_rate;
+
+ return best_rate;
+ }
+@@ -1178,6 +1198,7 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw,
+ bool current_parent_is_pllc;
+ unsigned long rate, best_rate = 0;
+ unsigned long prate, best_prate = 0;
++ unsigned long avgrate, best_avgrate = 0;
+ size_t i;
+ u32 div;
+
+@@ -1202,11 +1223,13 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw,
+ continue;
+
+ rate = bcm2835_clock_choose_div_and_prate(hw, i, req->rate,
+- &div, &prate);
++ &div, &prate,
++ &avgrate);
+ if (rate > best_rate && rate <= req->rate) {
+ best_parent = parent;
+ best_prate = prate;
+ best_rate = rate;
++ best_avgrate = avgrate;
+ }
+ }
+
+@@ -1216,7 +1239,7 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw,
+ req->best_parent_hw = best_parent;
+ req->best_parent_rate = best_prate;
+
+- req->rate = best_rate;
++ req->rate = best_avgrate;
+
+ return 0;
+ }
+@@ -2025,6 +2048,7 @@ struct bcm2835_clk_desc {
+ .int_bits = 12,
+ .frac_bits = 12,
+ .is_mash_clock = true,
++ .low_jitter = true,
+ .tcnt_mux = 23),
+ [BCM2835_CLOCK_PWM] = REGISTER_PER_CLK(
+ .name = "pwm",
diff --git a/bcm283x-mmc-bcm2835.patch b/bcm283x-mmc-bcm2835.patch
index d9591b438..ba9ae3648 100644
--- a/bcm283x-mmc-bcm2835.patch
+++ b/bcm283x-mmc-bcm2835.patch
@@ -1930,3 +1930,69 @@ index 7d1b0db..1f343a4 100644
if (host->use_sbc) {
if (bcm2835_send_command(host, mrq->sbc)) {
if (!host->use_busy)
+From patchwork Tue May 23 23:42:27 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: mmc: host: fix potential null pointer dereference
+From: "Gustavo A. R. Silva" <garsilva@embeddedor.com>
+X-Patchwork-Id: 9744419
+Message-Id: <20170523234227.GA13018@embeddedgus>
+To: Ulf Hansson <ulf.hansson@linaro.org>,
+ Florian Fainelli <f.fainelli@gmail.com>,
+ Ray Jui <rjui@broadcom.com>, Scott Branden <sbranden@broadcom.com>,
+ bcm-kernel-feedback-list@broadcom.com, Eric Anholt <eric@anholt.net>,
+ Stefan Wahren <stefan.wahren@i2se.com>
+Cc: "Gustavo A. R. Silva" <garsilva@embeddedor.com>,
+ linux-mmc@vger.kernel.org, linux-rpi-kernel@lists.infradead.org,
+ linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org
+Date: Tue, 23 May 2017 18:42:27 -0500
+
+Null check at line 1165: if (mrq->cmd), implies that mrq->cmd might
+be NULL.
+Add null checks before dereferencing pointer mrq->cmd in order to avoid
+any potential NULL pointer dereference.
+
+Addresses-Coverity-ID: 1408740
+Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
+---
+ drivers/mmc/host/bcm2835.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/mmc/host/bcm2835.c b/drivers/mmc/host/bcm2835.c
+index 1f343a4..abba9a2 100644
+--- a/drivers/mmc/host/bcm2835.c
++++ b/drivers/mmc/host/bcm2835.c
+@@ -1172,7 +1172,10 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq)
+ if (mrq->data && !is_power_of_2(mrq->data->blksz)) {
+ dev_err(dev, "unsupported block size (%d bytes)\n",
+ mrq->data->blksz);
+- mrq->cmd->error = -EINVAL;
++
++ if (mrq->cmd)
++ mrq->cmd->error = -EINVAL;
++
+ mmc_request_done(mmc, mrq);
+ return;
+ }
+@@ -1194,7 +1197,10 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq)
+ readl(host->ioaddr + SDCMD) & SDCMD_CMD_MASK,
+ edm);
+ bcm2835_dumpregs(host);
+- mrq->cmd->error = -EILSEQ;
++
++ if (mrq->cmd)
++ mrq->cmd->error = -EILSEQ;
++
+ bcm2835_finish_request(host);
+ mutex_unlock(&host->mutex);
+ return;
+@@ -1207,7 +1213,7 @@ static void bcm2835_request(struct mmc_host *mmc, struct mmc_request *mrq)
+ if (!host->use_busy)
+ bcm2835_finish_command(host);
+ }
+- } else if (bcm2835_send_command(host, mrq->cmd)) {
++ } else if (mrq->cmd && bcm2835_send_command(host, mrq->cmd)) {
+ if (host->data && host->dma_desc) {
+ /* DMA transfer starts now, PIO starts after irq */
+ bcm2835_start_dma(host);
diff --git a/drm-i915-Do-not-drop-pagetables-when-empty.patch b/drm-i915-Do-not-drop-pagetables-when-empty.patch
new file mode 100644
index 000000000..8dcbc81bb
--- /dev/null
+++ b/drm-i915-Do-not-drop-pagetables-when-empty.patch
@@ -0,0 +1,95 @@
+From patchwork Fri May 26 08:29:06 2017
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+Subject: drm/i915: Do not drop pagetables when empty
+From: Daniel Vetter <daniel.vetter@ffwll.ch>
+X-Patchwork-Id: 158340
+Message-Id: <20170526082906.8982-1-daniel.vetter@ffwll.ch>
+To: Intel Graphics Development <intel-gfx@lists.freedesktop.org>
+Cc: "# v4 . 10+" <stable@vger.kernel.org>,
+ Daniel Vetter <daniel.vetter@intel.com>,
+ Mika Kuoppala <mika.kuoppala@intel.com>
+Date: Fri, 26 May 2017 10:29:06 +0200
+
+From: Chris Wilson <chris@chris-wilson.co.uk>
+
+This is the minimal backport for stable of the upstream commit:
+
+commit dd19674bacba227ae5d3ce680cbc5668198894dc
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Wed Feb 15 08:43:46 2017 +0000
+
+ drm/i915: Remove bitmap tracking for used-ptes
+
+Due to a race with the shrinker, when we try to allocate a pagetable, we
+may end up shrinking it instead. This comes as a nasty surprise as we
+try to dereference it to fill in the pagetable entries for the object.
+
+In linus/master this is fixed by pinning the pagetables prior to
+allocation, but that backport is roughly
+ drivers/gpu/drm/i915/i915_debugfs.c | 2 +-
+ drivers/gpu/drm/i915/i915_gem_evict.c | 12 +-
+ drivers/gpu/drm/i915/i915_gem_gtt.c | 2017 ++++++++++++++-------------------
+ drivers/gpu/drm/i915/i915_gem_gtt.h | 123 +-
+ drivers/gpu/drm/i915/i915_trace.h | 104 --
+ drivers/gpu/drm/i915/i915_vgpu.c | 9 +-
+ drivers/gpu/drm/i915/i915_vma.c | 9 -
+ drivers/gpu/drm/i915/intel_lrc.c | 4 +-
+ 8 files changed, 946 insertions(+), 1334 deletions(-)
+i.e. unsuitable for stable. Instead we neuter the code that tried to
+free the pagetables.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99295
+Fixes: 2ce5179fe826 ("drm/i915/gtt: Free unused lower-level page tables")
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+Cc: Michel Thierry <michel.thierry@intel.com>
+Cc: Mika Kuoppala <mika.kuoppala@intel.com>
+Cc: Chris Wilson <chris@chris-wilson.co.uk>
+Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
+Cc: Michał Winiarski <michal.winiarski@intel.com>
+Cc: Daniel Vetter <daniel.vetter@intel.com>
+Cc: Jani Nikula <jani.nikula@linux.intel.com>
+Cc: intel-gfx@lists.freedesktop.org
+Cc: <stable@vger.kernel.org> # v4.10+
+Tested-by: Maël Lavault <mael.lavault@protonmail.com>
+Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
+---
+ drivers/gpu/drm/i915/i915_gem_gtt.c | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
+index 96e45a4d5441..4f581adf2fcf 100644
+--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
++++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
+@@ -755,10 +755,6 @@ static bool gen8_ppgtt_clear_pt(struct i915_address_space *vm,
+ GEM_BUG_ON(pte_end > GEN8_PTES);
+
+ bitmap_clear(pt->used_ptes, pte, num_entries);
+- if (USES_FULL_PPGTT(vm->i915)) {
+- if (bitmap_empty(pt->used_ptes, GEN8_PTES))
+- return true;
+- }
+
+ pt_vaddr = kmap_px(pt);
+
+@@ -798,9 +794,6 @@ static bool gen8_ppgtt_clear_pd(struct i915_address_space *vm,
+ }
+ }
+
+- if (bitmap_empty(pd->used_pdes, I915_PDES))
+- return true;
+-
+ return false;
+ }
+
+@@ -829,9 +822,6 @@ static bool gen8_ppgtt_clear_pdp(struct i915_address_space *vm,
+
+ mark_tlbs_dirty(ppgtt);
+
+- if (bitmap_empty(pdp->used_pdpes, I915_PDPES_PER_PDP(dev_priv)))
+- return true;
+-
+ return false;
+ }
+
diff --git a/efi-lockdown.patch b/efi-lockdown.patch
index 54a7caa24..7803d6dff 100644
--- a/efi-lockdown.patch
+++ b/efi-lockdown.patch
@@ -1,4 +1,4 @@
-From df7d76ae50f18d4465e59fdf7f19d3df44906cb5 Mon Sep 17 00:00:00 2001
+From 85255f3885abdd1d2e5dc9f6e51f2fc9db075843 Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer@fedoraproject.org>
Date: Mon, 21 Nov 2016 23:55:55 +0000
Subject: [PATCH 07/32] efi: Add EFI_SECURE_BOOT bit
@@ -18,10 +18,10 @@ Signed-off-by: David Howells <dhowells@redhat.com>
2 files changed, 2 insertions(+)
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index 69780ed..447905e 100644
+index 4bf0c89..396285b 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
-@@ -1182,6 +1182,7 @@ void __init setup_arch(char **cmdline_p)
+@@ -1184,6 +1184,7 @@ void __init setup_arch(char **cmdline_p)
pr_info("Secure boot disabled\n");
break;
case efi_secureboot_mode_enabled:
@@ -42,13 +42,13 @@ index 94d34e0..6049600 100644
#ifdef CONFIG_EFI
/*
--
-2.7.4
+2.7.5
-From f05a90c19a9613d8d50597319ed91f691e25b689 Mon Sep 17 00:00:00 2001
+From 341507e80b888b5b587bdb60f0d95275dbbcad89 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Mon, 21 Nov 2016 23:36:17 +0000
-Subject: [PATCH 09/32] Add the ability to lock down access to the running
- kernel image
+Subject: [PATCH 09/32] Add the ability to lock down access to the running kernel
+ image
Provide a single call to allow kernel code to determine whether the system
should be locked down, thereby disallowing various accesses that might
@@ -67,10 +67,10 @@ Signed-off-by: David Howells <dhowells@redhat.com>
create mode 100644 security/lock_down.c
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
-index cb09238..3cd3be9 100644
+index 4c26dc3..b820a80 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
-@@ -273,6 +273,15 @@ extern int oops_may_print(void);
+@@ -275,6 +275,15 @@ extern int oops_may_print(void);
void do_exit(long error_code) __noreturn;
void complete_and_exit(struct completion *, long) __noreturn;
@@ -87,10 +87,10 @@ index cb09238..3cd3be9 100644
int __must_check _kstrtoul(const char *s, unsigned int base, unsigned long *res);
int __must_check _kstrtol(const char *s, unsigned int base, long *res);
diff --git a/include/linux/security.h b/include/linux/security.h
-index d3868f2..187b74b 100644
+index 96899fa..5808570 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
-@@ -1679,5 +1679,16 @@ static inline void free_secdata(void *secdata)
+@@ -1678,5 +1678,16 @@ static inline void free_secdata(void *secdata)
{ }
#endif /* CONFIG_SECURITY */
@@ -191,9 +191,9 @@ index 0000000..5788c60
+}
+EXPORT_SYMBOL(kernel_is_locked_down);
--
-2.7.4
+2.7.5
-From fb6feb38e297260d050fc477c72683ac51d07ae3 Mon Sep 17 00:00:00 2001
+From dfabd5c5acc95a2de69d44f794e6f1ce894fd3ff Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Mon, 21 Nov 2016 23:55:55 +0000
Subject: [PATCH 10/32] efi: Lock down the kernel if booted in secure boot mode
@@ -211,10 +211,10 @@ Signed-off-by: David Howells <dhowells@redhat.com>
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index 874c123..a315974 100644
+index cc98d5a..21f3985 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -1816,6 +1816,18 @@ config EFI_MIXED
+@@ -1817,6 +1817,18 @@ config EFI_MIXED
If unsure, say N.
@@ -234,7 +234,7 @@ index 874c123..a315974 100644
def_bool y
prompt "Enable seccomp to safely compute untrusted bytecode"
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index 447905e..d44e60e 100644
+index 396285b..85dfa74 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -69,6 +69,7 @@
@@ -245,7 +245,7 @@ index 447905e..d44e60e 100644
#include <video/edid.h>
-@@ -1183,7 +1184,12 @@ void __init setup_arch(char **cmdline_p)
+@@ -1185,7 +1186,12 @@ void __init setup_arch(char **cmdline_p)
break;
case efi_secureboot_mode_enabled:
set_bit(EFI_SECURE_BOOT, &efi.flags);
@@ -260,9 +260,9 @@ index 447905e..d44e60e 100644
default:
pr_info("Secure boot could not be determined\n");
--
-2.7.4
+2.7.5
-From 7182f2f5b254d6dc6d3105d2f99219a76adf9de0 Mon Sep 17 00:00:00 2001
+From 0329e34894da0599619b03fa6cb16d575bfc68d4 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Wed, 23 Nov 2016 13:22:22 +0000
Subject: [PATCH 11/32] Enforce module signatures if the kernel is locked down
@@ -289,13 +289,13 @@ index 7eba6de..3331f2e 100644
return err;
--
-2.7.4
+2.7.5
-From 7e97c58bcd0b4c082b889fb093a2779147532b9f Mon Sep 17 00:00:00 2001
+From 236e7dcbf5eb7b27416a819d6cb69d3006481cef Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:16 +0000
-Subject: [PATCH 12/32] Restrict /dev/mem and /dev/kmem when the kernel is
- locked down
+Subject: [PATCH 12/32] Restrict /dev/mem and /dev/kmem when the kernel is locked
+ down
Allowing users to write to address space makes it possible for the kernel to
be subverted, avoiding module loading restrictions. Prevent this when the
@@ -308,10 +308,10 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 6 insertions(+)
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
-index 6d9cc2d..f814404 100644
+index 6e0cbe0..a97b22f 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
-@@ -163,6 +163,9 @@ static ssize_t write_mem(struct file *file, const char __user *buf,
+@@ -179,6 +179,9 @@ static ssize_t write_mem(struct file *file, const char __user *buf,
if (p != *ppos)
return -EFBIG;
@@ -321,7 +321,7 @@ index 6d9cc2d..f814404 100644
if (!valid_phys_addr_range(p, count))
return -EFAULT;
-@@ -513,6 +516,9 @@ static ssize_t write_kmem(struct file *file, const char __user *buf,
+@@ -540,6 +543,9 @@ static ssize_t write_kmem(struct file *file, const char __user *buf,
char *kbuf; /* k-addr because vwrite() takes vmlist_lock rwlock */
int err = 0;
@@ -332,9 +332,9 @@ index 6d9cc2d..f814404 100644
unsigned long to_write = min_t(unsigned long, count,
(unsigned long)high_memory - p);
--
-2.7.4
+2.7.5
-From b83b68a9a13120664eaabf21a7b3ff0b065bd5b2 Mon Sep 17 00:00:00 2001
+From 58a5ca7a67b9091800f61c1c411b3f411fcd857b Mon Sep 17 00:00:00 2001
From: Kyle McMartin <kyle@redhat.com>
Date: Mon, 21 Nov 2016 23:55:56 +0000
Subject: [PATCH 13/32] Add a sysrq option to exit secure boot mode
@@ -354,10 +354,10 @@ Signed-off-by: David Howells <dhowells@redhat.com>
7 files changed, 68 insertions(+), 8 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index a315974..6931e68 100644
+index 21f3985..457c049 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -1828,6 +1828,16 @@ config EFI_SECURE_BOOT_LOCK_DOWN
+@@ -1829,6 +1829,16 @@ config EFI_SECURE_BOOT_LOCK_DOWN
image. Say Y here to automatically lock down the kernel when a
system boots with UEFI Secure Boot enabled.
@@ -375,7 +375,7 @@ index a315974..6931e68 100644
def_bool y
prompt "Enable seccomp to safely compute untrusted bytecode"
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index d44e60e..f7635d0 100644
+index 85dfa74..a415a48 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -71,6 +71,11 @@
@@ -390,7 +390,7 @@ index d44e60e..f7635d0 100644
#include <video/edid.h>
#include <asm/mtrr.h>
-@@ -1328,6 +1333,32 @@ void __init i386_reserve_resources(void)
+@@ -1330,6 +1335,32 @@ void __init i386_reserve_resources(void)
#endif /* CONFIG_X86_32 */
@@ -436,10 +436,10 @@ index 022be0e..4a054a5 100644
input_set_drvdata(udev->dev, udev);
diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c
-index 7113674..e1addc3 100644
+index c6fc714..0c96cf6 100644
--- a/drivers/tty/sysrq.c
+++ b/drivers/tty/sysrq.c
-@@ -479,6 +479,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
+@@ -481,6 +481,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
/* x: May be registered on mips for TLB dump */
/* x: May be registered on ppc/powerpc for xmon */
/* x: May be registered on sparc64 for global PMU dump */
@@ -447,7 +447,7 @@ index 7113674..e1addc3 100644
NULL, /* x */
/* y: May be registered on sparc64 for global register dump */
NULL, /* y */
-@@ -522,7 +523,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p)
+@@ -524,7 +525,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p)
sysrq_key_table[i] = op_p;
}
@@ -456,7 +456,7 @@ index 7113674..e1addc3 100644
{
struct sysrq_key_op *op_p;
int orig_log_level;
-@@ -542,11 +543,15 @@ void __handle_sysrq(int key, bool check_mask)
+@@ -544,11 +545,15 @@ void __handle_sysrq(int key, bool check_mask)
op_p = __sysrq_get_key_op(key);
if (op_p) {
@@ -473,7 +473,7 @@ index 7113674..e1addc3 100644
pr_cont("%s\n", op_p->action_msg);
console_loglevel = orig_log_level;
op_p->handler(key);
-@@ -578,7 +583,7 @@ void __handle_sysrq(int key, bool check_mask)
+@@ -580,7 +585,7 @@ void __handle_sysrq(int key, bool check_mask)
void handle_sysrq(int key)
{
if (sysrq_on())
@@ -482,7 +482,7 @@ index 7113674..e1addc3 100644
}
EXPORT_SYMBOL(handle_sysrq);
-@@ -659,7 +664,7 @@ static void sysrq_do_reset(unsigned long _state)
+@@ -661,7 +666,7 @@ static void sysrq_do_reset(unsigned long _state)
static void sysrq_handle_reset_request(struct sysrq_state *state)
{
if (state->reset_requested)
@@ -491,7 +491,7 @@ index 7113674..e1addc3 100644
if (sysrq_reset_downtime_ms)
mod_timer(&state->keyreset_timer,
-@@ -810,8 +815,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq,
+@@ -812,8 +817,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq,
default:
if (sysrq->active && value && value != 2) {
@@ -503,7 +503,7 @@ index 7113674..e1addc3 100644
}
break;
}
-@@ -1095,7 +1102,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf,
+@@ -1097,7 +1104,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf,
if (get_user(c, buf))
return -EFAULT;
@@ -570,10 +570,10 @@ index 387fa7d..f7c52a9 100644
int unregister_sysrq_key(int key, struct sysrq_key_op *op);
struct sysrq_key_op *__sysrq_get_key_op(int key);
diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c
-index ca18391..c4524b8 100644
+index c8146d5..b480cad 100644
--- a/kernel/debug/kdb/kdb_main.c
+++ b/kernel/debug/kdb/kdb_main.c
-@@ -1967,7 +1967,7 @@ static int kdb_sr(int argc, const char **argv)
+@@ -1970,7 +1970,7 @@ static int kdb_sr(int argc, const char **argv)
return KDB_ARGCOUNT;
kdb_trap_printk++;
@@ -583,9 +583,9 @@ index ca18391..c4524b8 100644
return 0;
--
-2.7.4
+2.7.5
-From 8884bd44932e595323fcddfb09c2a2a586134cdf Mon Sep 17 00:00:00 2001
+From 1b5f90719268c27616172f00cde6e1078eb413c5 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:15 +0000
Subject: [PATCH 14/32] kexec: Disable at runtime if the kernel is locked down
@@ -622,13 +622,12 @@ index 980936a..46de8e6 100644
* This leaves us room for future extensions.
*/
--
-2.7.4
+2.7.5
-From cace563d1743c3d2faf1e46bd4df8e63e2310207 Mon Sep 17 00:00:00 2001
+From 85eaf32ad6cb1ce6ab88601daac8e601386929bb Mon Sep 17 00:00:00 2001
From: Dave Young <dyoung@redhat.com>
Date: Tue, 22 Nov 2016 08:46:15 +0000
-Subject: [PATCH 15/32] Copy secure_boot flag in boot params across kexec
- reboot
+Subject: [PATCH] Copy secure_boot flag in boot params across kexec reboot
Kexec reboot in case secure boot being enabled does not keep the secure
boot mode in new kernel, so later one can load unsigned kernel via legacy
@@ -660,13 +659,12 @@ index d0a814a..3551bca 100644
ei->efi_systab = current_ei->efi_systab;
ei->efi_systab_hi = current_ei->efi_systab_hi;
--
-2.7.4
+2.7.5
-From 08a3467acbc28bb469d1eebd0f5fd40b944d984a Mon Sep 17 00:00:00 2001
+From 421f4933387c7663b99d63624bdc23d4037e9c26 Mon Sep 17 00:00:00 2001
From: "Lee, Chun-Yi" <joeyli.kernel@gmail.com>
Date: Wed, 23 Nov 2016 13:49:19 +0000
-Subject: [PATCH 16/32] kexec_file: Disable at runtime if securelevel has been
- set
+Subject: [PATCH 16/32] kexec_file: Disable at runtime if securelevel has been set
When KEXEC_VERIFY_SIG is not enabled, kernel should not loads image
through kexec_file systemcall if securelevel has been set.
@@ -682,7 +680,7 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 6 insertions(+)
diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c
-index b56a558..003cade 100644
+index b118735..f6937ee 100644
--- a/kernel/kexec_file.c
+++ b/kernel/kexec_file.c
@@ -268,6 +268,12 @@ SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd,
@@ -699,9 +697,9 @@ index b56a558..003cade 100644
if (flags != (flags & KEXEC_FILE_FLAGS))
return -EINVAL;
--
-2.7.4
+2.7.5
-From 925fd10d7a99a6f999dde76daf2b1ef1238b251a Mon Sep 17 00:00:00 2001
+From 0376070dd24c4226e047cf5ab8d68c8341b8d521 Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer@fedoraproject.org>
Date: Tue, 22 Nov 2016 08:46:15 +0000
Subject: [PATCH 17/32] hibernate: Disable when the kernel is locked down
@@ -718,10 +716,10 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
-index 86385af..1629798 100644
+index a8b978c..50cca5d 100644
--- a/kernel/power/hibernate.c
+++ b/kernel/power/hibernate.c
-@@ -67,7 +67,7 @@ static const struct platform_hibernation_ops *hibernation_ops;
+@@ -70,7 +70,7 @@ static const struct platform_hibernation_ops *hibernation_ops;
bool hibernation_available(void)
{
@@ -731,12 +729,12 @@ index 86385af..1629798 100644
/**
--
-2.7.4
+2.7.5
-From b14fb5fcd60c84a09a15bd7ec974b6fbce68335c Mon Sep 17 00:00:00 2001
+From fff7953fd653f695d0a43872726086637cad224b Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@srcf.ucam.org>
Date: Wed, 23 Nov 2016 13:28:17 +0000
-Subject: [PATCH 18/32] uswsusp: Disable when the kernel is locked down
+Subject: [PATCH] uswsusp: Disable when the kernel is locked down
uswsusp allows a user process to dump and then restore kernel state, which
makes it possible to modify the running kernel. Disable this if the kernel
@@ -763,13 +761,12 @@ index 22df9f7..e4b926d 100644
if (!atomic_add_unless(&snapshot_device_available, -1, 0)) {
--
-2.7.4
+2.7.5
-From d8167273e7562e5aa866d2b65e25bb1962de972c Mon Sep 17 00:00:00 2001
+From a4cb6a7d28d27aa8166b7e0d5f75fe16f2f18ac8 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:15 +0000
-Subject: [PATCH 19/32] PCI: Lock down BAR access when the kernel is locked
- down
+Subject: [PATCH 19/32] PCI: Lock down BAR access when the kernel is locked down
Any hardware that can potentially generate DMA has to be locked down in
order to avoid it being possible for an attacker to modify kernel code,
@@ -786,10 +783,10 @@ Signed-off-by: David Howells <dhowells@redhat.com>
3 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c
-index 0666287..b10992c 100644
+index 7ac258f..7d29b03 100644
--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
-@@ -718,6 +718,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj,
+@@ -727,6 +727,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj,
loff_t init_off = off;
u8 *data = (u8 *) buf;
@@ -799,7 +796,7 @@ index 0666287..b10992c 100644
if (off > dev->cfg_size)
return 0;
if (off + count > dev->cfg_size) {
-@@ -1009,6 +1012,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
+@@ -1022,6 +1025,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr,
resource_size_t start, end;
int i;
@@ -809,7 +806,7 @@ index 0666287..b10992c 100644
for (i = 0; i < PCI_ROM_RESOURCE; i++)
if (res == &pdev->resource[i])
break;
-@@ -1108,6 +1114,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj,
+@@ -1121,6 +1127,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj,
struct bin_attribute *attr, char *buf,
loff_t off, size_t count)
{
@@ -820,7 +817,7 @@ index 0666287..b10992c 100644
}
diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c
-index f82710a..139d6f0 100644
+index dc8912e..e2c5eff 100644
--- a/drivers/pci/proc.c
+++ b/drivers/pci/proc.c
@@ -116,6 +116,9 @@ static ssize_t proc_bus_pci_write(struct file *file, const char __user *buf,
@@ -845,13 +842,13 @@ index f82710a..139d6f0 100644
ret = pci_domain_nr(dev->bus);
@@ -233,7 +239,7 @@ static int proc_bus_pci_mmap(struct file *file, struct vm_area_struct *vma)
struct pci_filp_private *fpriv = file->private_data;
- int i, ret, write_combine;
+ int i, ret, write_combine = 0, res_bit;
- if (!capable(CAP_SYS_RAWIO))
+ if (!capable(CAP_SYS_RAWIO) || kernel_is_locked_down())
return -EPERM;
- /* Make sure the caller is mapping a real resource for this device */
+ if (fpriv->mmap_state == pci_mmap_io)
diff --git a/drivers/pci/syscall.c b/drivers/pci/syscall.c
index 9bf993e..c095247 100644
--- a/drivers/pci/syscall.c
@@ -866,13 +863,12 @@ index 9bf993e..c095247 100644
dev = pci_get_bus_and_slot(bus, dfn);
--
-2.7.4
+2.7.5
-From 169d13e0c5240ac6aad13aace5ecbdb3de2cfada Mon Sep 17 00:00:00 2001
+From 4f9b39483a30ae4bd6e9c90caaf3a0466161d024 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:16 +0000
-Subject: [PATCH 20/32] x86: Lock down IO port access when the kernel is locked
- down
+Subject: [PATCH 20/32] x86: Lock down IO port access when the kernel is locked down
IO port access would permit users to gain access to PCI configuration
registers, which in turn (on a lot of hardware) give access to MMIO
@@ -890,10 +886,10 @@ Signed-off-by: David Howells <dhowells@redhat.com>
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c
-index b01bc8517..4ccaace 100644
+index 9c3cf09..4a613fe 100644
--- a/arch/x86/kernel/ioport.c
+++ b/arch/x86/kernel/ioport.c
-@@ -29,7 +29,7 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
+@@ -30,7 +30,7 @@ asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int turn_on)
if ((from + num <= from) || (from + num > IO_BITMAP_BITS))
return -EINVAL;
@@ -902,7 +898,7 @@ index b01bc8517..4ccaace 100644
return -EPERM;
/*
-@@ -113,7 +113,7 @@ SYSCALL_DEFINE1(iopl, unsigned int, level)
+@@ -120,7 +120,7 @@ SYSCALL_DEFINE1(iopl, unsigned int, level)
return -EINVAL;
/* Trying to gain more privileges? */
if (level > old) {
@@ -912,10 +908,10 @@ index b01bc8517..4ccaace 100644
}
regs->flags = (regs->flags & ~X86_EFLAGS_IOPL) |
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
-index f814404..9afebb6 100644
+index a97b22f..8705f8f 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
-@@ -741,6 +741,8 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig)
+@@ -768,6 +768,8 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig)
static int open_port(struct inode *inode, struct file *filp)
{
@@ -925,9 +921,9 @@ index f814404..9afebb6 100644
}
--
-2.7.4
+2.7.5
-From efd24f7e9af624b62f39efce4f60b31f0ca643d8 Mon Sep 17 00:00:00 2001
+From b746ba587c937240794cd7006c15a0fb3b2f8128 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:17 +0000
Subject: [PATCH 21/32] x86: Restrict MSR access when the kernel is locked down
@@ -969,9 +965,9 @@ index ef68880..fbcce02 100644
err = -EFAULT;
break;
--
-2.7.4
+2.7.5
-From 62ebdffbcb0726b98562e9f1173a6d5967755764 Mon Sep 17 00:00:00 2001
+From 5aff4c16ee0a6441b1abbf6e80a5da9cf2007469 Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:16 +0000
Subject: [PATCH 22/32] asus-wmi: Restrict debugfs interface when the kernel is
@@ -990,10 +986,10 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 9 insertions(+)
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
-index 43cb680..9be3e08 100644
+index 8fe5890..feef250 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
-@@ -1898,6 +1898,9 @@ static int show_dsts(struct seq_file *m, void *data)
+@@ -1900,6 +1900,9 @@ static int show_dsts(struct seq_file *m, void *data)
int err;
u32 retval = -1;
@@ -1003,7 +999,7 @@ index 43cb680..9be3e08 100644
err = asus_wmi_get_devstate(asus, asus->debug.dev_id, &retval);
if (err < 0)
-@@ -1914,6 +1917,9 @@ static int show_devs(struct seq_file *m, void *data)
+@@ -1916,6 +1919,9 @@ static int show_devs(struct seq_file *m, void *data)
int err;
u32 retval = -1;
@@ -1013,7 +1009,7 @@ index 43cb680..9be3e08 100644
err = asus_wmi_set_devstate(asus->debug.dev_id, asus->debug.ctrl_param,
&retval);
-@@ -1938,6 +1944,9 @@ static int show_call(struct seq_file *m, void *data)
+@@ -1940,6 +1946,9 @@ static int show_call(struct seq_file *m, void *data)
union acpi_object *obj;
acpi_status status;
@@ -1024,13 +1020,13 @@ index 43cb680..9be3e08 100644
1, asus->debug.method_id,
&input, &output);
--
-2.7.4
+2.7.5
-From 31f493d03dde1854fa9e540f87a751fbeeb41cb9 Mon Sep 17 00:00:00 2001
+From f0b27fdb42b57c2044ea3cf49371f786acc7b58e Mon Sep 17 00:00:00 2001
From: Matthew Garrett <matthew.garrett@nebula.com>
Date: Tue, 22 Nov 2016 08:46:16 +0000
-Subject: [PATCH 23/32] ACPI: Limit access to custom_method when the kernel is
- locked down
+Subject: [PATCH 23/32] ACPI: Limit access to custom_method when the kernel is locked
+ down
custom_method effectively allows arbitrary access to system memory, making
it possible for an attacker to circumvent restrictions on module loading.
@@ -1057,13 +1053,13 @@ index c68e724..e4d721c 100644
/* parse the table header to get the table length */
if (count <= sizeof(struct acpi_table_header))
--
-2.7.4
+2.7.5
-From 1dec5dc62c78f78b9efe44aac3d6119d97b67017 Mon Sep 17 00:00:00 2001
+From d67f882220ae3d969b496ad93fcbbcd3b09288cd Mon Sep 17 00:00:00 2001
From: Josh Boyer <jwboyer@redhat.com>
Date: Tue, 22 Nov 2016 08:46:16 +0000
-Subject: [PATCH 24/32] acpi: Ignore acpi_rsdp kernel param when the kernel has
- been locked down
+Subject: [PATCH 24/32] acpi: Ignore acpi_rsdp kernel param when the kernel has been
+ locked down
This option allows userspace to pass the RSDP address to the kernel, which
makes it possible for a user to circumvent any restrictions imposed on
@@ -1089,13 +1085,13 @@ index db78d35..d4d4ba3 100644
#endif
--
-2.7.4
+2.7.5
-From 96eaf04100d7365d93f898013175351c7d2702a6 Mon Sep 17 00:00:00 2001
+From 15b10045321ac2af988918726a461178237d2d24 Mon Sep 17 00:00:00 2001
From: Linn Crosetto <linn@hpe.com>
Date: Wed, 23 Nov 2016 13:32:27 +0000
-Subject: [PATCH 25/32] acpi: Disable ACPI table override if the kernel is
- locked down
+Subject: [PATCH 25/32] acpi: Disable ACPI table override if the kernel is locked
+ down
From the kernel documentation (initrd_table_override.txt):
@@ -1130,13 +1126,13 @@ index 2604189..601096d 100644
memblock_find_in_range(0, ACPI_TABLE_UPGRADE_MAX_PHYS,
all_tables_size, PAGE_SIZE);
--
-2.7.4
+2.7.5
-From 521979b819b853f7578ba8edef8b33bc2077026d Mon Sep 17 00:00:00 2001
+From dec3a108f63021d82b132847a02e8496f613ac6f Mon Sep 17 00:00:00 2001
From: Linn Crosetto <linn@hpe.com>
Date: Wed, 23 Nov 2016 13:39:41 +0000
-Subject: [PATCH 26/32] acpi: Disable APEI error injection if the kernel is
- locked down
+Subject: [PATCH 26/32] acpi: Disable APEI error injection if the kernel is locked
+ down
ACPI provides an error injection mechanism, EINJ, for debugging and testing
the ACPI Platform Error Interface (APEI) and other RAS features. If
@@ -1174,9 +1170,9 @@ index ec50c32..e082718 100644
if (flags && (flags &
~(SETWA_FLAGS_APICID|SETWA_FLAGS_MEM|SETWA_FLAGS_PCIE_SBDF)))
--
-2.7.4
+2.7.5
-From fe597dad1cba83345d62c4079c0d8861c426698c Mon Sep 17 00:00:00 2001
+From dcc51d5b69c23c3f955b332d959f13cb61b4500c Mon Sep 17 00:00:00 2001
From: Matthew Garrett <mjg59@coreos.com>
Date: Wed, 23 Nov 2016 13:41:23 +0000
Subject: [PATCH 27/32] Enable cold boot attack mitigation
@@ -1232,13 +1228,13 @@ index 801c7a1..ef9409b 100644
* If the boot loader gave us a value for secure_boot then we use that,
* otherwise we ask the BIOS.
--
-2.7.4
+2.7.5
-From 04fac895731801bc6cb26a6061f1c353c80a866c Mon Sep 17 00:00:00 2001
+From 6cff44c809671affbf65ac2e0d0c2b0a0f705756 Mon Sep 17 00:00:00 2001
From: "Lee, Chun-Yi" <jlee@suse.com>
Date: Wed, 23 Nov 2016 13:52:16 +0000
-Subject: [PATCH 28/32] bpf: Restrict kernel image access functions when the
- kernel is locked down
+Subject: [PATCH 28/32] bpf: Restrict kernel image access functions when the kernel
+ is locked down
There are some bpf functions can be used to read kernel memory:
bpf_probe_read, bpf_probe_write_user and bpf_trace_printk. These allow
@@ -1289,9 +1285,9 @@ index cee9802..7fde851 100644
for (i = 0; i < fmt_size; i++) {
if ((!isprint(fmt[i]) && !isspace(fmt[i])) || !isascii(fmt[i]))
--
-2.7.4
+2.7.5
-From 707d0e14c2c0d6c3139ff4bcb16ee22c462b4304 Mon Sep 17 00:00:00 2001
+From 9c7dd48309e4d8e18a9979f6c0cbf9c7b8bf4ea1 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Tue, 22 Nov 2016 10:10:34 +0000
Subject: [PATCH 29/32] scsi: Lock down the eata driver
@@ -1317,7 +1313,7 @@ cc: linux-scsi@vger.kernel.org
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c
-index 227dd2c..5c036d10 100644
+index 227dd2c..5c036d1 100644
--- a/drivers/scsi/eata.c
+++ b/drivers/scsi/eata.c
@@ -1552,8 +1552,13 @@ static int eata2x_detect(struct scsi_host_template *tpnt)
@@ -1336,13 +1332,12 @@ index 227dd2c..5c036d10 100644
#if defined(MODULE)
/* io_port could have been modified when loading as a module */
--
-2.7.4
+2.7.5
-From 07e05e0b7d806a05eba55092630bb75a92311344 Mon Sep 17 00:00:00 2001
+From 5e2b99e099ba52131c7a87695b294961a0bf54f1 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Fri, 25 Nov 2016 14:37:45 +0000
-Subject: [PATCH 30/32] Prohibit PCMCIA CIS storage when the kernel is locked
- down
+Subject: [PATCH 30/32] Prohibit PCMCIA CIS storage when the kernel is locked down
Prohibit replacement of the PCMCIA Card Information Structure when the
kernel is locked down.
@@ -1369,9 +1364,9 @@ index 55ef7d1..193e4f7 100644
if (off)
--
-2.7.4
+2.7.5
-From cf1e877adbe35c5f72a9d85570b494aa3f35be6a Mon Sep 17 00:00:00 2001
+From 6d6e052a6c2df0a7a492439efe1ac6d62498e0d4 Mon Sep 17 00:00:00 2001
From: David Howells <dhowells@redhat.com>
Date: Wed, 7 Dec 2016 10:28:39 +0000
Subject: [PATCH 31/32] Lock down TIOCSSERIAL
@@ -1388,10 +1383,10 @@ Signed-off-by: David Howells <dhowells@redhat.com>
1 file changed, 6 insertions(+)
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
-index 9939c3d..7c040e2 100644
+index 3fe5689..4181b00 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
-@@ -820,6 +820,12 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port,
+@@ -821,6 +821,12 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port,
new_flags = new_info->flags;
old_custom_divisor = uport->custom_divisor;
@@ -1405,5 +1400,5 @@ index 9939c3d..7c040e2 100644
retval = -EPERM;
if (change_irq || change_port ||
--
-2.7.4
+2.7.5
diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug.config
index b0c8f40a6..24424629a 100644
--- a/kernel-aarch64-debug.config
+++ b/kernel-aarch64-debug.config
@@ -253,7 +253,7 @@ CONFIG_ARM64_PAN=y
CONFIG_ARM64_PTDUMP_DEBUGFS=y
CONFIG_ARM64_PTDUMP=y
# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set
-# CONFIG_ARM64_SW_TTBR0_PAN is not set
+CONFIG_ARM64_SW_TTBR0_PAN=y
CONFIG_ARM64_UAO=y
CONFIG_ARM64_VA_BITS=48
CONFIG_ARM64_VA_BITS_48=y
@@ -912,7 +912,9 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_EC_CHARDEV=m
+CONFIG_CROS_EC_PROTO=y
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1229,6 +1231,7 @@ CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_LVDS_ENCODER=m
CONFIG_DRM=m
CONFIG_DRM_MALI_DISPLAY=m
CONFIG_DRM_MESON=m
@@ -1238,11 +1241,11 @@ CONFIG_DRM_MGAG200=m
CONFIG_DRM_MSM_HDMI_HDCP=y
CONFIG_DRM_MSM=m
# CONFIG_DRM_MSM_REGISTER_LOGGING is not set
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
CONFIG_DRM_NXP_PTN3460=m
-# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+CONFIG_DRM_PANEL_JDI_LT070ME05000=m
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
@@ -1267,7 +1270,7 @@ CONFIG_DRM_TEGRA=m
CONFIG_DRM_TEGRA_STAGING=y
CONFIG_DRM_TINYDRM=m
CONFIG_DRM_TI_TFP410=m
-# CONFIG_DRM_TOSHIBA_TC358767 is not set
+CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_UDL=m
CONFIG_DRM_VC4=m
CONFIG_DRM_VGEM=m
@@ -1448,7 +1451,7 @@ CONFIG_EXTCON_GPIO=m
CONFIG_EXTCON_INTEL_INT3496=m
CONFIG_EXTCON=m
# CONFIG_EXTCON_MAX3355 is not set
-# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
+CONFIG_EXTCON_QCOM_SPMI_MISC=m
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
CONFIG_EXTCON_USB_GPIO=m
@@ -1676,7 +1679,7 @@ CONFIG_GPIO_MAX77620=m
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_MVEBU=y
CONFIG_GPIO_PCA953X_IRQ=y
-CONFIG_GPIO_PCA953X=m
+CONFIG_GPIO_PCA953X=y
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
CONFIG_GPIO_PCI_IDIO_16=m
@@ -1923,6 +1926,7 @@ CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CROS_EC_TUNNEL=m
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CORE is not set
@@ -2019,8 +2023,8 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+CONFIG_IIO_CROS_EC_BARO=m
CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
@@ -2140,7 +2144,7 @@ CONFIG_INPUT_KXTJ9=m
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
@@ -2493,12 +2497,13 @@ CONFIG_KERNEL_GZIP=y
CONFIG_KERNEL_MODE_NEON=y
# CONFIG_KEXEC_FILE is not set
CONFIG_KEXEC=y
-# CONFIG_KEYBOARD_ADC is not set
+CONFIG_KEYBOARD_ADC=m
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_BCM is not set
# CONFIG_KEYBOARD_CAP11XX is not set
+CONFIG_KEYBOARD_CROS_EC=m
CONFIG_KEYBOARD_GPIO=m
CONFIG_KEYBOARD_GPIO_POLLED=m
# CONFIG_KEYBOARD_LKKBD is not set
@@ -2512,7 +2517,7 @@ CONFIG_KEYBOARD_GPIO_POLLED=m
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2740,7 +2745,7 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -2851,7 +2856,9 @@ CONFIG_MFD_AXP20X=y
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=y
CONFIG_MFD_CPCAP=m
-# CONFIG_MFD_CROS_EC is not set
+CONFIG_MFD_CROS_EC_I2C=m
+CONFIG_MFD_CROS_EC=m
+CONFIG_MFD_CROS_EC_SPI=m
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
@@ -4029,6 +4036,7 @@ CONFIG_PSTORE=y
CONFIG_PTP_1588_CLOCK=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PWM_BCM2835=m
+CONFIG_PWM_CROS_EC=m
# CONFIG_PWM_FSL_FTM is not set
CONFIG_PWM_HIBVT=m
CONFIG_PWM_MESON=m
@@ -4056,7 +4064,7 @@ CONFIG_QCOM_HIDMA=m
CONFIG_QCOM_HIDMA_MGMT=m
CONFIG_QCOM_IRQ_COMBINER=y
CONFIG_QCOM_L2_PMU=y
-# CONFIG_QCOM_Q6V5_PIL is not set
+CONFIG_QCOM_Q6V5_PIL=m
CONFIG_QCOM_QDF2400_ERRATUM_0065=y
CONFIG_QCOM_QFPROM=m
CONFIG_QCOM_SMD=m
@@ -4069,7 +4077,7 @@ CONFIG_QCOM_SPMI_TEMP_ALARM=m
CONFIG_QCOM_SPMI_VADC=m
CONFIG_QCOM_TSENS=m
CONFIG_QCOM_WCNSS_CTRL=m
-# CONFIG_QCOM_WCNSS_PIL is not set
+CONFIG_QCOM_WCNSS_PIL=m
CONFIG_QCOM_WDT=m
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4176,7 +4184,7 @@ CONFIG_REGULATOR_CPCAP=m
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_DEBUG is not set
-# CONFIG_REGULATOR_FAN53555 is not set
+CONFIG_REGULATOR_FAN53555=m
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_GPIO=m
CONFIG_REGULATOR_HI655X=m
@@ -4594,7 +4602,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -5418,7 +5426,7 @@ CONFIG_THUNDER_NIC_VF=m
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
diff --git a/kernel-aarch64.config b/kernel-aarch64.config
index 37bd5d69c..95ecda6ca 100644
--- a/kernel-aarch64.config
+++ b/kernel-aarch64.config
@@ -253,7 +253,7 @@ CONFIG_ARM64_PAN=y
CONFIG_ARM64_PTDUMP_DEBUGFS=y
# CONFIG_ARM64_PTDUMP is not set
# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set
-# CONFIG_ARM64_SW_TTBR0_PAN is not set
+CONFIG_ARM64_SW_TTBR0_PAN=y
CONFIG_ARM64_UAO=y
CONFIG_ARM64_VA_BITS=48
CONFIG_ARM64_VA_BITS_48=y
@@ -911,7 +911,9 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_EC_CHARDEV=m
+CONFIG_CROS_EC_PROTO=y
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1219,6 +1221,7 @@ CONFIG_DRM_I2C_NXP_TDA998X=m
CONFIG_DRM_I2C_SIL164=m
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_LVDS_ENCODER=m
CONFIG_DRM=m
CONFIG_DRM_MALI_DISPLAY=m
CONFIG_DRM_MESON=m
@@ -1228,11 +1231,11 @@ CONFIG_DRM_MGAG200=m
CONFIG_DRM_MSM_HDMI_HDCP=y
CONFIG_DRM_MSM=m
# CONFIG_DRM_MSM_REGISTER_LOGGING is not set
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
CONFIG_DRM_NXP_PTN3460=m
-# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+CONFIG_DRM_PANEL_JDI_LT070ME05000=m
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
@@ -1257,7 +1260,7 @@ CONFIG_DRM_TEGRA=m
CONFIG_DRM_TEGRA_STAGING=y
CONFIG_DRM_TINYDRM=m
CONFIG_DRM_TI_TFP410=m
-# CONFIG_DRM_TOSHIBA_TC358767 is not set
+CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_UDL=m
CONFIG_DRM_VC4=m
CONFIG_DRM_VGEM=m
@@ -1438,7 +1441,7 @@ CONFIG_EXTCON_GPIO=m
CONFIG_EXTCON_INTEL_INT3496=m
CONFIG_EXTCON=m
# CONFIG_EXTCON_MAX3355 is not set
-# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
+CONFIG_EXTCON_QCOM_SPMI_MISC=m
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
CONFIG_EXTCON_USB_GPIO=m
@@ -1659,7 +1662,7 @@ CONFIG_GPIO_MAX77620=m
# CONFIG_GPIO_MPC8XXX is not set
CONFIG_GPIO_MVEBU=y
CONFIG_GPIO_PCA953X_IRQ=y
-CONFIG_GPIO_PCA953X=m
+CONFIG_GPIO_PCA953X=y
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_PCH is not set
CONFIG_GPIO_PCI_IDIO_16=m
@@ -1906,6 +1909,7 @@ CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CROS_EC_TUNNEL=m
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CORE is not set
@@ -2002,8 +2006,8 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+CONFIG_IIO_CROS_EC_BARO=m
CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
@@ -2123,7 +2127,7 @@ CONFIG_INPUT_KXTJ9=m
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
@@ -2474,12 +2478,13 @@ CONFIG_KERNEL_GZIP=y
CONFIG_KERNEL_MODE_NEON=y
# CONFIG_KEXEC_FILE is not set
CONFIG_KEXEC=y
-# CONFIG_KEYBOARD_ADC is not set
+CONFIG_KEYBOARD_ADC=m
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_BCM is not set
# CONFIG_KEYBOARD_CAP11XX is not set
+CONFIG_KEYBOARD_CROS_EC=m
CONFIG_KEYBOARD_GPIO=m
CONFIG_KEYBOARD_GPIO_POLLED=m
# CONFIG_KEYBOARD_LKKBD is not set
@@ -2493,7 +2498,7 @@ CONFIG_KEYBOARD_GPIO_POLLED=m
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2721,7 +2726,7 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -2831,7 +2836,9 @@ CONFIG_MFD_AXP20X=y
# CONFIG_MFD_BCM590XX is not set
CONFIG_MFD_CORE=y
CONFIG_MFD_CPCAP=m
-# CONFIG_MFD_CROS_EC is not set
+CONFIG_MFD_CROS_EC_I2C=m
+CONFIG_MFD_CROS_EC=m
+CONFIG_MFD_CROS_EC_SPI=m
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
@@ -4007,6 +4014,7 @@ CONFIG_PSTORE=y
CONFIG_PTP_1588_CLOCK=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PWM_BCM2835=m
+CONFIG_PWM_CROS_EC=m
# CONFIG_PWM_FSL_FTM is not set
CONFIG_PWM_HIBVT=m
CONFIG_PWM_MESON=m
@@ -4034,7 +4042,7 @@ CONFIG_QCOM_HIDMA=m
CONFIG_QCOM_HIDMA_MGMT=m
CONFIG_QCOM_IRQ_COMBINER=y
CONFIG_QCOM_L2_PMU=y
-# CONFIG_QCOM_Q6V5_PIL is not set
+CONFIG_QCOM_Q6V5_PIL=m
CONFIG_QCOM_QDF2400_ERRATUM_0065=y
CONFIG_QCOM_QFPROM=m
CONFIG_QCOM_SMD=m
@@ -4047,7 +4055,7 @@ CONFIG_QCOM_SPMI_TEMP_ALARM=m
CONFIG_QCOM_SPMI_VADC=m
CONFIG_QCOM_TSENS=m
CONFIG_QCOM_WCNSS_CTRL=m
-# CONFIG_QCOM_WCNSS_PIL is not set
+CONFIG_QCOM_WCNSS_PIL=m
CONFIG_QCOM_WDT=m
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4154,7 +4162,7 @@ CONFIG_REGULATOR_CPCAP=m
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_DEBUG is not set
-# CONFIG_REGULATOR_FAN53555 is not set
+CONFIG_REGULATOR_FAN53555=m
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_GPIO=m
CONFIG_REGULATOR_HI655X=m
@@ -4572,7 +4580,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -5395,7 +5403,7 @@ CONFIG_THUNDER_NIC_VF=m
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug.config
index 0b75171a7..9e4321b25 100644
--- a/kernel-armv7hl-debug.config
+++ b/kernel-armv7hl-debug.config
@@ -964,7 +964,7 @@ CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
CONFIG_CROS_EC_CHARDEV=m
CONFIG_CROS_EC_PROTO=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1327,6 +1327,7 @@ CONFIG_DRM_IMX_PARALLEL_DISPLAY=m
CONFIG_DRM_IMX_TVE=m
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_LVDS_ENCODER=m
CONFIG_DRM=m
CONFIG_DRM_MALI_DISPLAY=m
CONFIG_DRM_MESON=m
@@ -1356,7 +1357,7 @@ CONFIG_DRM_OMAP_PANEL_SHARP_LS037V7DW01=m
CONFIG_DRM_OMAP_PANEL_SONY_ACX565AKM=m
CONFIG_DRM_OMAP_PANEL_TPO_TD028TTEC1=m
CONFIG_DRM_OMAP_PANEL_TPO_TD043MTEA1=m
-# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+CONFIG_DRM_PANEL_JDI_LT070ME05000=m
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
@@ -1385,7 +1386,7 @@ CONFIG_DRM_TILCDC=m
CONFIG_DRM_TILCDC_SLAVE_COMPAT=y
CONFIG_DRM_TINYDRM=m
CONFIG_DRM_TI_TFP410=m
-# CONFIG_DRM_TOSHIBA_TC358767 is not set
+CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_UDL=m
CONFIG_DRM_VC4=m
CONFIG_DRM_VGEM=m
@@ -1570,7 +1571,7 @@ CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON_MAX3355 is not set
CONFIG_EXTCON_MAX8997=m
CONFIG_EXTCON_PALMAS=m
-# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
+CONFIG_EXTCON_QCOM_SPMI_MISC=m
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
CONFIG_EXTCON_USB_GPIO=m
@@ -2168,9 +2169,8 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-# CONFIG_IIO_CROS_EC_BARO is not set
+CONFIG_IIO_CROS_EC_BARO=m
CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
@@ -2302,7 +2302,7 @@ CONFIG_INPUT_MATRIXKMAP=y
CONFIG_INPUT_MAX8997_HAPTIC=m
CONFIG_INPUT_MC13783_PWRBUTTON=m
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
@@ -2673,7 +2673,7 @@ CONFIG_KERNEL_GZIP=y
CONFIG_KERNEL_MODE_NEON=y
# CONFIG_KEXEC_FILE is not set
CONFIG_KEXEC=y
-# CONFIG_KEYBOARD_ADC is not set
+CONFIG_KEYBOARD_ADC=m
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
@@ -2696,7 +2696,7 @@ CONFIG_KEYBOARD_OMAP4=m
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
CONFIG_KEYBOARD_PXA27x=y
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
CONFIG_KEYBOARD_SAMSUNG=m
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2738,7 +2738,9 @@ CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
CONFIG_KUSER_HELPERS=y
CONFIG_KXCJK1013=m
-# CONFIG_KXSD9 is not set
+CONFIG_KXSD9_I2C=m
+CONFIG_KXSD9=m
+CONFIG_KXSD9_SPI=m
CONFIG_L2TP_DEBUGFS=m
CONFIG_L2TP_ETH=m
CONFIG_L2TP_IP=m
@@ -2954,7 +2956,7 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -3192,7 +3194,7 @@ CONFIG_MLXSW_SWITCHX2=m
# CONFIG_MMA7455_I2C is not set
# CONFIG_MMA7455_SPI is not set
CONFIG_MMA7660=m
-# CONFIG_MMA8452 is not set
+CONFIG_MMA8452=m
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
@@ -3296,7 +3298,7 @@ CONFIG_MPL115=m
CONFIG_MPL3115=m
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
-# CONFIG_MPU3050_I2C is not set
+CONFIG_MPU3050_I2C=m
CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
@@ -4393,7 +4395,7 @@ CONFIG_QCOM_GSBI=m
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QCOM_IRQ_COMBINER=y
CONFIG_QCOM_PM=y
-# CONFIG_QCOM_Q6V5_PIL is not set
+CONFIG_QCOM_Q6V5_PIL=m
CONFIG_QCOM_QFPROM=m
CONFIG_QCOM_SMD=m
CONFIG_QCOM_SMD_RPM=m
@@ -4401,11 +4403,11 @@ CONFIG_QCOM_SMEM=m
CONFIG_QCOM_SMP2P=m
CONFIG_QCOM_SMSM=m
CONFIG_QCOM_SPMI_IADC=m
-# CONFIG_QCOM_SPMI_TEMP_ALARM is not set
+CONFIG_QCOM_SPMI_TEMP_ALARM=m
CONFIG_QCOM_SPMI_VADC=m
CONFIG_QCOM_TSENS=m
CONFIG_QCOM_WCNSS_CTRL=m
-# CONFIG_QCOM_WCNSS_PIL is not set
+CONFIG_QCOM_WCNSS_PIL=m
CONFIG_QCOM_WDT=m
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4974,7 +4976,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -5921,7 +5923,7 @@ CONFIG_TI_ADC081C=m
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
CONFIG_TI_AM335X_ADC=m
@@ -6071,11 +6073,9 @@ CONFIG_TWL6040_CORE=y
CONFIG_TYPHOON=m
# CONFIG_UACCESS_WITH_MEMCPY is not set
CONFIG_UBIFS_ATIME_SUPPORT=y
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
CONFIG_UBIFS_FS_ENCRYPTION=y
-CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS=m
-CONFIG_UBIFS_FS_ZLIB=y
# CONFIG_UBSAN_ALIGNMENT is not set
# CONFIG_UBSAN is not set
# CONFIG_UBSAN_SANITIZE_ALL is not set
diff --git a/kernel-armv7hl-lpae-debug.config b/kernel-armv7hl-lpae-debug.config
index 7bc14358d..0710a1a1b 100644
--- a/kernel-armv7hl-lpae-debug.config
+++ b/kernel-armv7hl-lpae-debug.config
@@ -935,7 +935,7 @@ CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
CONFIG_CROS_EC_CHARDEV=m
CONFIG_CROS_EC_PROTO=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1270,17 +1270,18 @@ CONFIG_DRM_I2C_SIL164=m
# CONFIG_DRM_IMX is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_LVDS_ENCODER=m
CONFIG_DRM=m
CONFIG_DRM_MALI_DISPLAY=m
CONFIG_DRM_MESON=m
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
CONFIG_DRM_NXP_PTN3460=m
# CONFIG_DRM_OMAP is not set
-# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+CONFIG_DRM_PANEL_JDI_LT070ME05000=m
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
@@ -1308,7 +1309,7 @@ CONFIG_DRM_TEGRA_STAGING=y
# CONFIG_DRM_TILCDC is not set
CONFIG_DRM_TINYDRM=m
CONFIG_DRM_TI_TFP410=m
-# CONFIG_DRM_TOSHIBA_TC358767 is not set
+CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_UDL=m
CONFIG_DRM_VC4=m
CONFIG_DRM_VGEM=m
@@ -2064,9 +2065,8 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-# CONFIG_IIO_CROS_EC_BARO is not set
+CONFIG_IIO_CROS_EC_BARO=m
CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
@@ -2188,7 +2188,7 @@ CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MAX8997_HAPTIC=m
CONFIG_INPUT_MC13783_PWRBUTTON=m
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
@@ -2553,7 +2553,7 @@ CONFIG_KERNEL_GZIP=y
CONFIG_KERNEL_MODE_NEON=y
# CONFIG_KEXEC_FILE is not set
CONFIG_KEXEC=y
-# CONFIG_KEYBOARD_ADC is not set
+CONFIG_KEYBOARD_ADC=m
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
@@ -2573,7 +2573,7 @@ CONFIG_KEYBOARD_MATRIX=m
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2821,7 +2821,7 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -2978,7 +2978,6 @@ CONFIG_MFD_SEC_CORE=y
CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SM501=m
# CONFIG_MFD_SMSC is not set
-CONFIG_MFD_SPMI_PMIC=m
# CONFIG_MFD_STMPE is not set
CONFIG_MFD_SUN4I_GPADC=m
CONFIG_MFD_SYSCON=y
@@ -3055,7 +3054,7 @@ CONFIG_MLXSW_SWITCHX2=m
# CONFIG_MMA7455_I2C is not set
# CONFIG_MMA7455_SPI is not set
CONFIG_MMA7660=m
-# CONFIG_MMA8452 is not set
+CONFIG_MMA8452=m
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
@@ -4142,15 +4141,11 @@ CONFIG_PWRSEQ_EMMC=m
# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
-CONFIG_QCOM_ADSP_PIL=m
# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QCOM_IRQ_COMBINER=y
-# CONFIG_QCOM_SPMI_IADC is not set
-# CONFIG_QCOM_SPMI_TEMP_ALARM is not set
-# CONFIG_QCOM_SPMI_VADC is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
CONFIG_QEDI=m
@@ -4248,7 +4243,6 @@ CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_IRQ=y
CONFIG_REGMAP_MMIO=y
CONFIG_REGMAP_SPI=y
-CONFIG_REGMAP_SPMI=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_ACT8865 is not set
CONFIG_REGULATOR_AD5398=m
@@ -4284,7 +4278,6 @@ CONFIG_REGULATOR_PV88060=m
# CONFIG_REGULATOR_PV88080 is not set
CONFIG_REGULATOR_PV88090=m
CONFIG_REGULATOR_PWM=y
-# CONFIG_REGULATOR_QCOM_SPMI is not set
CONFIG_REGULATOR_RK808=m
CONFIG_REGULATOR_S2MPA01=m
CONFIG_REGULATOR_S2MPS11=m
@@ -4691,7 +4684,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -5339,7 +5332,7 @@ CONFIG_SPI_TEGRA114=m
# CONFIG_SPI_XILINX is not set
CONFIG_SPI=y
# CONFIG_SPI_ZYNQMP_GQSPI is not set
-CONFIG_SPMI=m
+# CONFIG_SPMI is not set
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_LZ4=y
@@ -5546,7 +5539,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
CONFIG_TI_AEMIF=m
@@ -5680,11 +5673,9 @@ CONFIG_TUN=m
CONFIG_TYPHOON=m
# CONFIG_UACCESS_WITH_MEMCPY is not set
CONFIG_UBIFS_ATIME_SUPPORT=y
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
CONFIG_UBIFS_FS_ENCRYPTION=y
-CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS=m
-CONFIG_UBIFS_FS_ZLIB=y
# CONFIG_UBSAN_ALIGNMENT is not set
# CONFIG_UBSAN is not set
# CONFIG_UBSAN_SANITIZE_ALL is not set
diff --git a/kernel-armv7hl-lpae.config b/kernel-armv7hl-lpae.config
index e5d1605ba..fd495dd52 100644
--- a/kernel-armv7hl-lpae.config
+++ b/kernel-armv7hl-lpae.config
@@ -933,7 +933,7 @@ CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
CONFIG_CROS_EC_CHARDEV=m
CONFIG_CROS_EC_PROTO=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1260,17 +1260,18 @@ CONFIG_DRM_I2C_SIL164=m
# CONFIG_DRM_IMX is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_LVDS_ENCODER=m
CONFIG_DRM=m
CONFIG_DRM_MALI_DISPLAY=m
CONFIG_DRM_MESON=m
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
CONFIG_DRM_NXP_PTN3460=m
# CONFIG_DRM_OMAP is not set
-# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+CONFIG_DRM_PANEL_JDI_LT070ME05000=m
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
@@ -1298,7 +1299,7 @@ CONFIG_DRM_TEGRA_STAGING=y
# CONFIG_DRM_TILCDC is not set
CONFIG_DRM_TINYDRM=m
CONFIG_DRM_TI_TFP410=m
-# CONFIG_DRM_TOSHIBA_TC358767 is not set
+CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_UDL=m
CONFIG_DRM_VC4=m
CONFIG_DRM_VGEM=m
@@ -2047,9 +2048,8 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-# CONFIG_IIO_CROS_EC_BARO is not set
+CONFIG_IIO_CROS_EC_BARO=m
CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
@@ -2171,7 +2171,7 @@ CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MAX8997_HAPTIC=m
CONFIG_INPUT_MC13783_PWRBUTTON=m
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
@@ -2534,7 +2534,7 @@ CONFIG_KERNEL_GZIP=y
CONFIG_KERNEL_MODE_NEON=y
# CONFIG_KEXEC_FILE is not set
CONFIG_KEXEC=y
-# CONFIG_KEYBOARD_ADC is not set
+CONFIG_KEYBOARD_ADC=m
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
@@ -2554,7 +2554,7 @@ CONFIG_KEYBOARD_MATRIX=m
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2802,7 +2802,7 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -2958,7 +2958,6 @@ CONFIG_MFD_SEC_CORE=y
CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SM501=m
# CONFIG_MFD_SMSC is not set
-CONFIG_MFD_SPMI_PMIC=m
# CONFIG_MFD_STMPE is not set
CONFIG_MFD_SUN4I_GPADC=m
CONFIG_MFD_SYSCON=y
@@ -3035,7 +3034,7 @@ CONFIG_MLXSW_SWITCHX2=m
# CONFIG_MMA7455_I2C is not set
# CONFIG_MMA7455_SPI is not set
CONFIG_MMA7660=m
-# CONFIG_MMA8452 is not set
+CONFIG_MMA8452=m
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
@@ -4120,15 +4119,11 @@ CONFIG_PWRSEQ_EMMC=m
# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
-CONFIG_QCOM_ADSP_PIL=m
# CONFIG_QCOM_EBI2 is not set
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QCOM_IRQ_COMBINER=y
-# CONFIG_QCOM_SPMI_IADC is not set
-# CONFIG_QCOM_SPMI_TEMP_ALARM is not set
-# CONFIG_QCOM_SPMI_VADC is not set
CONFIG_QEDE=m
CONFIG_QEDF=m
CONFIG_QEDI=m
@@ -4226,7 +4221,6 @@ CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_IRQ=y
CONFIG_REGMAP_MMIO=y
CONFIG_REGMAP_SPI=y
-CONFIG_REGMAP_SPMI=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_ACT8865 is not set
CONFIG_REGULATOR_AD5398=m
@@ -4262,7 +4256,6 @@ CONFIG_REGULATOR_PV88060=m
# CONFIG_REGULATOR_PV88080 is not set
CONFIG_REGULATOR_PV88090=m
CONFIG_REGULATOR_PWM=y
-# CONFIG_REGULATOR_QCOM_SPMI is not set
CONFIG_REGULATOR_RK808=m
CONFIG_REGULATOR_S2MPA01=m
CONFIG_REGULATOR_S2MPS11=m
@@ -4669,7 +4662,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -5316,7 +5309,7 @@ CONFIG_SPI_TEGRA114=m
# CONFIG_SPI_XILINX is not set
CONFIG_SPI=y
# CONFIG_SPI_ZYNQMP_GQSPI is not set
-CONFIG_SPMI=m
+# CONFIG_SPMI is not set
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_LZ4=y
@@ -5523,7 +5516,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
CONFIG_TI_AEMIF=m
@@ -5657,11 +5650,9 @@ CONFIG_TUN=m
CONFIG_TYPHOON=m
# CONFIG_UACCESS_WITH_MEMCPY is not set
CONFIG_UBIFS_ATIME_SUPPORT=y
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
CONFIG_UBIFS_FS_ENCRYPTION=y
-CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS=m
-CONFIG_UBIFS_FS_ZLIB=y
# CONFIG_UBSAN_ALIGNMENT is not set
# CONFIG_UBSAN is not set
# CONFIG_UBSAN_SANITIZE_ALL is not set
diff --git a/kernel-armv7hl.config b/kernel-armv7hl.config
index 66bd982ac..9d2612878 100644
--- a/kernel-armv7hl.config
+++ b/kernel-armv7hl.config
@@ -962,7 +962,7 @@ CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
CONFIG_CROS_EC_CHARDEV=m
CONFIG_CROS_EC_PROTO=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1317,6 +1317,7 @@ CONFIG_DRM_IMX_PARALLEL_DISPLAY=m
CONFIG_DRM_IMX_TVE=m
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_LVDS_ENCODER=m
CONFIG_DRM=m
CONFIG_DRM_MALI_DISPLAY=m
CONFIG_DRM_MESON=m
@@ -1346,7 +1347,7 @@ CONFIG_DRM_OMAP_PANEL_SHARP_LS037V7DW01=m
CONFIG_DRM_OMAP_PANEL_SONY_ACX565AKM=m
CONFIG_DRM_OMAP_PANEL_TPO_TD028TTEC1=m
CONFIG_DRM_OMAP_PANEL_TPO_TD043MTEA1=m
-# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+CONFIG_DRM_PANEL_JDI_LT070ME05000=m
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m
CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
@@ -1375,7 +1376,7 @@ CONFIG_DRM_TILCDC=m
CONFIG_DRM_TILCDC_SLAVE_COMPAT=y
CONFIG_DRM_TINYDRM=m
CONFIG_DRM_TI_TFP410=m
-# CONFIG_DRM_TOSHIBA_TC358767 is not set
+CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_UDL=m
CONFIG_DRM_VC4=m
CONFIG_DRM_VGEM=m
@@ -1560,7 +1561,7 @@ CONFIG_EXTCON_INTEL_INT3496=m
# CONFIG_EXTCON_MAX3355 is not set
CONFIG_EXTCON_MAX8997=m
CONFIG_EXTCON_PALMAS=m
-# CONFIG_EXTCON_QCOM_SPMI_MISC is not set
+CONFIG_EXTCON_QCOM_SPMI_MISC=m
# CONFIG_EXTCON_RT8973A is not set
# CONFIG_EXTCON_SM5502 is not set
CONFIG_EXTCON_USB_GPIO=m
@@ -2151,9 +2152,8 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-# CONFIG_IIO_CROS_EC_BARO is not set
+CONFIG_IIO_CROS_EC_BARO=m
CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
@@ -2285,7 +2285,7 @@ CONFIG_INPUT_MATRIXKMAP=y
CONFIG_INPUT_MAX8997_HAPTIC=m
CONFIG_INPUT_MC13783_PWRBUTTON=m
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
@@ -2654,7 +2654,7 @@ CONFIG_KERNEL_GZIP=y
CONFIG_KERNEL_MODE_NEON=y
# CONFIG_KEXEC_FILE is not set
CONFIG_KEXEC=y
-# CONFIG_KEYBOARD_ADC is not set
+CONFIG_KEYBOARD_ADC=m
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
CONFIG_KEYBOARD_ATKBD=y
@@ -2677,7 +2677,7 @@ CONFIG_KEYBOARD_OMAP4=m
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
CONFIG_KEYBOARD_PXA27x=y
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
CONFIG_KEYBOARD_SAMSUNG=m
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2719,7 +2719,9 @@ CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
CONFIG_KUSER_HELPERS=y
CONFIG_KXCJK1013=m
-# CONFIG_KXSD9 is not set
+CONFIG_KXSD9_I2C=m
+CONFIG_KXSD9=m
+CONFIG_KXSD9_SPI=m
CONFIG_L2TP_DEBUGFS=m
CONFIG_L2TP_ETH=m
CONFIG_L2TP_IP=m
@@ -2935,7 +2937,7 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -3172,7 +3174,7 @@ CONFIG_MLXSW_SWITCHX2=m
# CONFIG_MMA7455_I2C is not set
# CONFIG_MMA7455_SPI is not set
CONFIG_MMA7660=m
-# CONFIG_MMA8452 is not set
+CONFIG_MMA8452=m
# CONFIG_MMA9551 is not set
# CONFIG_MMA9553 is not set
# CONFIG_MMC35240 is not set
@@ -3275,7 +3277,7 @@ CONFIG_MPL115=m
CONFIG_MPL3115=m
CONFIG_MPLS_IPTUNNEL=m
CONFIG_MPLS_ROUTING=m
-# CONFIG_MPU3050_I2C is not set
+CONFIG_MPU3050_I2C=m
CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MS5611 is not set
# CONFIG_MS5637 is not set
@@ -4371,7 +4373,7 @@ CONFIG_QCOM_GSBI=m
# CONFIG_QCOM_HIDMA_MGMT is not set
CONFIG_QCOM_IRQ_COMBINER=y
CONFIG_QCOM_PM=y
-# CONFIG_QCOM_Q6V5_PIL is not set
+CONFIG_QCOM_Q6V5_PIL=m
CONFIG_QCOM_QFPROM=m
CONFIG_QCOM_SMD=m
CONFIG_QCOM_SMD_RPM=m
@@ -4379,11 +4381,11 @@ CONFIG_QCOM_SMEM=m
CONFIG_QCOM_SMP2P=m
CONFIG_QCOM_SMSM=m
CONFIG_QCOM_SPMI_IADC=m
-# CONFIG_QCOM_SPMI_TEMP_ALARM is not set
+CONFIG_QCOM_SPMI_TEMP_ALARM=m
CONFIG_QCOM_SPMI_VADC=m
CONFIG_QCOM_TSENS=m
CONFIG_QCOM_WCNSS_CTRL=m
-# CONFIG_QCOM_WCNSS_PIL is not set
+CONFIG_QCOM_WCNSS_PIL=m
CONFIG_QCOM_WDT=m
CONFIG_QEDE=m
CONFIG_QEDF=m
@@ -4952,7 +4954,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -5898,7 +5900,7 @@ CONFIG_TI_ADC081C=m
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
CONFIG_TI_AM335X_ADC=m
@@ -6048,11 +6050,9 @@ CONFIG_TWL6040_CORE=y
CONFIG_TYPHOON=m
# CONFIG_UACCESS_WITH_MEMCPY is not set
CONFIG_UBIFS_ATIME_SUPPORT=y
-CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
CONFIG_UBIFS_FS_ENCRYPTION=y
-CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS=m
-CONFIG_UBIFS_FS_ZLIB=y
# CONFIG_UBSAN_ALIGNMENT is not set
# CONFIG_UBSAN is not set
# CONFIG_UBSAN_SANITIZE_ALL is not set
diff --git a/kernel-i686-PAE.config b/kernel-i686-PAE.config
index 4a24bc6a4..7ef62432b 100644
--- a/kernel-i686-PAE.config
+++ b/kernel-i686-PAE.config
@@ -795,7 +795,7 @@ CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_PMIC_OPREGION=y
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1107,7 +1107,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
@@ -1920,9 +1920,6 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
-CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
CONFIG_IIO_KFIFO_BUF=m
@@ -2036,7 +2033,7 @@ CONFIG_INPUT_KXTJ9=m
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
@@ -2436,7 +2433,7 @@ CONFIG_KEYBOARD_GPIO=m
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2676,7 +2673,7 @@ CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -3900,7 +3897,6 @@ CONFIG_PWRSEQ_EMMC=m
# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
-CONFIG_QCOM_ADSP_PIL=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
@@ -4359,7 +4355,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -5129,7 +5125,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
diff --git a/kernel-i686-PAEdebug.config b/kernel-i686-PAEdebug.config
index 03e610d3f..0bd0790aa 100644
--- a/kernel-i686-PAEdebug.config
+++ b/kernel-i686-PAEdebug.config
@@ -797,7 +797,7 @@ CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_PMIC_OPREGION=y
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1118,7 +1118,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
@@ -1938,9 +1938,6 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
-CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
CONFIG_IIO_KFIFO_BUF=m
@@ -2054,7 +2051,7 @@ CONFIG_INPUT_KXTJ9=m
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
@@ -2456,7 +2453,7 @@ CONFIG_KEYBOARD_GPIO=m
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2696,7 +2693,7 @@ CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -3921,7 +3918,6 @@ CONFIG_PWRSEQ_EMMC=m
# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
-CONFIG_QCOM_ADSP_PIL=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
@@ -4380,7 +4376,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -5151,7 +5147,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
diff --git a/kernel-i686-debug.config b/kernel-i686-debug.config
index 2d2ddcf4d..2fbae2a2a 100644
--- a/kernel-i686-debug.config
+++ b/kernel-i686-debug.config
@@ -797,7 +797,7 @@ CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_PMIC_OPREGION=y
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1118,7 +1118,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
@@ -1938,9 +1938,6 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
-CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
CONFIG_IIO_KFIFO_BUF=m
@@ -2054,7 +2051,7 @@ CONFIG_INPUT_KXTJ9=m
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
@@ -2456,7 +2453,7 @@ CONFIG_KEYBOARD_GPIO=m
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2696,7 +2693,7 @@ CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -3921,7 +3918,6 @@ CONFIG_PWRSEQ_EMMC=m
# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
-CONFIG_QCOM_ADSP_PIL=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
@@ -4380,7 +4376,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -5151,7 +5147,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
diff --git a/kernel-i686.config b/kernel-i686.config
index 2b640d3e3..9ad06b119 100644
--- a/kernel-i686.config
+++ b/kernel-i686.config
@@ -795,7 +795,7 @@ CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_PMIC_OPREGION=y
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1107,7 +1107,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
@@ -1920,9 +1920,6 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
-CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
CONFIG_IIO_KFIFO_BUF=m
@@ -2036,7 +2033,7 @@ CONFIG_INPUT_KXTJ9=m
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
@@ -2436,7 +2433,7 @@ CONFIG_KEYBOARD_GPIO=m
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2676,7 +2673,7 @@ CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -3900,7 +3897,6 @@ CONFIG_PWRSEQ_EMMC=m
# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
-CONFIG_QCOM_ADSP_PIL=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
@@ -4359,7 +4355,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -5129,7 +5125,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
diff --git a/kernel-ppc64-debug.config b/kernel-ppc64-debug.config
index c59901132..5d4b19cfe 100644
--- a/kernel-ppc64-debug.config
+++ b/kernel-ppc64-debug.config
@@ -785,7 +785,7 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1074,7 +1074,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
@@ -1830,9 +1830,6 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
-CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
CONFIG_IIO_KFIFO_BUF=m
@@ -1946,7 +1943,7 @@ CONFIG_INPUT_KXTJ9=m
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
@@ -2309,7 +2306,7 @@ CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2543,7 +2540,7 @@ CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -3743,7 +3740,6 @@ CONFIG_PWRSEQ_EMMC=m
# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
-CONFIG_QCOM_ADSP_PIL=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
@@ -4204,7 +4200,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -4761,6 +4757,7 @@ CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PXA2XX is not set
+# CONFIG_SPI_ROCKCHIP is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set
@@ -4942,7 +4939,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
diff --git a/kernel-ppc64.config b/kernel-ppc64.config
index af2f8af93..f925b6679 100644
--- a/kernel-ppc64.config
+++ b/kernel-ppc64.config
@@ -783,7 +783,7 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1063,7 +1063,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
@@ -1812,9 +1812,6 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
-CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
CONFIG_IIO_KFIFO_BUF=m
@@ -1928,7 +1925,7 @@ CONFIG_INPUT_KXTJ9=m
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
@@ -2289,7 +2286,7 @@ CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2523,7 +2520,7 @@ CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -3720,7 +3717,6 @@ CONFIG_PWRSEQ_EMMC=m
# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
-CONFIG_QCOM_ADSP_PIL=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
@@ -4181,7 +4177,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -4737,6 +4733,7 @@ CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PXA2XX is not set
+# CONFIG_SPI_ROCKCHIP is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set
@@ -4918,7 +4915,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
diff --git a/kernel-ppc64le-debug.config b/kernel-ppc64le-debug.config
index 47fadbda3..4d7db8c3a 100644
--- a/kernel-ppc64le-debug.config
+++ b/kernel-ppc64le-debug.config
@@ -740,7 +740,7 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1030,7 +1030,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
@@ -1776,9 +1776,6 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
-CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
CONFIG_IIO_KFIFO_BUF=m
@@ -1892,7 +1889,7 @@ CONFIG_INPUT_KXTJ9=m
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
@@ -2255,7 +2252,7 @@ CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2489,7 +2486,7 @@ CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -3683,7 +3680,6 @@ CONFIG_PWRSEQ_EMMC=m
# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
-CONFIG_QCOM_ADSP_PIL=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
@@ -4144,7 +4140,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -4690,6 +4686,7 @@ CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PXA2XX is not set
+# CONFIG_SPI_ROCKCHIP is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set
@@ -4871,7 +4868,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
diff --git a/kernel-ppc64le.config b/kernel-ppc64le.config
index ebfead87c..be6feb99d 100644
--- a/kernel-ppc64le.config
+++ b/kernel-ppc64le.config
@@ -738,7 +738,7 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1019,7 +1019,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
@@ -1758,9 +1758,6 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
-CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
CONFIG_IIO_KFIFO_BUF=m
@@ -1874,7 +1871,7 @@ CONFIG_INPUT_KXTJ9=m
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
@@ -2235,7 +2232,7 @@ CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2469,7 +2466,7 @@ CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -3660,7 +3657,6 @@ CONFIG_PWRSEQ_EMMC=m
# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
-CONFIG_QCOM_ADSP_PIL=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
@@ -4121,7 +4117,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -4666,6 +4662,7 @@ CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PXA2XX is not set
+# CONFIG_SPI_ROCKCHIP is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set
@@ -4847,7 +4844,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
diff --git a/kernel-ppc64p7-debug.config b/kernel-ppc64p7-debug.config
index 896b8132b..df88d25df 100644
--- a/kernel-ppc64p7-debug.config
+++ b/kernel-ppc64p7-debug.config
@@ -740,7 +740,7 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1029,7 +1029,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
@@ -1775,9 +1775,6 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
-CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
CONFIG_IIO_KFIFO_BUF=m
@@ -1891,7 +1888,7 @@ CONFIG_INPUT_KXTJ9=m
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
@@ -2254,7 +2251,7 @@ CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2488,7 +2485,7 @@ CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -3682,7 +3679,6 @@ CONFIG_PWRSEQ_EMMC=m
# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
-CONFIG_QCOM_ADSP_PIL=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
@@ -4143,7 +4139,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -4689,6 +4685,7 @@ CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PXA2XX is not set
+# CONFIG_SPI_ROCKCHIP is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set
@@ -4870,7 +4867,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
diff --git a/kernel-ppc64p7.config b/kernel-ppc64p7.config
index a3cb93cdc..5fb09fbfe 100644
--- a/kernel-ppc64p7.config
+++ b/kernel-ppc64p7.config
@@ -738,7 +738,7 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1018,7 +1018,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
@@ -1757,9 +1757,6 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
-CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
CONFIG_IIO_KFIFO_BUF=m
@@ -1873,7 +1870,7 @@ CONFIG_INPUT_KXTJ9=m
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_MATRIXKMAP=m
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
@@ -2234,7 +2231,7 @@ CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2468,7 +2465,7 @@ CONFIG_MARVELL_PHY=m
# CONFIG_MATH_EMULATION is not set
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -3659,7 +3656,6 @@ CONFIG_PWRSEQ_EMMC=m
# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
-CONFIG_QCOM_ADSP_PIL=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
@@ -4120,7 +4116,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -4665,6 +4661,7 @@ CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PXA2XX is not set
+# CONFIG_SPI_ROCKCHIP is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set
@@ -4846,7 +4843,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
diff --git a/kernel-s390x-debug.config b/kernel-s390x-debug.config
index 49c17079c..476a1590c 100644
--- a/kernel-s390x-debug.config
+++ b/kernel-s390x-debug.config
@@ -735,7 +735,7 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1025,7 +1025,7 @@ CONFIG_DRM_I2C_SIL164=m
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
@@ -1724,9 +1724,6 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
-CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
# CONFIG_IIO is not set
@@ -1840,7 +1837,7 @@ CONFIG_INPUT_KXTJ9=m
CONFIG_INPUT_LEDS=y
# CONFIG_INPUT_MATRIXKMAP is not set
# CONFIG_INPUT_MISC is not set
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
@@ -2200,7 +2197,7 @@ CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2426,7 +2423,7 @@ CONFIG_MARCH_ZEC12=y
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -3568,7 +3565,6 @@ CONFIG_PWRSEQ_EMMC=m
# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
-CONFIG_QCOM_ADSP_PIL=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
@@ -4042,7 +4038,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -4580,6 +4576,7 @@ CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PXA2XX is not set
+# CONFIG_SPI_ROCKCHIP is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set
@@ -4760,7 +4757,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
diff --git a/kernel-s390x.config b/kernel-s390x.config
index afaecb425..b37428ba1 100644
--- a/kernel-s390x.config
+++ b/kernel-s390x.config
@@ -733,7 +733,7 @@ CONFIG_CRC8=m
CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1014,7 +1014,7 @@ CONFIG_DRM_I2C_SIL164=m
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
@@ -1706,9 +1706,6 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
-CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
# CONFIG_IIO is not set
@@ -1822,7 +1819,7 @@ CONFIG_INPUT_KXTJ9=m
CONFIG_INPUT_LEDS=y
# CONFIG_INPUT_MATRIXKMAP is not set
# CONFIG_INPUT_MISC is not set
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
@@ -2180,7 +2177,7 @@ CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2406,7 +2403,7 @@ CONFIG_MARCH_ZEC12=y
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -3545,7 +3542,6 @@ CONFIG_PWRSEQ_EMMC=m
# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
-CONFIG_QCOM_ADSP_PIL=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
@@ -4019,7 +4015,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -4556,6 +4552,7 @@ CONFIG_SPI_FSL_LPSPI=m
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PXA2XX is not set
+# CONFIG_SPI_ROCKCHIP is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set
@@ -4736,7 +4733,7 @@ CONFIG_THRUSTMASTER_FF=y
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
diff --git a/kernel-x86_64-debug.config b/kernel-x86_64-debug.config
index 905bb6af4..ea2a3d241 100644
--- a/kernel-x86_64-debug.config
+++ b/kernel-x86_64-debug.config
@@ -804,7 +804,7 @@ CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_PMIC_OPREGION=y
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1150,7 +1150,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
@@ -1967,9 +1967,6 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
-CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
CONFIG_IIO_KFIFO_BUF=m
@@ -2084,7 +2081,7 @@ CONFIG_INPUT_KXTJ9=m
CONFIG_INPUT_LEDS=y
# CONFIG_INPUT_MATRIXKMAP is not set
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
@@ -2494,7 +2491,7 @@ CONFIG_KEYBOARD_GPIO=m
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2727,7 +2724,7 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -3944,7 +3941,6 @@ CONFIG_PWRSEQ_EMMC=m
# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
-CONFIG_QCOM_ADSP_PIL=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
@@ -4405,7 +4401,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -5184,7 +5180,7 @@ CONFIG_THUNDERBOLT=m
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
diff --git a/kernel-x86_64.config b/kernel-x86_64.config
index 4c24a5330..c5726d821 100644
--- a/kernel-x86_64.config
+++ b/kernel-x86_64.config
@@ -802,7 +802,7 @@ CONFIG_CRC_CCITT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC_PMIC_OPREGION=y
CONFIG_CRC_T10DIF=y
-# CONFIG_CROS_KBD_LED_BACKLIGHT is not set
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
CONFIG_CROSS_COMPILE=""
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_CRYPTO_842=m
@@ -1139,7 +1139,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM=m
CONFIG_DRM_MGAG200=m
# CONFIG_DRM_MGA is not set
-CONFIG_DRM_MXSFB=m
+# CONFIG_DRM_MXSFB is not set
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU=m
# CONFIG_DRM_NXP_PTN3460 is not set
@@ -1949,9 +1949,6 @@ CONFIG_IIO_BUFFER_CB=m
CONFIG_IIO_BUFFER=y
CONFIG_IIO_CONFIGFS=m
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS_COR=m
-CONFIG_IIO_CROS_EC_SENSORS=m
# CONFIG_IIO_HRTIMER_TRIGGER is not set
CONFIG_IIO_INTERRUPT_TRIGGER=m
CONFIG_IIO_KFIFO_BUF=m
@@ -2066,7 +2063,7 @@ CONFIG_INPUT_KXTJ9=m
CONFIG_INPUT_LEDS=y
# CONFIG_INPUT_MATRIXKMAP is not set
CONFIG_INPUT_MISC=y
-CONFIG_INPUT_MMA8450=m
+# CONFIG_INPUT_MMA8450 is not set
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
@@ -2474,7 +2471,7 @@ CONFIG_KEYBOARD_GPIO=m
# CONFIG_KEYBOARD_OMAP4 is not set
# CONFIG_KEYBOARD_OPENCORES is not set
CONFIG_KEYBOARD_PMIC8XXX=m
-# CONFIG_KEYBOARD_QT1070 is not set
+CONFIG_KEYBOARD_QT1070=m
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_SH_KEYSC is not set
@@ -2707,7 +2704,7 @@ CONFIG_MANTIS_CORE=m
CONFIG_MARVELL_PHY=m
# CONFIG_MAX1027 is not set
# CONFIG_MAX11100 is not set
-# CONFIG_MAX1363 is not set
+CONFIG_MAX1363=m
CONFIG_MAX30100=m
# CONFIG_MAX44000 is not set
# CONFIG_MAX517 is not set
@@ -3923,7 +3920,6 @@ CONFIG_PWRSEQ_EMMC=m
# CONFIG_PWRSEQ_SD8787 is not set
CONFIG_PWRSEQ_SIMPLE=m
# CONFIG_QCA7000 is not set
-CONFIG_QCOM_ADSP_PIL=m
# CONFIG_QCOM_EMAC is not set
# CONFIG_QCOM_HIDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
@@ -4384,7 +4380,7 @@ CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
CONFIG_SENSORS_ADM1275=m
CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADS1015=m
+# CONFIG_SENSORS_ADS1015 is not set
CONFIG_SENSORS_ADS7828=m
CONFIG_SENSORS_ADS7871=m
CONFIG_SENSORS_ADT7310=m
@@ -5162,7 +5158,7 @@ CONFIG_THUNDERBOLT=m
# CONFIG_TI_ADC12138 is not set
# CONFIG_TI_ADC128S052 is not set
# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
+CONFIG_TI_ADS1015=m
# CONFIG_TI_ADS7950 is not set
# CONFIG_TI_ADS8688 is not set
# CONFIG_TI_CPSW_ALE is not set
diff --git a/kernel.spec b/kernel.spec
index d30885732..4ca38df8f 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -44,7 +44,7 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
#
-%global baserelease 300
+%global baserelease 302
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
@@ -58,7 +58,7 @@ Summary: The Linux kernel
%define stable_rc 0
# Do we have a -stable update to apply?
-%define stable_update 2
+%define stable_update 3
# Set rpm version accordingly
%if 0%{?stable_update}
%define stablerev %{stable_update}
@@ -231,8 +231,7 @@ Summary: The Linux kernel
%define all_x86 i386 i686
%if %{with_vdso_install}
-# These arches install vdso/ directories.
-%define vdso_arches %{all_x86} x86_64 %{power64} s390x aarch64
+%define use_vdso 1
%endif
# Overrides for generic default options
@@ -300,6 +299,7 @@ Summary: The Linux kernel
%ifarch %{arm}
%define all_arch_configs kernel-%{version}-arm*.config
+%define skip_nonpae_vdso 1
%define asmarch arm
%define hdrarch arm
%define pae lpae
@@ -361,6 +361,19 @@ Summary: The Linux kernel
# Architectures we build tools/cpupower on
%define cpupowerarchs %{ix86} x86_64 %{power64} %{arm} aarch64
+%if %{use_vdso}
+
+%if 0%{?skip_nonpae_vdso}
+%define _use_vdso 0
+%else
+%define _use_vdso 1
+%endif
+
+%else
+%define _use_vdso 0
+%endif
+
+
#
# Packages that need to be installed before the kernel is, because the %%post
# scripts use them.
@@ -526,12 +539,18 @@ Patch002: 0001-iio-Use-event-header-from-kernel-tree.patch
# a tempory patch for QCOM hardware enablement. Will be gone by end of 2016/F-26 GA
Patch420: qcom-QDF2432-tmp-errata.patch
+# Upstream (in 4.12) patches to fix HiKey WiFi
+Patch421: arm-hikey-fixWiFi.patch
+
# http://www.spinics.net/lists/linux-tegra/msg26029.html
Patch422: usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch
# Fix OMAP4 (pandaboard)
Patch423: arm-revert-mmc-omap_hsmmc-Use-dma_request_chan-for-reque.patch
+# BBWireless Bluetooth
+Patch424: arm-dts-boneblack-wireless-add-WL1835-Bluetooth-device-node.patch
+
# http://patchwork.ozlabs.org/patch/587554/
Patch425: ARM-tegra-usb-no-reset.patch
@@ -566,11 +585,10 @@ Patch437: bcm283x-hdmi-audio.patch
# https://www.spinics.net/lists/arm-kernel/msg554183.html
Patch438: arm-imx6-hummingboard2.patch
-# https://lkml.org/lkml/2017/4/4/316
-Patch339: media-cec-Fix-runtime-BUG-when-CONFIG_RC_CORE-CEC_CAP_RC.patch
-
Patch440: arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
+Patch441: bcm2835-clk-audio-jitter-issues.patch
+
Patch460: lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
Patch466: input-kill-stupid-messages.patch
@@ -650,6 +668,23 @@ Patch673: 0001-sctp-do-not-inherit-ipv6_-mc-ac-fl-_list-from-parent.patch
#CVE-2017-9076 CVE-2017-9077 rhbz 1452688 1452744
Patch674: 0001-ipv6-dccp-do-not-inherit-ipv6_mc_list-from-parent.patch
+#Fix broadwell issues
+Patch675: drm-i915-Do-not-drop-pagetables-when-empty.patch
+
+# rhbz 1455780
+Patch676: 2-2-nvme-Quirk-APST-on-Intel-600P-P3100-devices.patch
+
+# Networking fix reported on bodhi
+Patch678: net-v2-ip6_tunnel-ip6_gre-fix-setting-of-DSCP-on-encapsulated-packets.patch
+
+# rhbz 1458222 1458499
+# As linked from http://marc.info/?l=linux-netdev&m=149336766030175&w=2
+Patch679: actual_udpencap_fix.patch
+
+# rhbz 1459272
+Patch680: 0001-platform-x86-thinkpad_acpi-guard-generic-hotkey-case.patch
+Patch681: 0002-platform-x86-thinkpad_acpi-add-mapping-for-new-hotke.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -1350,9 +1385,10 @@ cp_vmlinux()
BuildKernel() {
MakeTarget=$1
KernelImage=$2
- Flavour=$3
+ Flavour=$4
+ DoVDSO=$3
Flav=${Flavour:++${Flavour}}
- InstallName=${4:-vmlinuz}
+ InstallName=${5:-vmlinuz}
# Pick the right config file for the kernel we're building
Config=kernel-%{version}-%{_target_cpu}${Flavour:+-${Flavour}}.config
@@ -1450,16 +1486,16 @@ BuildKernel() {
# we'll get it from the linux-firmware package and we don't want conflicts
%{make} -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer mod-fw=
-%ifarch %{vdso_arches}
- %{make} -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer
- if [ ! -s ldconfig-kernel.conf ]; then
- echo > ldconfig-kernel.conf "\
-# Placeholder file, no vDSO hwcap entries used in this kernel."
+ if [ $DoVDSO -ne 0 ]; then
+ %{make} -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer
+ if [ ! -s ldconfig-kernel.conf ]; then
+ echo > ldconfig-kernel.conf "\
+ # Placeholder file, no vDSO hwcap entries used in this kernel."
+ fi
+ %{__install} -D -m 444 ldconfig-kernel.conf \
+ $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernel-$KernelVer.conf
+ rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/vdso/.build-id
fi
- %{__install} -D -m 444 ldconfig-kernel.conf \
- $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernel-$KernelVer.conf
- rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/vdso/.build-id
-%endif
# And save the headers/makefiles etc for building modules against
#
@@ -1694,20 +1730,21 @@ mkdir -p $RPM_BUILD_ROOT%{_libexecdir}
cd linux-%{KVERREL}
+
%if %{with_debug}
-BuildKernel %make_target %kernel_image debug
+BuildKernel %make_target %kernel_image %{_use_vdso} debug
%endif
%if %{with_pae_debug}
-BuildKernel %make_target %kernel_image %{pae}debug
+BuildKernel %make_target %kernel_image %{use_vdso} %{pae}debug
%endif
%if %{with_pae}
-BuildKernel %make_target %kernel_image %{pae}
+BuildKernel %make_target %kernel_image %{use_vdso} %{pae}
%endif
%if %{with_up}
-BuildKernel %make_target %kernel_image
+BuildKernel %make_target %kernel_image %{_use_vdso}
%endif
%global perf_make \
@@ -2155,68 +2192,106 @@ fi
# %%kernel_variant_files [-k vmlinux] <condition> <subpackage>
#
%define kernel_variant_files(k:) \
-%if %{1}\
-%{expand:%%files -f kernel-%{?2:%{2}-}core.list %{?2:%{2}-}core}\
+%if %{2}\
+%{expand:%%files -f kernel-%{?3:%{3}-}core.list %{?3:%{3}-}core}\
%defattr(-,root,root)\
%{!?_licensedir:%global license %%doc}\
%license linux-%{KVERREL}/COPYING\
-/lib/modules/%{KVERREL}%{?2:+%{2}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}\
-%ghost /%{image_install_path}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-%{KVERREL}%{?2:+%{2}}\
-/lib/modules/%{KVERREL}%{?2:+%{2}}/.vmlinuz.hmac \
-%ghost /%{image_install_path}/.vmlinuz-%{KVERREL}%{?2:+%{2}}.hmac \
+/lib/modules/%{KVERREL}%{?3:+%{3}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}\
+%ghost /%{image_install_path}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-%{KVERREL}%{?3:+%{3}}\
+/lib/modules/%{KVERREL}%{?3:+%{3}}/.vmlinuz.hmac \
+%ghost /%{image_install_path}/.vmlinuz-%{KVERREL}%{?3:+%{3}}.hmac \
%ifarch %{arm} aarch64\
-/lib/modules/%{KVERREL}%{?2:+%{2}}/dtb \
-%ghost /%{image_install_path}/dtb-%{KVERREL}%{?2:+%{2}} \
+/lib/modules/%{KVERREL}%{?3:+%{3}}/dtb \
+%ghost /%{image_install_path}/dtb-%{KVERREL}%{?3:+%{3}} \
%endif\
-%attr(600,root,root) /lib/modules/%{KVERREL}%{?2:+%{2}}/System.map\
-%ghost /boot/System.map-%{KVERREL}%{?2:+%{2}}\
-/lib/modules/%{KVERREL}%{?2:+%{2}}/config\
-%ghost /boot/config-%{KVERREL}%{?2:+%{2}}\
-%ghost /boot/initramfs-%{KVERREL}%{?2:+%{2}}.img\
+%attr(600,root,root) /lib/modules/%{KVERREL}%{?3:+%{3}}/System.map\
+%ghost /boot/System.map-%{KVERREL}%{?3:+%{3}}\
+/lib/modules/%{KVERREL}%{?3:+%{3}}/config\
+%ghost /boot/config-%{KVERREL}%{?3:+%{3}}\
+%ghost /boot/initramfs-%{KVERREL}%{?3:+%{3}}.img\
%dir /lib/modules\
-%dir /lib/modules/%{KVERREL}%{?2:+%{2}}\
-%dir /lib/modules/%{KVERREL}%{?2:+%{2}}/kernel\
-/lib/modules/%{KVERREL}%{?2:+%{2}}/build\
-/lib/modules/%{KVERREL}%{?2:+%{2}}/source\
-/lib/modules/%{KVERREL}%{?2:+%{2}}/updates\
-%ifarch %{vdso_arches}\
-/lib/modules/%{KVERREL}%{?2:+%{2}}/vdso\
-/etc/ld.so.conf.d/kernel-%{KVERREL}%{?2:+%{2}}.conf\
+%dir /lib/modules/%{KVERREL}%{?3:+%{3}}\
+%dir /lib/modules/%{KVERREL}%{?3:+%{3}}/kernel\
+/lib/modules/%{KVERREL}%{?3:+%{3}}/build\
+/lib/modules/%{KVERREL}%{?3:+%{3}}/source\
+/lib/modules/%{KVERREL}%{?3:+%{3}}/updates\
+%if %{1}\
+/lib/modules/%{KVERREL}%{?3:+%{3}}/vdso\
+/etc/ld.so.conf.d/kernel-%{KVERREL}%{?3:+%{3}}.conf\
%endif\
-/lib/modules/%{KVERREL}%{?2:+%{2}}/modules.*\
-%{expand:%%files -f kernel-%{?2:%{2}-}modules.list %{?2:%{2}-}modules}\
+/lib/modules/%{KVERREL}%{?3:+%{3}}/modules.*\
+%{expand:%%files -f kernel-%{?3:%{3}-}modules.list %{?3:%{3}-}modules}\
%defattr(-,root,root)\
-%{expand:%%files %{?2:%{2}-}devel}\
+%{expand:%%files %{?3:%{3}-}devel}\
%defattr(-,root,root)\
%defverify(not mtime)\
-/usr/src/kernels/%{KVERREL}%{?2:+%{2}}\
-%{expand:%%files %{?2:%{2}-}modules-extra}\
+/usr/src/kernels/%{KVERREL}%{?3:+%{3}}\
+%{expand:%%files %{?3:%{3}-}modules-extra}\
%defattr(-,root,root)\
-/lib/modules/%{KVERREL}%{?2:+%{2}}/extra\
+/lib/modules/%{KVERREL}%{?3:+%{3}}/extra\
%if %{with_debuginfo}\
%ifnarch noarch\
-%{expand:%%files -f debuginfo%{?2}.list %{?2:%{2}-}debuginfo}\
+%{expand:%%files -f debuginfo%{?3}.list %{?3:%{3}-}debuginfo}\
%defattr(-,root,root)\
%endif\
%endif\
-%if %{?2:1} %{!?2:0}\
-%{expand:%%files %{2}}\
+%if %{?3:1} %{!?3:0}\
+%{expand:%%files %{3}}\
%defattr(-,root,root)\
%endif\
%endif\
%{nil}
-
-%kernel_variant_files %{with_up}
-%kernel_variant_files %{with_debug} debug
-%kernel_variant_files %{with_pae} %{pae}
-%kernel_variant_files %{with_pae_debug} %{pae}debug
+%kernel_variant_files %{_use_vdso} %{with_up}
+%kernel_variant_files %{_use_vdso} %{with_debug} debug
+%kernel_variant_files %{use_vdso} %{with_pae} %{pae}
+%kernel_variant_files %{use_vdso} %{with_pae_debug} %{pae}debug
# plz don't put in a version string unless you're going to tag
# and build.
#
#
%changelog
+* Wed Jun 7 2017 Peter Robinson <pbrobinson@fedoraproject.org>
+- Add upstream patch set to fix WiFi on HiKey
+- Patch set to fix Raspberry Pi PCM Audio clocking
+
+* Tue Jun 06 2017 Laura Abbott <labbott@redhat.com>
+- Backport hotkey event support for 2017 thinkpad models (rhbz 1459272)
+
+* Tue Jun 06 2017 Laura Abbott <labbott@redhat.com>
+- Enable the vDSO for arm LPAE
+
+* Mon Jun 05 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.3-302
+- Bump and build once again
+
+* Mon Jun 05 2017 Laura Abbott <labbott@fedoraproject.org>
+- Actually fix ipsec encapsulation problems (rhbz 1458222 1458499)
+
+* Fri Jun 02 2017 Laura Abbott <labbott@fedoraproject.org>
+- Enable Chromebook keyboard backlight (rhbz 1447031)
+
+* Fri Jun 02 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.3-301
+- Bump and build
+
+* Tue May 30 2017 Laura Abbott <labbott@fedoraproject.org>
+- NVME firmware quirk (rhbz 1455780)
+- Fix for IPv6 tunnels reported on bodhi)
+
+* Tue May 30 2017 Justin M. Forbes <jforbes@fedoraproject.org>
+- Fix for some broadwell issues
+
+* Mon May 29 2017 Peter Robinson <pbrobinson@fedoraproject.org>
+- Updates for ARM devices
+- Build ARM Chromebook specifics on all ARM architectures
+
+* Thu May 25 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.3-300
+- Linux v4.11.3
+
+* Wed May 24 2017 Peter Robinson <pbrobinson@fedoraproject.org>
+- Various ARM updates
+
* Mon May 22 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.2-300
- Linux v4.11.2
diff --git a/media-cec-Fix-runtime-BUG-when-CONFIG_RC_CORE-CEC_CAP_RC.patch b/media-cec-Fix-runtime-BUG-when-CONFIG_RC_CORE-CEC_CAP_RC.patch
deleted file mode 100644
index 7a29d72bf..000000000
--- a/media-cec-Fix-runtime-BUG-when-CONFIG_RC_CORE-CEC_CAP_RC.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From patchwork Tue Apr 4 12:32:19 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [2/2, media] cec: Fix runtime BUG when (CONFIG_RC_CORE && !CEC_CAP_RC)
-From: Lee Jones <lee.jones@linaro.org>
-X-Patchwork-Id: 9661691
-Message-Id: <20170404123219.22040-2-lee.jones@linaro.org>
-To: hans.verkuil@cisco.com,
- mchehab@kernel.org
-Cc: benjamin.gaignard@st.com, patrice.chotard@st.com,
- linux-kernel@vger.kernel.org, kernel@stlinux.com,
- Lee Jones <lee.jones@linaro.org>, linux-arm-kernel@lists.infradead.org,
- linux-media@vger.kernel.org
-Date: Tue, 4 Apr 2017 13:32:19 +0100
-
-Currently when the RC Core is enabled (reachable) core code located
-in cec_register_adapter() attempts to populate the RC structure with
-a pointer to the 'parent' passed in by the caller.
-
-Unfortunately if the caller did not specify RC capibility when calling
-cec_allocate_adapter(), then there will be no RC structure to populate.
-
-This causes a "NULL pointer dereference" error.
-
-Fixes: f51e80804f0 ("[media] cec: pass parent device in register(), not allocate()")
-Signed-off-by: Lee Jones <lee.jones@linaro.org>
----
- drivers/media/cec/cec-core.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/media/cec/cec-core.c b/drivers/media/cec/cec-core.c
-index 06a312c..d64937b 100644
---- a/drivers/media/cec/cec-core.c
-+++ b/drivers/media/cec/cec-core.c
-@@ -286,8 +286,8 @@ int cec_register_adapter(struct cec_adapter *adap,
- adap->devnode.dev.parent = parent;
-
- #if IS_REACHABLE(CONFIG_RC_CORE)
-- adap->rc->dev.parent = parent;
- if (adap->capabilities & CEC_CAP_RC) {
-+ adap->rc->dev.parent = parent;
- res = rc_register_device(adap->rc);
-
- if (res) {
diff --git a/net-v2-ip6_tunnel-ip6_gre-fix-setting-of-DSCP-on-encapsulated-packets.patch b/net-v2-ip6_tunnel-ip6_gre-fix-setting-of-DSCP-on-encapsulated-packets.patch
new file mode 100644
index 000000000..ce6ff6cb6
--- /dev/null
+++ b/net-v2-ip6_tunnel-ip6_gre-fix-setting-of-DSCP-on-encapsulated-packets.patch
@@ -0,0 +1,156 @@
+From 479c281e52ae159f09bb7467c1ef47e3d77ef23a Mon Sep 17 00:00:00 2001
+From: Peter Dawson <petedaws@gmail.com>
+Date: Fri, 26 May 2017 06:35:18 +1000
+Subject: [PATCH] ip6_tunnel, ip6_gre: fix setting of DSCP on encapsulated
+ packets
+
+This fix addresses two problems in the way the DSCP field is formulated
+ on the encapsulating header of IPv6 tunnels.
+Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=195661
+
+1) The IPv6 tunneling code was manipulating the DSCP field of the
+ encapsulating packet using the 32b flowlabel. Since the flowlabel is
+ only the lower 20b it was incorrect to assume that the upper 12b
+ containing the DSCP and ECN fields would remain intact when formulating
+ the encapsulating header. This fix handles the 'inherit' and
+ 'fixed-value' DSCP cases explicitly using the extant dsfield u8 variable.
+
+2) The use of INET_ECN_encapsulate(0, dsfield) in ip6_tnl_xmit was
+ incorrect and resulted in the DSCP value always being set to 0.
+
+Commit 90427ef5d2a4 ("ipv6: fix flow labels when the traffic class
+ is non-0") caused the regression by masking out the flowlabel
+ which exposed the incorrect handling of the DSCP portion of the
+ flowlabel in ip6_tunnel and ip6_gre.
+
+Fixes: 90427ef5d2a4 ("ipv6: fix flow labels when the traffic class is non-0")
+Signed-off-by: Peter Dawson <peter.a.dawson@boeing.com>
+---
+ net/ipv6/ip6_gre.c | 13 +++++++------
+ net/ipv6/ip6_tunnel.c | 21 +++++++++++++--------
+ 2 files changed, 20 insertions(+), 14 deletions(-)
+
+diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c
+index 6fcb7cb..4d60164 100644
+--- a/net/ipv6/ip6_gre.c
++++ b/net/ipv6/ip6_gre.c
+@@ -537,11 +537,10 @@ static inline int ip6gre_xmit_ipv4(struct sk_buff *skb, struct net_device *dev)
+
+ memcpy(&fl6, &t->fl.u.ip6, sizeof(fl6));
+
+- dsfield = ipv4_get_dsfield(iph);
+-
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
+- fl6.flowlabel |= htonl((__u32)iph->tos << IPV6_TCLASS_SHIFT)
+- & IPV6_TCLASS_MASK;
++ dsfield = ipv4_get_dsfield(iph);
++ else
++ dsfield = ip6_tclass(t->parms.flowinfo);
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
+ fl6.flowi6_mark = skb->mark;
+
+@@ -596,9 +595,11 @@ static inline int ip6gre_xmit_ipv6(struct sk_buff *skb, struct net_device *dev)
+
+ memcpy(&fl6, &t->fl.u.ip6, sizeof(fl6));
+
+- dsfield = ipv6_get_dsfield(ipv6h);
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
+- fl6.flowlabel |= (*(__be32 *) ipv6h & IPV6_TCLASS_MASK);
++ dsfield = ipv6_get_dsfield(ipv6h);
++ else
++ dsfield = ip6_tclass(t->parms.flowinfo);
++
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_FLOWLABEL)
+ fl6.flowlabel |= ip6_flowlabel(ipv6h);
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
+diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
+index a9692ec..15ff339 100644
+--- a/net/ipv6/ip6_tunnel.c
++++ b/net/ipv6/ip6_tunnel.c
+@@ -1196,7 +1196,7 @@ int ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev, __u8 dsfield,
+ skb_push(skb, sizeof(struct ipv6hdr));
+ skb_reset_network_header(skb);
+ ipv6h = ipv6_hdr(skb);
+- ip6_flow_hdr(ipv6h, INET_ECN_encapsulate(0, dsfield),
++ ip6_flow_hdr(ipv6h, dsfield,
+ ip6_make_flowlabel(net, skb, fl6->flowlabel, true, fl6));
+ ipv6h->hop_limit = hop_limit;
+ ipv6h->nexthdr = proto;
+@@ -1231,8 +1231,6 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
+ if (tproto != IPPROTO_IPIP && tproto != 0)
+ return -1;
+
+- dsfield = ipv4_get_dsfield(iph);
+-
+ if (t->parms.collect_md) {
+ struct ip_tunnel_info *tun_info;
+ const struct ip_tunnel_key *key;
+@@ -1246,6 +1244,7 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
+ fl6.flowi6_proto = IPPROTO_IPIP;
+ fl6.daddr = key->u.ipv6.dst;
+ fl6.flowlabel = key->label;
++ dsfield = ip6_tclass(key->label);
+ } else {
+ if (!(t->parms.flags & IP6_TNL_F_IGN_ENCAP_LIMIT))
+ encap_limit = t->parms.encap_limit;
+@@ -1254,8 +1253,9 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
+ fl6.flowi6_proto = IPPROTO_IPIP;
+
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
+- fl6.flowlabel |= htonl((__u32)iph->tos << IPV6_TCLASS_SHIFT)
+- & IPV6_TCLASS_MASK;
++ dsfield = ipv4_get_dsfield(iph);
++ else
++ dsfield = ip6_tclass(t->parms.flowinfo);
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
+ fl6.flowi6_mark = skb->mark;
+ }
+@@ -1265,6 +1265,8 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
+ if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6))
+ return -1;
+
++ dsfield = INET_ECN_encapsulate(dsfield, ipv4_get_dsfield(iph));
++
+ skb_set_inner_ipproto(skb, IPPROTO_IPIP);
+
+ err = ip6_tnl_xmit(skb, dev, dsfield, &fl6, encap_limit, &mtu,
+@@ -1298,8 +1300,6 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
+ ip6_tnl_addr_conflict(t, ipv6h))
+ return -1;
+
+- dsfield = ipv6_get_dsfield(ipv6h);
+-
+ if (t->parms.collect_md) {
+ struct ip_tunnel_info *tun_info;
+ const struct ip_tunnel_key *key;
+@@ -1313,6 +1313,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
+ fl6.flowi6_proto = IPPROTO_IPV6;
+ fl6.daddr = key->u.ipv6.dst;
+ fl6.flowlabel = key->label;
++ dsfield = ip6_tclass(key->label);
+ } else {
+ offset = ip6_tnl_parse_tlv_enc_lim(skb, skb_network_header(skb));
+ /* ip6_tnl_parse_tlv_enc_lim() might have reallocated skb->head */
+@@ -1335,7 +1336,9 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
+ fl6.flowi6_proto = IPPROTO_IPV6;
+
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)
+- fl6.flowlabel |= (*(__be32 *)ipv6h & IPV6_TCLASS_MASK);
++ dsfield = ipv6_get_dsfield(ipv6h);
++ else
++ dsfield = ip6_tclass(t->parms.flowinfo);
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_FLOWLABEL)
+ fl6.flowlabel |= ip6_flowlabel(ipv6h);
+ if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
+@@ -1347,6 +1350,8 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
+ if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6))
+ return -1;
+
++ dsfield = INET_ECN_encapsulate(dsfield, ipv6_get_dsfield(ipv6h));
++
+ skb_set_inner_ipproto(skb, IPPROTO_IPV6);
+
+ err = ip6_tnl_xmit(skb, dev, dsfield, &fl6, encap_limit, &mtu,
+--
+2.7.5
+
diff --git a/sources b/sources
index 389b57d00..c41ee7534 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
SHA512 (perf-man-4.11.tar.gz) = 0b070d2f10a743329de2f532e2d7e19ef385a3e6ef3c700b591ae2697604dbe542b36e31121b3e37517ee8071ab800386fa8663c24a5b36520a18e096c6eefc8
SHA512 (linux-4.11.tar.xz) = 6610eed97ffb7207c71771198c36179b8244ace7222bebb109507720e26c5f17d918079a56d5febdd8605844d67fb2df0ebe910fa2f2f53690daf6e2a8ad09c3
-SHA512 (patch-4.11.2.xz) = e090598bb339f04a92febe9c03317b76e51f67c2e3bfebaddb97177b19a2c195332477333be29e9f46483ff937fc85fd63fea1bb4ae18dec0fbe5bc1738afbcb
+SHA512 (patch-4.11.3.xz) = d1beb9b48ce12e87bb6ec53f0cf03d5650fd421edd8757d31dda20821c9a9f5b5c3dc8f131058ea8b9de45d67c43424ad246baf5c33e0174372f952cce26ad72