kernel-5.11.9-11
* Wed Mar 24 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.11.9-11] - KVM: PPC: Book3S HV: Save and restore FSCR in the P9 path (Fabiano Rosas) - drm/nouveau/kms/nve4-nv108: Don't advertise 256x256 cursor support yet (Lyude Paul) - platform/x86: intel-vbtn: Stop reporting SW_DOCK events (Hans de Goede) - platform/x86: dell-wmi-sysman: Cleanup create_attributes_level_sysfs_files() (Hans de Goede) - platform/x86: dell-wmi-sysman: Make sysman_init() return -ENODEV of the interfaces are not found (Hans de Goede) - platform/x86: dell-wmi-sysman: Cleanup sysman_init() error-exit handling (Hans de Goede) - platform/x86: dell-wmi-sysman: Fix release_attributes_data() getting called twice on init_bios_attributes() failure (Hans de Goede) - platform/x86: dell-wmi-sysman: Make it safe to call exit_foo_attributes() multiple times (Hans de Goede) - platform/x86: dell-wmi-sysman: Fix possible NULL pointer deref on exit (Hans de Goede) - platform/x86: dell-wmi-sysman: Fix crash caused by calling kset_unregister twice (Hans de Goede) - platform/x86: thinkpad_acpi: Disable DYTC CQL mode around switching to balanced mode (Hans de Goede) - platform/x86: thinkpad_acpi: Allow the FnLock LED to change state (Esteve Varela Colominas) - platform/x86: thinkpad_acpi: check dytc version for lapmode sysfs (Mark Pearson) - platform/x86: intel-hid: Support Lenovo ThinkPad X1 Tablet Gen 2 (Alban Bedel) Resolves: rhbz# Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
This commit is contained in:
parent
763ac6d6cb
commit
dd9778036d
|
@ -12,7 +12,7 @@ RHEL_MINOR = 99
|
|||
#
|
||||
# Use this spot to avoid future merge conflicts.
|
||||
# Do not trim this comment.
|
||||
RHEL_RELEASE = 10
|
||||
RHEL_RELEASE = 11
|
||||
|
||||
#
|
||||
# Early y+1 numbering
|
||||
|
|
|
@ -1,3 +1,45 @@
|
|||
https://gitlab.com/cki-project/kernel-ark/-/commit/d6e1043c3ee761b14ddae1707e78f10b26868c19
|
||||
d6e1043c3ee761b14ddae1707e78f10b26868c19 KVM: PPC: Book3S HV: Save and restore FSCR in the P9 path
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/a39ea61be0d2744e99b117fa4a3a4802ace211cd
|
||||
a39ea61be0d2744e99b117fa4a3a4802ace211cd drm/nouveau/kms/nve4-nv108: Don't advertise 256x256 cursor support yet
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/f32347b018afd78e53cd54cf3c5c9300025fb0cb
|
||||
f32347b018afd78e53cd54cf3c5c9300025fb0cb platform/x86: intel-vbtn: Stop reporting SW_DOCK events
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/c8eff81875a9ced92b486586079ba40faba62aa7
|
||||
c8eff81875a9ced92b486586079ba40faba62aa7 platform/x86: dell-wmi-sysman: Cleanup create_attributes_level_sysfs_files()
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/fe2c1db4137bedceb53dbd240d635cabcc7662c1
|
||||
fe2c1db4137bedceb53dbd240d635cabcc7662c1 platform/x86: dell-wmi-sysman: Make sysman_init() return -ENODEV of the interfaces are not found
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/8d59b9510cdedd773c3043b4ad6cab6c956bd161
|
||||
8d59b9510cdedd773c3043b4ad6cab6c956bd161 platform/x86: dell-wmi-sysman: Cleanup sysman_init() error-exit handling
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/7a850e109a14934b6a9d2da47483c1e0c57048d2
|
||||
7a850e109a14934b6a9d2da47483c1e0c57048d2 platform/x86: dell-wmi-sysman: Fix release_attributes_data() getting called twice on init_bios_attributes() failure
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/d02d2d9f0333d7953402e589004930be67a72fb5
|
||||
d02d2d9f0333d7953402e589004930be67a72fb5 platform/x86: dell-wmi-sysman: Make it safe to call exit_foo_attributes() multiple times
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/3ef181745e85b437d375cc9a06cc407c2efc52ae
|
||||
3ef181745e85b437d375cc9a06cc407c2efc52ae platform/x86: dell-wmi-sysman: Fix possible NULL pointer deref on exit
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/3112ca25438d87729b24ac5b3359be77106c555c
|
||||
3112ca25438d87729b24ac5b3359be77106c555c platform/x86: dell-wmi-sysman: Fix crash caused by calling kset_unregister twice
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/008fb3f23a7fbe9d6ae7dab4d5909a3d554e078b
|
||||
008fb3f23a7fbe9d6ae7dab4d5909a3d554e078b platform/x86: thinkpad_acpi: Disable DYTC CQL mode around switching to balanced mode
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/b5c4c28a6425735d1fff57ac714cfd15b3387a70
|
||||
b5c4c28a6425735d1fff57ac714cfd15b3387a70 platform/x86: thinkpad_acpi: Allow the FnLock LED to change state
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/a0029a16a4435e2c6993c48bd7b2767dc95b3fad
|
||||
a0029a16a4435e2c6993c48bd7b2767dc95b3fad platform/x86: thinkpad_acpi: check dytc version for lapmode sysfs
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/cc16fe7bebbf787638dea93615ec7f9b49340ca5
|
||||
cc16fe7bebbf787638dea93615ec7f9b49340ca5 platform/x86: intel-hid: Support Lenovo ThinkPad X1 Tablet Gen 2
|
||||
|
||||
https://gitlab.com/cki-project/kernel-ark/-/commit/58465cf2c68ab118fb14070d90d2c72c15709e50
|
||||
58465cf2c68ab118fb14070d90d2c72c15709e50 mmc: sdhci-iproc: Add ACPI bindings for the rpi
|
||||
|
||||
|
|
|
@ -5962,7 +5962,7 @@ CONFIG_VEXPRESS_SYSCFG=y
|
|||
# CONFIG_VFAT_FS is not set
|
||||
CONFIG_VFIO_AP=m
|
||||
CONFIG_VFIO_IOMMU_TYPE1=m
|
||||
CONFIG_VFIO=m
|
||||
# CONFIG_VFIO is not set
|
||||
CONFIG_VFIO_MDEV_DEVICE=m
|
||||
CONFIG_VFIO_MDEV=m
|
||||
# CONFIG_VFIO_NOIOMMU is not set
|
||||
|
|
24
kernel.spec
24
kernel.spec
|
@ -104,7 +104,7 @@ Summary: The Linux kernel
|
|||
%define primary_target rhel
|
||||
%endif
|
||||
|
||||
%define rpmversion 5.11.8
|
||||
%define rpmversion 5.11.9
|
||||
%define stableversion 5.11
|
||||
%define pkgrelease 200
|
||||
|
||||
|
@ -603,7 +603,7 @@ BuildRequires: asciidoc
|
|||
# exact git commit you can run
|
||||
#
|
||||
# xzcat -qq ${TARBALL} | git get-tar-commit-id
|
||||
Source0: linux-5.11.8.tar.xz
|
||||
Source0: linux-5.11.9.tar.xz
|
||||
|
||||
Source1: Makefile.rhelver
|
||||
|
||||
|
@ -1251,8 +1251,8 @@ ApplyOptionalPatch()
|
|||
fi
|
||||
}
|
||||
|
||||
%setup -q -n kernel-5.11.8 -c
|
||||
mv linux-5.11.8 linux-%{KVERREL}
|
||||
%setup -q -n kernel-5.11.9 -c
|
||||
mv linux-5.11.9 linux-%{KVERREL}
|
||||
|
||||
cd linux-%{KVERREL}
|
||||
cp -a %{SOURCE1} .
|
||||
|
@ -2765,6 +2765,22 @@ fi
|
|||
#
|
||||
#
|
||||
%changelog
|
||||
* Wed Mar 24 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.11.9-11]
|
||||
- KVM: PPC: Book3S HV: Save and restore FSCR in the P9 path (Fabiano Rosas)
|
||||
- drm/nouveau/kms/nve4-nv108: Don't advertise 256x256 cursor support yet (Lyude Paul)
|
||||
- platform/x86: intel-vbtn: Stop reporting SW_DOCK events (Hans de Goede)
|
||||
- platform/x86: dell-wmi-sysman: Cleanup create_attributes_level_sysfs_files() (Hans de Goede)
|
||||
- platform/x86: dell-wmi-sysman: Make sysman_init() return -ENODEV of the interfaces are not found (Hans de Goede)
|
||||
- platform/x86: dell-wmi-sysman: Cleanup sysman_init() error-exit handling (Hans de Goede)
|
||||
- platform/x86: dell-wmi-sysman: Fix release_attributes_data() getting called twice on init_bios_attributes() failure (Hans de Goede)
|
||||
- platform/x86: dell-wmi-sysman: Make it safe to call exit_foo_attributes() multiple times (Hans de Goede)
|
||||
- platform/x86: dell-wmi-sysman: Fix possible NULL pointer deref on exit (Hans de Goede)
|
||||
- platform/x86: dell-wmi-sysman: Fix crash caused by calling kset_unregister twice (Hans de Goede)
|
||||
- platform/x86: thinkpad_acpi: Disable DYTC CQL mode around switching to balanced mode (Hans de Goede)
|
||||
- platform/x86: thinkpad_acpi: Allow the FnLock LED to change state (Esteve Varela Colominas)
|
||||
- platform/x86: thinkpad_acpi: check dytc version for lapmode sysfs (Mark Pearson)
|
||||
- platform/x86: intel-hid: Support Lenovo ThinkPad X1 Tablet Gen 2 (Alban Bedel)
|
||||
|
||||
* Sun Mar 21 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.11.8-10]
|
||||
- This is a released kernel branch (Justin M. Forbes)
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Documentation/ABI/testing/sysfs-platform_profile | 24 ++
|
||||
Documentation/ABI/testing/sysfs-platform_profile | 24 +
|
||||
Documentation/admin-guide/kdump/kdump.rst | 11 +
|
||||
.../admin-guide/laptops/thinkpad-acpi.rst | 25 ++
|
||||
.../bindings/display/panel/xingbangda,xbd599.yaml | 50 +++
|
||||
.../admin-guide/laptops/thinkpad-acpi.rst | 25 +
|
||||
.../bindings/display/panel/xingbangda,xbd599.yaml | 50 ++
|
||||
Documentation/userspace-api/index.rst | 1 +
|
||||
.../userspace-api/sysfs-platform_profile.rst | 42 ++
|
||||
Makefile | 1 +
|
||||
|
@ -9,6 +9,7 @@
|
|||
arch/arm/include/asm/uaccess.h | 8 +-
|
||||
arch/arm64/Kconfig | 3 +-
|
||||
.../boot/dts/rockchip/rk3399-pinebook-pro.dts | 2 +-
|
||||
arch/powerpc/kvm/book3s_hv.c | 4 +
|
||||
arch/s390/include/asm/ipl.h | 1 +
|
||||
arch/s390/kernel/ipl.c | 5 +
|
||||
arch/s390/kernel/setup.c | 4 +
|
||||
|
@ -18,29 +19,37 @@
|
|||
drivers/acpi/apei/hest.c | 8 +
|
||||
drivers/acpi/irq.c | 17 +-
|
||||
drivers/acpi/pci_mcfg.c | 7 +
|
||||
drivers/acpi/platform_profile.c | 177 ++++++++
|
||||
drivers/acpi/platform_profile.c | 177 +++++++
|
||||
drivers/acpi/scan.c | 9 +
|
||||
drivers/ata/libahci.c | 18 +
|
||||
drivers/char/ipmi/ipmi_dmi.c | 15 +
|
||||
drivers/char/ipmi/ipmi_msghandler.c | 16 +-
|
||||
drivers/firmware/efi/Makefile | 1 +
|
||||
drivers/firmware/efi/efi.c | 124 ++++--
|
||||
drivers/firmware/efi/efi.c | 124 +++--
|
||||
drivers/firmware/efi/secureboot.c | 38 ++
|
||||
drivers/gpu/drm/nouveau/dispnv50/disp.c | 12 +-
|
||||
drivers/gpu/drm/panel/Kconfig | 9 +
|
||||
drivers/gpu/drm/panel/Makefile | 1 +
|
||||
drivers/gpu/drm/panel/panel-xingbangda-xbd599.c | 366 ++++++++++++++++
|
||||
drivers/gpu/drm/panel/panel-xingbangda-xbd599.c | 366 +++++++++++++++
|
||||
drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 10 +-
|
||||
drivers/hid/hid-rmi.c | 64 ---
|
||||
drivers/input/rmi4/rmi_driver.c | 124 +++---
|
||||
drivers/input/rmi4/rmi_driver.c | 124 +++--
|
||||
drivers/iommu/iommu.c | 22 +
|
||||
drivers/pci/controller/dwc/Kconfig | 10 +-
|
||||
drivers/pci/controller/dwc/Makefile | 2 +-
|
||||
drivers/pci/controller/dwc/pcie-tegra194.c | 102 +++++
|
||||
drivers/pci/controller/dwc/pcie-tegra194.c | 102 ++++
|
||||
drivers/pci/controller/pcie-brcmstb.c | 1 +
|
||||
drivers/pci/quirks.c | 24 ++
|
||||
drivers/pci/quirks.c | 24 +
|
||||
drivers/platform/x86/Kconfig | 2 +
|
||||
drivers/platform/x86/ideapad-laptop.c | 289 +++++++++++++
|
||||
drivers/platform/x86/thinkpad_acpi.c | 464 ++++++++++++++++++++-
|
||||
.../platform/x86/dell-wmi-sysman/enum-attributes.c | 3 +
|
||||
.../platform/x86/dell-wmi-sysman/int-attributes.c | 3 +
|
||||
.../x86/dell-wmi-sysman/passobj-attributes.c | 3 +
|
||||
.../x86/dell-wmi-sysman/string-attributes.c | 3 +
|
||||
drivers/platform/x86/dell-wmi-sysman/sysman.c | 84 ++--
|
||||
drivers/platform/x86/ideapad-laptop.c | 289 ++++++++++++
|
||||
drivers/platform/x86/intel-hid.c | 7 +
|
||||
drivers/platform/x86/intel-vbtn.c | 12 +-
|
||||
drivers/platform/x86/thinkpad_acpi.c | 518 ++++++++++++++++++++-
|
||||
drivers/scsi/smartpqi/smartpqi_init.c | 16 +
|
||||
drivers/usb/core/hub.c | 7 +
|
||||
include/linux/efi.h | 22 +-
|
||||
|
@ -59,7 +68,7 @@
|
|||
security/security.c | 6 +
|
||||
sound/hda/Kconfig | 14 +
|
||||
sound/hda/intel-dsp-config.c | 29 +-
|
||||
61 files changed, 2126 insertions(+), 213 deletions(-)
|
||||
70 files changed, 2254 insertions(+), 270 deletions(-)
|
||||
|
||||
diff --git a/Documentation/ABI/testing/sysfs-platform_profile b/Documentation/ABI/testing/sysfs-platform_profile
|
||||
new file mode 100644
|
||||
|
@ -273,7 +282,7 @@ index 000000000000..c33a71263d9e
|
|||
+ 2. Add the new profile name, along with a clear description of the
|
||||
+ expected behaviour, to the sysfs-platform_profile ABI documentation.
|
||||
diff --git a/Makefile b/Makefile
|
||||
index d8a39ece170d..1b98067c8aa8 100644
|
||||
index 23403c8e0838..f066d200185e 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -494,6 +494,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE
|
||||
|
@ -365,6 +374,28 @@ index 219b7507a10f..45769764425d 100644
|
|||
};
|
||||
|
||||
&cpu_b0 {
|
||||
diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c
|
||||
index 6f612d240392..f2ddf7139a2a 100644
|
||||
--- a/arch/powerpc/kvm/book3s_hv.c
|
||||
+++ b/arch/powerpc/kvm/book3s_hv.c
|
||||
@@ -3595,6 +3595,7 @@ static int kvmhv_p9_guest_entry(struct kvm_vcpu *vcpu, u64 time_limit,
|
||||
unsigned long host_tidr = mfspr(SPRN_TIDR);
|
||||
unsigned long host_iamr = mfspr(SPRN_IAMR);
|
||||
unsigned long host_amr = mfspr(SPRN_AMR);
|
||||
+ unsigned long host_fscr = mfspr(SPRN_FSCR);
|
||||
s64 dec;
|
||||
u64 tb;
|
||||
int trap, save_pmu;
|
||||
@@ -3735,6 +3736,9 @@ static int kvmhv_p9_guest_entry(struct kvm_vcpu *vcpu, u64 time_limit,
|
||||
if (host_amr != vcpu->arch.amr)
|
||||
mtspr(SPRN_AMR, host_amr);
|
||||
|
||||
+ if (host_fscr != vcpu->arch.fscr)
|
||||
+ mtspr(SPRN_FSCR, host_fscr);
|
||||
+
|
||||
msr_check_and_set(MSR_FP | MSR_VEC | MSR_VSX);
|
||||
store_fp_state(&vcpu->arch.fp);
|
||||
#ifdef CONFIG_ALTIVEC
|
||||
diff --git a/arch/s390/include/asm/ipl.h b/arch/s390/include/asm/ipl.h
|
||||
index a9e2c7295b35..6ff11f3a2d47 100644
|
||||
--- a/arch/s390/include/asm/ipl.h
|
||||
|
@ -871,7 +902,7 @@ index 467e94259679..9b6f5b8e5397 100644
|
|||
obj-$(CONFIG_EFI_RCI2_TABLE) += rci2-table.o
|
||||
obj-$(CONFIG_EFI_EMBEDDED_FIRMWARE) += embedded-firmware.o
|
||||
diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
|
||||
index df3f9bcab581..8d5b6eb36467 100644
|
||||
index 4b7ee3fa9224..64b31d852d20 100644
|
||||
--- a/drivers/firmware/efi/efi.c
|
||||
+++ b/drivers/firmware/efi/efi.c
|
||||
@@ -31,6 +31,7 @@
|
||||
|
@ -1059,6 +1090,31 @@ index 000000000000..de0a3714a5d4
|
|||
+ }
|
||||
+ }
|
||||
+}
|
||||
diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c
|
||||
index 5f4f09a601d4..857b76605a9e 100644
|
||||
--- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
|
||||
+++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
|
||||
@@ -2663,9 +2663,19 @@ nv50_display_create(struct drm_device *dev)
|
||||
else
|
||||
nouveau_display(dev)->format_modifiers = disp50xx_modifiers;
|
||||
|
||||
- if (disp->disp->object.oclass >= GK104_DISP) {
|
||||
+ /* FIXME: 256x256 cursors are supported on Kepler, however unlike Maxwell and later
|
||||
+ * generations Kepler requires that we specify the page type, small (4K) or large (128K),
|
||||
+ * correctly for the ctxdma being used on curs/ovly. We currently share a ctxdma across all
|
||||
+ * display planes (except ovly) that defaults to small pages, which results in artifacting
|
||||
+ * on 256x256 cursors. Until we teach nouveau to create an appropriate ctxdma for the cursor
|
||||
+ * fb in use, simply avoid advertising support for 256x256 cursors.
|
||||
+ */
|
||||
+ if (disp->disp->object.oclass >= GM107_DISP) {
|
||||
dev->mode_config.cursor_width = 256;
|
||||
dev->mode_config.cursor_height = 256;
|
||||
+ } else if (disp->disp->object.oclass >= GK104_DISP) {
|
||||
+ dev->mode_config.cursor_width = 128;
|
||||
+ dev->mode_config.cursor_height = 128;
|
||||
} else {
|
||||
dev->mode_config.cursor_width = 64;
|
||||
dev->mode_config.cursor_height = 64;
|
||||
diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig
|
||||
index b4e021ea30f9..5687b745ebe2 100644
|
||||
--- a/drivers/gpu/drm/panel/Kconfig
|
||||
|
@ -2080,6 +2136,252 @@ index ac4125ec0660..3a8ade8bb073 100644
|
|||
select HWMON
|
||||
select NVRAM
|
||||
select NEW_LEDS
|
||||
diff --git a/drivers/platform/x86/dell-wmi-sysman/enum-attributes.c b/drivers/platform/x86/dell-wmi-sysman/enum-attributes.c
|
||||
index 80f4b7785c6c..091e48c217ed 100644
|
||||
--- a/drivers/platform/x86/dell-wmi-sysman/enum-attributes.c
|
||||
+++ b/drivers/platform/x86/dell-wmi-sysman/enum-attributes.c
|
||||
@@ -185,5 +185,8 @@ void exit_enum_attributes(void)
|
||||
sysfs_remove_group(wmi_priv.enumeration_data[instance_id].attr_name_kobj,
|
||||
&enumeration_attr_group);
|
||||
}
|
||||
+ wmi_priv.enumeration_instances_count = 0;
|
||||
+
|
||||
kfree(wmi_priv.enumeration_data);
|
||||
+ wmi_priv.enumeration_data = NULL;
|
||||
}
|
||||
diff --git a/drivers/platform/x86/dell-wmi-sysman/int-attributes.c b/drivers/platform/x86/dell-wmi-sysman/int-attributes.c
|
||||
index 75aedbb733be..8a49ba6e44f9 100644
|
||||
--- a/drivers/platform/x86/dell-wmi-sysman/int-attributes.c
|
||||
+++ b/drivers/platform/x86/dell-wmi-sysman/int-attributes.c
|
||||
@@ -175,5 +175,8 @@ void exit_int_attributes(void)
|
||||
sysfs_remove_group(wmi_priv.integer_data[instance_id].attr_name_kobj,
|
||||
&integer_attr_group);
|
||||
}
|
||||
+ wmi_priv.integer_instances_count = 0;
|
||||
+
|
||||
kfree(wmi_priv.integer_data);
|
||||
+ wmi_priv.integer_data = NULL;
|
||||
}
|
||||
diff --git a/drivers/platform/x86/dell-wmi-sysman/passobj-attributes.c b/drivers/platform/x86/dell-wmi-sysman/passobj-attributes.c
|
||||
index 3abcd95477c0..834b3e82ad9f 100644
|
||||
--- a/drivers/platform/x86/dell-wmi-sysman/passobj-attributes.c
|
||||
+++ b/drivers/platform/x86/dell-wmi-sysman/passobj-attributes.c
|
||||
@@ -183,5 +183,8 @@ void exit_po_attributes(void)
|
||||
sysfs_remove_group(wmi_priv.po_data[instance_id].attr_name_kobj,
|
||||
&po_attr_group);
|
||||
}
|
||||
+ wmi_priv.po_instances_count = 0;
|
||||
+
|
||||
kfree(wmi_priv.po_data);
|
||||
+ wmi_priv.po_data = NULL;
|
||||
}
|
||||
diff --git a/drivers/platform/x86/dell-wmi-sysman/string-attributes.c b/drivers/platform/x86/dell-wmi-sysman/string-attributes.c
|
||||
index ac75dce88a4c..552537852459 100644
|
||||
--- a/drivers/platform/x86/dell-wmi-sysman/string-attributes.c
|
||||
+++ b/drivers/platform/x86/dell-wmi-sysman/string-attributes.c
|
||||
@@ -155,5 +155,8 @@ void exit_str_attributes(void)
|
||||
sysfs_remove_group(wmi_priv.str_data[instance_id].attr_name_kobj,
|
||||
&str_attr_group);
|
||||
}
|
||||
+ wmi_priv.str_instances_count = 0;
|
||||
+
|
||||
kfree(wmi_priv.str_data);
|
||||
+ wmi_priv.str_data = NULL;
|
||||
}
|
||||
diff --git a/drivers/platform/x86/dell-wmi-sysman/sysman.c b/drivers/platform/x86/dell-wmi-sysman/sysman.c
|
||||
index cb81010ba1a2..7410ccae650c 100644
|
||||
--- a/drivers/platform/x86/dell-wmi-sysman/sysman.c
|
||||
+++ b/drivers/platform/x86/dell-wmi-sysman/sysman.c
|
||||
@@ -210,25 +210,17 @@ static struct kobj_attribute pending_reboot = __ATTR_RO(pending_reboot);
|
||||
*/
|
||||
static int create_attributes_level_sysfs_files(void)
|
||||
{
|
||||
- int ret = sysfs_create_file(&wmi_priv.main_dir_kset->kobj, &reset_bios.attr);
|
||||
+ int ret;
|
||||
|
||||
- if (ret) {
|
||||
- pr_debug("could not create reset_bios file\n");
|
||||
+ ret = sysfs_create_file(&wmi_priv.main_dir_kset->kobj, &reset_bios.attr);
|
||||
+ if (ret)
|
||||
return ret;
|
||||
- }
|
||||
|
||||
ret = sysfs_create_file(&wmi_priv.main_dir_kset->kobj, &pending_reboot.attr);
|
||||
- if (ret) {
|
||||
- pr_debug("could not create changing_pending_reboot file\n");
|
||||
- sysfs_remove_file(&wmi_priv.main_dir_kset->kobj, &reset_bios.attr);
|
||||
- }
|
||||
- return ret;
|
||||
-}
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
|
||||
-static void release_reset_bios_data(void)
|
||||
-{
|
||||
- sysfs_remove_file(&wmi_priv.main_dir_kset->kobj, &reset_bios.attr);
|
||||
- sysfs_remove_file(&wmi_priv.main_dir_kset->kobj, &pending_reboot.attr);
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
static ssize_t wmi_sysman_attr_show(struct kobject *kobj, struct attribute *attr,
|
||||
@@ -373,8 +365,6 @@ static void destroy_attribute_objs(struct kset *kset)
|
||||
*/
|
||||
static void release_attributes_data(void)
|
||||
{
|
||||
- release_reset_bios_data();
|
||||
-
|
||||
mutex_lock(&wmi_priv.mutex);
|
||||
exit_enum_attributes();
|
||||
exit_int_attributes();
|
||||
@@ -386,11 +376,13 @@ static void release_attributes_data(void)
|
||||
wmi_priv.authentication_dir_kset = NULL;
|
||||
}
|
||||
if (wmi_priv.main_dir_kset) {
|
||||
+ sysfs_remove_file(&wmi_priv.main_dir_kset->kobj, &reset_bios.attr);
|
||||
+ sysfs_remove_file(&wmi_priv.main_dir_kset->kobj, &pending_reboot.attr);
|
||||
destroy_attribute_objs(wmi_priv.main_dir_kset);
|
||||
kset_unregister(wmi_priv.main_dir_kset);
|
||||
+ wmi_priv.main_dir_kset = NULL;
|
||||
}
|
||||
mutex_unlock(&wmi_priv.mutex);
|
||||
-
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -497,7 +489,6 @@ static int init_bios_attributes(int attr_type, const char *guid)
|
||||
|
||||
err_attr_init:
|
||||
mutex_unlock(&wmi_priv.mutex);
|
||||
- release_attributes_data();
|
||||
kfree(obj);
|
||||
return retval;
|
||||
}
|
||||
@@ -513,102 +504,91 @@ static int __init sysman_init(void)
|
||||
}
|
||||
|
||||
ret = init_bios_attr_set_interface();
|
||||
- if (ret || !wmi_priv.bios_attr_wdev) {
|
||||
- pr_debug("failed to initialize set interface\n");
|
||||
- goto fail_set_interface;
|
||||
- }
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
|
||||
ret = init_bios_attr_pass_interface();
|
||||
- if (ret || !wmi_priv.password_attr_wdev) {
|
||||
- pr_debug("failed to initialize pass interface\n");
|
||||
- goto fail_pass_interface;
|
||||
+ if (ret)
|
||||
+ goto err_exit_bios_attr_set_interface;
|
||||
+
|
||||
+ if (!wmi_priv.bios_attr_wdev || !wmi_priv.password_attr_wdev) {
|
||||
+ pr_debug("failed to find set or pass interface\n");
|
||||
+ ret = -ENODEV;
|
||||
+ goto err_exit_bios_attr_pass_interface;
|
||||
}
|
||||
|
||||
ret = class_register(&firmware_attributes_class);
|
||||
if (ret)
|
||||
- goto fail_class;
|
||||
+ goto err_exit_bios_attr_pass_interface;
|
||||
|
||||
wmi_priv.class_dev = device_create(&firmware_attributes_class, NULL, MKDEV(0, 0),
|
||||
NULL, "%s", DRIVER_NAME);
|
||||
if (IS_ERR(wmi_priv.class_dev)) {
|
||||
ret = PTR_ERR(wmi_priv.class_dev);
|
||||
- goto fail_classdev;
|
||||
+ goto err_unregister_class;
|
||||
}
|
||||
|
||||
wmi_priv.main_dir_kset = kset_create_and_add("attributes", NULL,
|
||||
&wmi_priv.class_dev->kobj);
|
||||
if (!wmi_priv.main_dir_kset) {
|
||||
ret = -ENOMEM;
|
||||
- goto fail_main_kset;
|
||||
+ goto err_destroy_classdev;
|
||||
}
|
||||
|
||||
wmi_priv.authentication_dir_kset = kset_create_and_add("authentication", NULL,
|
||||
&wmi_priv.class_dev->kobj);
|
||||
if (!wmi_priv.authentication_dir_kset) {
|
||||
ret = -ENOMEM;
|
||||
- goto fail_authentication_kset;
|
||||
+ goto err_release_attributes_data;
|
||||
}
|
||||
|
||||
ret = create_attributes_level_sysfs_files();
|
||||
if (ret) {
|
||||
pr_debug("could not create reset BIOS attribute\n");
|
||||
- goto fail_reset_bios;
|
||||
+ goto err_release_attributes_data;
|
||||
}
|
||||
|
||||
ret = init_bios_attributes(ENUM, DELL_WMI_BIOS_ENUMERATION_ATTRIBUTE_GUID);
|
||||
if (ret) {
|
||||
pr_debug("failed to populate enumeration type attributes\n");
|
||||
- goto fail_create_group;
|
||||
+ goto err_release_attributes_data;
|
||||
}
|
||||
|
||||
ret = init_bios_attributes(INT, DELL_WMI_BIOS_INTEGER_ATTRIBUTE_GUID);
|
||||
if (ret) {
|
||||
pr_debug("failed to populate integer type attributes\n");
|
||||
- goto fail_create_group;
|
||||
+ goto err_release_attributes_data;
|
||||
}
|
||||
|
||||
ret = init_bios_attributes(STR, DELL_WMI_BIOS_STRING_ATTRIBUTE_GUID);
|
||||
if (ret) {
|
||||
pr_debug("failed to populate string type attributes\n");
|
||||
- goto fail_create_group;
|
||||
+ goto err_release_attributes_data;
|
||||
}
|
||||
|
||||
ret = init_bios_attributes(PO, DELL_WMI_BIOS_PASSOBJ_ATTRIBUTE_GUID);
|
||||
if (ret) {
|
||||
pr_debug("failed to populate pass object type attributes\n");
|
||||
- goto fail_create_group;
|
||||
+ goto err_release_attributes_data;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
-fail_create_group:
|
||||
+err_release_attributes_data:
|
||||
release_attributes_data();
|
||||
|
||||
-fail_reset_bios:
|
||||
- if (wmi_priv.authentication_dir_kset) {
|
||||
- kset_unregister(wmi_priv.authentication_dir_kset);
|
||||
- wmi_priv.authentication_dir_kset = NULL;
|
||||
- }
|
||||
-
|
||||
-fail_authentication_kset:
|
||||
- if (wmi_priv.main_dir_kset) {
|
||||
- kset_unregister(wmi_priv.main_dir_kset);
|
||||
- wmi_priv.main_dir_kset = NULL;
|
||||
- }
|
||||
-
|
||||
-fail_main_kset:
|
||||
+err_destroy_classdev:
|
||||
device_destroy(&firmware_attributes_class, MKDEV(0, 0));
|
||||
|
||||
-fail_classdev:
|
||||
+err_unregister_class:
|
||||
class_unregister(&firmware_attributes_class);
|
||||
|
||||
-fail_class:
|
||||
+err_exit_bios_attr_pass_interface:
|
||||
exit_bios_attr_pass_interface();
|
||||
|
||||
-fail_pass_interface:
|
||||
+err_exit_bios_attr_set_interface:
|
||||
exit_bios_attr_set_interface();
|
||||
|
||||
-fail_set_interface:
|
||||
return ret;
|
||||
}
|
||||
|
||||
diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c
|
||||
index 5b81bafa5c16..cc42af2a0a98 100644
|
||||
--- a/drivers/platform/x86/ideapad-laptop.c
|
||||
|
@ -2429,8 +2731,49 @@ index 5b81bafa5c16..cc42af2a0a98 100644
|
|||
return 0;
|
||||
}
|
||||
#endif
|
||||
diff --git a/drivers/platform/x86/intel-hid.c b/drivers/platform/x86/intel-hid.c
|
||||
index 2f5b8d09143e..57cc92891a57 100644
|
||||
--- a/drivers/platform/x86/intel-hid.c
|
||||
+++ b/drivers/platform/x86/intel-hid.c
|
||||
@@ -90,6 +90,13 @@ static const struct dmi_system_id button_array_table[] = {
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "HP Spectre x2 Detachable"),
|
||||
},
|
||||
},
|
||||
+ {
|
||||
+ .ident = "Lenovo ThinkPad X1 Tablet Gen 2",
|
||||
+ .matches = {
|
||||
+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
||||
+ DMI_MATCH(DMI_PRODUCT_FAMILY, "ThinkPad X1 Tablet Gen 2"),
|
||||
+ },
|
||||
+ },
|
||||
{ }
|
||||
};
|
||||
|
||||
diff --git a/drivers/platform/x86/intel-vbtn.c b/drivers/platform/x86/intel-vbtn.c
|
||||
index 30a9062d2b4b..a90c32d072da 100644
|
||||
--- a/drivers/platform/x86/intel-vbtn.c
|
||||
+++ b/drivers/platform/x86/intel-vbtn.c
|
||||
@@ -47,8 +47,16 @@ static const struct key_entry intel_vbtn_keymap[] = {
|
||||
};
|
||||
|
||||
static const struct key_entry intel_vbtn_switchmap[] = {
|
||||
- { KE_SW, 0xCA, { .sw = { SW_DOCK, 1 } } }, /* Docked */
|
||||
- { KE_SW, 0xCB, { .sw = { SW_DOCK, 0 } } }, /* Undocked */
|
||||
+ /*
|
||||
+ * SW_DOCK should only be reported for docking stations, but DSDTs using the
|
||||
+ * intel-vbtn code, always seem to use this for 2-in-1s / convertibles and set
|
||||
+ * SW_DOCK=1 when in laptop-mode (in tandem with setting SW_TABLET_MODE=0).
|
||||
+ * This causes userspace to think the laptop is docked to a port-replicator
|
||||
+ * and to disable suspend-on-lid-close, which is undesirable.
|
||||
+ * Map the dock events to KEY_IGNORE to avoid this broken SW_DOCK reporting.
|
||||
+ */
|
||||
+ { KE_IGNORE, 0xCA, { .sw = { SW_DOCK, 1 } } }, /* Docked */
|
||||
+ { KE_IGNORE, 0xCB, { .sw = { SW_DOCK, 0 } } }, /* Undocked */
|
||||
{ KE_SW, 0xCC, { .sw = { SW_TABLET_MODE, 1 } } }, /* Tablet */
|
||||
{ KE_SW, 0xCD, { .sw = { SW_TABLET_MODE, 0 } } }, /* Laptop */
|
||||
};
|
||||
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
|
||||
index f3e8eca8d86d..5b596a825b24 100644
|
||||
index f3e8eca8d86d..9ecf7829b3d8 100644
|
||||
--- a/drivers/platform/x86/thinkpad_acpi.c
|
||||
+++ b/drivers/platform/x86/thinkpad_acpi.c
|
||||
@@ -66,6 +66,7 @@
|
||||
|
@ -2441,9 +2784,44 @@ index f3e8eca8d86d..5b596a825b24 100644
|
|||
#include <sound/core.h>
|
||||
#include <sound/control.h>
|
||||
#include <sound/initval.h>
|
||||
@@ -9855,16 +9856,27 @@ static bool has_lapsensor;
|
||||
@@ -4080,13 +4081,19 @@ static bool hotkey_notify_6xxx(const u32 hkey,
|
||||
|
||||
case TP_HKEY_EV_KEY_NUMLOCK:
|
||||
case TP_HKEY_EV_KEY_FN:
|
||||
- case TP_HKEY_EV_KEY_FN_ESC:
|
||||
/* key press events, we just ignore them as long as the EC
|
||||
* is still reporting them in the normal keyboard stream */
|
||||
*send_acpi_ev = false;
|
||||
*ignore_acpi_ev = true;
|
||||
return true;
|
||||
|
||||
+ case TP_HKEY_EV_KEY_FN_ESC:
|
||||
+ /* Get the media key status to foce the status LED to update */
|
||||
+ acpi_evalf(hkey_handle, NULL, "GMKS", "v");
|
||||
+ *send_acpi_ev = false;
|
||||
+ *ignore_acpi_ev = true;
|
||||
+ return true;
|
||||
+
|
||||
case TP_HKEY_EV_TABLET_CHANGED:
|
||||
tpacpi_input_send_tabletsw();
|
||||
hotkey_tablet_mode_notify_change();
|
||||
@@ -9844,6 +9851,11 @@ static struct ibm_struct lcdshadow_driver_data = {
|
||||
* Thinkpad sensor interfaces
|
||||
*/
|
||||
|
||||
+#define DYTC_CMD_QUERY 0 /* To get DYTC status - enable/revision */
|
||||
+#define DYTC_QUERY_ENABLE_BIT 8 /* Bit 8 - 0 = disabled, 1 = enabled */
|
||||
+#define DYTC_QUERY_SUBREV_BIT 16 /* Bits 16 - 27 - sub revision */
|
||||
+#define DYTC_QUERY_REV_BIT 28 /* Bits 28 - 31 - revision */
|
||||
+
|
||||
#define DYTC_CMD_GET 2 /* To get current IC function and mode */
|
||||
#define DYTC_GET_LAPMODE_BIT 17 /* Set when in lapmode */
|
||||
|
||||
@@ -9854,17 +9866,56 @@ static bool has_palmsensor;
|
||||
static bool has_lapsensor;
|
||||
static bool palm_state;
|
||||
static bool lap_state;
|
||||
+static int dytc_version;
|
||||
|
||||
-static int lapsensor_get(bool *present, bool *state)
|
||||
+static int dytc_command(int command, int *output)
|
||||
|
@ -2463,6 +2841,33 @@ index f3e8eca8d86d..5b596a825b24 100644
|
|||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int dytc_get_version(void)
|
||||
+{
|
||||
+ int err, output;
|
||||
+
|
||||
+ /* Check if we've been called before - and just return cached value */
|
||||
+ if (dytc_version)
|
||||
+ return dytc_version;
|
||||
+
|
||||
+ /* Otherwise query DYTC and extract version information */
|
||||
+ err = dytc_command(DYTC_CMD_QUERY, &output);
|
||||
+ /*
|
||||
+ * If support isn't available (ENODEV) then don't return an error
|
||||
+ * and don't create the sysfs group
|
||||
+ */
|
||||
+ if (err == -ENODEV)
|
||||
+ return 0;
|
||||
+ /* For all other errors we can flag the failure */
|
||||
+ if (err)
|
||||
+ return err;
|
||||
+
|
||||
+ /* Check DYTC is enabled and supports mode setting */
|
||||
+ if (output & BIT(DYTC_QUERY_ENABLE_BIT))
|
||||
+ dytc_version = (output >> DYTC_QUERY_REV_BIT) & 0xF;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int lapsensor_get(bool *present, bool *state)
|
||||
+{
|
||||
+ int output, err;
|
||||
|
@ -2474,7 +2879,27 @@ index f3e8eca8d86d..5b596a825b24 100644
|
|||
|
||||
*present = true; /*If we get his far, we have lapmode support*/
|
||||
*state = output & BIT(DYTC_GET_LAPMODE_BIT) ? true : false;
|
||||
@@ -9983,6 +9995,434 @@ static struct ibm_struct proxsensor_driver_data = {
|
||||
@@ -9962,7 +10013,18 @@ static int tpacpi_proxsensor_init(struct ibm_init_struct *iibm)
|
||||
if (err)
|
||||
return err;
|
||||
}
|
||||
- if (has_lapsensor) {
|
||||
+
|
||||
+ /* Check if we know the DYTC version, if we don't then get it */
|
||||
+ if (!dytc_version) {
|
||||
+ err = dytc_get_version();
|
||||
+ if (err)
|
||||
+ return err;
|
||||
+ }
|
||||
+ /*
|
||||
+ * Platforms before DYTC version 5 claim to have a lap sensor, but it doesn't work, so we
|
||||
+ * ignore them
|
||||
+ */
|
||||
+ if (has_lapsensor && (dytc_version >= 5)) {
|
||||
err = sysfs_create_file(&tpacpi_pdev->dev.kobj, &dev_attr_dytc_lapmode.attr);
|
||||
if (err)
|
||||
return err;
|
||||
@@ -9983,6 +10045,434 @@ static struct ibm_struct proxsensor_driver_data = {
|
||||
.exit = proxsensor_exit,
|
||||
};
|
||||
|
||||
|
@ -2482,14 +2907,9 @@ index f3e8eca8d86d..5b596a825b24 100644
|
|||
+ * DYTC Platform Profile interface
|
||||
+ */
|
||||
+
|
||||
+#define DYTC_CMD_QUERY 0 /* To get DYTC status - enable/revision */
|
||||
+#define DYTC_CMD_SET 1 /* To enable/disable IC function mode */
|
||||
+#define DYTC_CMD_RESET 0x1ff /* To reset back to default */
|
||||
+
|
||||
+#define DYTC_QUERY_ENABLE_BIT 8 /* Bit 8 - 0 = disabled, 1 = enabled */
|
||||
+#define DYTC_QUERY_SUBREV_BIT 16 /* Bits 16 - 27 - sub revision */
|
||||
+#define DYTC_QUERY_REV_BIT 28 /* Bits 28 - 31 - revision */
|
||||
+
|
||||
+#define DYTC_GET_FUNCTION_BIT 8 /* Bits 8-11 - function setting */
|
||||
+#define DYTC_GET_MODE_BIT 12 /* Bits 12-15 - mode setting */
|
||||
+
|
||||
|
@ -2625,8 +3045,13 @@ index f3e8eca8d86d..5b596a825b24 100644
|
|||
+ return err;
|
||||
+
|
||||
+ if (profile == PLATFORM_PROFILE_BALANCED) {
|
||||
+ /* To get back to balanced mode we just issue a reset command */
|
||||
+ err = dytc_command(DYTC_CMD_RESET, &output);
|
||||
+ /*
|
||||
+ * To get back to balanced mode we need to issue a reset command.
|
||||
+ * Note we still need to disable CQL mode before hand and re-enable
|
||||
+ * it afterwards, otherwise dytc_lapmode gets reset to 0 and stays
|
||||
+ * stuck at 0 for aprox. 30 minutes.
|
||||
+ */
|
||||
+ err = dytc_cql_command(DYTC_CMD_RESET, &output);
|
||||
+ if (err)
|
||||
+ goto unlock;
|
||||
+ } else {
|
||||
|
@ -2694,28 +3119,28 @@ index f3e8eca8d86d..5b596a825b24 100644
|
|||
+ if (err)
|
||||
+ return err;
|
||||
+
|
||||
+ /* Check if we know the DYTC version, if we don't then get it */
|
||||
+ if (!dytc_version) {
|
||||
+ err = dytc_get_version();
|
||||
+ if (err)
|
||||
+ return err;
|
||||
+ }
|
||||
+ /* Check DYTC is enabled and supports mode setting */
|
||||
+ if (output & BIT(DYTC_QUERY_ENABLE_BIT)) {
|
||||
+ /* Only DYTC v5.0 and later has this feature. */
|
||||
+ int dytc_version;
|
||||
+ if (dytc_version >= 5) {
|
||||
+ dbg_printk(TPACPI_DBG_INIT,
|
||||
+ "DYTC version %d: thermal mode available\n", dytc_version);
|
||||
+ /* Create platform_profile structure and register */
|
||||
+ err = platform_profile_register(&dytc_profile);
|
||||
+ /*
|
||||
+ * If for some reason platform_profiles aren't enabled
|
||||
+ * don't quit terminally.
|
||||
+ */
|
||||
+ if (err)
|
||||
+ return 0;
|
||||
+
|
||||
+ dytc_version = (output >> DYTC_QUERY_REV_BIT) & 0xF;
|
||||
+ if (dytc_version >= 5) {
|
||||
+ dbg_printk(TPACPI_DBG_INIT,
|
||||
+ "DYTC version %d: thermal mode available\n", dytc_version);
|
||||
+ /* Create platform_profile structure and register */
|
||||
+ err = platform_profile_register(&dytc_profile);
|
||||
+ /*
|
||||
+ * If for some reason platform_profiles aren't enabled
|
||||
+ * don't quit terminally.
|
||||
+ */
|
||||
+ if (err)
|
||||
+ return 0;
|
||||
+
|
||||
+ dytc_profile_available = true;
|
||||
+ /* Ensure initial values are correct */
|
||||
+ dytc_profile_refresh();
|
||||
+ }
|
||||
+ dytc_profile_available = true;
|
||||
+ /* Ensure initial values are correct */
|
||||
+ dytc_profile_refresh();
|
||||
+ }
|
||||
+ return 0;
|
||||
+}
|
||||
|
@ -2909,7 +3334,7 @@ index f3e8eca8d86d..5b596a825b24 100644
|
|||
/****************************************************************************
|
||||
****************************************************************************
|
||||
*
|
||||
@@ -10031,8 +10471,12 @@ static void tpacpi_driver_event(const unsigned int hkey_event)
|
||||
@@ -10031,8 +10521,12 @@ static void tpacpi_driver_event(const unsigned int hkey_event)
|
||||
mutex_unlock(&kbdlight_mutex);
|
||||
}
|
||||
|
||||
|
@ -2923,7 +3348,7 @@ index f3e8eca8d86d..5b596a825b24 100644
|
|||
}
|
||||
|
||||
static void hotkey_driver_event(const unsigned int scancode)
|
||||
@@ -10475,6 +10919,14 @@ static struct ibm_init_struct ibms_init[] __initdata = {
|
||||
@@ -10475,6 +10969,14 @@ static struct ibm_init_struct ibms_init[] __initdata = {
|
||||
.init = tpacpi_proxsensor_init,
|
||||
.data = &proxsensor_driver_data,
|
||||
},
|
||||
|
@ -2991,7 +3416,7 @@ index 7f71218cc1e5..283fc0f41cd2 100644
|
|||
* disconnected while waiting for the lock to succeed. */
|
||||
usb_lock_device(hdev);
|
||||
diff --git a/include/linux/efi.h b/include/linux/efi.h
|
||||
index 763b816ba19c..4c55e3aa7e95 100644
|
||||
index 119262585e9b..7d67f0187c34 100644
|
||||
--- a/include/linux/efi.h
|
||||
+++ b/include/linux/efi.h
|
||||
@@ -43,6 +43,8 @@
|
||||
|
@ -3003,7 +3428,7 @@ index 763b816ba19c..4c55e3aa7e95 100644
|
|||
typedef unsigned long efi_status_t;
|
||||
typedef u8 efi_bool_t;
|
||||
typedef u16 efi_char16_t; /* UNICODE character */
|
||||
@@ -786,6 +788,14 @@ extern int __init efi_setup_pcdp_console(char *);
|
||||
@@ -788,6 +790,14 @@ extern int __init efi_setup_pcdp_console(char *);
|
||||
#define EFI_MEM_ATTR 10 /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */
|
||||
#define EFI_MEM_NO_SOFT_RESERVE 11 /* Is the kernel configured to ignore soft reservations? */
|
||||
#define EFI_PRESERVE_BS_REGIONS 12 /* Are EFI boot-services memory segments available? */
|
||||
|
@ -3018,7 +3443,7 @@ index 763b816ba19c..4c55e3aa7e95 100644
|
|||
|
||||
#ifdef CONFIG_EFI
|
||||
/*
|
||||
@@ -797,6 +807,8 @@ static inline bool efi_enabled(int feature)
|
||||
@@ -799,6 +809,8 @@ static inline bool efi_enabled(int feature)
|
||||
}
|
||||
extern void efi_reboot(enum reboot_mode reboot_mode, const char *__unused);
|
||||
|
||||
|
@ -3027,7 +3452,7 @@ index 763b816ba19c..4c55e3aa7e95 100644
|
|||
bool __pure __efi_soft_reserve_enabled(void);
|
||||
|
||||
static inline bool __pure efi_soft_reserve_enabled(void)
|
||||
@@ -817,6 +829,8 @@ static inline bool efi_enabled(int feature)
|
||||
@@ -819,6 +831,8 @@ static inline bool efi_enabled(int feature)
|
||||
static inline void
|
||||
efi_reboot(enum reboot_mode reboot_mode, const char *__unused) {}
|
||||
|
||||
|
@ -3036,7 +3461,7 @@ index 763b816ba19c..4c55e3aa7e95 100644
|
|||
static inline bool efi_soft_reserve_enabled(void)
|
||||
{
|
||||
return false;
|
||||
@@ -829,6 +843,7 @@ static inline bool efi_rt_services_supported(unsigned int mask)
|
||||
@@ -831,6 +845,7 @@ static inline bool efi_rt_services_supported(unsigned int mask)
|
||||
#endif
|
||||
|
||||
extern int efi_status_to_err(efi_status_t status);
|
||||
|
@ -3044,7 +3469,7 @@ index 763b816ba19c..4c55e3aa7e95 100644
|
|||
|
||||
/*
|
||||
* Variable Attributes
|
||||
@@ -1081,13 +1096,6 @@ static inline bool efi_runtime_disabled(void) { return true; }
|
||||
@@ -1083,13 +1098,6 @@ static inline bool efi_runtime_disabled(void) { return true; }
|
||||
extern void efi_call_virt_check_flags(unsigned long flags, const char *call);
|
||||
extern unsigned long efi_call_virt_save_flags(void);
|
||||
|
||||
|
|
6
sources
6
sources
|
@ -1,3 +1,3 @@
|
|||
SHA512 (linux-5.11.8.tar.xz) = e6e6f28df18e52b7c318b250e2a02ba01b58de7ccaa8f975ab8d5fdd02772f5c6482bcd9bc864565dc28f602c8d922837ffe98271ebb28f3c4cf16a6c847c88c
|
||||
SHA512 (kernel-abi-whitelists-5.11.8-200.tar.bz2) = 43705925fa990dc403b384d7c704560e9f6e245b9ad4d9e3d12424ae6d915d0269d6a04ea5b635b66803584b297d71f15f7307291c0aab9823ed7bf93d7d933f
|
||||
SHA512 (kernel-kabi-dw-5.11.8-200.tar.bz2) = 5bf9000d54f6066577569d6dae49ae592e01819c67eab2840408ab17949410111a3dd7f142279e0d86ac74d23041eb9bc9c184c733d1b22b68e86f6eb6555de5
|
||||
SHA512 (linux-5.11.9.tar.xz) = 18ca50dccb7190e45d6f004e694eb7a57e3948dff75ceaca5adbd592155a2b8ef08f4b8326eedfc397a429e430fa79ed85ea5b231874874620e4868edf389d53
|
||||
SHA512 (kernel-abi-whitelists-5.11.9-200.tar.bz2) = b12a59c930c835214beb2a27552269b86bb4fe106674333a344c2d054fec3b66867d390453ef9e9c85b4b5a63c664dfdd61a1a2caeaae735b4792ea040c8e659
|
||||
SHA512 (kernel-kabi-dw-5.11.9-200.tar.bz2) = 38466b84cfc72ad32e26f29ff8544449025820a20afef745ebfc64d7d827620a45a40291c120325bebb9ac64dd584429e50acd3fb3fce567c46246a7481e21ae
|
||||
|
|
Loading…
Reference in New Issue