Quellcode durchsuchen

Update v5.6 patches

Maximilian Luz vor 5 Jahren
Ursprung
Commit
3d3c2d4bc0

+ 5 - 5
patches/5.6/0001-surface3-power.patch

@@ -1,4 +1,4 @@
-From f974a4ea688f50cdda4c3c0f574cba95a86a0cc8 Mon Sep 17 00:00:00 2001
+From 1bd770ffc7b3ec34380eb6195ddfee2b51dffc83 Mon Sep 17 00:00:00 2001
 From: qzed <qzed@users.noreply.github.com>
 From: qzed <qzed@users.noreply.github.com>
 Date: Tue, 17 Sep 2019 17:17:56 +0200
 Date: Tue, 17 Sep 2019 17:17:56 +0200
 Subject: [PATCH 1/7] surface3-power
 Subject: [PATCH 1/7] surface3-power
@@ -11,7 +11,7 @@ Subject: [PATCH 1/7] surface3-power
  create mode 100644 drivers/platform/x86/surface3_power.c
  create mode 100644 drivers/platform/x86/surface3_power.c
 
 
 diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
 diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
-index 587403c44598..f90d3d4a86a0 100644
+index 587403c445980..f90d3d4a86a07 100644
 --- a/drivers/platform/x86/Kconfig
 --- a/drivers/platform/x86/Kconfig
 +++ b/drivers/platform/x86/Kconfig
 +++ b/drivers/platform/x86/Kconfig
 @@ -1211,6 +1211,13 @@ config SURFACE_3_BUTTON
 @@ -1211,6 +1211,13 @@ config SURFACE_3_BUTTON
@@ -29,7 +29,7 @@ index 587403c44598..f90d3d4a86a0 100644
  	tristate "Intel P-Unit IPC Driver"
  	tristate "Intel P-Unit IPC Driver"
  	---help---
  	---help---
 diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
 diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
-index 3747b1f07cf1..636833e357f0 100644
+index 3747b1f07cf15..636833e357f02 100644
 --- a/drivers/platform/x86/Makefile
 --- a/drivers/platform/x86/Makefile
 +++ b/drivers/platform/x86/Makefile
 +++ b/drivers/platform/x86/Makefile
 @@ -89,6 +89,7 @@ obj-$(CONFIG_INTEL_PMC_IPC)	+= intel_pmc_ipc.o
 @@ -89,6 +89,7 @@ obj-$(CONFIG_INTEL_PMC_IPC)	+= intel_pmc_ipc.o
@@ -42,7 +42,7 @@ index 3747b1f07cf1..636833e357f0 100644
  obj-$(CONFIG_INTEL_TELEMETRY)	+= intel_telemetry_core.o \
  obj-$(CONFIG_INTEL_TELEMETRY)	+= intel_telemetry_core.o \
 diff --git a/drivers/platform/x86/surface3_power.c b/drivers/platform/x86/surface3_power.c
 diff --git a/drivers/platform/x86/surface3_power.c b/drivers/platform/x86/surface3_power.c
 new file mode 100644
 new file mode 100644
-index 000000000000..e0af01a60302
+index 0000000000000..e0af01a603025
 --- /dev/null
 --- /dev/null
 +++ b/drivers/platform/x86/surface3_power.c
 +++ b/drivers/platform/x86/surface3_power.c
 @@ -0,0 +1,604 @@
 @@ -0,0 +1,604 @@
@@ -651,5 +651,5 @@ index 000000000000..e0af01a60302
 +MODULE_DESCRIPTION("mshw0011 driver");
 +MODULE_DESCRIPTION("mshw0011 driver");
 +MODULE_LICENSE("GPL v2");
 +MODULE_LICENSE("GPL v2");
 -- 
 -- 
-2.26.0
+2.26.2
 
 

+ 3 - 3
patches/5.6/0002-surface3-spi.patch

@@ -1,4 +1,4 @@
-From 4f7f5034f9f182c152396bf7c44b98da165d81d1 Mon Sep 17 00:00:00 2001
+From 5bcc5a3070ccce000166f092f9a880f3dfd1d7c7 Mon Sep 17 00:00:00 2001
 From: kitakar5525 <34676735+kitakar5525@users.noreply.github.com>
 From: kitakar5525 <34676735+kitakar5525@users.noreply.github.com>
 Date: Fri, 6 Dec 2019 23:10:30 +0900
 Date: Fri, 6 Dec 2019 23:10:30 +0900
 Subject: [PATCH 2/7] surface3-spi
 Subject: [PATCH 2/7] surface3-spi
@@ -8,7 +8,7 @@ Subject: [PATCH 2/7] surface3-spi
  1 file changed, 26 insertions(+)
  1 file changed, 26 insertions(+)
 
 
 diff --git a/drivers/input/touchscreen/surface3_spi.c b/drivers/input/touchscreen/surface3_spi.c
 diff --git a/drivers/input/touchscreen/surface3_spi.c b/drivers/input/touchscreen/surface3_spi.c
-index ce4828b1415a..63b0b8ddf090 100644
+index ce4828b1415a8..63b0b8ddf0903 100644
 --- a/drivers/input/touchscreen/surface3_spi.c
 --- a/drivers/input/touchscreen/surface3_spi.c
 +++ b/drivers/input/touchscreen/surface3_spi.c
 +++ b/drivers/input/touchscreen/surface3_spi.c
 @@ -25,6 +25,12 @@
 @@ -25,6 +25,12 @@
@@ -59,5 +59,5 @@ index ce4828b1415a..63b0b8ddf090 100644
  }
  }
  
  
 -- 
 -- 
-2.26.0
+2.26.2
 
 

+ 5 - 5
patches/5.6/0003-surface3-oemb.patch

@@ -1,4 +1,4 @@
-From 536bf656e5e07386fe586c3d644695e7992fc38f Mon Sep 17 00:00:00 2001
+From b9c29fec3cefcc7942e4985011062fb6d68f7c21 Mon Sep 17 00:00:00 2001
 From: Chih-Wei Huang <cwhuang@linux.org.tw>
 From: Chih-Wei Huang <cwhuang@linux.org.tw>
 Date: Tue, 18 Sep 2018 11:01:37 +0800
 Date: Tue, 18 Sep 2018 11:01:37 +0800
 Subject: [PATCH 3/7] surface3-oemb
 Subject: [PATCH 3/7] surface3-oemb
@@ -10,7 +10,7 @@ Subject: [PATCH 3/7] surface3-oemb
  3 files changed, 24 insertions(+)
  3 files changed, 24 insertions(+)
 
 
 diff --git a/drivers/platform/x86/surface3-wmi.c b/drivers/platform/x86/surface3-wmi.c
 diff --git a/drivers/platform/x86/surface3-wmi.c b/drivers/platform/x86/surface3-wmi.c
-index 130b6f52a600..801083aa56d6 100644
+index 130b6f52a6001..801083aa56d6d 100644
 --- a/drivers/platform/x86/surface3-wmi.c
 --- a/drivers/platform/x86/surface3-wmi.c
 +++ b/drivers/platform/x86/surface3-wmi.c
 +++ b/drivers/platform/x86/surface3-wmi.c
 @@ -37,6 +37,13 @@ static const struct dmi_system_id surface3_dmi_table[] = {
 @@ -37,6 +37,13 @@ static const struct dmi_system_id surface3_dmi_table[] = {
@@ -28,7 +28,7 @@ index 130b6f52a600..801083aa56d6 100644
  	{ }
  	{ }
  };
  };
 diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c
 diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c
-index 92d67010aeed..cdfd75acd1a5 100644
+index 92d67010aeede..cdfd75acd1a5e 100644
 --- a/sound/soc/codecs/rt5645.c
 --- a/sound/soc/codecs/rt5645.c
 +++ b/sound/soc/codecs/rt5645.c
 +++ b/sound/soc/codecs/rt5645.c
 @@ -3681,6 +3681,15 @@ static const struct dmi_system_id dmi_platform_data[] = {
 @@ -3681,6 +3681,15 @@ static const struct dmi_system_id dmi_platform_data[] = {
@@ -48,7 +48,7 @@ index 92d67010aeed..cdfd75acd1a5 100644
  		/*
  		/*
  		 * Match for the GPDwin which unfortunately uses somewhat
  		 * Match for the GPDwin which unfortunately uses somewhat
 diff --git a/sound/soc/intel/common/soc-acpi-intel-cht-match.c b/sound/soc/intel/common/soc-acpi-intel-cht-match.c
 diff --git a/sound/soc/intel/common/soc-acpi-intel-cht-match.c b/sound/soc/intel/common/soc-acpi-intel-cht-match.c
-index d0fb43c2b9f6..0e938713cb13 100644
+index d0fb43c2b9f68..0e938713cb133 100644
 --- a/sound/soc/intel/common/soc-acpi-intel-cht-match.c
 --- a/sound/soc/intel/common/soc-acpi-intel-cht-match.c
 +++ b/sound/soc/intel/common/soc-acpi-intel-cht-match.c
 +++ b/sound/soc/intel/common/soc-acpi-intel-cht-match.c
 @@ -27,6 +27,14 @@ static const struct dmi_system_id cht_table[] = {
 @@ -27,6 +27,14 @@ static const struct dmi_system_id cht_table[] = {
@@ -67,5 +67,5 @@ index d0fb43c2b9f6..0e938713cb13 100644
  };
  };
  
  
 -- 
 -- 
-2.26.0
+2.26.2
 
 

+ 18 - 18
patches/5.6/0004-surface-sam.patch

@@ -1,4 +1,4 @@
-From 4d2963eea4ac2d2ca1415261e0fefd4c82e9c228 Mon Sep 17 00:00:00 2001
+From 99dd1a4373cd53257a1556fd546592b4bace5eb8 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Fri, 6 Dec 2019 11:56:12 +0100
 Date: Fri, 6 Dec 2019 11:56:12 +0100
 Subject: [PATCH 4/7] surface-sam
 Subject: [PATCH 4/7] surface-sam
@@ -37,7 +37,7 @@ Subject: [PATCH 4/7] surface-sam
  create mode 100644 drivers/platform/x86/surface_sam/surface_sam_vhf.c
  create mode 100644 drivers/platform/x86/surface_sam/surface_sam_vhf.c
 
 
 diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
 diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
-index f90d3d4a86a0..5956ee7895d3 100644
+index f90d3d4a86a07..5956ee7895d39 100644
 --- a/drivers/platform/x86/Kconfig
 --- a/drivers/platform/x86/Kconfig
 +++ b/drivers/platform/x86/Kconfig
 +++ b/drivers/platform/x86/Kconfig
 @@ -1355,6 +1355,7 @@ config INTEL_UNCORE_FREQ_CONTROL
 @@ -1355,6 +1355,7 @@ config INTEL_UNCORE_FREQ_CONTROL
@@ -49,7 +49,7 @@ index f90d3d4a86a0..5956ee7895d3 100644
  config SYSTEM76_ACPI
  config SYSTEM76_ACPI
  	tristate "System76 ACPI Driver"
  	tristate "System76 ACPI Driver"
 diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
 diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
-index 636833e357f0..7329298fd584 100644
+index 636833e357f02..7329298fd5848 100644
 --- a/drivers/platform/x86/Makefile
 --- a/drivers/platform/x86/Makefile
 +++ b/drivers/platform/x86/Makefile
 +++ b/drivers/platform/x86/Makefile
 @@ -107,3 +107,4 @@ obj-$(CONFIG_PCENGINES_APU2)	+= pcengines-apuv2.o
 @@ -107,3 +107,4 @@ obj-$(CONFIG_PCENGINES_APU2)	+= pcengines-apuv2.o
@@ -59,7 +59,7 @@ index 636833e357f0..7329298fd584 100644
 +obj-$(CONFIG_SURFACE_SAM)	+= surface_sam/
 +obj-$(CONFIG_SURFACE_SAM)	+= surface_sam/
 diff --git a/drivers/platform/x86/surface_sam/Kconfig b/drivers/platform/x86/surface_sam/Kconfig
 diff --git a/drivers/platform/x86/surface_sam/Kconfig b/drivers/platform/x86/surface_sam/Kconfig
 new file mode 100644
 new file mode 100644
-index 000000000000..c4556e58b9a5
+index 0000000000000..c4556e58b9a58
 --- /dev/null
 --- /dev/null
 +++ b/drivers/platform/x86/surface_sam/Kconfig
 +++ b/drivers/platform/x86/surface_sam/Kconfig
 @@ -0,0 +1,164 @@
 @@ -0,0 +1,164 @@
@@ -229,7 +229,7 @@ index 000000000000..c4556e58b9a5
 +	  If you are not sure, say M here.
 +	  If you are not sure, say M here.
 diff --git a/drivers/platform/x86/surface_sam/Makefile b/drivers/platform/x86/surface_sam/Makefile
 diff --git a/drivers/platform/x86/surface_sam/Makefile b/drivers/platform/x86/surface_sam/Makefile
 new file mode 100644
 new file mode 100644
-index 000000000000..188975ccde5c
+index 0000000000000..188975ccde5ce
 --- /dev/null
 --- /dev/null
 +++ b/drivers/platform/x86/surface_sam/Makefile
 +++ b/drivers/platform/x86/surface_sam/Makefile
 @@ -0,0 +1,10 @@
 @@ -0,0 +1,10 @@
@@ -245,7 +245,7 @@ index 000000000000..188975ccde5c
 +obj-$(CONFIG_SURFACE_SAM_SID_VHF)	+= surface_sam_sid_vhf.o
 +obj-$(CONFIG_SURFACE_SAM_SID_VHF)	+= surface_sam_sid_vhf.o
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_dtx.c b/drivers/platform/x86/surface_sam/surface_sam_dtx.c
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_dtx.c b/drivers/platform/x86/surface_sam/surface_sam_dtx.c
 new file mode 100644
 new file mode 100644
-index 000000000000..1e772fd5b0be
+index 0000000000000..1e772fd5b0bea
 --- /dev/null
 --- /dev/null
 +++ b/drivers/platform/x86/surface_sam/surface_sam_dtx.c
 +++ b/drivers/platform/x86/surface_sam/surface_sam_dtx.c
 @@ -0,0 +1,604 @@
 @@ -0,0 +1,604 @@
@@ -855,7 +855,7 @@ index 000000000000..1e772fd5b0be
 +MODULE_LICENSE("GPL v2");
 +MODULE_LICENSE("GPL v2");
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_hps.c b/drivers/platform/x86/surface_sam/surface_sam_hps.c
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_hps.c b/drivers/platform/x86/surface_sam/surface_sam_hps.c
 new file mode 100644
 new file mode 100644
-index 000000000000..4fba5ee75a66
+index 0000000000000..4fba5ee75a66f
 --- /dev/null
 --- /dev/null
 +++ b/drivers/platform/x86/surface_sam/surface_sam_hps.c
 +++ b/drivers/platform/x86/surface_sam/surface_sam_hps.c
 @@ -0,0 +1,1110 @@
 @@ -0,0 +1,1110 @@
@@ -1971,7 +1971,7 @@ index 000000000000..4fba5ee75a66
 +MODULE_LICENSE("GPL v2");
 +MODULE_LICENSE("GPL v2");
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_san.c b/drivers/platform/x86/surface_sam/surface_sam_san.c
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_san.c b/drivers/platform/x86/surface_sam/surface_sam_san.c
 new file mode 100644
 new file mode 100644
-index 000000000000..63478945e6b2
+index 0000000000000..63478945e6b26
 --- /dev/null
 --- /dev/null
 +++ b/drivers/platform/x86/surface_sam/surface_sam_san.c
 +++ b/drivers/platform/x86/surface_sam/surface_sam_san.c
 @@ -0,0 +1,883 @@
 @@ -0,0 +1,883 @@
@@ -2860,7 +2860,7 @@ index 000000000000..63478945e6b2
 +MODULE_LICENSE("GPL v2");
 +MODULE_LICENSE("GPL v2");
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_san.h b/drivers/platform/x86/surface_sam/surface_sam_san.h
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_san.h b/drivers/platform/x86/surface_sam/surface_sam_san.h
 new file mode 100644
 new file mode 100644
-index 000000000000..85b6d6569947
+index 0000000000000..85b6d65699472
 --- /dev/null
 --- /dev/null
 +++ b/drivers/platform/x86/surface_sam/surface_sam_san.h
 +++ b/drivers/platform/x86/surface_sam/surface_sam_san.h
 @@ -0,0 +1,30 @@
 @@ -0,0 +1,30 @@
@@ -2896,7 +2896,7 @@ index 000000000000..85b6d6569947
 +#endif /* _SURFACE_SAM_SAN_H */
 +#endif /* _SURFACE_SAM_SAN_H */
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_sid.c b/drivers/platform/x86/surface_sam/surface_sam_sid.c
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_sid.c b/drivers/platform/x86/surface_sam/surface_sam_sid.c
 new file mode 100644
 new file mode 100644
-index 000000000000..fb49d0e00808
+index 0000000000000..fb49d0e00808e
 --- /dev/null
 --- /dev/null
 +++ b/drivers/platform/x86/surface_sam/surface_sam_sid.c
 +++ b/drivers/platform/x86/surface_sam/surface_sam_sid.c
 @@ -0,0 +1,137 @@
 @@ -0,0 +1,137 @@
@@ -3039,7 +3039,7 @@ index 000000000000..fb49d0e00808
 +MODULE_LICENSE("GPL v2");
 +MODULE_LICENSE("GPL v2");
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_sid_gpelid.c b/drivers/platform/x86/surface_sam/surface_sam_sid_gpelid.c
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_sid_gpelid.c b/drivers/platform/x86/surface_sam/surface_sam_sid_gpelid.c
 new file mode 100644
 new file mode 100644
-index 000000000000..286411701d36
+index 0000000000000..286411701d369
 --- /dev/null
 --- /dev/null
 +++ b/drivers/platform/x86/surface_sam/surface_sam_sid_gpelid.c
 +++ b/drivers/platform/x86/surface_sam/surface_sam_sid_gpelid.c
 @@ -0,0 +1,224 @@
 @@ -0,0 +1,224 @@
@@ -3269,7 +3269,7 @@ index 000000000000..286411701d36
 +MODULE_ALIAS("platform:surface_sam_sid_gpelid");
 +MODULE_ALIAS("platform:surface_sam_sid_gpelid");
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_sid_perfmode.c b/drivers/platform/x86/surface_sam/surface_sam_sid_perfmode.c
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_sid_perfmode.c b/drivers/platform/x86/surface_sam/surface_sam_sid_perfmode.c
 new file mode 100644
 new file mode 100644
-index 000000000000..f74e2b51604d
+index 0000000000000..f74e2b51604d0
 --- /dev/null
 --- /dev/null
 +++ b/drivers/platform/x86/surface_sam/surface_sam_sid_perfmode.c
 +++ b/drivers/platform/x86/surface_sam/surface_sam_sid_perfmode.c
 @@ -0,0 +1,216 @@
 @@ -0,0 +1,216 @@
@@ -3491,7 +3491,7 @@ index 000000000000..f74e2b51604d
 +MODULE_ALIAS("platform:surface_sam_sid_perfmode");
 +MODULE_ALIAS("platform:surface_sam_sid_perfmode");
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_sid_power.c b/drivers/platform/x86/surface_sam/surface_sam_sid_power.c
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_sid_power.c b/drivers/platform/x86/surface_sam/surface_sam_sid_power.c
 new file mode 100644
 new file mode 100644
-index 000000000000..eb925bdda883
+index 0000000000000..eb925bdda8837
 --- /dev/null
 --- /dev/null
 +++ b/drivers/platform/x86/surface_sam/surface_sam_sid_power.c
 +++ b/drivers/platform/x86/surface_sam/surface_sam_sid_power.c
 @@ -0,0 +1,1264 @@
 @@ -0,0 +1,1264 @@
@@ -4761,7 +4761,7 @@ index 000000000000..eb925bdda883
 +MODULE_ALIAS("platform:surface_sam_sid_battery");
 +MODULE_ALIAS("platform:surface_sam_sid_battery");
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_sid_vhf.c b/drivers/platform/x86/surface_sam/surface_sam_sid_vhf.c
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_sid_vhf.c b/drivers/platform/x86/surface_sam/surface_sam_sid_vhf.c
 new file mode 100644
 new file mode 100644
-index 000000000000..9cf912a44171
+index 0000000000000..9cf912a441717
 --- /dev/null
 --- /dev/null
 +++ b/drivers/platform/x86/surface_sam/surface_sam_sid_vhf.c
 +++ b/drivers/platform/x86/surface_sam/surface_sam_sid_vhf.c
 @@ -0,0 +1,428 @@
 @@ -0,0 +1,428 @@
@@ -5195,7 +5195,7 @@ index 000000000000..9cf912a44171
 +MODULE_ALIAS("platform:surface_sam_sid_vhf");
 +MODULE_ALIAS("platform:surface_sam_sid_vhf");
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_ssh.c b/drivers/platform/x86/surface_sam/surface_sam_ssh.c
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_ssh.c b/drivers/platform/x86/surface_sam/surface_sam_ssh.c
 new file mode 100644
 new file mode 100644
-index 000000000000..988be7c2d286
+index 0000000000000..988be7c2d2863
 --- /dev/null
 --- /dev/null
 +++ b/drivers/platform/x86/surface_sam/surface_sam_ssh.c
 +++ b/drivers/platform/x86/surface_sam/surface_sam_ssh.c
 @@ -0,0 +1,1744 @@
 @@ -0,0 +1,1744 @@
@@ -6945,7 +6945,7 @@ index 000000000000..988be7c2d286
 +MODULE_LICENSE("GPL v2");
 +MODULE_LICENSE("GPL v2");
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_ssh.h b/drivers/platform/x86/surface_sam/surface_sam_ssh.h
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_ssh.h b/drivers/platform/x86/surface_sam/surface_sam_ssh.h
 new file mode 100644
 new file mode 100644
-index 000000000000..435b5c7bac9a
+index 0000000000000..435b5c7bac9a2
 --- /dev/null
 --- /dev/null
 +++ b/drivers/platform/x86/surface_sam/surface_sam_ssh.h
 +++ b/drivers/platform/x86/surface_sam/surface_sam_ssh.h
 @@ -0,0 +1,98 @@
 @@ -0,0 +1,98 @@
@@ -7049,7 +7049,7 @@ index 000000000000..435b5c7bac9a
 +#endif /* _SURFACE_SAM_SSH_H */
 +#endif /* _SURFACE_SAM_SSH_H */
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_vhf.c b/drivers/platform/x86/surface_sam/surface_sam_vhf.c
 diff --git a/drivers/platform/x86/surface_sam/surface_sam_vhf.c b/drivers/platform/x86/surface_sam/surface_sam_vhf.c
 new file mode 100644
 new file mode 100644
-index 000000000000..a00763805eca
+index 0000000000000..a00763805eca3
 --- /dev/null
 --- /dev/null
 +++ b/drivers/platform/x86/surface_sam/surface_sam_vhf.c
 +++ b/drivers/platform/x86/surface_sam/surface_sam_vhf.c
 @@ -0,0 +1,270 @@
 @@ -0,0 +1,270 @@
@@ -7324,5 +7324,5 @@ index 000000000000..a00763805eca
 +MODULE_DESCRIPTION("Virtual HID Framework Driver for 5th Generation Surface Devices");
 +MODULE_DESCRIPTION("Virtual HID Framework Driver for 5th Generation Surface Devices");
 +MODULE_LICENSE("GPL v2");
 +MODULE_LICENSE("GPL v2");
 -- 
 -- 
-2.26.0
+2.26.2
 
 

+ 4 - 4
patches/5.6/0005-surface-lte.patch

@@ -1,4 +1,4 @@
-From deea0061b5a8081405da5c6f46b76187fac6b3eb Mon Sep 17 00:00:00 2001
+From 711c552fa1293f20e060642055ffe73dcfc371cf Mon Sep 17 00:00:00 2001
 From: qzed <qzed@users.noreply.github.com>
 From: qzed <qzed@users.noreply.github.com>
 Date: Tue, 17 Sep 2019 17:21:43 +0200
 Date: Tue, 17 Sep 2019 17:21:43 +0200
 Subject: [PATCH 5/7] surface-lte
 Subject: [PATCH 5/7] surface-lte
@@ -8,10 +8,10 @@ Subject: [PATCH 5/7] surface-lte
  1 file changed, 1 insertion(+)
  1 file changed, 1 insertion(+)
 
 
 diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c
 diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c
-index 613f91add03d..e1428222dd73 100644
+index ce0401d3137f1..b0c190cd46c92 100644
 --- a/drivers/usb/serial/qcserial.c
 --- a/drivers/usb/serial/qcserial.c
 +++ b/drivers/usb/serial/qcserial.c
 +++ b/drivers/usb/serial/qcserial.c
-@@ -177,6 +177,7 @@ static const struct usb_device_id id_table[] = {
+@@ -178,6 +178,7 @@ static const struct usb_device_id id_table[] = {
  	{DEVICE_SWI(0x413c, 0x81d0)},   /* Dell Wireless 5819 */
  	{DEVICE_SWI(0x413c, 0x81d0)},   /* Dell Wireless 5819 */
  	{DEVICE_SWI(0x413c, 0x81d1)},   /* Dell Wireless 5818 */
  	{DEVICE_SWI(0x413c, 0x81d1)},   /* Dell Wireless 5818 */
  	{DEVICE_SWI(0x413c, 0x81d2)},   /* Dell Wireless 5818 */
  	{DEVICE_SWI(0x413c, 0x81d2)},   /* Dell Wireless 5818 */
@@ -20,5 +20,5 @@ index 613f91add03d..e1428222dd73 100644
  	/* Huawei devices */
  	/* Huawei devices */
  	{DEVICE_HWI(0x03f0, 0x581d)},	/* HP lt4112 LTE/HSPA+ Gobi 4G Modem (Huawei me906e) */
  	{DEVICE_HWI(0x03f0, 0x581d)},	/* HP lt4112 LTE/HSPA+ Gobi 4G Modem (Huawei me906e) */
 -- 
 -- 
-2.26.0
+2.26.2
 
 

+ 63 - 39
patches/5.6/0006-wifi.patch

@@ -1,16 +1,16 @@
-From c94bc5af045defd9f41bbbd5edc0ef24b38b0b84 Mon Sep 17 00:00:00 2001
-From: sebanc <22224731+sebanc@users.noreply.github.com>
-Date: Mon, 4 Nov 2019 09:30:57 +0100
+From af949f1c932cf9b54161c8dda9e0a96372a5850e Mon Sep 17 00:00:00 2001
+From: kitakar5525 <34676735+kitakar5525@users.noreply.github.com>
+Date: Thu, 20 Feb 2020 16:51:11 +0900
 Subject: [PATCH 6/7] wifi
 Subject: [PATCH 6/7] wifi
 
 
 ---
 ---
- .../net/wireless/marvell/mwifiex/cfg80211.c   | 26 +++++++
- drivers/net/wireless/marvell/mwifiex/pcie.c   | 74 ++++++++++---------
- .../net/wireless/marvell/mwifiex/sta_cmd.c    | 26 +------
- 3 files changed, 67 insertions(+), 59 deletions(-)
+ .../net/wireless/marvell/mwifiex/cfg80211.c   | 26 ++++++
+ drivers/net/wireless/marvell/mwifiex/pcie.c   | 84 +++++++++++--------
+ .../net/wireless/marvell/mwifiex/sta_cmd.c    | 31 ++-----
+ 3 files changed, 84 insertions(+), 57 deletions(-)
 
 
 diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
 diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
-index d89684168500..108d7ac6a0dd 100644
+index d896841685008..108d7ac6a0dd9 100644
 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
 +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
 +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
 @@ -25,6 +25,11 @@
 @@ -25,6 +25,11 @@
@@ -54,10 +54,17 @@ index d89684168500..108d7ac6a0dd 100644
  }
  }
  
  
 diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c
 diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c
-index fc1706d0647d..b3380ed75431 100644
+index fc1706d0647d7..b51c5e3571426 100644
 --- a/drivers/net/wireless/marvell/mwifiex/pcie.c
 --- a/drivers/net/wireless/marvell/mwifiex/pcie.c
 +++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
 +++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
-@@ -149,35 +149,38 @@ static bool mwifiex_pcie_ok_to_access_hw(struct mwifiex_adapter *adapter)
+@@ -146,38 +146,45 @@ static bool mwifiex_pcie_ok_to_access_hw(struct mwifiex_adapter *adapter)
+  *
+  * If already not suspended, this function allocates and sends a host
+  * sleep activate request to the firmware and turns off the traffic.
++ *
++ * XXX: ignoring all the above comment and just removes the card to
++ * fix S0ix and "AP scanning (sometimes) not working after suspend".
++ * Required code is extracted from mwifiex_pcie_remove().
   */
   */
  static int mwifiex_pcie_suspend(struct device *dev)
  static int mwifiex_pcie_suspend(struct device *dev)
  {
  {
@@ -87,9 +94,6 @@ index fc1706d0647d..b3380ed75431 100644
 +		ret = mwifiex_read_reg(adapter, reg->fw_status, &fw_status);
 +		ret = mwifiex_read_reg(adapter, reg->fw_status, &fw_status);
 +	else
 +	else
 +		fw_status = -1;
 +		fw_status = -1;
-+
-+	if (fw_status == FIRMWARE_READY_PCIE && !adapter->mfg_mode) {
-+		mwifiex_deauthenticate_all(adapter);
  
  
 -	/* Enable the Host Sleep */
 -	/* Enable the Host Sleep */
 -	if (!mwifiex_enable_hs(adapter)) {
 -	if (!mwifiex_enable_hs(adapter)) {
@@ -99,9 +103,12 @@ index fc1706d0647d..b3380ed75431 100644
 -		mwifiex_disable_wake(adapter);
 -		mwifiex_disable_wake(adapter);
 -		return -EFAULT;
 -		return -EFAULT;
 -	}
 -	}
-+		priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
++	if (fw_status == FIRMWARE_READY_PCIE && !adapter->mfg_mode) {
++		mwifiex_deauthenticate_all(adapter);
  
  
 -	flush_workqueue(adapter->workqueue);
 -	flush_workqueue(adapter->workqueue);
++		priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
++
 +		mwifiex_disable_auto_ds(priv);
 +		mwifiex_disable_auto_ds(priv);
  
  
 -	/* Indicate device suspended */
 -	/* Indicate device suspended */
@@ -114,7 +121,13 @@ index fc1706d0647d..b3380ed75431 100644
  
  
  	return 0;
  	return 0;
  }
  }
-@@ -192,28 +195,29 @@ static int mwifiex_pcie_suspend(struct device *dev)
+@@ -189,31 +196,35 @@ static int mwifiex_pcie_suspend(struct device *dev)
+  *
+  * If already not resumed, this function turns on the traffic and
+  * sends a host sleep cancel request to the firmware.
++ *
++ * XXX: ignoring all the above comment and probes the card that was
++ * removed on suspend. Required code is extracted from mwifiex_pcie_probe().
   */
   */
  static int mwifiex_pcie_resume(struct device *dev)
  static int mwifiex_pcie_resume(struct device *dev)
  {
  {
@@ -160,36 +173,41 @@ index fc1706d0647d..b3380ed75431 100644
  
  
  	return 0;
  	return 0;
  }
  }
-@@ -267,6 +271,8 @@ static int mwifiex_pcie_probe(struct pci_dev *pdev,
- 		return -1;
- 	}
+@@ -229,8 +240,13 @@ static int mwifiex_pcie_probe(struct pci_dev *pdev,
+ 					const struct pci_device_id *ent)
+ {
+ 	struct pcie_service_card *card;
++	struct pci_dev *parent_pdev = pci_upstream_bridge(pdev);
+ 	int ret;
  
  
-+	pdev->bus->self->bridge_d3 = false;
++	/* disable bridge_d3 to fix driver crashing after suspend on gen4+
++	 * Surface devices */
++	parent_pdev->bridge_d3 = false;
 +
 +
- 	return 0;
- }
+ 	pr_debug("info: vendor=0x%4.04X device=0x%4.04X rev=%d\n",
+ 		 pdev->vendor, pdev->device, pdev->revision);
  
  
 diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
 diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
-index 4ed10cf82f9a..977b57c0908f 100644
+index 4ed10cf82f9a4..410bef3d6a6eb 100644
 --- a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
 --- a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
 +++ b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
 +++ b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
-@@ -2265,14 +2265,13 @@ int mwifiex_sta_prepare_cmd(struct mwifiex_private *priv, uint16_t cmd_no,
- int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init)
- {
+@@ -2254,7 +2254,6 @@ int mwifiex_sta_prepare_cmd(struct mwifiex_private *priv, uint16_t cmd_no,
+  *      - Function init (for first interface only)
+  *      - Read MAC address (for first interface only)
+  *      - Reconfigure Tx buffer size (for first interface only)
+- *      - Enable auto deep sleep (for first interface only)
+  *      - Get Tx rate
+  *      - Get Tx power
+  *      - Set IBSS coalescing status
+@@ -2267,7 +2266,6 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init)
  	struct mwifiex_adapter *adapter = priv->adapter;
  	struct mwifiex_adapter *adapter = priv->adapter;
--	int ret;
+ 	int ret;
  	struct mwifiex_ds_11n_amsdu_aggr_ctrl amsdu_aggr_ctrl;
  	struct mwifiex_ds_11n_amsdu_aggr_ctrl amsdu_aggr_ctrl;
 -	struct mwifiex_ds_auto_ds auto_ds;
 -	struct mwifiex_ds_auto_ds auto_ds;
  	enum state_11d_t state_11d;
  	enum state_11d_t state_11d;
  	struct mwifiex_ds_11n_tx_cfg tx_cfg;
  	struct mwifiex_ds_11n_tx_cfg tx_cfg;
  	u8 sdio_sp_rx_aggr_enable;
  	u8 sdio_sp_rx_aggr_enable;
- 	u16 packet_aggr_enable;
- 	int data;
-+	int ret;
- 
- 	if (first_sta) {
- 		if (priv->adapter->iface_type == MWIFIEX_PCIE) {
-@@ -2339,17 +2338,6 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init)
+@@ -2339,16 +2337,10 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init)
  		if (ret)
  		if (ret)
  			return -1;
  			return -1;
  
  
@@ -203,11 +221,14 @@ index 4ed10cf82f9a..977b57c0908f 100644
 -			if (ret)
 -			if (ret)
 -				return -1;
 -				return -1;
 -		}
 -		}
--
++		/* Not enabling ps_mode (IEEE power_save) by default. Enabling
++		 * this causes connection instability, especially on 5GHz APs
++		 * and eventually causes "firmware wakeup failed". Therefore,
++		 * the relevant code was removed from here. */
+ 
  		if (drcs) {
  		if (drcs) {
  			adapter->drcs_enabled = true;
  			adapter->drcs_enabled = true;
- 			if (ISSUPP_DRCS_ENABLED(adapter->fw_cap_info))
-@@ -2395,18 +2383,6 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init)
+@@ -2395,17 +2387,10 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init)
  	if (ret)
  	if (ret)
  		return -1;
  		return -1;
  
  
@@ -222,10 +243,13 @@ index 4ed10cf82f9a..977b57c0908f 100644
 -		if (ret)
 -		if (ret)
 -			return -1;
 -			return -1;
 -	}
 -	}
--
++	/* Not enabling auto deep sleep (auto_ds) by default. Enabling
++	 * this reportedly causes "suspend/resume fails when not connected
++	 * to an Access Point." Therefore, the relevant code was removed
++	 * from here. */
+ 
  	if (priv->bss_type != MWIFIEX_BSS_TYPE_UAP) {
  	if (priv->bss_type != MWIFIEX_BSS_TYPE_UAP) {
  		/* Send cmd to FW to enable/disable 11D function */
  		/* Send cmd to FW to enable/disable 11D function */
- 		state_11d = ENABLE_11D;
 -- 
 -- 
-2.26.0
+2.26.2
 
 

+ 47 - 60
patches/5.6/0007-ipts.patch

@@ -1,4 +1,4 @@
-From 2458faf694596f3fc8bead2deee2651953f9192e Mon Sep 17 00:00:00 2001
+From 1a6a1057a25d6c46fb7da9e59d1ee4a930a56121 Mon Sep 17 00:00:00 2001
 From: Dorian Stoll <dorian.stoll@tmsp.io>
 From: Dorian Stoll <dorian.stoll@tmsp.io>
 Date: Mon, 27 Jan 2020 21:16:20 +0100
 Date: Mon, 27 Jan 2020 21:16:20 +0100
 Subject: [PATCH 7/7] ipts
 Subject: [PATCH 7/7] ipts
@@ -8,7 +8,7 @@ Subject: [PATCH 7/7] ipts
  drivers/input/touchscreen/Makefile            |   1 +
  drivers/input/touchscreen/Makefile            |   1 +
  drivers/input/touchscreen/ipts/Kconfig        |  16 ++
  drivers/input/touchscreen/ipts/Kconfig        |  16 ++
  drivers/input/touchscreen/ipts/Makefile       |  17 ++
  drivers/input/touchscreen/ipts/Makefile       |  17 ++
- drivers/input/touchscreen/ipts/context.h      |  61 ++++
+ drivers/input/touchscreen/ipts/context.h      |  60 ++++
  drivers/input/touchscreen/ipts/control.c      |  94 +++++++
  drivers/input/touchscreen/ipts/control.c      |  94 +++++++
  drivers/input/touchscreen/ipts/control.h      |  18 ++
  drivers/input/touchscreen/ipts/control.h      |  18 ++
  drivers/input/touchscreen/ipts/data.c         | 107 +++++++
  drivers/input/touchscreen/ipts/data.c         | 107 +++++++
@@ -36,12 +36,12 @@ Subject: [PATCH 7/7] ipts
  drivers/input/touchscreen/ipts/resources.h    |  11 +
  drivers/input/touchscreen/ipts/resources.h    |  11 +
  drivers/input/touchscreen/ipts/singletouch.c  |  64 +++++
  drivers/input/touchscreen/ipts/singletouch.c  |  64 +++++
  drivers/input/touchscreen/ipts/singletouch.h  |  14 +
  drivers/input/touchscreen/ipts/singletouch.h  |  14 +
- drivers/input/touchscreen/ipts/stylus.c       | 191 +++++++++++++
+ drivers/input/touchscreen/ipts/stylus.c       | 179 ++++++++++++
  drivers/input/touchscreen/ipts/stylus.h       |  14 +
  drivers/input/touchscreen/ipts/stylus.h       |  14 +
  drivers/misc/mei/hw-me-regs.h                 |   2 +
  drivers/misc/mei/hw-me-regs.h                 |   2 +
  drivers/misc/mei/pci-me.c                     |   2 +
  drivers/misc/mei/pci-me.c                     |   2 +
  include/uapi/linux/input.h                    |   1 +
  include/uapi/linux/input.h                    |   1 +
- 37 files changed, 1735 insertions(+)
+ 37 files changed, 1722 insertions(+)
  create mode 100644 drivers/input/touchscreen/ipts/Kconfig
  create mode 100644 drivers/input/touchscreen/ipts/Kconfig
  create mode 100644 drivers/input/touchscreen/ipts/Makefile
  create mode 100644 drivers/input/touchscreen/ipts/Makefile
  create mode 100644 drivers/input/touchscreen/ipts/context.h
  create mode 100644 drivers/input/touchscreen/ipts/context.h
@@ -76,7 +76,7 @@ Subject: [PATCH 7/7] ipts
  create mode 100644 drivers/input/touchscreen/ipts/stylus.h
  create mode 100644 drivers/input/touchscreen/ipts/stylus.h
 
 
 diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
 diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
-index c071f7c407b6..028ff55d779d 100644
+index c071f7c407b61..028ff55d779d0 100644
 --- a/drivers/input/touchscreen/Kconfig
 --- a/drivers/input/touchscreen/Kconfig
 +++ b/drivers/input/touchscreen/Kconfig
 +++ b/drivers/input/touchscreen/Kconfig
 @@ -1310,4 +1310,6 @@ config TOUCHSCREEN_IQS5XX
 @@ -1310,4 +1310,6 @@ config TOUCHSCREEN_IQS5XX
@@ -87,7 +87,7 @@ index c071f7c407b6..028ff55d779d 100644
 +
 +
  endif
  endif
 diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile
 diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile
-index 94c6162409b3..864f0e092ab6 100644
+index 94c6162409b37..864f0e092ab67 100644
 --- a/drivers/input/touchscreen/Makefile
 --- a/drivers/input/touchscreen/Makefile
 +++ b/drivers/input/touchscreen/Makefile
 +++ b/drivers/input/touchscreen/Makefile
 @@ -45,6 +45,7 @@ obj-$(CONFIG_TOUCHSCREEN_EXC3000)	+= exc3000.o
 @@ -45,6 +45,7 @@ obj-$(CONFIG_TOUCHSCREEN_EXC3000)	+= exc3000.o
@@ -100,7 +100,7 @@ index 94c6162409b3..864f0e092ab6 100644
  obj-$(CONFIG_TOUCHSCREEN_INEXIO)	+= inexio.o
  obj-$(CONFIG_TOUCHSCREEN_INEXIO)	+= inexio.o
 diff --git a/drivers/input/touchscreen/ipts/Kconfig b/drivers/input/touchscreen/ipts/Kconfig
 diff --git a/drivers/input/touchscreen/ipts/Kconfig b/drivers/input/touchscreen/ipts/Kconfig
 new file mode 100644
 new file mode 100644
-index 000000000000..d3c530dafa94
+index 0000000000000..d3c530dafa948
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/Kconfig
 +++ b/drivers/input/touchscreen/ipts/Kconfig
 @@ -0,0 +1,16 @@
 @@ -0,0 +1,16 @@
@@ -122,7 +122,7 @@ index 000000000000..d3c530dafa94
 +	  module will be called ipts.
 +	  module will be called ipts.
 diff --git a/drivers/input/touchscreen/ipts/Makefile b/drivers/input/touchscreen/ipts/Makefile
 diff --git a/drivers/input/touchscreen/ipts/Makefile b/drivers/input/touchscreen/ipts/Makefile
 new file mode 100644
 new file mode 100644
-index 000000000000..0f7c904e7317
+index 0000000000000..0f7c904e73171
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/Makefile
 +++ b/drivers/input/touchscreen/ipts/Makefile
 @@ -0,0 +1,17 @@
 @@ -0,0 +1,17 @@
@@ -145,10 +145,10 @@ index 000000000000..0f7c904e7317
 +ipts-objs += stylus.o
 +ipts-objs += stylus.o
 diff --git a/drivers/input/touchscreen/ipts/context.h b/drivers/input/touchscreen/ipts/context.h
 diff --git a/drivers/input/touchscreen/ipts/context.h b/drivers/input/touchscreen/ipts/context.h
 new file mode 100644
 new file mode 100644
-index 000000000000..13ea03b6482e
+index 0000000000000..ab26552579a5c
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/context.h
 +++ b/drivers/input/touchscreen/ipts/context.h
-@@ -0,0 +1,61 @@
+@@ -0,0 +1,60 @@
 +/* SPDX-License-Identifier: GPL-2.0-or-later */
 +/* SPDX-License-Identifier: GPL-2.0-or-later */
 +
 +
 +#ifndef _IPTS_CONTEXT_H_
 +#ifndef _IPTS_CONTEXT_H_
@@ -206,13 +206,12 @@ index 000000000000..13ea03b6482e
 +
 +
 +	struct input_dev *stylus;
 +	struct input_dev *stylus;
 +	struct input_dev *singletouch;
 +	struct input_dev *singletouch;
-+	u16 stylus_tool;
 +};
 +};
 +
 +
 +#endif /* _IPTS_CONTEXT_H_ */
 +#endif /* _IPTS_CONTEXT_H_ */
 diff --git a/drivers/input/touchscreen/ipts/control.c b/drivers/input/touchscreen/ipts/control.c
 diff --git a/drivers/input/touchscreen/ipts/control.c b/drivers/input/touchscreen/ipts/control.c
 new file mode 100644
 new file mode 100644
-index 000000000000..9179eca66558
+index 0000000000000..9179eca665585
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/control.c
 +++ b/drivers/input/touchscreen/ipts/control.c
 @@ -0,0 +1,94 @@
 @@ -0,0 +1,94 @@
@@ -312,7 +311,7 @@ index 000000000000..9179eca66558
 +}
 +}
 diff --git a/drivers/input/touchscreen/ipts/control.h b/drivers/input/touchscreen/ipts/control.h
 diff --git a/drivers/input/touchscreen/ipts/control.h b/drivers/input/touchscreen/ipts/control.h
 new file mode 100644
 new file mode 100644
-index 000000000000..e57609c85d62
+index 0000000000000..e57609c85d62a
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/control.h
 +++ b/drivers/input/touchscreen/ipts/control.h
 @@ -0,0 +1,18 @@
 @@ -0,0 +1,18 @@
@@ -336,7 +335,7 @@ index 000000000000..e57609c85d62
 +#endif /* _IPTS_CONTROL_H_ */
 +#endif /* _IPTS_CONTROL_H_ */
 diff --git a/drivers/input/touchscreen/ipts/data.c b/drivers/input/touchscreen/ipts/data.c
 diff --git a/drivers/input/touchscreen/ipts/data.c b/drivers/input/touchscreen/ipts/data.c
 new file mode 100644
 new file mode 100644
-index 000000000000..568bf04f7ea6
+index 0000000000000..568bf04f7ea6e
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/data.c
 +++ b/drivers/input/touchscreen/ipts/data.c
 @@ -0,0 +1,107 @@
 @@ -0,0 +1,107 @@
@@ -449,7 +448,7 @@ index 000000000000..568bf04f7ea6
 +}
 +}
 diff --git a/drivers/input/touchscreen/ipts/data.h b/drivers/input/touchscreen/ipts/data.h
 diff --git a/drivers/input/touchscreen/ipts/data.h b/drivers/input/touchscreen/ipts/data.h
 new file mode 100644
 new file mode 100644
-index 000000000000..fa72c1be0945
+index 0000000000000..fa72c1be09451
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/data.h
 +++ b/drivers/input/touchscreen/ipts/data.h
 @@ -0,0 +1,12 @@
 @@ -0,0 +1,12 @@
@@ -467,7 +466,7 @@ index 000000000000..fa72c1be0945
 +#endif /* _IPTS_DATA_H_ */
 +#endif /* _IPTS_DATA_H_ */
 diff --git a/drivers/input/touchscreen/ipts/hid.c b/drivers/input/touchscreen/ipts/hid.c
 diff --git a/drivers/input/touchscreen/ipts/hid.c b/drivers/input/touchscreen/ipts/hid.c
 new file mode 100644
 new file mode 100644
-index 000000000000..2642990b8c42
+index 0000000000000..2642990b8c420
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/hid.c
 +++ b/drivers/input/touchscreen/ipts/hid.c
 @@ -0,0 +1,38 @@
 @@ -0,0 +1,38 @@
@@ -511,7 +510,7 @@ index 000000000000..2642990b8c42
 +}
 +}
 diff --git a/drivers/input/touchscreen/ipts/hid.h b/drivers/input/touchscreen/ipts/hid.h
 diff --git a/drivers/input/touchscreen/ipts/hid.h b/drivers/input/touchscreen/ipts/hid.h
 new file mode 100644
 new file mode 100644
-index 000000000000..e6cf38fce454
+index 0000000000000..e6cf38fce4541
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/hid.h
 +++ b/drivers/input/touchscreen/ipts/hid.h
 @@ -0,0 +1,13 @@
 @@ -0,0 +1,13 @@
@@ -530,7 +529,7 @@ index 000000000000..e6cf38fce454
 +#endif /* _IPTS_HID_H_ */
 +#endif /* _IPTS_HID_H_ */
 diff --git a/drivers/input/touchscreen/ipts/init.c b/drivers/input/touchscreen/ipts/init.c
 diff --git a/drivers/input/touchscreen/ipts/init.c b/drivers/input/touchscreen/ipts/init.c
 new file mode 100644
 new file mode 100644
-index 000000000000..fb70d55542af
+index 0000000000000..fb70d55542af7
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/init.c
 +++ b/drivers/input/touchscreen/ipts/init.c
 @@ -0,0 +1,93 @@
 @@ -0,0 +1,93 @@
@@ -629,7 +628,7 @@ index 000000000000..fb70d55542af
 +MODULE_LICENSE("GPL");
 +MODULE_LICENSE("GPL");
 diff --git a/drivers/input/touchscreen/ipts/math.c b/drivers/input/touchscreen/ipts/math.c
 diff --git a/drivers/input/touchscreen/ipts/math.c b/drivers/input/touchscreen/ipts/math.c
 new file mode 100644
 new file mode 100644
-index 000000000000..df956e5447e0
+index 0000000000000..df956e5447e03
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/math.c
 +++ b/drivers/input/touchscreen/ipts/math.c
 @@ -0,0 +1,103 @@
 @@ -0,0 +1,103 @@
@@ -738,7 +737,7 @@ index 000000000000..df956e5447e0
 +}
 +}
 diff --git a/drivers/input/touchscreen/ipts/math.h b/drivers/input/touchscreen/ipts/math.h
 diff --git a/drivers/input/touchscreen/ipts/math.h b/drivers/input/touchscreen/ipts/math.h
 new file mode 100644
 new file mode 100644
-index 000000000000..8e831074ab60
+index 0000000000000..8e831074ab60b
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/math.h
 +++ b/drivers/input/touchscreen/ipts/math.h
 @@ -0,0 +1,21 @@
 @@ -0,0 +1,21 @@
@@ -765,7 +764,7 @@ index 000000000000..8e831074ab60
 +#endif /* _IPTS_MATH_H_ */
 +#endif /* _IPTS_MATH_H_ */
 diff --git a/drivers/input/touchscreen/ipts/params.c b/drivers/input/touchscreen/ipts/params.c
 diff --git a/drivers/input/touchscreen/ipts/params.c b/drivers/input/touchscreen/ipts/params.c
 new file mode 100644
 new file mode 100644
-index 000000000000..6aa3f5cf1d76
+index 0000000000000..6aa3f5cf1d762
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/params.c
 +++ b/drivers/input/touchscreen/ipts/params.c
 @@ -0,0 +1,27 @@
 @@ -0,0 +1,27 @@
@@ -798,7 +797,7 @@ index 000000000000..6aa3f5cf1d76
 +);
 +);
 diff --git a/drivers/input/touchscreen/ipts/params.h b/drivers/input/touchscreen/ipts/params.h
 diff --git a/drivers/input/touchscreen/ipts/params.h b/drivers/input/touchscreen/ipts/params.h
 new file mode 100644
 new file mode 100644
-index 000000000000..1f992a3bc21b
+index 0000000000000..1f992a3bc21b9
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/params.h
 +++ b/drivers/input/touchscreen/ipts/params.h
 @@ -0,0 +1,15 @@
 @@ -0,0 +1,15 @@
@@ -819,7 +818,7 @@ index 000000000000..1f992a3bc21b
 +#endif /* _IPTS_PARAMS_H_ */
 +#endif /* _IPTS_PARAMS_H_ */
 diff --git a/drivers/input/touchscreen/ipts/payload.c b/drivers/input/touchscreen/ipts/payload.c
 diff --git a/drivers/input/touchscreen/ipts/payload.c b/drivers/input/touchscreen/ipts/payload.c
 new file mode 100644
 new file mode 100644
-index 000000000000..3572ddc0f2fb
+index 0000000000000..3572ddc0f2fb0
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/payload.c
 +++ b/drivers/input/touchscreen/ipts/payload.c
 @@ -0,0 +1,52 @@
 @@ -0,0 +1,52 @@
@@ -877,7 +876,7 @@ index 000000000000..3572ddc0f2fb
 +}
 +}
 diff --git a/drivers/input/touchscreen/ipts/payload.h b/drivers/input/touchscreen/ipts/payload.h
 diff --git a/drivers/input/touchscreen/ipts/payload.h b/drivers/input/touchscreen/ipts/payload.h
 new file mode 100644
 new file mode 100644
-index 000000000000..6603714bb6fd
+index 0000000000000..6603714bb6fd0
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/payload.h
 +++ b/drivers/input/touchscreen/ipts/payload.h
 @@ -0,0 +1,14 @@
 @@ -0,0 +1,14 @@
@@ -897,7 +896,7 @@ index 000000000000..6603714bb6fd
 +#endif /* _IPTS_PAYLOAD_H_ */
 +#endif /* _IPTS_PAYLOAD_H_ */
 diff --git a/drivers/input/touchscreen/ipts/protocol/commands.h b/drivers/input/touchscreen/ipts/protocol/commands.h
 diff --git a/drivers/input/touchscreen/ipts/protocol/commands.h b/drivers/input/touchscreen/ipts/protocol/commands.h
 new file mode 100644
 new file mode 100644
-index 000000000000..2533dfb13584
+index 0000000000000..2533dfb13584a
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/protocol/commands.h
 +++ b/drivers/input/touchscreen/ipts/protocol/commands.h
 @@ -0,0 +1,61 @@
 @@ -0,0 +1,61 @@
@@ -964,7 +963,7 @@ index 000000000000..2533dfb13584
 +#endif /* _IPTS_PROTOCOL_COMMANDS_H_ */
 +#endif /* _IPTS_PROTOCOL_COMMANDS_H_ */
 diff --git a/drivers/input/touchscreen/ipts/protocol/data.h b/drivers/input/touchscreen/ipts/protocol/data.h
 diff --git a/drivers/input/touchscreen/ipts/protocol/data.h b/drivers/input/touchscreen/ipts/protocol/data.h
 new file mode 100644
 new file mode 100644
-index 000000000000..148e0545b2e4
+index 0000000000000..148e0545b2e4e
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/protocol/data.h
 +++ b/drivers/input/touchscreen/ipts/protocol/data.h
 @@ -0,0 +1,30 @@
 @@ -0,0 +1,30 @@
@@ -1000,7 +999,7 @@ index 000000000000..148e0545b2e4
 +#endif /* _IPTS_PROTOCOL_DATA_H_ */
 +#endif /* _IPTS_PROTOCOL_DATA_H_ */
 diff --git a/drivers/input/touchscreen/ipts/protocol/events.h b/drivers/input/touchscreen/ipts/protocol/events.h
 diff --git a/drivers/input/touchscreen/ipts/protocol/events.h b/drivers/input/touchscreen/ipts/protocol/events.h
 new file mode 100644
 new file mode 100644
-index 000000000000..f8b771f90bd2
+index 0000000000000..f8b771f90bd2b
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/protocol/events.h
 +++ b/drivers/input/touchscreen/ipts/protocol/events.h
 @@ -0,0 +1,29 @@
 @@ -0,0 +1,29 @@
@@ -1035,7 +1034,7 @@ index 000000000000..f8b771f90bd2
 +#endif /* _IPTS_PROTOCOL_EVENTS_H_ */
 +#endif /* _IPTS_PROTOCOL_EVENTS_H_ */
 diff --git a/drivers/input/touchscreen/ipts/protocol/feedback.h b/drivers/input/touchscreen/ipts/protocol/feedback.h
 diff --git a/drivers/input/touchscreen/ipts/protocol/feedback.h b/drivers/input/touchscreen/ipts/protocol/feedback.h
 new file mode 100644
 new file mode 100644
-index 000000000000..8b3d8b689ee8
+index 0000000000000..8b3d8b689ee83
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/protocol/feedback.h
 +++ b/drivers/input/touchscreen/ipts/protocol/feedback.h
 @@ -0,0 +1,30 @@
 @@ -0,0 +1,30 @@
@@ -1071,7 +1070,7 @@ index 000000000000..8b3d8b689ee8
 +#endif /* _IPTS_PROTOCOL_FEEDBACK_H_ */
 +#endif /* _IPTS_PROTOCOL_FEEDBACK_H_ */
 diff --git a/drivers/input/touchscreen/ipts/protocol/payload.h b/drivers/input/touchscreen/ipts/protocol/payload.h
 diff --git a/drivers/input/touchscreen/ipts/protocol/payload.h b/drivers/input/touchscreen/ipts/protocol/payload.h
 new file mode 100644
 new file mode 100644
-index 000000000000..f46da4ea81f2
+index 0000000000000..f46da4ea81f25
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/protocol/payload.h
 +++ b/drivers/input/touchscreen/ipts/protocol/payload.h
 @@ -0,0 +1,47 @@
 @@ -0,0 +1,47 @@
@@ -1124,7 +1123,7 @@ index 000000000000..f46da4ea81f2
 +#endif /* _IPTS_PROTOCOL_PAYLOAD_H_ */
 +#endif /* _IPTS_PROTOCOL_PAYLOAD_H_ */
 diff --git a/drivers/input/touchscreen/ipts/protocol/responses.h b/drivers/input/touchscreen/ipts/protocol/responses.h
 diff --git a/drivers/input/touchscreen/ipts/protocol/responses.h b/drivers/input/touchscreen/ipts/protocol/responses.h
 new file mode 100644
 new file mode 100644
-index 000000000000..27153d82a5d6
+index 0000000000000..27153d82a5d67
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/protocol/responses.h
 +++ b/drivers/input/touchscreen/ipts/protocol/responses.h
 @@ -0,0 +1,62 @@
 @@ -0,0 +1,62 @@
@@ -1192,7 +1191,7 @@ index 000000000000..27153d82a5d6
 +#endif /* _IPTS_PROTOCOL_RESPONSES_H_ */
 +#endif /* _IPTS_PROTOCOL_RESPONSES_H_ */
 diff --git a/drivers/input/touchscreen/ipts/protocol/singletouch.h b/drivers/input/touchscreen/ipts/protocol/singletouch.h
 diff --git a/drivers/input/touchscreen/ipts/protocol/singletouch.h b/drivers/input/touchscreen/ipts/protocol/singletouch.h
 new file mode 100644
 new file mode 100644
-index 000000000000..bf9912ee2af4
+index 0000000000000..bf9912ee2af4c
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/protocol/singletouch.h
 +++ b/drivers/input/touchscreen/ipts/protocol/singletouch.h
 @@ -0,0 +1,17 @@
 @@ -0,0 +1,17 @@
@@ -1215,7 +1214,7 @@ index 000000000000..bf9912ee2af4
 +#endif /* _IPTS_PROTOCOL_SINGLETOUCH_H_ */
 +#endif /* _IPTS_PROTOCOL_SINGLETOUCH_H_ */
 diff --git a/drivers/input/touchscreen/ipts/protocol/stylus.h b/drivers/input/touchscreen/ipts/protocol/stylus.h
 diff --git a/drivers/input/touchscreen/ipts/protocol/stylus.h b/drivers/input/touchscreen/ipts/protocol/stylus.h
 new file mode 100644
 new file mode 100644
-index 000000000000..950850b365df
+index 0000000000000..950850b365dfb
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/protocol/stylus.h
 +++ b/drivers/input/touchscreen/ipts/protocol/stylus.h
 @@ -0,0 +1,52 @@
 @@ -0,0 +1,52 @@
@@ -1273,7 +1272,7 @@ index 000000000000..950850b365df
 +#endif /* _IPTS_PAYLOAD_STYLUS_H_ */
 +#endif /* _IPTS_PAYLOAD_STYLUS_H_ */
 diff --git a/drivers/input/touchscreen/ipts/receiver.c b/drivers/input/touchscreen/ipts/receiver.c
 diff --git a/drivers/input/touchscreen/ipts/receiver.c b/drivers/input/touchscreen/ipts/receiver.c
 new file mode 100644
 new file mode 100644
-index 000000000000..ab283994c3e5
+index 0000000000000..ab283994c3e5f
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/receiver.c
 +++ b/drivers/input/touchscreen/ipts/receiver.c
 @@ -0,0 +1,265 @@
 @@ -0,0 +1,265 @@
@@ -1544,7 +1543,7 @@ index 000000000000..ab283994c3e5
 +}
 +}
 diff --git a/drivers/input/touchscreen/ipts/receiver.h b/drivers/input/touchscreen/ipts/receiver.h
 diff --git a/drivers/input/touchscreen/ipts/receiver.h b/drivers/input/touchscreen/ipts/receiver.h
 new file mode 100644
 new file mode 100644
-index 000000000000..4d413a0abd4c
+index 0000000000000..4d413a0abd4c5
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/receiver.h
 +++ b/drivers/input/touchscreen/ipts/receiver.h
 @@ -0,0 +1,8 @@
 @@ -0,0 +1,8 @@
@@ -1558,7 +1557,7 @@ index 000000000000..4d413a0abd4c
 +#endif /* _IPTS_RECEIVER_H_ */
 +#endif /* _IPTS_RECEIVER_H_ */
 diff --git a/drivers/input/touchscreen/ipts/resources.c b/drivers/input/touchscreen/ipts/resources.c
 diff --git a/drivers/input/touchscreen/ipts/resources.c b/drivers/input/touchscreen/ipts/resources.c
 new file mode 100644
 new file mode 100644
-index 000000000000..704db9fdd3fd
+index 0000000000000..704db9fdd3fd4
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/resources.c
 +++ b/drivers/input/touchscreen/ipts/resources.c
 @@ -0,0 +1,131 @@
 @@ -0,0 +1,131 @@
@@ -1695,7 +1694,7 @@ index 000000000000..704db9fdd3fd
 +}
 +}
 diff --git a/drivers/input/touchscreen/ipts/resources.h b/drivers/input/touchscreen/ipts/resources.h
 diff --git a/drivers/input/touchscreen/ipts/resources.h b/drivers/input/touchscreen/ipts/resources.h
 new file mode 100644
 new file mode 100644
-index 000000000000..cf9807b0dbe6
+index 0000000000000..cf9807b0dbe62
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/resources.h
 +++ b/drivers/input/touchscreen/ipts/resources.h
 @@ -0,0 +1,11 @@
 @@ -0,0 +1,11 @@
@@ -1712,7 +1711,7 @@ index 000000000000..cf9807b0dbe6
 +#endif /* _IPTS_RESOURCES_H_ */
 +#endif /* _IPTS_RESOURCES_H_ */
 diff --git a/drivers/input/touchscreen/ipts/singletouch.c b/drivers/input/touchscreen/ipts/singletouch.c
 diff --git a/drivers/input/touchscreen/ipts/singletouch.c b/drivers/input/touchscreen/ipts/singletouch.c
 new file mode 100644
 new file mode 100644
-index 000000000000..ed70444f649c
+index 0000000000000..ed70444f649c4
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/singletouch.c
 +++ b/drivers/input/touchscreen/ipts/singletouch.c
 @@ -0,0 +1,64 @@
 @@ -0,0 +1,64 @@
@@ -1782,7 +1781,7 @@ index 000000000000..ed70444f649c
 +}
 +}
 diff --git a/drivers/input/touchscreen/ipts/singletouch.h b/drivers/input/touchscreen/ipts/singletouch.h
 diff --git a/drivers/input/touchscreen/ipts/singletouch.h b/drivers/input/touchscreen/ipts/singletouch.h
 new file mode 100644
 new file mode 100644
-index 000000000000..53207497a462
+index 0000000000000..53207497a4628
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/singletouch.h
 +++ b/drivers/input/touchscreen/ipts/singletouch.h
 @@ -0,0 +1,14 @@
 @@ -0,0 +1,14 @@
@@ -1802,10 +1801,10 @@ index 000000000000..53207497a462
 +#endif /* _IPTS_SINGLETOUCH_H_ */
 +#endif /* _IPTS_SINGLETOUCH_H_ */
 diff --git a/drivers/input/touchscreen/ipts/stylus.c b/drivers/input/touchscreen/ipts/stylus.c
 diff --git a/drivers/input/touchscreen/ipts/stylus.c b/drivers/input/touchscreen/ipts/stylus.c
 new file mode 100644
 new file mode 100644
-index 000000000000..dbb4fe0bf559
+index 0000000000000..987fa756fec33
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/stylus.c
 +++ b/drivers/input/touchscreen/ipts/stylus.c
-@@ -0,0 +1,191 @@
+@@ -0,0 +1,179 @@
 +// SPDX-License-Identifier: GPL-2.0-or-later
 +// SPDX-License-Identifier: GPL-2.0-or-later
 +
 +
 +#include <linux/input.h>
 +#include <linux/input.h>
@@ -1819,7 +1818,6 @@ index 000000000000..dbb4fe0bf559
 +static void ipts_stylus_handle_stylus_data(struct ipts_context *ipts,
 +static void ipts_stylus_handle_stylus_data(struct ipts_context *ipts,
 +		struct ipts_stylus_report_data *data)
 +		struct ipts_stylus_report_data *data)
 +{
 +{
-+	u16 tool;
 +	u8 prox = data->mode & IPTS_STYLUS_REPORT_MODE_PROX;
 +	u8 prox = data->mode & IPTS_STYLUS_REPORT_MODE_PROX;
 +	u8 touch = data->mode & IPTS_STYLUS_REPORT_MODE_TOUCH;
 +	u8 touch = data->mode & IPTS_STYLUS_REPORT_MODE_TOUCH;
 +	u8 button = data->mode & IPTS_STYLUS_REPORT_MODE_BUTTON;
 +	u8 button = data->mode & IPTS_STYLUS_REPORT_MODE_BUTTON;
@@ -1835,20 +1833,9 @@ index 000000000000..dbb4fe0bf559
 +				data->azimuth, &tx, &ty);
 +				data->azimuth, &tx, &ty);
 +	}
 +	}
 +
 +
-+	if (prox && rubber)
-+		tool = BTN_TOOL_RUBBER;
-+	else
-+		tool = BTN_TOOL_PEN;
-+
-+	// Fake proximity out to switch tools
-+	if (ipts->stylus_tool != tool) {
-+		input_report_key(ipts->stylus, ipts->stylus_tool, 0);
-+		input_sync(ipts->stylus);
-+		ipts->stylus_tool = tool;
-+	}
-+
 +	input_report_key(ipts->stylus, BTN_TOUCH, touch);
 +	input_report_key(ipts->stylus, BTN_TOUCH, touch);
-+	input_report_key(ipts->stylus, ipts->stylus_tool, prox);
++	input_report_key(ipts->stylus, BTN_TOOL_PEN, prox && !rubber);
++	input_report_key(ipts->stylus, BTN_TOOL_RUBBER, prox && rubber);
 +	input_report_key(ipts->stylus, BTN_STYLUS, button);
 +	input_report_key(ipts->stylus, BTN_STYLUS, button);
 +
 +
 +	input_report_abs(ipts->stylus, ABS_X, data->x);
 +	input_report_abs(ipts->stylus, ABS_X, data->x);
@@ -1999,7 +1986,7 @@ index 000000000000..dbb4fe0bf559
 +}
 +}
 diff --git a/drivers/input/touchscreen/ipts/stylus.h b/drivers/input/touchscreen/ipts/stylus.h
 diff --git a/drivers/input/touchscreen/ipts/stylus.h b/drivers/input/touchscreen/ipts/stylus.h
 new file mode 100644
 new file mode 100644
-index 000000000000..5b93add1eac2
+index 0000000000000..5b93add1eac2d
 --- /dev/null
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/stylus.h
 +++ b/drivers/input/touchscreen/ipts/stylus.h
 @@ -0,0 +1,14 @@
 @@ -0,0 +1,14 @@
@@ -2018,7 +2005,7 @@ index 000000000000..5b93add1eac2
 +
 +
 +#endif /* _IPTS_STYLUS_H_ */
 +#endif /* _IPTS_STYLUS_H_ */
 diff --git a/drivers/misc/mei/hw-me-regs.h b/drivers/misc/mei/hw-me-regs.h
 diff --git a/drivers/misc/mei/hw-me-regs.h b/drivers/misc/mei/hw-me-regs.h
-index 5213eacc8b86..ad78fa7d72fd 100644
+index 5213eacc8b861..ad78fa7d72fd4 100644
 --- a/drivers/misc/mei/hw-me-regs.h
 --- a/drivers/misc/mei/hw-me-regs.h
 +++ b/drivers/misc/mei/hw-me-regs.h
 +++ b/drivers/misc/mei/hw-me-regs.h
 @@ -59,6 +59,7 @@
 @@ -59,6 +59,7 @@
@@ -2038,7 +2025,7 @@ index 5213eacc8b86..ad78fa7d72fd 100644
  #define MEI_DEV_ID_JSP_N      0x4DE0  /* Jasper Lake Point N */
  #define MEI_DEV_ID_JSP_N      0x4DE0  /* Jasper Lake Point N */
  
  
 diff --git a/drivers/misc/mei/pci-me.c b/drivers/misc/mei/pci-me.c
 diff --git a/drivers/misc/mei/pci-me.c b/drivers/misc/mei/pci-me.c
-index 90ee4484a80a..01fee37dd4a4 100644
+index 0dd2922aa06d8..8f00f6b1bafed 100644
 --- a/drivers/misc/mei/pci-me.c
 --- a/drivers/misc/mei/pci-me.c
 +++ b/drivers/misc/mei/pci-me.c
 +++ b/drivers/misc/mei/pci-me.c
 @@ -77,6 +77,7 @@ static const struct pci_device_id mei_me_pci_tbl[] = {
 @@ -77,6 +77,7 @@ static const struct pci_device_id mei_me_pci_tbl[] = {
@@ -2048,7 +2035,7 @@ index 90ee4484a80a..01fee37dd4a4 100644
 +	{MEI_PCI_DEVICE(MEI_DEV_ID_SPT_4, MEI_ME_PCH8_CFG)},
 +	{MEI_PCI_DEVICE(MEI_DEV_ID_SPT_4, MEI_ME_PCH8_CFG)},
  	{MEI_PCI_DEVICE(MEI_DEV_ID_SPT_H, MEI_ME_PCH8_SPS_CFG)},
  	{MEI_PCI_DEVICE(MEI_DEV_ID_SPT_H, MEI_ME_PCH8_SPS_CFG)},
  	{MEI_PCI_DEVICE(MEI_DEV_ID_SPT_H_2, MEI_ME_PCH8_SPS_CFG)},
  	{MEI_PCI_DEVICE(MEI_DEV_ID_SPT_H_2, MEI_ME_PCH8_SPS_CFG)},
- 	{MEI_PCI_DEVICE(MEI_DEV_ID_LBG, MEI_ME_PCH12_CFG)},
+ 	{MEI_PCI_DEVICE(MEI_DEV_ID_LBG, MEI_ME_PCH12_SPS_CFG)},
 @@ -103,6 +104,7 @@ static const struct pci_device_id mei_me_pci_tbl[] = {
 @@ -103,6 +104,7 @@ static const struct pci_device_id mei_me_pci_tbl[] = {
  	{MEI_PCI_DEVICE(MEI_DEV_ID_CMP_H_3, MEI_ME_PCH8_CFG)},
  	{MEI_PCI_DEVICE(MEI_DEV_ID_CMP_H_3, MEI_ME_PCH8_CFG)},
  
  
@@ -2058,7 +2045,7 @@ index 90ee4484a80a..01fee37dd4a4 100644
  	{MEI_PCI_DEVICE(MEI_DEV_ID_TGP_LP, MEI_ME_PCH15_CFG)},
  	{MEI_PCI_DEVICE(MEI_DEV_ID_TGP_LP, MEI_ME_PCH15_CFG)},
  
  
 diff --git a/include/uapi/linux/input.h b/include/uapi/linux/input.h
 diff --git a/include/uapi/linux/input.h b/include/uapi/linux/input.h
-index 9a61c28ed3ae..47fc20975245 100644
+index 9a61c28ed3ae4..47fc20975245d 100644
 --- a/include/uapi/linux/input.h
 --- a/include/uapi/linux/input.h
 +++ b/include/uapi/linux/input.h
 +++ b/include/uapi/linux/input.h
 @@ -271,6 +271,7 @@ struct input_mask {
 @@ -271,6 +271,7 @@ struct input_mask {
@@ -2070,5 +2057,5 @@ index 9a61c28ed3ae..47fc20975245 100644
  /*
  /*
   * MT_TOOL types
   * MT_TOOL types
 -- 
 -- 
-2.26.0
+2.26.2