aboutsummaryrefslogtreecommitdiff
path: root/SOURCES
diff options
context:
space:
mode:
Diffstat (limited to 'SOURCES')
-rw-r--r--SOURCES/0001-Revert-nvme-pci-drop-redundant-pci_enable_pcie_error.patch108
-rw-r--r--SOURCES/0001-Set-amdgpu.ppfeaturemask-0xffffffff-as-default.patch25
-rw-r--r--SOURCES/0001-amd-hdr.patch (renamed from SOURCES/0001-HDR.patch)370
-rw-r--r--SOURCES/Patchlist.changelog170
-rw-r--r--SOURCES/amdgpu-si-cik-default.patch35
-rw-r--r--SOURCES/asus-linux.patch2010
-rwxr-xr-xSOURCES/check-kabi39
-rw-r--r--SOURCES/chimera-ALSA.patch1170
-rw-r--r--SOURCES/filter-aarch64.sh.fedora2
-rwxr-xr-xSOURCES/filter-modules.sh.fedora2
-rw-r--r--SOURCES/filter-ppc64le.sh.fedora2
-rw-r--r--SOURCES/kernel-aarch64-16k-debug-fedora.config91
-rw-r--r--SOURCES/kernel-aarch64-16k-fedora.config91
-rw-r--r--SOURCES/kernel-aarch64-64k-debug-rhel.config146
-rw-r--r--SOURCES/kernel-aarch64-64k-rhel.config146
-rw-r--r--SOURCES/kernel-aarch64-debug-fedora.config91
-rw-r--r--SOURCES/kernel-aarch64-debug-rhel.config146
-rw-r--r--SOURCES/kernel-aarch64-fedora.config91
-rw-r--r--SOURCES/kernel-aarch64-rhel.config146
-rw-r--r--SOURCES/kernel-aarch64-rt-debug-rhel.config146
-rw-r--r--SOURCES/kernel-aarch64-rt-rhel.config146
-rw-r--r--SOURCES/kernel-ppc64le-debug-fedora.config84
-rw-r--r--SOURCES/kernel-ppc64le-debug-rhel.config71
-rw-r--r--SOURCES/kernel-ppc64le-fedora.config84
-rw-r--r--SOURCES/kernel-ppc64le-rhel.config71
-rw-r--r--SOURCES/kernel-s390x-debug-fedora.config85
-rw-r--r--SOURCES/kernel-s390x-debug-rhel.config75
-rw-r--r--SOURCES/kernel-s390x-fedora.config85
-rw-r--r--SOURCES/kernel-s390x-rhel.config75
-rw-r--r--SOURCES/kernel-s390x-zfcpdump-rhel.config75
-rw-r--r--SOURCES/kernel-x86_64-debug-fedora.config93
-rw-r--r--SOURCES/kernel-x86_64-debug-rhel.config82
-rw-r--r--SOURCES/kernel-x86_64-fedora.config93
-rw-r--r--SOURCES/kernel-x86_64-rhel.config82
-rw-r--r--SOURCES/kernel-x86_64-rt-debug-rhel.config82
-rw-r--r--SOURCES/kernel-x86_64-rt-rhel.config82
-rw-r--r--SOURCES/linux-surface.patch1100
-rw-r--r--SOURCES/mod-internal.list1
-rw-r--r--SOURCES/mt76:-mt7921:-Disable-powersave-features-by-default.patch37
-rw-r--r--SOURCES/partial-clang-debug-snip.config3
-rw-r--r--SOURCES/partial-clang-snip.config3
-rw-r--r--SOURCES/partial-clang_lto-aarch64-debug-snip.config3
-rw-r--r--SOURCES/partial-clang_lto-aarch64-snip.config5
-rw-r--r--SOURCES/partial-clang_lto-x86_64-debug-snip.config3
-rw-r--r--SOURCES/partial-clang_lto-x86_64-snip.config5
-rw-r--r--SOURCES/partial-kgcov-debug-snip.config4
-rw-r--r--SOURCES/patch-6.6-redhat.patch (renamed from SOURCES/patch-6.5-redhat.patch)642
-rw-r--r--SOURCES/rog-ally-alsa.patch321
-rw-r--r--SOURCES/rpminspect.yaml2
-rw-r--r--SOURCES/steam-deck.patch204
-rw-r--r--SOURCES/tkg.patch99
-rw-r--r--SOURCES/winesync.patch5071
52 files changed, 8455 insertions, 5440 deletions
diff --git a/SOURCES/0001-Revert-nvme-pci-drop-redundant-pci_enable_pcie_error.patch b/SOURCES/0001-Revert-nvme-pci-drop-redundant-pci_enable_pcie_error.patch
new file mode 100644
index 0000000..6eac856
--- /dev/null
+++ b/SOURCES/0001-Revert-nvme-pci-drop-redundant-pci_enable_pcie_error.patch
@@ -0,0 +1,108 @@
+From 7d86ca8db51f6b75b5c1470d6294c6f24221f560 Mon Sep 17 00:00:00 2001
+From: GloriousEggroll <gloriouseggroll@gmail.com>
+Date: Mon, 30 Oct 2023 22:36:19 -0600
+Subject: [PATCH] Revert "nvme-pci: drop redundant
+ pci_enable_pcie_error_reporting()"
+
+This reverts commits:
+1ad11eafc63ac16e667853bee4273879226d2d1b
+7ec4b34be4234599cf1241ef807cdb7c3636f6fe
+69b264df8a412820e98867dbab871c6526c5e5aa
+
+---
+ drivers/nvme/host/pci.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
+index 3f0c9ee09a12..bc11bfe6f87a 100644
+--- a/drivers/nvme/host/pci.c
++++ b/drivers/nvme/host/pci.c
+@@ -5,6 +5,7 @@
+ */
+
+ #include <linux/acpi.h>
++#include <linux/aer.h>
+ #include <linux/async.h>
+ #include <linux/blkdev.h>
+ #include <linux/blk-mq.h>
+@@ -2537,6 +2538,7 @@ static int nvme_pci_enable(struct nvme_dev *dev)
+
+ nvme_map_cmb(dev);
+
++ pci_enable_pcie_error_reporting(pdev);
+ pci_save_state(pdev);
+
+ result = nvme_pci_configure_admin_queue(dev);
+@@ -2601,8 +2603,10 @@ static void nvme_dev_disable(struct nvme_dev *dev, bool shutdown)
+ nvme_suspend_io_queues(dev);
+ nvme_suspend_queue(dev, 0);
+ pci_free_irq_vectors(pdev);
+- if (pci_is_enabled(pdev))
++ if (pci_is_enabled(pdev)) {
++ pci_disable_pcie_error_reporting(pdev);
+ pci_disable_device(pdev);
++ }
+ nvme_reap_pending_cqes(dev);
+
+ nvme_cancel_tagset(&dev->ctrl);
+--
+2.41.0
+diff --git a/include/linux/aer.h b/include/linux/aer.h
+index 29cc10220..94ce49a5f 100644
+--- a/include/linux/aer.h
++++ b/include/linux/aer.h
+@@ -41,9 +41,20 @@ struct aer_capability_regs {
+ };
+
+ #if defined(CONFIG_PCIEAER)
++/* PCIe port driver needs this function to enable AER */
++int pci_enable_pcie_error_reporting(struct pci_dev *dev);
++int pci_disable_pcie_error_reporting(struct pci_dev *dev);
+ int pci_aer_clear_nonfatal_status(struct pci_dev *dev);
+ int pcie_aer_is_native(struct pci_dev *dev);
+ #else
++static inline int pci_enable_pcie_error_reporting(struct pci_dev *dev)
++{
++ return -EINVAL;
++}
++static inline int pci_disable_pcie_error_reporting(struct pci_dev *dev)
++{
++ return -EINVAL;
++}
+ static inline int pci_aer_clear_nonfatal_status(struct pci_dev *dev)
+ {
+ return -EINVAL;
+
+diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
+index 9c8fd69ae..0dc7be481 100644
+--- a/drivers/pci/pcie/aer.c
++++ b/drivers/pci/pcie/aer.c
+@@ -231,7 +231,7 @@ int pcie_aer_is_native(struct pci_dev *dev)
+ }
+ EXPORT_SYMBOL_NS_GPL(pcie_aer_is_native, CXL);
+
+-static int pci_enable_pcie_error_reporting(struct pci_dev *dev)
++int pci_enable_pcie_error_reporting(struct pci_dev *dev)
+ {
+ int rc;
+
+@@ -241,6 +241,19 @@ static int pci_enable_pcie_error_reporting(struct pci_dev *dev)
+ rc = pcie_capability_set_word(dev, PCI_EXP_DEVCTL, PCI_EXP_AER_FLAGS);
+ return pcibios_err_to_errno(rc);
+ }
++EXPORT_SYMBOL_GPL(pci_enable_pcie_error_reporting);
++
++int pci_disable_pcie_error_reporting(struct pci_dev *dev)
++{
++ int rc;
++
++ if (!pcie_aer_is_native(dev))
++ return -EIO;
++
++ rc = pcie_capability_clear_word(dev, PCI_EXP_DEVCTL, PCI_EXP_AER_FLAGS);
++ return pcibios_err_to_errno(rc);
++}
++EXPORT_SYMBOL_GPL(pci_disable_pcie_error_reporting);
+
+ int pci_aer_clear_nonfatal_status(struct pci_dev *dev)
+ {
diff --git a/SOURCES/0001-Set-amdgpu.ppfeaturemask-0xffffffff-as-default.patch b/SOURCES/0001-Set-amdgpu.ppfeaturemask-0xffffffff-as-default.patch
new file mode 100644
index 0000000..26e3ab7
--- /dev/null
+++ b/SOURCES/0001-Set-amdgpu.ppfeaturemask-0xffffffff-as-default.patch
@@ -0,0 +1,25 @@
+From 9179080ffaaf1d438db6e0a5a37bdf8dafe233a6 Mon Sep 17 00:00:00 2001
+From: Thomas Crider <gloriouseggroll@gmail.com>
+Date: Mon, 27 Nov 2023 16:13:13 -0500
+Subject: [PATCH] Set amdgpu.ppfeaturemask=0xffffffff as default
+
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+index e06009966..4e791eb8f 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+@@ -158,7 +158,7 @@ bool enforce_isolation;
+ * OverDrive(bit 14) disabled by default
+ * GFX DCS(bit 19) disabled by default
+ */
+-uint amdgpu_pp_feature_mask = 0xfff7bfff;
++uint amdgpu_pp_feature_mask = 0xffffffff;
+ uint amdgpu_force_long_training;
+ int amdgpu_lbpw = -1;
+ int amdgpu_compute_multipipe = -1;
+--
+2.43.0
+
diff --git a/SOURCES/0001-HDR.patch b/SOURCES/0001-amd-hdr.patch
index 6df422b..50e988e 100644
--- a/SOURCES/0001-HDR.patch
+++ b/SOURCES/0001-amd-hdr.patch
@@ -1,187 +1,7 @@
-From 03248cc1991679d1025ea5bdf30ee324cdebf622 Mon Sep 17 00:00:00 2001
+From af60f9afa522f5f337d9b4e24eef1fdcd0ab6c05 Mon Sep 17 00:00:00 2001
From: Peter Jung <admin@ptr1337.dev>
-Date: Wed, 23 Aug 2023 18:54:42 +0200
-Subject: [PATCH] AMD-HDR
-
-Hi all,
-
-Here is the next version of our work to enable AMD driver-specific color
-management properties [1][2]. This series is a collection of
-contributions from Joshua, Harry, and me to enhance the AMD KMS color
-pipeline for Steam Deck/SteamOS by exposing additional pre-blending and
-post-blending color capabilities from those available in the current DRM
-KMS API[3].
-
-The userspace case here is Gamescope which is the compositor for
-SteamOS. Gamescope is already using these features to implement its
-color management pipeline [4].
-
-In this version, I try to address all concerns shared in the previous
-one, i.e.:
-- Replace DRM_ by AMDGPU_ prefix for transfer function enumeration;
-- Explicitly define EOTFs and inverse EOTFs and set props accordingly;
-- Document pre-defined transfer functions;
-- Remove misleading comments;
-- Remove post-blending/MPC shaper and 3D LUT support;
-- Move driver-specific property operations from amdgpu_display.c to
- amdgpu_dm_color.c;
-- Reset planes if any color props change;
-- Nits/small fixes;
-
-Bearing in mind the complexity of color concepts, I believe there is a
-high chance of some misunderstanding from my side when defining EOTFs
-and documenting pre-defined TFs. So, reviews are very important and
-welcome (thanks in advance). FWIW, I added Harry as a co-developer of
-this TF documentation since I based on his description of EOTF/inv_EOTF
-and previous documentation work [5]. Let me know if there is a better
-way for credits.
-
-Two DC patches were already applied and, therefore, removed from the
-series. I added r-b according to previous feedback. We also add plane
-CTM to driver-specific properties. As a result, this is the updated list
-of all driver-specific color properties exposed by this series:
-
-- plane degamma LUT and pre-defined TF;
-- plane HDR multiplier;
-- plane CTM 3x4;
-- plane shaper LUT and pre-defined TF;
-- plane 3D LUT;
-- plane blend LUT and pre-defined TF;
-- CRTC gamma pre-defined TF;
-
-Remember you can find the AMD HW color capabilities documented here:
-https://dri.freedesktop.org/docs/drm/gpu/amdgpu/display/display-manager.html#color-management-properties
-
-Worth mentioning that the pre-blending degamma block can use ROM curves
-for some pre-defined TFs, but the other blocks use the AMD color module
-to calculate this curve considering pre-defined coefficients.
-
-We need changes on DC gamut remap matrix to support the plane and CRTC
-CTM on drivers that support both. I've sent a previous patch to apply
-these changes to all DCN3+ families [6]. Here I use the same changes but
-limited to DCN301. Just let me know if you prefer the previous/expanded
-version.
-
-Finally, this is the Linux/AMD color management API before and after
-blending with the driver-specific properties:
-
-+----------------------+
-| PLANE |
-| |
-| +----------------+ |
-| | AMD Degamma | |
-| | | |
-| | EOTF | 1D LUT | |
-| +--------+-------+ |
-| | |
-| +--------v-------+ |
-| | AMD HDR | |
-| | Multiply | |
-| +--------+-------+ |
-| | |
-| +--------v-------+ |
-| | AMD CTM (3x4) | |
-| +--------+-------+ |
-| | |
-| +--------v-------+ |
-| | AMD Shaper | |
-| | | |
-| | inv_EOTF | | |
-| | Custom 1D LUT | |
-| +--------+-------+ |
-| | |
-| +--------v-------+ |
-| | AMD 3D LUT | |
-| | 17^3/12-bit | |
-| +--------+-------+ |
-| | |
-| +--------v-------+ |
-| | AMD Blend | |
-| | | |
-| | EOTF | 1D LUT | |
-| +--------+-------+ |
-| | |
-++----------v---------++
-|| Blending ||
-++----------+---------++
-| CRTC | |
-| | |
-| +-------v-------+ |
-| | DRM Degamma | |
-| | | |
-| | Custom 1D LUT | |
-| +-------+-------+ |
-| | |
-| +-------v-------+ |
-| | DRM CTM (3x3) | |
-| +-------+-------+ |
-| | |
-| +-------v-------+ |
-| | DRM Gamma | |
-| | | |
-| | Custom 1D LUT | |
-| +---------------+ |
-| | *AMD Gamma | |
-| | inv_EOTF | |
-| +---------------+ |
-| |
-+----------------------+
-
-Let me know your thoughts.
-
-Best Regards,
-
-Melissa Wen
-
-[1] https://lore.kernel.org/dri-devel/20230423141051.702990-1-mwen@igalia.com
-[2] https://lore.kernel.org/dri-devel/20230523221520.3115570-1-mwen@igalia.com
-[3] https://github.com/ValveSoftware/gamescope/blob/master/src/docs/Steam%20Deck%20Display%20Pipeline.png
-[4] https://github.com/ValveSoftware/gamescope
-[5] https://lore.kernel.org/dri-devel/20210730204134.21769-1-harry.wentland@amd.com
-[6] https://lore.kernel.org/dri-devel/20230721132431.692158-1-mwen@igalia.com
-
-Harry Wentland (1):
- drm/amd/display: fix segment distribution for linear LUTs
-
-Joshua Ashton (14):
- drm/amd/display: add plane degamma TF driver-specific property
- drm/amd/display: add plane HDR multiplier driver-specific property
- drm/amd/display: add plane blend LUT and TF driver-specific properties
- drm/amd/display: add CRTC gamma TF support
- drm/amd/display: set sdr_ref_white_level to 80 for out_transfer_func
- drm/amd/display: mark plane as needing reset if color props change
- drm/amd/display: add plane degamma TF and LUT support
- drm/amd/display: add dc_fixpt_from_s3132 helper
- drm/amd/display: add HDR multiplier support
- drm/amd/display: handle empty LUTs in __set_input_tf
- drm/amd/display: add plane blend LUT and TF support
- drm/amd/display: allow newer DC hardware to use degamma ROM for PQ/HLG
- drm/amd/display: copy 3D LUT settings from crtc state to stream_update
- drm/amd/display: Use 3x4 CTM for plane CTM
-
-Melissa Wen (19):
- drm/drm_mode_object: increase max objects to accommodate new color
- props
- drm/drm_property: make replace_property_blob_from_id a DRM helper
- drm/drm_plane: track color mgmt changes per plane
- drm/amd/display: add driver-specific property for plane degamma LUT
- drm/amd/display: explicitly define EOTF and inverse EOTF
- drm/amd/display: document AMDGPU pre-defined transfer functions
- drm/amd/display: add plane 3D LUT driver-specific properties
- drm/amd/display: add plane shaper LUT and TF driver-specific
- properties
- drm/amd/display: add CRTC gamma TF driver-specific property
- drm/amd/display: add comments to describe DM crtc color mgmt behavior
- drm/amd/display: encapsulate atomic regamma operation
- drm/amd/display: decouple steps for mapping CRTC degamma to DC plane
- drm/amd/display: reject atomic commit if setting both plane and CRTC
- degamma
- drm/amd/display: add plane shaper LUT support
- drm/amd/display: add plane shaper TF support
- drm/amd/display: add plane 3D LUT support
- drm/amd/display: set stream gamut remap matrix to MPC for DCN301
- drm/amd/display: add plane CTM driver-specific property
- drm/amd/display: add plane CTM support
+Date: Mon, 11 Sep 2023 14:31:43 +0200
+Subject: [PATCH 1/7] amd-hdr
Signed-off-by: Peter Jung <admin@ptr1337.dev>
---
@@ -199,16 +19,15 @@ Signed-off-by: Peter Jung <admin@ptr1337.dev>
drivers/gpu/drm/arm/malidp_crtc.c | 2 +-
drivers/gpu/drm/drm_atomic.c | 1 +
drivers/gpu/drm/drm_atomic_state_helper.c | 1 +
- drivers/gpu/drm/drm_atomic_uapi.c | 43 +-
drivers/gpu/drm/drm_property.c | 49 ++
include/drm/drm_mode_object.h | 2 +-
include/drm/drm_plane.h | 7 +
include/drm/drm_property.h | 6 +
include/uapi/drm/drm_mode.h | 8 +
- 20 files changed, 1446 insertions(+), 128 deletions(-)
+ 19 files changed, 1441 insertions(+), 90 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
-index 32fe05c810c6fc..84bf501b02f4c2 100644
+index 32fe05c810c6..84bf501b02f4 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h
@@ -343,6 +343,77 @@ struct amdgpu_mode_info {
@@ -290,10 +109,10 @@ index 32fe05c810c6fc..84bf501b02f4c2 100644
#define AMDGPU_MAX_BL_LEVEL 0xFF
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
-index e5554a36e8c8b2..43ef0e5f97ae1a 100644
+index 34f011cedd06..fb3400eff0b6 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
-@@ -3943,6 +3943,11 @@ static int amdgpu_dm_mode_config_init(struct amdgpu_device *adev)
+@@ -4021,6 +4021,11 @@ static int amdgpu_dm_mode_config_init(struct amdgpu_device *adev)
return r;
}
@@ -305,7 +124,7 @@ index e5554a36e8c8b2..43ef0e5f97ae1a 100644
r = amdgpu_dm_audio_init(adev);
if (r) {
dc_release_state(state->context);
-@@ -4992,7 +4997,9 @@ static int fill_dc_plane_attributes(struct amdgpu_device *adev,
+@@ -5093,7 +5098,9 @@ static int fill_dc_plane_attributes(struct amdgpu_device *adev,
* Always set input transfer function, since plane state is refreshed
* every time.
*/
@@ -316,7 +135,7 @@ index e5554a36e8c8b2..43ef0e5f97ae1a 100644
if (ret)
return ret;
-@@ -8007,6 +8014,10 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
+@@ -8113,6 +8120,10 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
bundle->surface_updates[planes_count].gamma = dc_plane->gamma_correction;
bundle->surface_updates[planes_count].in_transfer_func = dc_plane->in_transfer_func;
bundle->surface_updates[planes_count].gamut_remap_matrix = &dc_plane->gamut_remap_matrix;
@@ -327,7 +146,7 @@ index e5554a36e8c8b2..43ef0e5f97ae1a 100644
}
amdgpu_dm_plane_fill_dc_scaling_info(dm->adev, new_plane_state,
-@@ -8215,6 +8226,10 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
+@@ -8324,6 +8335,10 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
&acrtc_state->stream->csc_color_matrix;
bundle->stream_update.out_transfer_func =
acrtc_state->stream->out_transfer_func;
@@ -338,7 +157,7 @@ index e5554a36e8c8b2..43ef0e5f97ae1a 100644
}
acrtc_state->stream->abm_level = acrtc_state->abm_level;
-@@ -9405,6 +9420,7 @@ static int dm_update_crtc_state(struct amdgpu_display_manager *dm,
+@@ -9512,6 +9527,7 @@ static int dm_update_crtc_state(struct amdgpu_display_manager *dm,
* when a modeset is needed, to ensure it gets reprogrammed.
*/
if (dm_new_crtc_state->base.color_mgmt_changed ||
@@ -346,7 +165,7 @@ index e5554a36e8c8b2..43ef0e5f97ae1a 100644
drm_atomic_crtc_needs_modeset(new_crtc_state)) {
ret = amdgpu_dm_update_crtc_color_mgmt(dm_new_crtc_state);
if (ret)
-@@ -9472,6 +9488,10 @@ static bool should_reset_plane(struct drm_atomic_state *state,
+@@ -9579,6 +9595,10 @@ static bool should_reset_plane(struct drm_atomic_state *state,
*/
for_each_oldnew_plane_in_state(state, other, old_other_state, new_other_state, i) {
struct amdgpu_framebuffer *old_afb, *new_afb;
@@ -357,7 +176,7 @@ index e5554a36e8c8b2..43ef0e5f97ae1a 100644
if (other->type == DRM_PLANE_TYPE_CURSOR)
continue;
-@@ -9508,6 +9528,18 @@ static bool should_reset_plane(struct drm_atomic_state *state,
+@@ -9615,6 +9635,18 @@ static bool should_reset_plane(struct drm_atomic_state *state,
old_other_state->color_encoding != new_other_state->color_encoding)
return true;
@@ -377,19 +196,19 @@ index e5554a36e8c8b2..43ef0e5f97ae1a 100644
if (!old_other_state->fb || !new_other_state->fb)
continue;
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
-index 9fb5bb3a75a777..f92bbd7ed867b0 100644
+index 9e4cc5eeda76..24c87f425afb 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
-@@ -51,6 +51,8 @@
-
- #define AMDGPU_DMUB_NOTIFICATION_MAX 5
+@@ -33,6 +33,8 @@
+ #include <drm/drm_plane.h>
+ #include "link_service_types.h"
+#define AMDGPU_HDR_MULT_DEFAULT (0x100000000LL)
+
/*
- #include "include/amdgpu_dal_power_if.h"
- #include "amdgpu_dm_irq.h"
-@@ -702,9 +704,91 @@ static inline void amdgpu_dm_set_mst_status(uint8_t *status,
+ * This file contains the definition for amdgpu_display_manager
+ * and its API for amdgpu driver's use.
+@@ -716,9 +718,91 @@ static inline void amdgpu_dm_set_mst_status(uint8_t *status,
extern const struct amdgpu_ip_block_version dm_ip_block;
@@ -481,7 +300,7 @@ index 9fb5bb3a75a777..f92bbd7ed867b0 100644
};
struct dm_crtc_state {
-@@ -729,6 +813,14 @@ struct dm_crtc_state {
+@@ -743,6 +827,14 @@ struct dm_crtc_state {
struct dc_info_packet vrr_infopacket;
int abm_level;
@@ -496,7 +315,7 @@ index 9fb5bb3a75a777..f92bbd7ed867b0 100644
};
#define to_dm_crtc_state(x) container_of(x, struct dm_crtc_state, base)
-@@ -790,14 +882,22 @@ void amdgpu_dm_update_freesync_caps(struct drm_connector *connector,
+@@ -804,14 +896,22 @@ void amdgpu_dm_update_freesync_caps(struct drm_connector *connector,
void amdgpu_dm_trigger_timing_sync(struct drm_device *dev);
@@ -520,7 +339,7 @@ index 9fb5bb3a75a777..f92bbd7ed867b0 100644
void amdgpu_dm_update_connector_after_detect(
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
-index a4cb23d059bd6a..0a51af44efd5f7 100644
+index a4cb23d059bd..0442eeaa9763 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
@@ -72,6 +72,7 @@
@@ -573,7 +392,7 @@ index a4cb23d059bd6a..0a51af44efd5f7 100644
+ * traditionally do this.
+ * - Inverse EOTF (simply the inverse of the EOTF): is usually intended to go
+ * from an optical/linear space (which might have been used for blending)
-+ * back to the encoded values. Gamma functions traditionally do this.
++ * back to the encoded values. Gamma functions traditionally do this.
+ */
+static const char * const
+amdgpu_transfer_function_names[] = {
@@ -1466,10 +1285,10 @@ index a4cb23d059bd6a..0a51af44efd5f7 100644
+ dc_plane_state, color_caps);
+}
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
-index 30d4c6fd95f531..e7b38cce010cc8 100644
+index 97b7a0b8a1c2..a05c210754d4 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
-@@ -253,6 +253,7 @@ static struct drm_crtc_state *dm_crtc_duplicate_state(struct drm_crtc *crtc)
+@@ -260,6 +260,7 @@ static struct drm_crtc_state *dm_crtc_duplicate_state(struct drm_crtc *crtc)
state->freesync_config = cur->freesync_config;
state->cm_has_degamma = cur->cm_has_degamma;
state->cm_is_degamma_srgb = cur->cm_is_degamma_srgb;
@@ -1477,7 +1296,7 @@ index 30d4c6fd95f531..e7b38cce010cc8 100644
state->crc_skip_count = cur->crc_skip_count;
state->mpo_requested = cur->mpo_requested;
/* TODO Duplicate dc_stream after objects are stream object is flattened */
-@@ -289,6 +290,70 @@ static int amdgpu_dm_crtc_late_register(struct drm_crtc *crtc)
+@@ -296,6 +297,70 @@ static int amdgpu_dm_crtc_late_register(struct drm_crtc *crtc)
}
#endif
@@ -1548,7 +1367,7 @@ index 30d4c6fd95f531..e7b38cce010cc8 100644
/* Implemented only the options currently available for the driver */
static const struct drm_crtc_funcs amdgpu_dm_crtc_funcs = {
.reset = dm_crtc_reset_state,
-@@ -307,6 +372,10 @@ static const struct drm_crtc_funcs amdgpu_dm_crtc_funcs = {
+@@ -314,6 +379,10 @@ static const struct drm_crtc_funcs amdgpu_dm_crtc_funcs = {
#if defined(CONFIG_DEBUG_FS)
.late_register = amdgpu_dm_crtc_late_register,
#endif
@@ -1559,7 +1378,7 @@ index 30d4c6fd95f531..e7b38cce010cc8 100644
};
static void dm_crtc_helper_disable(struct drm_crtc *crtc)
-@@ -482,6 +551,9 @@ int amdgpu_dm_crtc_init(struct amdgpu_display_manager *dm,
+@@ -489,6 +558,9 @@ int amdgpu_dm_crtc_init(struct amdgpu_display_manager *dm,
drm_mode_crtc_set_gamma_size(&acrtc->base, MAX_COLOR_LEGACY_LUT_ENTRIES);
@@ -1570,10 +1389,10 @@ index 30d4c6fd95f531..e7b38cce010cc8 100644
fail:
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
-index 32266897374792..60e5ffb1863d74 100644
+index cc74dd69acf2..17719e15cbe5 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
-@@ -1317,8 +1317,14 @@ static void dm_drm_plane_reset(struct drm_plane *plane)
+@@ -1333,8 +1333,14 @@ static void dm_drm_plane_reset(struct drm_plane *plane)
amdgpu_state = kzalloc(sizeof(*amdgpu_state), GFP_KERNEL);
WARN_ON(amdgpu_state == NULL);
@@ -1590,7 +1409,7 @@ index 32266897374792..60e5ffb1863d74 100644
}
static struct drm_plane_state *
-@@ -1338,6 +1344,22 @@ dm_drm_plane_duplicate_state(struct drm_plane *plane)
+@@ -1354,6 +1360,22 @@ dm_drm_plane_duplicate_state(struct drm_plane *plane)
dc_plane_state_retain(dm_plane_state->dc_state);
}
@@ -1613,7 +1432,7 @@ index 32266897374792..60e5ffb1863d74 100644
return &dm_plane_state->base;
}
-@@ -1405,12 +1427,203 @@ static void dm_drm_plane_destroy_state(struct drm_plane *plane,
+@@ -1421,12 +1443,203 @@ static void dm_drm_plane_destroy_state(struct drm_plane *plane,
{
struct dm_plane_state *dm_plane_state = to_dm_plane_state(state);
@@ -1817,7 +1636,7 @@ index 32266897374792..60e5ffb1863d74 100644
static const struct drm_plane_funcs dm_plane_funcs = {
.update_plane = drm_atomic_helper_update_plane,
.disable_plane = drm_atomic_helper_disable_plane,
-@@ -1419,6 +1632,10 @@ static const struct drm_plane_funcs dm_plane_funcs = {
+@@ -1435,6 +1648,10 @@ static const struct drm_plane_funcs dm_plane_funcs = {
.atomic_duplicate_state = dm_drm_plane_duplicate_state,
.atomic_destroy_state = dm_drm_plane_destroy_state,
.format_mod_supported = dm_plane_format_mod_supported,
@@ -1828,7 +1647,7 @@ index 32266897374792..60e5ffb1863d74 100644
};
int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm,
-@@ -1489,6 +1706,9 @@ int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm,
+@@ -1514,6 +1731,9 @@ int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm,
drm_plane_helper_add(plane, &dm_plane_helper_funcs);
@@ -1839,7 +1658,7 @@ index 32266897374792..60e5ffb1863d74 100644
if (plane->funcs->reset)
plane->funcs->reset(plane);
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_cm_common.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_cm_common.c
-index 3538973bd0c6cb..04b2e04b68f33b 100644
+index 3538973bd0c6..04b2e04b68f3 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_cm_common.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_cm_common.c
@@ -349,20 +349,37 @@ bool cm_helper_translate_curve_to_hw_format(struct dc_context *ctx,
@@ -1957,7 +1776,7 @@ index 3538973bd0c6cb..04b2e04b68f33b 100644
}
}
diff --git a/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.c b/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.c
-index bf8864bc8a99ee..72558eb877dc65 100644
+index 255713ec29bb..fce9b33c0f88 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.c
@@ -186,6 +186,43 @@ bool dcn30_set_input_transfer_func(struct dc *dc,
@@ -2005,7 +1824,7 @@ index bf8864bc8a99ee..72558eb877dc65 100644
struct pipe_ctx *pipe_ctx,
const struct dc_stream_state *stream)
diff --git a/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.h b/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.h
-index a24a8e33a3d289..cb34ca932a5ff8 100644
+index ce19c54097f8..e557e2b98618 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.h
+++ b/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.h
@@ -58,6 +58,9 @@ bool dcn30_set_blend_lut(struct pipe_ctx *pipe_ctx,
@@ -2019,7 +1838,7 @@ index a24a8e33a3d289..cb34ca932a5ff8 100644
struct pipe_ctx *pipe_ctx,
const struct dc_stream_state *stream);
diff --git a/drivers/gpu/drm/amd/display/dc/dcn301/dcn301_init.c b/drivers/gpu/drm/amd/display/dc/dcn301/dcn301_init.c
-index 257df8660b4caf..81fd50ee97c307 100644
+index 61205cdbe2d5..fdbe3d42cd7b 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn301/dcn301_init.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn301/dcn301_init.c
@@ -33,7 +33,7 @@
@@ -2032,7 +1851,7 @@ index 257df8660b4caf..81fd50ee97c307 100644
.power_down_on_boot = dcn10_power_down_on_boot,
.apply_ctx_to_hw = dce110_apply_ctx_to_hw,
diff --git a/drivers/gpu/drm/amd/display/include/fixed31_32.h b/drivers/gpu/drm/amd/display/include/fixed31_32.h
-index d4cf7ead1d877e..84da1dd34efd18 100644
+index d4cf7ead1d87..84da1dd34efd 100644
--- a/drivers/gpu/drm/amd/display/include/fixed31_32.h
+++ b/drivers/gpu/drm/amd/display/include/fixed31_32.h
@@ -69,6 +69,18 @@ static const struct fixed31_32 dc_fixpt_epsilon = { 1LL };
@@ -2055,7 +1874,7 @@ index d4cf7ead1d877e..84da1dd34efd18 100644
* @brief
* Initialization routines
diff --git a/drivers/gpu/drm/arm/malidp_crtc.c b/drivers/gpu/drm/arm/malidp_crtc.c
-index dc01c43f61930b..d72c22dcf6855a 100644
+index dc01c43f6193..d72c22dcf685 100644
--- a/drivers/gpu/drm/arm/malidp_crtc.c
+++ b/drivers/gpu/drm/arm/malidp_crtc.c
@@ -221,7 +221,7 @@ static int malidp_crtc_atomic_check_ctm(struct drm_crtc *crtc,
@@ -2068,7 +1887,7 @@ index dc01c43f61930b..d72c22dcf6855a 100644
ctm = (struct drm_color_ctm *)state->ctm->data;
for (i = 0; i < ARRAY_SIZE(ctm->matrix); ++i) {
diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
-index c277b198fa3fa2..c3df45f901456b 100644
+index c277b198fa3f..c3df45f90145 100644
--- a/drivers/gpu/drm/drm_atomic.c
+++ b/drivers/gpu/drm/drm_atomic.c
@@ -733,6 +733,7 @@ static void drm_atomic_plane_print_state(struct drm_printer *p,
@@ -2080,7 +1899,7 @@ index c277b198fa3fa2..c3df45f901456b 100644
if (plane->funcs->atomic_print_state)
plane->funcs->atomic_print_state(p, state);
diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c b/drivers/gpu/drm/drm_atomic_state_helper.c
-index 784e63d70a421e..25bb0859fda74d 100644
+index 784e63d70a42..25bb0859fda7 100644
--- a/drivers/gpu/drm/drm_atomic_state_helper.c
+++ b/drivers/gpu/drm/drm_atomic_state_helper.c
@@ -338,6 +338,7 @@ void __drm_atomic_helper_plane_duplicate_state(struct drm_plane *plane,
@@ -2091,97 +1910,8 @@ index 784e63d70a421e..25bb0859fda74d 100644
}
EXPORT_SYMBOL(__drm_atomic_helper_plane_duplicate_state);
-diff --git a/drivers/gpu/drm/drm_atomic_uapi.c b/drivers/gpu/drm/drm_atomic_uapi.c
-index d867e7f9f2cd58..a6a9ee5086ddb1 100644
---- a/drivers/gpu/drm/drm_atomic_uapi.c
-+++ b/drivers/gpu/drm/drm_atomic_uapi.c
-@@ -362,39 +362,6 @@ static s32 __user *get_out_fence_for_connector(struct drm_atomic_state *state,
- return fence_ptr;
- }
-
--static int
--drm_atomic_replace_property_blob_from_id(struct drm_device *dev,
-- struct drm_property_blob **blob,
-- uint64_t blob_id,
-- ssize_t expected_size,
-- ssize_t expected_elem_size,
-- bool *replaced)
--{
-- struct drm_property_blob *new_blob = NULL;
--
-- if (blob_id != 0) {
-- new_blob = drm_property_lookup_blob(dev, blob_id);
-- if (new_blob == NULL)
-- return -EINVAL;
--
-- if (expected_size > 0 &&
-- new_blob->length != expected_size) {
-- drm_property_blob_put(new_blob);
-- return -EINVAL;
-- }
-- if (expected_elem_size > 0 &&
-- new_blob->length % expected_elem_size != 0) {
-- drm_property_blob_put(new_blob);
-- return -EINVAL;
-- }
-- }
--
-- *replaced |= drm_property_replace_blob(blob, new_blob);
-- drm_property_blob_put(new_blob);
--
-- return 0;
--}
--
- static int drm_atomic_crtc_set_property(struct drm_crtc *crtc,
- struct drm_crtc_state *state, struct drm_property *property,
- uint64_t val)
-@@ -415,7 +382,7 @@ static int drm_atomic_crtc_set_property(struct drm_crtc *crtc,
- } else if (property == config->prop_vrr_enabled) {
- state->vrr_enabled = val;
- } else if (property == config->degamma_lut_property) {
-- ret = drm_atomic_replace_property_blob_from_id(dev,
-+ ret = drm_property_replace_blob_from_id(dev,
- &state->degamma_lut,
- val,
- -1, sizeof(struct drm_color_lut),
-@@ -423,7 +390,7 @@ static int drm_atomic_crtc_set_property(struct drm_crtc *crtc,
- state->color_mgmt_changed |= replaced;
- return ret;
- } else if (property == config->ctm_property) {
-- ret = drm_atomic_replace_property_blob_from_id(dev,
-+ ret = drm_property_replace_blob_from_id(dev,
- &state->ctm,
- val,
- sizeof(struct drm_color_ctm), -1,
-@@ -431,7 +398,7 @@ static int drm_atomic_crtc_set_property(struct drm_crtc *crtc,
- state->color_mgmt_changed |= replaced;
- return ret;
- } else if (property == config->gamma_lut_property) {
-- ret = drm_atomic_replace_property_blob_from_id(dev,
-+ ret = drm_property_replace_blob_from_id(dev,
- &state->gamma_lut,
- val,
- -1, sizeof(struct drm_color_lut),
-@@ -563,7 +530,7 @@ static int drm_atomic_plane_set_property(struct drm_plane *plane,
- } else if (property == plane->color_range_property) {
- state->color_range = val;
- } else if (property == config->prop_fb_damage_clips) {
-- ret = drm_atomic_replace_property_blob_from_id(dev,
-+ ret = drm_property_replace_blob_from_id(dev,
- &state->fb_damage_clips,
- val,
- -1,
-@@ -729,7 +696,7 @@ static int drm_atomic_connector_set_property(struct drm_connector *connector,
- if (state->link_status != DRM_LINK_STATUS_GOOD)
- state->link_status = val;
- } else if (property == config->hdr_output_metadata_property) {
-- ret = drm_atomic_replace_property_blob_from_id(dev,
-+ ret = drm_property_replace_blob_from_id(dev,
- &state->hdr_output_metadata,
- val,
- sizeof(struct hdr_output_metadata), -1,
diff --git a/drivers/gpu/drm/drm_property.c b/drivers/gpu/drm/drm_property.c
-index dfec479830e496..f72ef6493340a7 100644
+index dfec479830e4..f72ef6493340 100644
--- a/drivers/gpu/drm/drm_property.c
+++ b/drivers/gpu/drm/drm_property.c
@@ -751,6 +751,55 @@ bool drm_property_replace_blob(struct drm_property_blob **blob,
@@ -2241,7 +1971,7 @@ index dfec479830e496..f72ef6493340a7 100644
void *data, struct drm_file *file_priv)
{
diff --git a/include/drm/drm_mode_object.h b/include/drm/drm_mode_object.h
-index 912f1e4156853f..08d7a7f0188fea 100644
+index 912f1e415685..08d7a7f0188f 100644
--- a/include/drm/drm_mode_object.h
+++ b/include/drm/drm_mode_object.h
@@ -60,7 +60,7 @@ struct drm_mode_object {
@@ -2254,7 +1984,7 @@ index 912f1e4156853f..08d7a7f0188fea 100644
* struct drm_object_properties - property tracking for &drm_mode_object
*/
diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
-index 51291983ea445d..52c3287da0daad 100644
+index 79d62856defb..4f87803b3ea1 100644
--- a/include/drm/drm_plane.h
+++ b/include/drm/drm_plane.h
@@ -237,6 +237,13 @@ struct drm_plane_state {
@@ -2272,7 +2002,7 @@ index 51291983ea445d..52c3287da0daad 100644
static inline struct drm_rect
diff --git a/include/drm/drm_property.h b/include/drm/drm_property.h
-index 65bc9710a47029..082f29156b3e3f 100644
+index 65bc9710a470..082f29156b3e 100644
--- a/include/drm/drm_property.h
+++ b/include/drm/drm_property.h
@@ -279,6 +279,12 @@ struct drm_property_blob *drm_property_create_blob(struct drm_device *dev,
@@ -2289,10 +2019,10 @@ index 65bc9710a47029..082f29156b3e3f 100644
struct drm_property_blob **replace,
size_t length,
diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
-index 43691058d28fb8..23fc194009980f 100644
+index ea1b639bcb28..cea5653e4020 100644
--- a/include/uapi/drm/drm_mode.h
+++ b/include/uapi/drm/drm_mode.h
-@@ -843,6 +843,14 @@ struct drm_color_ctm {
+@@ -846,6 +846,14 @@ struct drm_color_ctm {
__u64 matrix[9];
};
@@ -2307,4 +2037,6 @@ index 43691058d28fb8..23fc194009980f 100644
struct drm_color_lut {
/*
* Values are mapped linearly to 0.0 - 1.0 range, with 0x0 == 0.0 and
+--
+2.43.0.rc2
diff --git a/SOURCES/Patchlist.changelog b/SOURCES/Patchlist.changelog
index eb625d3..f8e12a3 100644
--- a/SOURCES/Patchlist.changelog
+++ b/SOURCES/Patchlist.changelog
@@ -1,135 +1,105 @@
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/acc130077a200c2467cd265c2ef75e82f653a1ad
- acc130077a200c2467cd265c2ef75e82f653a1ad rtc: cmos: Use ACPI alarm for non-Intel x86 systems too
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/ed5f19c3892cc5dcfe95dd4d296c5e617a26c821
+ ed5f19c3892cc5dcfe95dd4d296c5e617a26c821 Revert "netfilter: nf_tables: remove catchall element in GC sync path"
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/9ed1817997b0d2f283275cce33cd7043b220d990
- 9ed1817997b0d2f283275cce33cd7043b220d990 power: supply: core: Use blocking_notifier_call_chain to avoid RCU complaint
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/81689414a7974a3f3fa3b28c18226c9d583761d4
+ 81689414a7974a3f3fa3b28c18226c9d583761d4 netfilter: nf_tables: remove catchall element in GC sync path
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/a3359bb88c8debcf1ed9aeeab15090cff336c8fd
- a3359bb88c8debcf1ed9aeeab15090cff336c8fd Revert "Add linux-next specific files for 20231004"
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/91d392fbbe771b2b4c45fd39b9150e27be3251ba
+ 91d392fbbe771b2b4c45fd39b9150e27be3251ba ACPI: video: Use acpi_device_fix_up_power_children()
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/4ef04c8ed25522fe1e4f917fe557716145c7361d
- 4ef04c8ed25522fe1e4f917fe557716145c7361d Add linux-next specific files for 20231004
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/3bd5c005766e37c5c60b1210e844091ddebd28d6
+ 3bd5c005766e37c5c60b1210e844091ddebd28d6 ACPI: PM: Add acpi_device_fix_up_power_children() function
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/afdab9b20ab7455f752527125b57c92d24601c6e
- afdab9b20ab7455f752527125b57c92d24601c6e drm/amdgpu: set completion status as preempted for the resubmission
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/46f41fa0448229c32bbc60d3c8ef50d22c33b117
+ 46f41fa0448229c32bbc60d3c8ef50d22c33b117 rtc: cmos: Use ACPI alarm for non-Intel x86 systems too
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/fe8fa52d7059d2dd7b171a0ad1a53bd55c7d449a
- fe8fa52d7059d2dd7b171a0ad1a53bd55c7d449a iommu/apple-dart: Handle DMA_FQ domains in attach_dev()
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/84c68fe1f91beef8b25ca2202d3581260447b334
+ 84c68fe1f91beef8b25ca2202d3581260447b334 drivers/firmware: skip simpledrm if nvidia-drm.modeset=1 is set
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/d08eefa0932515ada7d972c51b99153a7ea3d6ac
- d08eefa0932515ada7d972c51b99153a7ea3d6ac locking/atomic: scripts: fix fallback ifdeffery
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/51d40b1c54cf09e93d42dc0d090765016362d692
+ 51d40b1c54cf09e93d42dc0d090765016362d692 scsi: sd: Add "probe_type" module parameter to allow synchronous probing
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/d39b077dee33176ab97b22593fc8ae8a130ee768
- d39b077dee33176ab97b22593fc8ae8a130ee768 btrfs: adjust overcommit logic when very close to full
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/6e9d8352504d3de95ebdff5289e2da6e93b90767
+ 6e9d8352504d3de95ebdff5289e2da6e93b90767 Enable IO_URING for RHEL
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/a1c2565138b048b69ec731e22118ec1837fa5ceb
- a1c2565138b048b69ec731e22118ec1837fa5ceb btrfs: properly report 0 avail for very full file systems
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/e65e1c9cfce51744f3ccce9ede248e74a6e7bb5c
+ e65e1c9cfce51744f3ccce9ede248e74a6e7bb5c redhat: version two of Makefile.rhelver tweaks
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/60528063540aabceb7c4d79c7938d229ed5efc4f
- 60528063540aabceb7c4d79c7938d229ed5efc4f selinux: fix handling of empty opts in selinux_fs_context_submount()
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/97edcc85a591ed63b65fa583a1593e379ec779a0
+ 97edcc85a591ed63b65fa583a1593e379ec779a0 redhat: adapt to upstream Makefile change
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/80c615ec2edb4aadded21fe924e2caa172d59577
- 80c615ec2edb4aadded21fe924e2caa172d59577 Revert "misc: rtsx: judge ASPM Mode to set PETXCFG Reg"
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/f0274138f93a5de8d5757dc1310a51fd9adae739
+ f0274138f93a5de8d5757dc1310a51fd9adae739 Change acpi_bus_get_acpi_device to acpi_get_acpi_dev
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/c53302b2ed77cf6f3a125135a1f85af8cbc0ba4b
- c53302b2ed77cf6f3a125135a1f85af8cbc0ba4b tpm: Enable hwrng only for Pluton on AMD CPUs
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/b18359baab10beb33452ec4bac68a25db0ac2531
+ b18359baab10beb33452ec4bac68a25db0ac2531 RHEL: disable io_uring support
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/065cd69d44a8c576d6ff671ceae019f991cee492
- 065cd69d44a8c576d6ff671ceae019f991cee492 erofs: ensure that the post-EOF tails are all zeroed
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/e86246f6bff2cae6ed0728cb9855dc321aa22442
+ e86246f6bff2cae6ed0728cb9855dc321aa22442 REDHAT: coresight: etm4x: Disable coresight on HPE Apollo 70
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/b0da866f75833f1bb8570d7978a8d5179c8d9ab6
- b0da866f75833f1bb8570d7978a8d5179c8d9ab6 drm/msm/a690: Switch to a660_gmu.bin
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/780e15df6bfda4a86de773b5a76348845cd287e2
+ 780e15df6bfda4a86de773b5a76348845cd287e2 KEYS: Make use of platform keyring for module signature verify
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/f3cdb1143146a65982f46846cd590affb2b87538
- f3cdb1143146a65982f46846cd590affb2b87538 drivers/firmware: skip simpledrm if nvidia-drm.modeset=1 is set
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/e16c46de5e538011a405f267e0591a03fe4434f1
+ e16c46de5e538011a405f267e0591a03fe4434f1 Input: rmi4 - remove the need for artificial IRQ in case of HID
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/ea332dbc69a256a04bd53fee92db956439acee06
- ea332dbc69a256a04bd53fee92db956439acee06 scsi: sd: Add "probe_type" module parameter to allow synchronous probing
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/cefdb4374d26857e1d90cdd35936f219693dff11
+ cefdb4374d26857e1d90cdd35936f219693dff11 ARM: tegra: usb no reset
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/66721aea3aaa311bb78cf0947f06070f4101ee0e
- 66721aea3aaa311bb78cf0947f06070f4101ee0e Revert "Remove EXPERT from ARCH_FORCE_MAX_ORDER for aarch64"
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/161fba6e6557f41e7d2e1be2d4300aac25894c22
+ 161fba6e6557f41e7d2e1be2d4300aac25894c22 s390: Lock down the kernel when the IPL secure flag is set
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/29cd90a2b4cade829ac1401ef13314620b6c38a1
- 29cd90a2b4cade829ac1401ef13314620b6c38a1 Remove EXPERT from ARCH_FORCE_MAX_ORDER for aarch64
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/f23df5d91bbc852ed9a289c88b478b5890ff3aff
+ f23df5d91bbc852ed9a289c88b478b5890ff3aff efi: Lock down the kernel if booted in secure boot mode
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/ff96030d973a1b9233402a64d48d53e0d9461781
- ff96030d973a1b9233402a64d48d53e0d9461781 redhat: version two of Makefile.rhelver tweaks
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/388c5040283f7748c06961a807ab82960cfac7b2
+ 388c5040283f7748c06961a807ab82960cfac7b2 efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/66064bbf7222c53ef297bfa4a14ffe4193b0fe94
- 66064bbf7222c53ef297bfa4a14ffe4193b0fe94 redhat: adapt to upstream Makefile change
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/e81d15d326fecd1c90d82b2acb9bdb259b4033ac
+ e81d15d326fecd1c90d82b2acb9bdb259b4033ac security: lockdown: expose a hook to lock the kernel down
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/c42de182b354644930e07bc92257d586a6c4ed18
- c42de182b354644930e07bc92257d586a6c4ed18 Change acpi_bus_get_acpi_device to acpi_get_acpi_dev
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/1297962689c5c00929be45b6261ab21f0e5de41c
+ 1297962689c5c00929be45b6261ab21f0e5de41c Make get_cert_list() use efi_status_to_str() to print error messages.
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/2e2a2e49f61d066d4bb8bfe0efde2d0f90b1491c
- 2e2a2e49f61d066d4bb8bfe0efde2d0f90b1491c nvme: nvme_mpath_init remove multipath check
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/2b290761ed33270b9f8fea815c9f29476ead5d5d
+ 2b290761ed33270b9f8fea815c9f29476ead5d5d Add efi_status_to_str() and rework efi_status_to_err().
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/5481da71dd1b1b88c550492b28e8b250e299f24c
- 5481da71dd1b1b88c550492b28e8b250e299f24c nvme: decouple basic ANA log page re-read support from native multipathing
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/4f23de5adca7e96a6bb3abc9f7e0546b997c8ea0
+ 4f23de5adca7e96a6bb3abc9f7e0546b997c8ea0 iommu/arm-smmu: workaround DMA mode issues
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/184662e0b0701841ad0229caf0e6d0ddb2a96231
- 184662e0b0701841ad0229caf0e6d0ddb2a96231 nvme: allow local retry and proper failover for REQ_FAILFAST_TRANSPORT
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/3c9be29ba9986f465b7c8fc6e391978833ffac22
+ 3c9be29ba9986f465b7c8fc6e391978833ffac22 ipmi: do not configure ipmi for HPE m400
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/00eb6277b582c42373c536e70d13860f87522e38
- 00eb6277b582c42373c536e70d13860f87522e38 nvme: Return BLK_STS_TARGET if the DNR bit is set
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/f9bd4dd2a3e0ce4fc91eea39c747a2b06ac8852c
+ f9bd4dd2a3e0ce4fc91eea39c747a2b06ac8852c kABI: Add generic kABI macros to use for kABI workarounds
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/80063932c894c04a6266f2543dc8a8c66cf0f4b5
- 80063932c894c04a6266f2543dc8a8c66cf0f4b5 REDHAT: coresight: etm4x: Disable coresight on HPE Apollo 70
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/0a826069d941f0249fa44005fbc6511875553497
+ 0a826069d941f0249fa44005fbc6511875553497 ahci: thunderx2: Fix for errata that affects stop engine
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/90f006ba80d847b4c8c689616b07370c2292a804
- 90f006ba80d847b4c8c689616b07370c2292a804 KEYS: Make use of platform keyring for module signature verify
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/b156077e6f7cdf9bc390551e7b65b80d1d5e285d
+ b156077e6f7cdf9bc390551e7b65b80d1d5e285d Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/856b4c54f954509436a51da2bfc0f0d44425d173
- 856b4c54f954509436a51da2bfc0f0d44425d173 Input: rmi4 - remove the need for artificial IRQ in case of HID
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/129dc65edece93e256a9c79b3e1f962fc7074406
+ 129dc65edece93e256a9c79b3e1f962fc7074406 tags.sh: Ignore redhat/rpm
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/9c10ed2c097b09b20c928d555bf030c56502cf88
- 9c10ed2c097b09b20c928d555bf030c56502cf88 ARM: tegra: usb no reset
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/7558a6cc3029f6cce7cb79ad0ab6348fa1083bb1
+ 7558a6cc3029f6cce7cb79ad0ab6348fa1083bb1 put RHEL info into generated headers
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/b136b0c2e0bf2f6f8f75f37fa00376563a78f6b2
- b136b0c2e0bf2f6f8f75f37fa00376563a78f6b2 s390: Lock down the kernel when the IPL secure flag is set
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/fabdc6fc464674d789063463c8a9abe954ed9f0e
+ fabdc6fc464674d789063463c8a9abe954ed9f0e aarch64: acpi scan: Fix regression related to X-Gene UARTs
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/8ffab3ce8c323b13cf4dbbd0291fb4748cae60a0
- 8ffab3ce8c323b13cf4dbbd0291fb4748cae60a0 efi: Lock down the kernel if booted in secure boot mode
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/3332716406fc60dbfbe218275c546081215fd4b3
+ 3332716406fc60dbfbe218275c546081215fd4b3 ACPI / irq: Workaround firmware issue on X-Gene based m400
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/9cae435c2ee4380b4086fa3a7ef859090e9f70d2
- 9cae435c2ee4380b4086fa3a7ef859090e9f70d2 efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/ad67ea7af8f6e47745455046d807a8cf0b4e3864
+ ad67ea7af8f6e47745455046d807a8cf0b4e3864 modules: add rhelversion MODULE_INFO tag
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/de90fd8131ce4ed22c547c2bd1af1c20ea173a46
- de90fd8131ce4ed22c547c2bd1af1c20ea173a46 security: lockdown: expose a hook to lock the kernel down
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/4a9e157a9522218c86b14c2f91423dc8c6cc32ed
+ 4a9e157a9522218c86b14c2f91423dc8c6cc32ed ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/6fa94ce53295ae4440005260005078d7c737b828
- 6fa94ce53295ae4440005260005078d7c737b828 Make get_cert_list() use efi_status_to_str() to print error messages.
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/dd03abf0c6a7dde42a4f540f782c67d81319118d
+ dd03abf0c6a7dde42a4f540f782c67d81319118d Pull the RHEL version defines out of the Makefile
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/6c671f6b733c4ee8b88e6c314208b90486b98446
- 6c671f6b733c4ee8b88e6c314208b90486b98446 Add efi_status_to_str() and rework efi_status_to_err().
-
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/676e5b1fd3ede3a4d20157b2604dfd1d0e1405c3
- 676e5b1fd3ede3a4d20157b2604dfd1d0e1405c3 iommu/arm-smmu: workaround DMA mode issues
-
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/adbf82278579ad712bbdf5d3eaabc4c7fbf3305c
- adbf82278579ad712bbdf5d3eaabc4c7fbf3305c ipmi: do not configure ipmi for HPE m400
-
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/150baa5a728754cbf8f8c385a10af6b52a408cee
- 150baa5a728754cbf8f8c385a10af6b52a408cee ahci: thunderx2: Fix for errata that affects stop engine
-
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/0a757157eddee28f46bec619cbaf9d2015fda707
- 0a757157eddee28f46bec619cbaf9d2015fda707 Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon
-
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/6ae5c032ab0cd35e82241c29e1f2bb1272b39fea
- 6ae5c032ab0cd35e82241c29e1f2bb1272b39fea tags.sh: Ignore redhat/rpm
-
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/36c76ea8d8223e20d158ee0928e9e9798b5b878d
- 36c76ea8d8223e20d158ee0928e9e9798b5b878d aarch64: acpi scan: Fix regression related to X-Gene UARTs
-
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/3ed45652209eeccc3918663abebc70001760111b
- 3ed45652209eeccc3918663abebc70001760111b ACPI / irq: Workaround firmware issue on X-Gene based m400
-
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/92d7a8c46934f658c9017966a90a8745e4b085bd
- 92d7a8c46934f658c9017966a90a8745e4b085bd ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support
-
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/9e9a1ea80fc3ef4bf60f7ee2e41e1dbdd41f17cc
- 9e9a1ea80fc3ef4bf60f7ee2e41e1dbdd41f17cc Pull the RHEL version defines out of the Makefile
-
-"https://gitlab.com/cki-project/kernel-ark/-/commit"/792dcdfdb07c00a91ad8f8c4624b057b84f5f2ae
- 792dcdfdb07c00a91ad8f8c4624b057b84f5f2ae [initial commit] Add Red Hat variables in the top level makefile
+"https://gitlab.com/cki-project/kernel-ark/-/commit"/866075bfad9aeeb466f2516e071428e9ac5aafaa
+ 866075bfad9aeeb466f2516e071428e9ac5aafaa [initial commit] Add Red Hat variables in the top level makefile
diff --git a/SOURCES/amdgpu-si-cik-default.patch b/SOURCES/amdgpu-si-cik-default.patch
index 5479769..b2df0dc 100644
--- a/SOURCES/amdgpu-si-cik-default.patch
+++ b/SOURCES/amdgpu-si-cik-default.patch
@@ -1,57 +1,51 @@
-From e55f6f53ab572901f826fb66d385eaa7d1210bb5 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jan200101 <sentrycraft123@gmail.com>
-Date: Tue, 22 Mar 2022 17:52:14 +0100
+Date: Mon, 27 Nov 2023 09:53:59 +0100
Subject: [PATCH] drm/amdgpu: enable SI and CIK support by default
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
---
- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 14 ++------------
+ drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 10 ----------
drivers/gpu/drm/radeon/radeon_drv.c | 10 ++++++++++
- 2 files changed, 12 insertions(+), 12 deletions(-)
+ 2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
-index 0ead08ba58c2..95a59d203922 100644
+index 81edf66dbea8..5021d03089ff 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
-@@ -575,15 +575,10 @@ module_param_named(timeout_period, amdgpu_watchdog_timer.period, uint, 0644);
+@@ -582,13 +582,8 @@ module_param_named(timeout_period, amdgpu_watchdog_timer.period, uint, 0644);
*/
#ifdef CONFIG_DRM_AMDGPU_SI
--#if defined(CONFIG_DRM_RADEON) || defined(CONFIG_DRM_RADEON_MODULE)
+-#if IS_ENABLED(CONFIG_DRM_RADEON) || IS_ENABLED(CONFIG_DRM_RADEON_MODULE)
-int amdgpu_si_support = 0;
-MODULE_PARM_DESC(si_support, "SI support (1 = enabled, 0 = disabled (default))");
-#else
int amdgpu_si_support = 1;
MODULE_PARM_DESC(si_support, "SI support (1 = enabled (default), 0 = disabled)");
-#endif
--
+
module_param_named(si_support, amdgpu_si_support, int, 0444);
-+
#endif
-
- /**
-@@ -594,15 +589,10 @@ module_param_named(si_support, amdgpu_si_support, int, 0444);
+@@ -601,13 +596,8 @@ module_param_named(si_support, amdgpu_si_support, int, 0444);
*/
#ifdef CONFIG_DRM_AMDGPU_CIK
--#if defined(CONFIG_DRM_RADEON) || defined(CONFIG_DRM_RADEON_MODULE)
+-#if IS_ENABLED(CONFIG_DRM_RADEON) || IS_ENABLED(CONFIG_DRM_RADEON_MODULE)
-int amdgpu_cik_support = 0;
-MODULE_PARM_DESC(cik_support, "CIK support (1 = enabled, 0 = disabled (default))");
-#else
int amdgpu_cik_support = 1;
MODULE_PARM_DESC(cik_support, "CIK support (1 = enabled (default), 0 = disabled)");
-#endif
--
+
module_param_named(cik_support, amdgpu_cik_support, int, 0444);
-+
#endif
-
- /**
diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
-index 956c72b5aa33..5102711ece53 100644
+index 7bf08164140e..865f186f48c4 100644
--- a/drivers/gpu/drm/radeon/radeon_drv.c
+++ b/drivers/gpu/drm/radeon/radeon_drv.c
-@@ -272,12 +272,22 @@ module_param_named(uvd, radeon_uvd, int, 0444);
+@@ -239,12 +239,22 @@ module_param_named(uvd, radeon_uvd, int, 0444);
MODULE_PARM_DESC(vce, "vce enable/disable vce support (1 = enable, 0 = disable)");
module_param_named(vce, radeon_vce, int, 0444);
@@ -74,6 +68,3 @@ index 956c72b5aa33..5102711ece53 100644
module_param_named(cik_support, radeon_cik_support, int, 0444);
static struct pci_device_id pciidlist[] = {
---
-2.35.1
-
diff --git a/SOURCES/asus-linux.patch b/SOURCES/asus-linux.patch
index 491e5be..5e084db 100644
--- a/SOURCES/asus-linux.patch
+++ b/SOURCES/asus-linux.patch
@@ -1,1790 +1,8 @@
-From 5a57dbe832b2dc8cc79516977f4fbbfed64c4743 Mon Sep 17 00:00:00 2001
-From: "Luke D. Jones" <luke@ljones.dev>
-Date: Sun, 4 Jun 2023 18:48:11 +1200
-Subject: [PATCH 01/13] platform/x86: asus-wmi: add support for showing charger
- mode
-
-Expose a WMI method in sysfs platform for showing which connected
-charger the laptop is currently using.
-
-Signed-off-by: Luke D. Jones <luke@ljones.dev>
----
- .../ABI/testing/sysfs-platform-asus-wmi | 10 +++++++++
- drivers/platform/x86/asus-wmi.c | 21 +++++++++++++++++++
- include/linux/platform_data/x86/asus-wmi.h | 3 +++
- 3 files changed, 34 insertions(+)
-
-diff --git a/Documentation/ABI/testing/sysfs-platform-asus-wmi b/Documentation/ABI/testing/sysfs-platform-asus-wmi
-index a77a004a1baa..eb29e3023c7b 100644
---- a/Documentation/ABI/testing/sysfs-platform-asus-wmi
-+++ b/Documentation/ABI/testing/sysfs-platform-asus-wmi
-@@ -98,3 +98,13 @@ Description:
- Enable an LCD response-time boost to reduce or remove ghosting:
- * 0 - Disable,
- * 1 - Enable
-+
-+What: /sys/devices/platform/<platform>/charge_mode
-+Date: Jun 2023
-+KernelVersion: 6.5
-+Contact: "Luke Jones" <luke@ljones.dev>
-+Description:
-+ Get the current charging mode being used:
-+ * 1 - Barrel connected charger,
-+ * 2 - USB-C charging
-+ * 3 - Both connected, barrel used for charging
-\ No newline at end of file
-diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
-index 8bef66a2f0ce..cf82ae6323f8 100644
---- a/drivers/platform/x86/asus-wmi.c
-+++ b/drivers/platform/x86/asus-wmi.c
-@@ -237,6 +237,7 @@ struct asus_wmi {
- u8 fan_boost_mode_mask;
- u8 fan_boost_mode;
-
-+ bool charge_mode_available;
- bool egpu_enable_available;
- bool dgpu_disable_available;
- bool gpu_mux_mode_available;
-@@ -586,6 +587,22 @@ static void asus_wmi_tablet_mode_get_state(struct asus_wmi *asus)
- asus_wmi_tablet_sw_report(asus, result);
- }
-
-+/* Charging mode, 1=Barrel, 2=USB ******************************************/
-+static ssize_t charge_mode_show(struct device *dev,
-+ struct device_attribute *attr, char *buf)
-+{
-+ struct asus_wmi *asus = dev_get_drvdata(dev);
-+ int result, value;
-+
-+ result = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_CHARGE_MODE, &value);
-+ if (result < 0)
-+ return result;
-+
-+ return sysfs_emit(buf, "%d\n", value & 0xff);
-+}
-+
-+static DEVICE_ATTR_RO(charge_mode);
-+
- /* dGPU ********************************************************************/
- static ssize_t dgpu_disable_show(struct device *dev,
- struct device_attribute *attr, char *buf)
-@@ -3472,6 +3489,7 @@ static struct attribute *platform_attributes[] = {
- &dev_attr_camera.attr,
- &dev_attr_cardr.attr,
- &dev_attr_touchpad.attr,
-+ &dev_attr_charge_mode.attr,
- &dev_attr_egpu_enable.attr,
- &dev_attr_dgpu_disable.attr,
- &dev_attr_gpu_mux_mode.attr,
-@@ -3501,6 +3519,8 @@ static umode_t asus_sysfs_is_visible(struct kobject *kobj,
- devid = ASUS_WMI_DEVID_LID_RESUME;
- else if (attr == &dev_attr_als_enable.attr)
- devid = ASUS_WMI_DEVID_ALS_ENABLE;
-+ else if (attr == &dev_attr_charge_mode.attr)
-+ ok = asus->charge_mode_available;
- else if (attr == &dev_attr_egpu_enable.attr)
- ok = asus->egpu_enable_available;
- else if (attr == &dev_attr_dgpu_disable.attr)
-@@ -3767,6 +3787,7 @@ static int asus_wmi_add(struct platform_device *pdev)
- if (err)
- goto fail_platform;
-
-+ asus->charge_mode_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_CHARGE_MODE);
- asus->egpu_enable_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_EGPU);
- asus->dgpu_disable_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_DGPU);
- asus->gpu_mux_mode_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_GPU_MUX);
-diff --git a/include/linux/platform_data/x86/asus-wmi.h b/include/linux/platform_data/x86/asus-wmi.h
-index 28234dc9fa6a..f90cafe26af1 100644
---- a/include/linux/platform_data/x86/asus-wmi.h
-+++ b/include/linux/platform_data/x86/asus-wmi.h
-@@ -95,6 +95,9 @@
- /* Keyboard dock */
- #define ASUS_WMI_DEVID_KBD_DOCK 0x00120063
-
-+/* Charging mode - 1=Barrel, 2=USB */
-+#define ASUS_WMI_DEVID_CHARGE_MODE 0x0012006C
-+
- /* dgpu on/off */
- #define ASUS_WMI_DEVID_EGPU 0x00090019
-
---
-2.41.0
-
-From 6c0e89067d0608fedd3b75844bdea5566a0c249f Mon Sep 17 00:00:00 2001
-From: "Luke D. Jones" <luke@ljones.dev>
-Date: Sun, 4 Jun 2023 19:07:31 +1200
-Subject: [PATCH 02/13] platform/x86: asus-wmi: add support for showing middle
- fan RPM
-
-Some newer ASUS ROG laptops now have a middle/center fan in addition
-to the CPU and GPU fans. This new fan typically blows across the
-heatpipes and VRMs betweent eh CPU and GPU.
-
-This commit exposes that fan to PWM control plus showing RPM.
-
-Signed-off-by: Luke D. Jones <luke@ljones.dev>
----
- drivers/platform/x86/asus-wmi.c | 91 ++++++++++++++++++++++
- include/linux/platform_data/x86/asus-wmi.h | 1 +
- 2 files changed, 92 insertions(+)
-
-diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
-index cf82ae6323f8..069251d8040f 100644
---- a/drivers/platform/x86/asus-wmi.c
-+++ b/drivers/platform/x86/asus-wmi.c
-@@ -72,6 +72,7 @@ module_param(fnlock_default, bool, 0444);
-
- #define ASUS_WMI_FNLOCK_BIOS_DISABLED BIT(0)
-
-+#define ASUS_MID_FAN_DESC "mid_fan"
- #define ASUS_GPU_FAN_DESC "gpu_fan"
- #define ASUS_FAN_DESC "cpu_fan"
- #define ASUS_FAN_MFUN 0x13
-@@ -229,8 +230,10 @@ struct asus_wmi {
-
- enum fan_type fan_type;
- enum fan_type gpu_fan_type;
-+ enum fan_type mid_fan_type;
- int fan_pwm_mode;
- int gpu_fan_pwm_mode;
-+ int mid_fan_pwm_mode;
- int agfn_pwm;
-
- bool fan_boost_mode_available;
-@@ -2139,6 +2142,31 @@ static ssize_t fan2_label_show(struct device *dev,
- return sysfs_emit(buf, "%s\n", ASUS_GPU_FAN_DESC);
- }
-
-+/* Middle/Center fan on modern ROG laptops */
-+static ssize_t fan3_input_show(struct device *dev,
-+ struct device_attribute *attr,
-+ char *buf)
-+{
-+ struct asus_wmi *asus = dev_get_drvdata(dev);
-+ int value;
-+ int ret;
-+
-+ ret = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_MID_FAN_CTRL, &value);
-+ if (ret < 0)
-+ return ret;
-+
-+ value &= 0xffff;
-+
-+ return sysfs_emit(buf, "%d\n", value * 100);
-+}
-+
-+static ssize_t fan3_label_show(struct device *dev,
-+ struct device_attribute *attr,
-+ char *buf)
-+{
-+ return sysfs_emit(buf, "%s\n", ASUS_MID_FAN_DESC);
-+}
-+
- static ssize_t pwm2_enable_show(struct device *dev,
- struct device_attribute *attr,
- char *buf)
-@@ -2185,6 +2213,52 @@ static ssize_t pwm2_enable_store(struct device *dev,
- return count;
- }
-
-+static ssize_t pwm3_enable_show(struct device *dev,
-+ struct device_attribute *attr,
-+ char *buf)
-+{
-+ struct asus_wmi *asus = dev_get_drvdata(dev);
-+
-+ return sysfs_emit(buf, "%d\n", asus->mid_fan_pwm_mode);
-+}
-+
-+static ssize_t pwm3_enable_store(struct device *dev,
-+ struct device_attribute *attr,
-+ const char *buf, size_t count)
-+{
-+ struct asus_wmi *asus = dev_get_drvdata(dev);
-+ int state;
-+ int value;
-+ int ret;
-+ u32 retval;
-+
-+ ret = kstrtouint(buf, 10, &state);
-+ if (ret)
-+ return ret;
-+
-+ switch (state) { /* standard documented hwmon values */
-+ case ASUS_FAN_CTRL_FULLSPEED:
-+ value = 1;
-+ break;
-+ case ASUS_FAN_CTRL_AUTO:
-+ value = 0;
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ ret = asus_wmi_set_devstate(ASUS_WMI_DEVID_MID_FAN_CTRL,
-+ value, &retval);
-+ if (ret)
-+ return ret;
-+
-+ if (retval != 1)
-+ return -EIO;
-+
-+ asus->mid_fan_pwm_mode = state;
-+ return count;
-+}
-+
- /* Fan1 */
- static DEVICE_ATTR_RW(pwm1);
- static DEVICE_ATTR_RW(pwm1_enable);
-@@ -2194,6 +2268,10 @@ static DEVICE_ATTR_RO(fan1_label);
- static DEVICE_ATTR_RW(pwm2_enable);
- static DEVICE_ATTR_RO(fan2_input);
- static DEVICE_ATTR_RO(fan2_label);
-+/* Fan3 - Middle/center fan */
-+static DEVICE_ATTR_RW(pwm3_enable);
-+static DEVICE_ATTR_RO(fan3_input);
-+static DEVICE_ATTR_RO(fan3_label);
-
- /* Temperature */
- static DEVICE_ATTR(temp1_input, S_IRUGO, asus_hwmon_temp1, NULL);
-@@ -2202,10 +2280,13 @@ static struct attribute *hwmon_attributes[] = {
- &dev_attr_pwm1.attr,
- &dev_attr_pwm1_enable.attr,
- &dev_attr_pwm2_enable.attr,
-+ &dev_attr_pwm3_enable.attr,
- &dev_attr_fan1_input.attr,
- &dev_attr_fan1_label.attr,
- &dev_attr_fan2_input.attr,
- &dev_attr_fan2_label.attr,
-+ &dev_attr_fan3_input.attr,
-+ &dev_attr_fan3_label.attr,
-
- &dev_attr_temp1_input.attr,
- NULL
-@@ -2231,6 +2312,11 @@ static umode_t asus_hwmon_sysfs_is_visible(struct kobject *kobj,
- || attr == &dev_attr_pwm2_enable.attr) {
- if (asus->gpu_fan_type == FAN_TYPE_NONE)
- return 0;
-+ } else if (attr == &dev_attr_fan3_input.attr
-+ || attr == &dev_attr_fan3_label.attr
-+ || attr == &dev_attr_pwm3_enable.attr) {
-+ if (asus->mid_fan_type == FAN_TYPE_NONE)
-+ return 0;
- } else if (attr == &dev_attr_temp1_input.attr) {
- int err = asus_wmi_get_devstate(asus,
- ASUS_WMI_DEVID_THERMAL_CTRL,
-@@ -2274,6 +2360,7 @@ static int asus_wmi_hwmon_init(struct asus_wmi *asus)
- static int asus_wmi_fan_init(struct asus_wmi *asus)
- {
- asus->gpu_fan_type = FAN_TYPE_NONE;
-+ asus->mid_fan_type = FAN_TYPE_NONE;
- asus->fan_type = FAN_TYPE_NONE;
- asus->agfn_pwm = -1;
-
-@@ -2288,6 +2375,10 @@ static int asus_wmi_fan_init(struct asus_wmi *asus)
- if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_GPU_FAN_CTRL))
- asus->gpu_fan_type = FAN_TYPE_SPEC83;
-
-+ /* Some models also have a center/middle fan */
-+ if (asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_MID_FAN_CTRL))
-+ asus->mid_fan_type = FAN_TYPE_SPEC83;
-+
- if (asus->fan_type == FAN_TYPE_NONE)
- return -ENODEV;
-
-diff --git a/include/linux/platform_data/x86/asus-wmi.h b/include/linux/platform_data/x86/asus-wmi.h
-index f90cafe26af1..2c03bda7703f 100644
---- a/include/linux/platform_data/x86/asus-wmi.h
-+++ b/include/linux/platform_data/x86/asus-wmi.h
-@@ -80,6 +80,7 @@
- #define ASUS_WMI_DEVID_FAN_CTRL 0x00110012 /* deprecated */
- #define ASUS_WMI_DEVID_CPU_FAN_CTRL 0x00110013
- #define ASUS_WMI_DEVID_GPU_FAN_CTRL 0x00110014
-+#define ASUS_WMI_DEVID_MID_FAN_CTRL 0x00110031
- #define ASUS_WMI_DEVID_CPU_FAN_CURVE 0x00110024
- #define ASUS_WMI_DEVID_GPU_FAN_CURVE 0x00110025
-
---
-2.41.0
-
-From 60f66172c03e8cf8417818173c253824527a6d69 Mon Sep 17 00:00:00 2001
-From: "Luke D. Jones" <luke@ljones.dev>
-Date: Sun, 4 Jun 2023 19:37:34 +1200
-Subject: [PATCH 03/13] platform/x86: asus-wmi: support middle fan custom
- curves
-
-Adds support for fan curves defined for the middle fan which
-is available on some ASUS ROG laptops.
-
-Signed-off-by: Luke D. Jones <luke@ljones.dev>
----
- drivers/platform/x86/asus-wmi.c | 77 +++++++++++++++++++++-
- include/linux/platform_data/x86/asus-wmi.h | 1 +
- 2 files changed, 76 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
-index 069251d8040f..89867b18e8f7 100644
---- a/drivers/platform/x86/asus-wmi.c
-+++ b/drivers/platform/x86/asus-wmi.c
-@@ -113,6 +113,7 @@ module_param(fnlock_default, bool, 0444);
- #define FAN_CURVE_BUF_LEN 32
- #define FAN_CURVE_DEV_CPU 0x00
- #define FAN_CURVE_DEV_GPU 0x01
-+#define FAN_CURVE_DEV_MID 0x02
- /* Mask to determine if setting temperature or percentage */
- #define FAN_CURVE_PWM_MASK 0x04
-
-@@ -253,7 +254,8 @@ struct asus_wmi {
-
- bool cpu_fan_curve_available;
- bool gpu_fan_curve_available;
-- struct fan_curve_data custom_fan_curves[2];
-+ bool mid_fan_curve_available;
-+ struct fan_curve_data custom_fan_curves[3];
-
- struct platform_profile_handler platform_profile_handler;
- bool platform_profile_support;
-@@ -2090,6 +2092,8 @@ static ssize_t pwm1_enable_store(struct device *dev,
- asus->custom_fan_curves[FAN_CURVE_DEV_CPU].enabled = false;
- if (asus->gpu_fan_curve_available)
- asus->custom_fan_curves[FAN_CURVE_DEV_GPU].enabled = false;
-+ if (asus->mid_fan_curve_available)
-+ asus->custom_fan_curves[FAN_CURVE_DEV_MID].enabled = false;
-
- return count;
- }
-@@ -2541,6 +2545,9 @@ static int fan_curve_get_factory_default(struct asus_wmi *asus, u32 fan_dev)
- if (fan_dev == ASUS_WMI_DEVID_GPU_FAN_CURVE)
- fan_idx = FAN_CURVE_DEV_GPU;
-
-+ if (fan_dev == ASUS_WMI_DEVID_MID_FAN_CURVE)
-+ fan_idx = FAN_CURVE_DEV_MID;
-+
- curves = &asus->custom_fan_curves[fan_idx];
- err = asus_wmi_evaluate_method_buf(asus->dsts_id, fan_dev, mode, buf,
- FAN_CURVE_BUF_LEN);
-@@ -2829,6 +2836,42 @@ static SENSOR_DEVICE_ATTR_2_RW(pwm2_auto_point7_pwm, fan_curve,
- static SENSOR_DEVICE_ATTR_2_RW(pwm2_auto_point8_pwm, fan_curve,
- FAN_CURVE_DEV_GPU | FAN_CURVE_PWM_MASK, 7);
-
-+/* MID */
-+static SENSOR_DEVICE_ATTR_RW(pwm3_enable, fan_curve_enable, FAN_CURVE_DEV_GPU);
-+static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point1_temp, fan_curve,
-+ FAN_CURVE_DEV_GPU, 0);
-+static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point2_temp, fan_curve,
-+ FAN_CURVE_DEV_GPU, 1);
-+static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point3_temp, fan_curve,
-+ FAN_CURVE_DEV_GPU, 2);
-+static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point4_temp, fan_curve,
-+ FAN_CURVE_DEV_GPU, 3);
-+static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point5_temp, fan_curve,
-+ FAN_CURVE_DEV_GPU, 4);
-+static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point6_temp, fan_curve,
-+ FAN_CURVE_DEV_GPU, 5);
-+static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point7_temp, fan_curve,
-+ FAN_CURVE_DEV_GPU, 6);
-+static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point8_temp, fan_curve,
-+ FAN_CURVE_DEV_GPU, 7);
-+
-+static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point1_pwm, fan_curve,
-+ FAN_CURVE_DEV_GPU | FAN_CURVE_PWM_MASK, 0);
-+static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point2_pwm, fan_curve,
-+ FAN_CURVE_DEV_GPU | FAN_CURVE_PWM_MASK, 1);
-+static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point3_pwm, fan_curve,
-+ FAN_CURVE_DEV_GPU | FAN_CURVE_PWM_MASK, 2);
-+static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point4_pwm, fan_curve,
-+ FAN_CURVE_DEV_GPU | FAN_CURVE_PWM_MASK, 3);
-+static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point5_pwm, fan_curve,
-+ FAN_CURVE_DEV_GPU | FAN_CURVE_PWM_MASK, 4);
-+static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point6_pwm, fan_curve,
-+ FAN_CURVE_DEV_GPU | FAN_CURVE_PWM_MASK, 5);
-+static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point7_pwm, fan_curve,
-+ FAN_CURVE_DEV_GPU | FAN_CURVE_PWM_MASK, 6);
-+static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point8_pwm, fan_curve,
-+ FAN_CURVE_DEV_GPU | FAN_CURVE_PWM_MASK, 7);
-+
- static struct attribute *asus_fan_curve_attr[] = {
- /* CPU */
- &sensor_dev_attr_pwm1_enable.dev_attr.attr,
-@@ -2866,6 +2909,24 @@ static struct attribute *asus_fan_curve_attr[] = {
- &sensor_dev_attr_pwm2_auto_point6_pwm.dev_attr.attr,
- &sensor_dev_attr_pwm2_auto_point7_pwm.dev_attr.attr,
- &sensor_dev_attr_pwm2_auto_point8_pwm.dev_attr.attr,
-+ /* MID */
-+ &sensor_dev_attr_pwm3_enable.dev_attr.attr,
-+ &sensor_dev_attr_pwm3_auto_point1_temp.dev_attr.attr,
-+ &sensor_dev_attr_pwm3_auto_point2_temp.dev_attr.attr,
-+ &sensor_dev_attr_pwm3_auto_point3_temp.dev_attr.attr,
-+ &sensor_dev_attr_pwm3_auto_point4_temp.dev_attr.attr,
-+ &sensor_dev_attr_pwm3_auto_point5_temp.dev_attr.attr,
-+ &sensor_dev_attr_pwm3_auto_point6_temp.dev_attr.attr,
-+ &sensor_dev_attr_pwm3_auto_point7_temp.dev_attr.attr,
-+ &sensor_dev_attr_pwm3_auto_point8_temp.dev_attr.attr,
-+ &sensor_dev_attr_pwm3_auto_point1_pwm.dev_attr.attr,
-+ &sensor_dev_attr_pwm3_auto_point2_pwm.dev_attr.attr,
-+ &sensor_dev_attr_pwm3_auto_point3_pwm.dev_attr.attr,
-+ &sensor_dev_attr_pwm3_auto_point4_pwm.dev_attr.attr,
-+ &sensor_dev_attr_pwm3_auto_point5_pwm.dev_attr.attr,
-+ &sensor_dev_attr_pwm3_auto_point6_pwm.dev_attr.attr,
-+ &sensor_dev_attr_pwm3_auto_point7_pwm.dev_attr.attr,
-+ &sensor_dev_attr_pwm3_auto_point8_pwm.dev_attr.attr,
- NULL
- };
-
-@@ -2885,6 +2946,9 @@ static umode_t asus_fan_curve_is_visible(struct kobject *kobj,
- if (asus->gpu_fan_curve_available && attr->name[3] == '2')
- return 0644;
-
-+ if (asus->mid_fan_curve_available && attr->name[3] == '3')
-+ return 0644;
-+
- return 0;
- }
-
-@@ -2914,7 +2978,14 @@ static int asus_wmi_custom_fan_curve_init(struct asus_wmi *asus)
- if (err)
- return err;
-
-- if (!asus->cpu_fan_curve_available && !asus->gpu_fan_curve_available)
-+ err = fan_curve_check_present(asus, &asus->mid_fan_curve_available,
-+ ASUS_WMI_DEVID_MID_FAN_CURVE);
-+ if (err)
-+ return err;
-+
-+ if (!asus->cpu_fan_curve_available
-+ && !asus->gpu_fan_curve_available
-+ && !asus->mid_fan_curve_available)
- return 0;
-
- hwmon = devm_hwmon_device_register_with_groups(
-@@ -2983,6 +3054,8 @@ static int throttle_thermal_policy_write(struct asus_wmi *asus)
- asus->custom_fan_curves[FAN_CURVE_DEV_CPU].enabled = false;
- if (asus->gpu_fan_curve_available)
- asus->custom_fan_curves[FAN_CURVE_DEV_GPU].enabled = false;
-+ if (asus->mid_fan_curve_available)
-+ asus->custom_fan_curves[FAN_CURVE_DEV_MID].enabled = false;
-
- return 0;
- }
-diff --git a/include/linux/platform_data/x86/asus-wmi.h b/include/linux/platform_data/x86/asus-wmi.h
-index 2c03bda7703f..329efc086993 100644
---- a/include/linux/platform_data/x86/asus-wmi.h
-+++ b/include/linux/platform_data/x86/asus-wmi.h
-@@ -83,6 +83,7 @@
- #define ASUS_WMI_DEVID_MID_FAN_CTRL 0x00110031
- #define ASUS_WMI_DEVID_CPU_FAN_CURVE 0x00110024
- #define ASUS_WMI_DEVID_GPU_FAN_CURVE 0x00110025
-+#define ASUS_WMI_DEVID_MID_FAN_CURVE 0x00110032
-
- /* Power */
- #define ASUS_WMI_DEVID_PROCESSOR_STATE 0x00120012
---
-2.41.0
-
-From 0b90e1673515c0cf89f43c9a7f5cd06db9c7b3f2 Mon Sep 17 00:00:00 2001
-From: "Luke D. Jones" <luke@ljones.dev>
-Date: Sun, 4 Jun 2023 20:01:57 +1200
-Subject: [PATCH 04/13] platform/x86: asus-wmi: add WMI method to show if egpu
- connected
-
-Exposes the WMI method which tells if the eGPU is properly connected
-on the devices that support it.
-
-Signed-off-by: Luke D. Jones <luke@ljones.dev>
----
- .../ABI/testing/sysfs-platform-asus-wmi | 11 +++++++++-
- drivers/platform/x86/asus-wmi.c | 21 +++++++++++++++++++
- include/linux/platform_data/x86/asus-wmi.h | 4 +++-
- 3 files changed, 34 insertions(+), 2 deletions(-)
-
-diff --git a/Documentation/ABI/testing/sysfs-platform-asus-wmi b/Documentation/ABI/testing/sysfs-platform-asus-wmi
-index eb29e3023c7b..878daf7c2036 100644
---- a/Documentation/ABI/testing/sysfs-platform-asus-wmi
-+++ b/Documentation/ABI/testing/sysfs-platform-asus-wmi
-@@ -107,4 +107,13 @@ Description:
- Get the current charging mode being used:
- * 1 - Barrel connected charger,
- * 2 - USB-C charging
-- * 3 - Both connected, barrel used for charging
-\ No newline at end of file
-+ * 3 - Both connected, barrel used for charging
-+
-+What: /sys/devices/platform/<platform>/egpu_connected
-+Date: Jun 2023
-+KernelVersion: 6.5
-+Contact: "Luke Jones" <luke@ljones.dev>
-+Description:
-+ Show if the egpu (XG Mobile) is correctly connected:
-+ * 0 - False,
-+ * 1 - True
-diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
-index 89867b18e8f7..a65cf8599124 100644
---- a/drivers/platform/x86/asus-wmi.c
-+++ b/drivers/platform/x86/asus-wmi.c
-@@ -243,6 +243,7 @@ struct asus_wmi {
-
- bool charge_mode_available;
- bool egpu_enable_available;
-+ bool egpu_connect_available;
- bool dgpu_disable_available;
- bool gpu_mux_mode_available;
-
-@@ -709,6 +710,22 @@ static ssize_t egpu_enable_store(struct device *dev,
- }
- static DEVICE_ATTR_RW(egpu_enable);
-
-+/* Is eGPU connected? *********************************************************/
-+static ssize_t egpu_connected_show(struct device *dev,
-+ struct device_attribute *attr, char *buf)
-+{
-+ struct asus_wmi *asus = dev_get_drvdata(dev);
-+ int result;
-+
-+ result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_EGPU_CONNECTED);
-+ if (result < 0)
-+ return result;
-+
-+ return sysfs_emit(buf, "%d\n", result);
-+}
-+
-+static DEVICE_ATTR_RO(egpu_connected);
-+
- /* gpu mux switch *************************************************************/
- static ssize_t gpu_mux_mode_show(struct device *dev,
- struct device_attribute *attr, char *buf)
-@@ -3655,6 +3672,7 @@ static struct attribute *platform_attributes[] = {
- &dev_attr_touchpad.attr,
- &dev_attr_charge_mode.attr,
- &dev_attr_egpu_enable.attr,
-+ &dev_attr_egpu_connected.attr,
- &dev_attr_dgpu_disable.attr,
- &dev_attr_gpu_mux_mode.attr,
- &dev_attr_lid_resume.attr,
-@@ -3687,6 +3705,8 @@ static umode_t asus_sysfs_is_visible(struct kobject *kobj,
- ok = asus->charge_mode_available;
- else if (attr == &dev_attr_egpu_enable.attr)
- ok = asus->egpu_enable_available;
-+ else if (attr == &dev_attr_egpu_connected.attr)
-+ ok = asus->egpu_connect_available;
- else if (attr == &dev_attr_dgpu_disable.attr)
- ok = asus->dgpu_disable_available;
- else if (attr == &dev_attr_gpu_mux_mode.attr)
-@@ -3953,6 +3973,7 @@ static int asus_wmi_add(struct platform_device *pdev)
-
- asus->charge_mode_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_CHARGE_MODE);
- asus->egpu_enable_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_EGPU);
-+ asus->egpu_connect_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_EGPU_CONNECTED);
- asus->dgpu_disable_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_DGPU);
- asus->gpu_mux_mode_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_GPU_MUX);
- asus->kbd_rgb_mode_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_TUF_RGB_MODE);
-diff --git a/include/linux/platform_data/x86/asus-wmi.h b/include/linux/platform_data/x86/asus-wmi.h
-index 329efc086993..2034648f8cdf 100644
---- a/include/linux/platform_data/x86/asus-wmi.h
-+++ b/include/linux/platform_data/x86/asus-wmi.h
-@@ -100,7 +100,9 @@
- /* Charging mode - 1=Barrel, 2=USB */
- #define ASUS_WMI_DEVID_CHARGE_MODE 0x0012006C
-
--/* dgpu on/off */
-+/* epu is connected? 1 == true */
-+#define ASUS_WMI_DEVID_EGPU_CONNECTED 0x00090018
-+/* egpu on/off */
- #define ASUS_WMI_DEVID_EGPU 0x00090019
-
- /* dgpu on/off */
---
-2.41.0
-
-From 1bddf53ccac067e043857d28c1598401cd9db7f4 Mon Sep 17 00:00:00 2001
-From: "Luke D. Jones" <luke@ljones.dev>
-Date: Tue, 20 Jun 2023 12:26:51 +1200
-Subject: [PATCH 05/13] platform/x86: asus-wmi: don't allow eGPU switching if
- eGPU not connected
-
-Check the ASUS_WMI_DEVID_EGPU_CONNECTED method for eGPU connection
-before allowing the ASUS_WMI_DEVID_EGPU method to run.
-
-Signed-off-by: Luke D. Jones <luke@ljones.dev>
----
- drivers/platform/x86/asus-wmi.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
-index a65cf8599124..3cb7cee110e2 100644
---- a/drivers/platform/x86/asus-wmi.c
-+++ b/drivers/platform/x86/asus-wmi.c
-@@ -693,6 +693,15 @@ static ssize_t egpu_enable_store(struct device *dev,
- if (enable > 1)
- return -EINVAL;
-
-+ err = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_EGPU_CONNECTED);
-+ if (err < 0)
-+ return err;
-+ if (err < 1) {
-+ err = -ENODEV;
-+ pr_warn("Failed to set egpu disable: %d\n", err);
-+ return err;
-+ }
-+
- err = asus_wmi_set_devstate(ASUS_WMI_DEVID_EGPU, enable, &result);
- if (err) {
- pr_warn("Failed to set egpu disable: %d\n", err);
---
-2.41.0
-
-From 64b96869a3ed4b7c9e41c1a3e8410c3ec2582ca9 Mon Sep 17 00:00:00 2001
-From: "Luke D. Jones" <luke@ljones.dev>
-Date: Tue, 20 Jun 2023 12:48:31 +1200
-Subject: [PATCH 06/13] platform/x86: asus-wmi: add safety checks to gpu
- switching
-
-Add safety checking to dgpu_disable, egpu_enable, gpu_mux_mode.
-
-These checks prevent users from doing such things as:
-- disabling the dGPU while is muxed to drive the internal screen
-- enabling the eGPU which also disables the dGPU, while muxed to
- the internal screen
-- switching the MUX to dGPU while the dGPU is disabled
-
-Signed-off-by: Luke D. Jones <luke@ljones.dev>
----
- drivers/platform/x86/asus-wmi.c | 50 ++++++++++++++++++++++++++++++++-
- 1 file changed, 49 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
-index 3cb7cee110e2..7e80ea2a802a 100644
---- a/drivers/platform/x86/asus-wmi.c
-+++ b/drivers/platform/x86/asus-wmi.c
-@@ -645,6 +645,18 @@ static ssize_t dgpu_disable_store(struct device *dev,
- if (disable > 1)
- return -EINVAL;
-
-+ if (asus->gpu_mux_mode_available) {
-+ result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_GPU_MUX);
-+ if (result < 0)
-+ /* An error here may signal greater failure of GPU handling */
-+ return result;
-+ if (!result && disable) {
-+ err = -ENODEV;
-+ pr_warn("Can not disable dGPU when the MUX is in dGPU mode: %d\n", err);
-+ return err;
-+ }
-+ }
-+
- err = asus_wmi_set_devstate(ASUS_WMI_DEVID_DGPU, disable, &result);
- if (err) {
- pr_warn("Failed to set dgpu disable: %d\n", err);
-@@ -693,7 +705,7 @@ static ssize_t egpu_enable_store(struct device *dev,
- if (enable > 1)
- return -EINVAL;
-
-- err = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_EGPU_CONNECTED);
-+ result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_EGPU_CONNECTED);
- if (err < 0)
- return err;
- if (err < 1) {
-@@ -702,6 +714,18 @@ static ssize_t egpu_enable_store(struct device *dev,
- return err;
- }
-
-+ if (asus->gpu_mux_mode_available) {
-+ result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_GPU_MUX);
-+ if (result < 0)
-+ /* An error here may signal greater failure of GPU handling */
-+ return result;
-+ if (!result && enable) {
-+ err = -ENODEV;
-+ pr_warn("Can not enable eGPU when the MUX is in dGPU mode: %d\n", err);
-+ return err;
-+ }
-+ }
-+
- err = asus_wmi_set_devstate(ASUS_WMI_DEVID_EGPU, enable, &result);
- if (err) {
- pr_warn("Failed to set egpu disable: %d\n", err);
-@@ -764,6 +788,30 @@ static ssize_t gpu_mux_mode_store(struct device *dev,
- if (optimus > 1)
- return -EINVAL;
-
-+ if (asus->dgpu_disable_available) {
-+ result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_DGPU);
-+ if (result < 0)
-+ /* An error here may signal greater failure of GPU handling */
-+ return result;
-+ if (result && !optimus) {
-+ err = -ENODEV;
-+ pr_warn("Can not switch MUX to dGPU mode when dGPU is disabled: %d\n", err);
-+ return err;
-+ }
-+ }
-+
-+ if (asus->egpu_enable_available) {
-+ result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_EGPU);
-+ if (result < 0)
-+ /* An error here may signal greater failure of GPU handling */
-+ return result;
-+ if (result && !optimus) {
-+ err = -ENODEV;
-+ pr_warn("Can not switch MUX to dGPU mode when eGPU is enabled: %d\n", err);
-+ return err;
-+ }
-+ }
-+
- err = asus_wmi_set_devstate(ASUS_WMI_DEVID_GPU_MUX, optimus, &result);
- if (err) {
- dev_err(dev, "Failed to set GPU MUX mode: %d\n", err);
---
-2.41.0
-
-From 76d73c965c18d6b5e1d8d9ab6ae446e2f1913b6b Mon Sep 17 00:00:00 2001
-From: "Luke D. Jones" <luke@ljones.dev>
-Date: Sun, 4 Jun 2023 20:21:10 +1200
-Subject: [PATCH 07/13] platform/x86: asus-wmi: support setting mini-LED mode
-
-Support changing the mini-LED mode on some of the newer ASUS laptops.
-
-Signed-off-by: Luke D. Jones <luke@ljones.dev>
----
- .../ABI/testing/sysfs-platform-asus-wmi | 9 ++++
- drivers/platform/x86/asus-wmi.c | 53 +++++++++++++++++++
- include/linux/platform_data/x86/asus-wmi.h | 1 +
- 3 files changed, 63 insertions(+)
-
-diff --git a/Documentation/ABI/testing/sysfs-platform-asus-wmi b/Documentation/ABI/testing/sysfs-platform-asus-wmi
-index 878daf7c2036..5624bdef49cb 100644
---- a/Documentation/ABI/testing/sysfs-platform-asus-wmi
-+++ b/Documentation/ABI/testing/sysfs-platform-asus-wmi
-@@ -117,3 +117,12 @@ Description:
- Show if the egpu (XG Mobile) is correctly connected:
- * 0 - False,
- * 1 - True
-+
-+What: /sys/devices/platform/<platform>/mini_led_mode
-+Date: Jun 2023
-+KernelVersion: 6.5
-+Contact: "Luke Jones" <luke@ljones.dev>
-+Description:
-+ Change the mini-LED mode:
-+ * 0 - Single-zone,
-+ * 1 - Multi-zone
-diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
-index 7e80ea2a802a..9b3dd262f6e4 100644
---- a/drivers/platform/x86/asus-wmi.c
-+++ b/drivers/platform/x86/asus-wmi.c
-@@ -265,6 +265,7 @@ struct asus_wmi {
- bool battery_rsoc_available;
-
- bool panel_overdrive_available;
-+ bool mini_led_mode_available;
-
- struct hotplug_slot hotplug_slot;
- struct mutex hotplug_lock;
-@@ -1830,6 +1831,54 @@ static ssize_t panel_od_store(struct device *dev,
- }
- static DEVICE_ATTR_RW(panel_od);
-
-+/* Mini-LED mode **************************************************************/
-+static ssize_t mini_led_mode_show(struct device *dev,
-+ struct device_attribute *attr, char *buf)
-+{
-+ struct asus_wmi *asus = dev_get_drvdata(dev);
-+ int result;
-+
-+ result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_MINI_LED_MODE);
-+ if (result < 0)
-+ return result;
-+
-+ return sysfs_emit(buf, "%d\n", result);
-+}
-+
-+static ssize_t mini_led_mode_store(struct device *dev,
-+ struct device_attribute *attr,
-+ const char *buf, size_t count)
-+{
-+ int result, err;
-+ u32 mode;
-+
-+ struct asus_wmi *asus = dev_get_drvdata(dev);
-+
-+ result = kstrtou32(buf, 10, &mode);
-+ if (result)
-+ return result;
-+
-+ if (mode > 1)
-+ return -EINVAL;
-+
-+ err = asus_wmi_set_devstate(ASUS_WMI_DEVID_MINI_LED_MODE, mode, &result);
-+
-+ if (err) {
-+ pr_warn("Failed to set mini-LED: %d\n", err);
-+ return err;
-+ }
-+
-+ if (result > 1) {
-+ pr_warn("Failed to set mini-LED mode (result): 0x%x\n", result);
-+ return -EIO;
-+ }
-+
-+ sysfs_notify(&asus->platform_device->dev.kobj, NULL, "mini_led_mode");
-+
-+ return count;
-+}
-+static DEVICE_ATTR_RW(mini_led_mode);
-+
- /* Quirks *********************************************************************/
-
- static void asus_wmi_set_xusb2pr(struct asus_wmi *asus)
-@@ -3737,6 +3786,7 @@ static struct attribute *platform_attributes[] = {
- &dev_attr_fan_boost_mode.attr,
- &dev_attr_throttle_thermal_policy.attr,
- &dev_attr_panel_od.attr,
-+ &dev_attr_mini_led_mode.attr,
- NULL
- };
-
-@@ -3774,6 +3824,8 @@ static umode_t asus_sysfs_is_visible(struct kobject *kobj,
- ok = asus->throttle_thermal_policy_available;
- else if (attr == &dev_attr_panel_od.attr)
- ok = asus->panel_overdrive_available;
-+ else if (attr == &dev_attr_mini_led_mode.attr)
-+ ok = asus->mini_led_mode_available;
-
- if (devid != -1)
- ok = !(asus_wmi_get_devstate_simple(asus, devid) < 0);
-@@ -4036,6 +4088,7 @@ static int asus_wmi_add(struct platform_device *pdev)
- asus->kbd_rgb_mode_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_TUF_RGB_MODE);
- asus->kbd_rgb_state_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_TUF_RGB_STATE);
- asus->panel_overdrive_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_PANEL_OD);
-+ asus->mini_led_mode_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_MINI_LED_MODE);
-
- err = fan_boost_mode_check_present(asus);
- if (err)
-diff --git a/include/linux/platform_data/x86/asus-wmi.h b/include/linux/platform_data/x86/asus-wmi.h
-index 2034648f8cdf..ea80361ac6c7 100644
---- a/include/linux/platform_data/x86/asus-wmi.h
-+++ b/include/linux/platform_data/x86/asus-wmi.h
-@@ -66,6 +66,7 @@
- #define ASUS_WMI_DEVID_CAMERA 0x00060013
- #define ASUS_WMI_DEVID_LID_FLIP 0x00060062
- #define ASUS_WMI_DEVID_LID_FLIP_ROG 0x00060077
-+#define ASUS_WMI_DEVID_MINI_LED_MODE 0x0005001E
-
- /* Storage */
- #define ASUS_WMI_DEVID_CARDREADER 0x00080013
---
-2.41.0
-
-From 3172f65f82ae6b36ab30a91ff73ba703a902da0a Mon Sep 17 00:00:00 2001
-From: "Luke D. Jones" <luke@ljones.dev>
-Date: Tue, 6 Jun 2023 15:05:01 +1200
-Subject: [PATCH 08/13] platform/x86: asus-wmi: expose dGPU and CPU tunables
- for ROG
-
-Expose various CPU and dGPU tunables that are available on many ASUS
-ROG laptops. The tunables shown in sysfs will vary depending on the CPU
-and dGPU vendor.
-
-All of these variables are write only and there is no easy way to find
-what the defaults are. In general they seem to default to the max value
-the vendor sets for the CPU and dGPU package - this is not the same as
-the min/max writable value. Values written to these variables that are
-beyond the capabilities of the CPU are ignored by the laptop.
-
-Signed-off-by: Luke D. Jones <luke@ljones.dev>
----
- .../ABI/testing/sysfs-platform-asus-wmi | 58 ++++
- drivers/platform/x86/asus-wmi.c | 285 ++++++++++++++++++
- include/linux/platform_data/x86/asus-wmi.h | 9 +
- 3 files changed, 352 insertions(+)
-
-diff --git a/Documentation/ABI/testing/sysfs-platform-asus-wmi b/Documentation/ABI/testing/sysfs-platform-asus-wmi
-index 5624bdef49cb..caaccd28fabf 100644
---- a/Documentation/ABI/testing/sysfs-platform-asus-wmi
-+++ b/Documentation/ABI/testing/sysfs-platform-asus-wmi
-@@ -126,3 +126,61 @@ Description:
- Change the mini-LED mode:
- * 0 - Single-zone,
- * 1 - Multi-zone
-+
-+What: /sys/devices/platform/<platform>/ppt_pl1_spl
-+Date: Jun 2023
-+KernelVersion: 6.5
-+Contact: "Luke Jones" <luke@ljones.dev>
-+Description:
-+ Set the Package Power Target total of CPU: PL1 on Intel, SPL on AMD.
-+ Shown on Intel+Nvidia or AMD+Nvidia based systems.
-+ * min=5, max=250
-+
-+What: /sys/devices/platform/<platform>/ppt_pl2_sppt
-+Date: Jun 2023
-+KernelVersion: 6.5
-+Contact: "Luke Jones" <luke@ljones.dev>
-+Description:
-+ Set the Slow Package Power Tracking Limit of CPU: PL2 on Intel, SPPT,
-+ on AMD. Shown on Intel+Nvidia or AMD+Nvidia based systems.
-+ * min=5, max=250
-+
-+What: /sys/devices/platform/<platform>/ppt_fppt
-+Date: Jun 2023
-+KernelVersion: 6.5
-+Contact: "Luke Jones" <luke@ljones.dev>
-+Description:
-+ Set the Fast Package Power Tracking Limit of CPU. AMD+Nvidia only.
-+ * min=5, max=250
-+
-+What: /sys/devices/platform/<platform>/ppt_apu_sppt
-+Date: Jun 2023
-+KernelVersion: 6.5
-+Contact: "Luke Jones" <luke@ljones.dev>
-+Description:
-+ Set the APU SPPT limit. Shown on full AMD systems only.
-+ * min=5, max=130
-+
-+What: /sys/devices/platform/<platform>/ppt_platform_sppt
-+Date: Jun 2023
-+KernelVersion: 6.5
-+Contact: "Luke Jones" <luke@ljones.dev>
-+Description:
-+ Set the platform SPPT limit. Shown on full AMD systems only.
-+ * min=5, max=130
-+
-+What: /sys/devices/platform/<platform>/nv_dynamic_boost
-+Date: Jun 2023
-+KernelVersion: 6.5
-+Contact: "Luke Jones" <luke@ljones.dev>
-+Description:
-+ Set the dynamic boost limit of the Nvidia dGPU:
-+ * min=5, max=25
-+
-+What: /sys/devices/platform/<platform>/nv_temp_target
-+Date: Jun 2023
-+KernelVersion: 6.5
-+Contact: "Luke Jones" <luke@ljones.dev>
-+Description:
-+ Set the target temperature limit of the Nvidia dGPU:
-+ * min=75, max=87
-diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
-index 9b3dd262f6e4..c732610b3fef 100644
---- a/drivers/platform/x86/asus-wmi.c
-+++ b/drivers/platform/x86/asus-wmi.c
-@@ -117,6 +117,16 @@ module_param(fnlock_default, bool, 0444);
- /* Mask to determine if setting temperature or percentage */
- #define FAN_CURVE_PWM_MASK 0x04
-
-+/* Limits for tunables available on ASUS ROG laptops */
-+#define PPT_TOTAL_MIN 5
-+#define PPT_TOTAL_MAX 250
-+#define PPT_CPU_MIN 5
-+#define PPT_CPU_MAX 130
-+#define NVIDIA_BOOST_MIN 5
-+#define NVIDIA_BOOST_MAX 25
-+#define NVIDIA_TEMP_MIN 75
-+#define NVIDIA_TEMP_MAX 87
-+
- static const char * const ashs_ids[] = { "ATK4001", "ATK4002", NULL };
-
- static int throttle_thermal_policy_write(struct asus_wmi *);
-@@ -247,6 +257,15 @@ struct asus_wmi {
- bool dgpu_disable_available;
- bool gpu_mux_mode_available;
-
-+ /* Tunables provided by ASUS for gaming laptops */
-+ bool ppt_pl2_sppt_available;
-+ bool ppt_pl1_spl_available;
-+ bool ppt_apu_sppt_available;
-+ bool ppt_plat_sppt_available;
-+ bool ppt_fppt_available;
-+ bool nv_dyn_boost_available;
-+ bool nv_temp_tgt_available;
-+
- bool kbd_rgb_mode_available;
- bool kbd_rgb_state_available;
-
-@@ -956,6 +975,244 @@ static const struct attribute_group *kbd_rgb_mode_groups[] = {
- NULL,
- };
-
-+/* Tunable: PPT: Intel=PL1, AMD=SPPT *****************************************/
-+static ssize_t ppt_pl2_sppt_store(struct device *dev,
-+ struct device_attribute *attr,
-+ const char *buf, size_t count)
-+{
-+ int result, err;
-+ u32 value;
-+
-+ struct asus_wmi *asus = dev_get_drvdata(dev);
-+
-+ result = kstrtou32(buf, 10, &value);
-+ if (result)
-+ return result;
-+
-+ if (value < PPT_TOTAL_MIN || value > PPT_TOTAL_MAX)
-+ return -EINVAL;
-+
-+ err = asus_wmi_set_devstate(ASUS_WMI_DEVID_PPT_PL2_SPPT, value, &result);
-+ if (err) {
-+ pr_warn("Failed to set ppt_pl2_sppt: %d\n", err);
-+ return err;
-+ }
-+
-+ if (result > 1) {
-+ pr_warn("Failed to set ppt_pl2_sppt (result): 0x%x\n", result);
-+ return -EIO;
-+ }
-+
-+ sysfs_notify(&asus->platform_device->dev.kobj, NULL, "ppt_pl2_sppt");
-+
-+ return count;
-+}
-+static DEVICE_ATTR_WO(ppt_pl2_sppt);
-+
-+/* Tunable: PPT, Intel=PL1, AMD=SPL ******************************************/
-+static ssize_t ppt_pl1_spl_store(struct device *dev,
-+ struct device_attribute *attr,
-+ const char *buf, size_t count)
-+{
-+ int result, err;
-+ u32 value;
-+
-+ struct asus_wmi *asus = dev_get_drvdata(dev);
-+
-+ result = kstrtou32(buf, 10, &value);
-+ if (result)
-+ return result;
-+
-+ if (value < PPT_TOTAL_MIN || value > PPT_TOTAL_MAX)
-+ return -EINVAL;
-+
-+ err = asus_wmi_set_devstate(ASUS_WMI_DEVID_PPT_PL1_SPL, value, &result);
-+ if (err) {
-+ pr_warn("Failed to set ppt_pl1_spl: %d\n", err);
-+ return err;
-+ }
-+
-+ if (result > 1) {
-+ pr_warn("Failed to set ppt_pl1_spl (result): 0x%x\n", result);
-+ return -EIO;
-+ }
-+
-+ sysfs_notify(&asus->platform_device->dev.kobj, NULL, "ppt_pl1_spl");
-+
-+ return count;
-+}
-+static DEVICE_ATTR_WO(ppt_pl1_spl);
-+
-+/* Tunable: PPT APU FPPT ******************************************************/
-+static ssize_t ppt_fppt_store(struct device *dev,
-+ struct device_attribute *attr,
-+ const char *buf, size_t count)
-+{
-+ int result, err;
-+ u32 value;
-+
-+ struct asus_wmi *asus = dev_get_drvdata(dev);
-+
-+ result = kstrtou32(buf, 10, &value);
-+ if (result)
-+ return result;
-+
-+ if (value < PPT_TOTAL_MIN || value > PPT_TOTAL_MAX)
-+ return -EINVAL;
-+
-+ err = asus_wmi_set_devstate(ASUS_WMI_DEVID_PPT_FPPT, value, &result);
-+ if (err) {
-+ pr_warn("Failed to set ppt_fppt: %d\n", err);
-+ return err;
-+ }
-+
-+ if (result > 1) {
-+ pr_warn("Failed to set ppt_fppt (result): 0x%x\n", result);
-+ return -EIO;
-+ }
-+
-+ sysfs_notify(&asus->platform_device->dev.kobj, NULL, "ppt_fpu_sppt");
-+
-+ return count;
-+}
-+static DEVICE_ATTR_WO(ppt_fppt);
-+
-+/* Tunable: PPT APU SPPT *****************************************************/
-+static ssize_t ppt_apu_sppt_store(struct device *dev,
-+ struct device_attribute *attr,
-+ const char *buf, size_t count)
-+{
-+ int result, err;
-+ u32 value;
-+
-+ struct asus_wmi *asus = dev_get_drvdata(dev);
-+
-+ result = kstrtou32(buf, 10, &value);
-+ if (result)
-+ return result;
-+
-+ if (value < PPT_CPU_MIN || value > PPT_CPU_MAX)
-+ return -EINVAL;
-+
-+ err = asus_wmi_set_devstate(ASUS_WMI_DEVID_PPT_APU_SPPT, value, &result);
-+ if (err) {
-+ pr_warn("Failed to set ppt_apu_sppt: %d\n", err);
-+ return err;
-+ }
-+
-+ if (result > 1) {
-+ pr_warn("Failed to set ppt_apu_sppt (result): 0x%x\n", result);
-+ return -EIO;
-+ }
-+
-+ sysfs_notify(&asus->platform_device->dev.kobj, NULL, "ppt_apu_sppt");
-+
-+ return count;
-+}
-+static DEVICE_ATTR_WO(ppt_apu_sppt);
-+
-+/* Tunable: PPT platform SPPT ************************************************/
-+static ssize_t ppt_platform_sppt_store(struct device *dev,
-+ struct device_attribute *attr,
-+ const char *buf, size_t count)
-+{
-+ int result, err;
-+ u32 value;
-+
-+ struct asus_wmi *asus = dev_get_drvdata(dev);
-+
-+ result = kstrtou32(buf, 10, &value);
-+ if (result)
-+ return result;
-+
-+ if (value < PPT_CPU_MIN || value > PPT_CPU_MAX)
-+ return -EINVAL;
-+
-+ err = asus_wmi_set_devstate(ASUS_WMI_DEVID_PPT_PLAT_SPPT, value, &result);
-+ if (err) {
-+ pr_warn("Failed to set ppt_platform_sppt: %d\n", err);
-+ return err;
-+ }
-+
-+ if (result > 1) {
-+ pr_warn("Failed to set ppt_platform_sppt (result): 0x%x\n", result);
-+ return -EIO;
-+ }
-+
-+ sysfs_notify(&asus->platform_device->dev.kobj, NULL, "ppt_platform_sppt");
-+
-+ return count;
-+}
-+static DEVICE_ATTR_WO(ppt_platform_sppt);
-+
-+/* Tunable: NVIDIA dynamic boost *********************************************/
-+static ssize_t nv_dynamic_boost_store(struct device *dev,
-+ struct device_attribute *attr,
-+ const char *buf, size_t count)
-+{
-+ int result, err;
-+ u32 value;
-+
-+ struct asus_wmi *asus = dev_get_drvdata(dev);
-+
-+ result = kstrtou32(buf, 10, &value);
-+ if (result)
-+ return result;
-+
-+ if (value < NVIDIA_BOOST_MIN || value > NVIDIA_BOOST_MAX)
-+ return -EINVAL;
-+
-+ err = asus_wmi_set_devstate(ASUS_WMI_DEVID_NV_DYN_BOOST, value, &result);
-+ if (err) {
-+ pr_warn("Failed to set nv_dynamic_boost: %d\n", err);
-+ return err;
-+ }
-+
-+ if (result > 1) {
-+ pr_warn("Failed to set nv_dynamic_boost (result): 0x%x\n", result);
-+ return -EIO;
-+ }
-+
-+ sysfs_notify(&asus->platform_device->dev.kobj, NULL, "nv_dynamic_boost");
-+
-+ return count;
-+}
-+static DEVICE_ATTR_WO(nv_dynamic_boost);
-+
-+/* Tunable: NVIDIA temperature target ****************************************/
-+static ssize_t nv_temp_target_store(struct device *dev,
-+ struct device_attribute *attr,
-+ const char *buf, size_t count)
-+{
-+ int result, err;
-+ u32 value;
-+
-+ struct asus_wmi *asus = dev_get_drvdata(dev);
-+
-+ result = kstrtou32(buf, 10, &value);
-+ if (result)
-+ return result;
-+
-+ if (value < NVIDIA_TEMP_MIN || value > NVIDIA_TEMP_MAX)
-+ return -EINVAL;
-+
-+ err = asus_wmi_set_devstate(ASUS_WMI_DEVID_NV_THERM_TARGET, value, &result);
-+ if (err) {
-+ pr_warn("Failed to set nv_temp_target: %d\n", err);
-+ return err;
-+ }
-+
-+ if (result > 1) {
-+ pr_warn("Failed to set nv_temp_target (result): 0x%x\n", result);
-+ return -EIO;
-+ }
-+
-+ sysfs_notify(&asus->platform_device->dev.kobj, NULL, "nv_temp_target");
-+
-+ return count;
-+}
-+static DEVICE_ATTR_WO(nv_temp_target);
-+
- /* Battery ********************************************************************/
-
- /* The battery maximum charging percentage */
-@@ -3785,6 +4042,13 @@ static struct attribute *platform_attributes[] = {
- &dev_attr_als_enable.attr,
- &dev_attr_fan_boost_mode.attr,
- &dev_attr_throttle_thermal_policy.attr,
-+ &dev_attr_ppt_pl2_sppt.attr,
-+ &dev_attr_ppt_pl1_spl.attr,
-+ &dev_attr_ppt_fppt.attr,
-+ &dev_attr_ppt_apu_sppt.attr,
-+ &dev_attr_ppt_platform_sppt.attr,
-+ &dev_attr_nv_dynamic_boost.attr,
-+ &dev_attr_nv_temp_target.attr,
- &dev_attr_panel_od.attr,
- &dev_attr_mini_led_mode.attr,
- NULL
-@@ -3822,6 +4086,20 @@ static umode_t asus_sysfs_is_visible(struct kobject *kobj,
- ok = asus->fan_boost_mode_available;
- else if (attr == &dev_attr_throttle_thermal_policy.attr)
- ok = asus->throttle_thermal_policy_available;
-+ else if (attr == &dev_attr_ppt_pl2_sppt.attr)
-+ ok = asus->ppt_pl2_sppt_available;
-+ else if (attr == &dev_attr_ppt_pl1_spl.attr)
-+ ok = asus->ppt_pl1_spl_available;
-+ else if (attr == &dev_attr_ppt_fppt.attr)
-+ ok = asus->ppt_fppt_available;
-+ else if (attr == &dev_attr_ppt_apu_sppt.attr)
-+ ok = asus->ppt_apu_sppt_available;
-+ else if (attr == &dev_attr_ppt_platform_sppt.attr)
-+ ok = asus->ppt_plat_sppt_available;
-+ else if (attr == &dev_attr_nv_dynamic_boost.attr)
-+ ok = asus->nv_dyn_boost_available;
-+ else if (attr == &dev_attr_nv_temp_target.attr)
-+ ok = asus->nv_temp_tgt_available;
- else if (attr == &dev_attr_panel_od.attr)
- ok = asus->panel_overdrive_available;
- else if (attr == &dev_attr_mini_led_mode.attr)
-@@ -4087,6 +4365,13 @@ static int asus_wmi_add(struct platform_device *pdev)
- asus->gpu_mux_mode_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_GPU_MUX);
- asus->kbd_rgb_mode_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_TUF_RGB_MODE);
- asus->kbd_rgb_state_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_TUF_RGB_STATE);
-+ asus->ppt_pl2_sppt_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_PPT_PL2_SPPT);
-+ asus->ppt_pl1_spl_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_PPT_PL1_SPL);
-+ asus->ppt_fppt_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_PPT_FPPT);
-+ asus->ppt_apu_sppt_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_PPT_APU_SPPT);
-+ asus->ppt_plat_sppt_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_PPT_PLAT_SPPT);
-+ asus->nv_dyn_boost_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_NV_DYN_BOOST);
-+ asus->nv_temp_tgt_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_NV_THERM_TARGET);
- asus->panel_overdrive_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_PANEL_OD);
- asus->mini_led_mode_available = asus_wmi_dev_is_present(asus, ASUS_WMI_DEVID_MINI_LED_MODE);
-
-diff --git a/include/linux/platform_data/x86/asus-wmi.h b/include/linux/platform_data/x86/asus-wmi.h
-index ea80361ac6c7..16e99a1c37fc 100644
---- a/include/linux/platform_data/x86/asus-wmi.h
-+++ b/include/linux/platform_data/x86/asus-wmi.h
-@@ -86,6 +86,15 @@
- #define ASUS_WMI_DEVID_GPU_FAN_CURVE 0x00110025
- #define ASUS_WMI_DEVID_MID_FAN_CURVE 0x00110032
-
-+/* Tunables for AUS ROG laptops */
-+#define ASUS_WMI_DEVID_PPT_PL2_SPPT 0x001200A0
-+#define ASUS_WMI_DEVID_PPT_PL1_SPL 0x001200A3
-+#define ASUS_WMI_DEVID_PPT_APU_SPPT 0x001200B0
-+#define ASUS_WMI_DEVID_PPT_PLAT_SPPT 0x001200B1
-+#define ASUS_WMI_DEVID_PPT_FPPT 0x001200C1
-+#define ASUS_WMI_DEVID_NV_DYN_BOOST 0x001200C0
-+#define ASUS_WMI_DEVID_NV_THERM_TARGET 0x001200C2
-+
- /* Power */
- #define ASUS_WMI_DEVID_PROCESSOR_STATE 0x00120012
-
---
-2.41.0
-
-From 73622204c837e2ab4729bc2af2c8bb6d58f4b3b0 Mon Sep 17 00:00:00 2001
-From: "Luke D. Jones" <luke@ljones.dev>
-Date: Sun, 23 Jul 2023 21:29:11 +1200
-Subject: [PATCH 09/13] Fixes: a23870110a38 ("asus-wmi: add support for showing
- middle fan RPM")
-
-After the addition of the mid fan custom curve functionality various
-incorrect behaviour was uncovered. This commit fixes these areas.
-
-- Ensure mid fan attributes actually use the correct fan ID
-- Correction to a bit mask for selecting the correct fan data
-- Refactor the curve show/store functions to be cleaner and and
- match each others layout
-
-Signed-off-by: Luke D. Jones <luke@ljones.dev>
----
- drivers/platform/x86/asus-wmi.c | 78 ++++++++++++++++-----------------
- 1 file changed, 38 insertions(+), 40 deletions(-)
-
-diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
-index c732610b3fef..496d03e88595 100644
---- a/drivers/platform/x86/asus-wmi.c
-+++ b/drivers/platform/x86/asus-wmi.c
-@@ -2910,9 +2910,8 @@ static int fan_curve_get_factory_default(struct asus_wmi *asus, u32 fan_dev)
- {
- struct fan_curve_data *curves;
- u8 buf[FAN_CURVE_BUF_LEN];
-- int fan_idx = 0;
-+ int err, fan_idx;
- u8 mode = 0;
-- int err;
-
- if (asus->throttle_thermal_policy_available)
- mode = asus->throttle_thermal_policy_mode;
-@@ -2922,13 +2921,6 @@ static int fan_curve_get_factory_default(struct asus_wmi *asus, u32 fan_dev)
- else if (mode == 1)
- mode = 2;
-
-- if (fan_dev == ASUS_WMI_DEVID_GPU_FAN_CURVE)
-- fan_idx = FAN_CURVE_DEV_GPU;
--
-- if (fan_dev == ASUS_WMI_DEVID_MID_FAN_CURVE)
-- fan_idx = FAN_CURVE_DEV_MID;
--
-- curves = &asus->custom_fan_curves[fan_idx];
- err = asus_wmi_evaluate_method_buf(asus->dsts_id, fan_dev, mode, buf,
- FAN_CURVE_BUF_LEN);
- if (err) {
-@@ -2936,9 +2928,17 @@ static int fan_curve_get_factory_default(struct asus_wmi *asus, u32 fan_dev)
- return err;
- }
-
-- fan_curve_copy_from_buf(curves, buf);
-+ fan_idx = FAN_CURVE_DEV_CPU;
-+ if (fan_dev == ASUS_WMI_DEVID_GPU_FAN_CURVE)
-+ fan_idx = FAN_CURVE_DEV_GPU;
-+
-+ if (fan_dev == ASUS_WMI_DEVID_MID_FAN_CURVE)
-+ fan_idx = FAN_CURVE_DEV_MID;
-+
-+ curves = &asus->custom_fan_curves[fan_idx];
- curves->device_id = fan_dev;
-
-+ fan_curve_copy_from_buf(curves, buf);
- return 0;
- }
-
-@@ -2968,7 +2968,7 @@ static struct fan_curve_data *fan_curve_attr_select(struct asus_wmi *asus,
- {
- int index = to_sensor_dev_attr(attr)->index;
-
-- return &asus->custom_fan_curves[index & FAN_CURVE_DEV_GPU];
-+ return &asus->custom_fan_curves[index];
- }
-
- /* Determine which fan the attribute is for if SENSOR_ATTR_2 */
-@@ -2977,7 +2977,7 @@ static struct fan_curve_data *fan_curve_attr_2_select(struct asus_wmi *asus,
- {
- int nr = to_sensor_dev_attr_2(attr)->nr;
-
-- return &asus->custom_fan_curves[nr & FAN_CURVE_DEV_GPU];
-+ return &asus->custom_fan_curves[nr & ~FAN_CURVE_PWM_MASK];
- }
-
- static ssize_t fan_curve_show(struct device *dev,
-@@ -2986,13 +2986,13 @@ static ssize_t fan_curve_show(struct device *dev,
- struct sensor_device_attribute_2 *dev_attr = to_sensor_dev_attr_2(attr);
- struct asus_wmi *asus = dev_get_drvdata(dev);
- struct fan_curve_data *data;
-- int value, index, nr;
-+ int value, pwm, index;
-
- data = fan_curve_attr_2_select(asus, attr);
-+ pwm = dev_attr->nr & FAN_CURVE_PWM_MASK;
- index = dev_attr->index;
-- nr = dev_attr->nr;
-
-- if (nr & FAN_CURVE_PWM_MASK)
-+ if (pwm)
- value = data->percents[index];
- else
- value = data->temps[index];
-@@ -3035,23 +3035,21 @@ static ssize_t fan_curve_store(struct device *dev,
- struct sensor_device_attribute_2 *dev_attr = to_sensor_dev_attr_2(attr);
- struct asus_wmi *asus = dev_get_drvdata(dev);
- struct fan_curve_data *data;
-+ int err, pwm, index;
- u8 value;
-- int err;
--
-- int pwm = dev_attr->nr & FAN_CURVE_PWM_MASK;
-- int index = dev_attr->index;
-
- data = fan_curve_attr_2_select(asus, attr);
-+ pwm = dev_attr->nr & FAN_CURVE_PWM_MASK;
-+ index = dev_attr->index;
-
- err = kstrtou8(buf, 10, &value);
- if (err < 0)
- return err;
-
-- if (pwm) {
-+ if (pwm)
- data->percents[index] = value;
-- } else {
-+ else
- data->temps[index] = value;
-- }
-
- /*
- * Mark as disabled so the user has to explicitly enable to apply a
-@@ -3164,7 +3162,7 @@ static SENSOR_DEVICE_ATTR_2_RW(pwm1_auto_point8_temp, fan_curve,
- FAN_CURVE_DEV_CPU, 7);
-
- static SENSOR_DEVICE_ATTR_2_RW(pwm1_auto_point1_pwm, fan_curve,
-- FAN_CURVE_DEV_CPU | FAN_CURVE_PWM_MASK, 0);
-+ FAN_CURVE_DEV_CPU | FAN_CURVE_PWM_MASK, 0);
- static SENSOR_DEVICE_ATTR_2_RW(pwm1_auto_point2_pwm, fan_curve,
- FAN_CURVE_DEV_CPU | FAN_CURVE_PWM_MASK, 1);
- static SENSOR_DEVICE_ATTR_2_RW(pwm1_auto_point3_pwm, fan_curve,
-@@ -3217,40 +3215,40 @@ static SENSOR_DEVICE_ATTR_2_RW(pwm2_auto_point8_pwm, fan_curve,
- FAN_CURVE_DEV_GPU | FAN_CURVE_PWM_MASK, 7);
-
- /* MID */
--static SENSOR_DEVICE_ATTR_RW(pwm3_enable, fan_curve_enable, FAN_CURVE_DEV_GPU);
-+static SENSOR_DEVICE_ATTR_RW(pwm3_enable, fan_curve_enable, FAN_CURVE_DEV_MID);
- static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point1_temp, fan_curve,
-- FAN_CURVE_DEV_GPU, 0);
-+ FAN_CURVE_DEV_MID, 0);
- static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point2_temp, fan_curve,
-- FAN_CURVE_DEV_GPU, 1);
-+ FAN_CURVE_DEV_MID, 1);
- static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point3_temp, fan_curve,
-- FAN_CURVE_DEV_GPU, 2);
-+ FAN_CURVE_DEV_MID, 2);
- static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point4_temp, fan_curve,
-- FAN_CURVE_DEV_GPU, 3);
-+ FAN_CURVE_DEV_MID, 3);
- static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point5_temp, fan_curve,
-- FAN_CURVE_DEV_GPU, 4);
-+ FAN_CURVE_DEV_MID, 4);
- static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point6_temp, fan_curve,
-- FAN_CURVE_DEV_GPU, 5);
-+ FAN_CURVE_DEV_MID, 5);
- static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point7_temp, fan_curve,
-- FAN_CURVE_DEV_GPU, 6);
-+ FAN_CURVE_DEV_MID, 6);
- static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point8_temp, fan_curve,
-- FAN_CURVE_DEV_GPU, 7);
-+ FAN_CURVE_DEV_MID, 7);
-
- static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point1_pwm, fan_curve,
-- FAN_CURVE_DEV_GPU | FAN_CURVE_PWM_MASK, 0);
-+ FAN_CURVE_DEV_MID | FAN_CURVE_PWM_MASK, 0);
- static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point2_pwm, fan_curve,
-- FAN_CURVE_DEV_GPU | FAN_CURVE_PWM_MASK, 1);
-+ FAN_CURVE_DEV_MID | FAN_CURVE_PWM_MASK, 1);
- static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point3_pwm, fan_curve,
-- FAN_CURVE_DEV_GPU | FAN_CURVE_PWM_MASK, 2);
-+ FAN_CURVE_DEV_MID | FAN_CURVE_PWM_MASK, 2);
- static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point4_pwm, fan_curve,
-- FAN_CURVE_DEV_GPU | FAN_CURVE_PWM_MASK, 3);
-+ FAN_CURVE_DEV_MID | FAN_CURVE_PWM_MASK, 3);
- static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point5_pwm, fan_curve,
-- FAN_CURVE_DEV_GPU | FAN_CURVE_PWM_MASK, 4);
-+ FAN_CURVE_DEV_MID | FAN_CURVE_PWM_MASK, 4);
- static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point6_pwm, fan_curve,
-- FAN_CURVE_DEV_GPU | FAN_CURVE_PWM_MASK, 5);
-+ FAN_CURVE_DEV_MID | FAN_CURVE_PWM_MASK, 5);
- static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point7_pwm, fan_curve,
-- FAN_CURVE_DEV_GPU | FAN_CURVE_PWM_MASK, 6);
-+ FAN_CURVE_DEV_MID | FAN_CURVE_PWM_MASK, 6);
- static SENSOR_DEVICE_ATTR_2_RW(pwm3_auto_point8_pwm, fan_curve,
-- FAN_CURVE_DEV_GPU | FAN_CURVE_PWM_MASK, 7);
-+ FAN_CURVE_DEV_MID | FAN_CURVE_PWM_MASK, 7);
-
- static struct attribute *asus_fan_curve_attr[] = {
- /* CPU */
---
-2.41.0
-
-From ebd35946f15047d89fd1bb68b0f75dc5c367af6e Mon Sep 17 00:00:00 2001
-From: Stefan Binding <sbinding@opensource.cirrus.com>
-Date: Tue, 15 Aug 2023 17:10:33 +0100
-Subject: [PATCH 10/13] ALSA: hda: cs35l41: Support systems with missing _DSD
- properties
-
-Some systems using CS35L41 with HDA were released without some
-required _DSD properties in ACPI. To support these special cases,
-add an api to configure the correct properties for systems with
-this issue.
-
-This initial commit moves the no _DSD support for Lenovo
-Legion Laptops (CLSA0100, CLSA0101) into a new framework which
-can be extended to support additional laptops in the future.
-
-Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
----
- sound/pci/hda/Makefile | 2 +-
- sound/pci/hda/cs35l41_hda.c | 65 ++++++-------------------
- sound/pci/hda/cs35l41_hda.h | 1 +
- sound/pci/hda/cs35l41_hda_property.c | 73 ++++++++++++++++++++++++++++
- sound/pci/hda/cs35l41_hda_property.h | 18 +++++++
- 5 files changed, 108 insertions(+), 51 deletions(-)
- create mode 100644 sound/pci/hda/cs35l41_hda_property.c
- create mode 100644 sound/pci/hda/cs35l41_hda_property.h
-
-diff --git a/sound/pci/hda/Makefile b/sound/pci/hda/Makefile
-index 00d306104484..3b259239c48a 100644
---- a/sound/pci/hda/Makefile
-+++ b/sound/pci/hda/Makefile
-@@ -28,7 +28,7 @@ snd-hda-codec-via-objs := patch_via.o
- snd-hda-codec-hdmi-objs := patch_hdmi.o hda_eld.o
-
- # side codecs
--snd-hda-scodec-cs35l41-objs := cs35l41_hda.o
-+snd-hda-scodec-cs35l41-objs := cs35l41_hda.o cs35l41_hda_property.o
- snd-hda-scodec-cs35l41-i2c-objs := cs35l41_hda_i2c.o
- snd-hda-scodec-cs35l41-spi-objs := cs35l41_hda_spi.o
- snd-hda-cs-dsp-ctls-objs := hda_cs_dsp_ctl.o
-diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c
-index ce5faa620517..692b69f24138 100644
---- a/sound/pci/hda/cs35l41_hda.c
-+++ b/sound/pci/hda/cs35l41_hda.c
-@@ -19,6 +19,7 @@
- #include "hda_component.h"
- #include "cs35l41_hda.h"
- #include "hda_cs_dsp_ctl.h"
-+#include "cs35l41_hda_property.h"
-
- #define CS35L41_FIRMWARE_ROOT "cirrus/"
- #define CS35L41_PART "cs35l41"
-@@ -1156,8 +1157,7 @@ static int cs35l41_hda_apply_properties(struct cs35l41_hda *cs35l41)
- return cs35l41_hda_channel_map(cs35l41->dev, 0, NULL, 1, &hw_cfg->spk_pos);
- }
-
--static int cs35l41_get_speaker_id(struct device *dev, int amp_index,
-- int num_amps, int fixed_gpio_id)
-+int cs35l41_get_speaker_id(struct device *dev, int amp_index, int num_amps, int fixed_gpio_id)
- {
- struct gpio_desc *speaker_id_desc;
- int speaker_id = -ENODEV;
-@@ -1211,49 +1211,6 @@ static int cs35l41_get_speaker_id(struct device *dev, int amp_index,
- return speaker_id;
- }
-
--/*
-- * Device CLSA010(0/1) doesn't have _DSD so a gpiod_get by the label reset won't work.
-- * And devices created by serial-multi-instantiate don't have their device struct
-- * pointing to the correct fwnode, so acpi_dev must be used here.
-- * And devm functions expect that the device requesting the resource has the correct
-- * fwnode.
-- */
--static int cs35l41_no_acpi_dsd(struct cs35l41_hda *cs35l41, struct device *physdev, int id,
-- const char *hid)
--{
-- struct cs35l41_hw_cfg *hw_cfg = &cs35l41->hw_cfg;
--
-- /* check I2C address to assign the index */
-- cs35l41->index = id == 0x40 ? 0 : 1;
-- cs35l41->channel_index = 0;
-- cs35l41->reset_gpio = gpiod_get_index(physdev, NULL, 0, GPIOD_OUT_HIGH);
-- cs35l41->speaker_id = cs35l41_get_speaker_id(physdev, 0, 0, 2);
-- hw_cfg->spk_pos = cs35l41->index;
-- hw_cfg->gpio2.func = CS35L41_INTERRUPT;
-- hw_cfg->gpio2.valid = true;
-- hw_cfg->valid = true;
--
-- if (strncmp(hid, "CLSA0100", 8) == 0) {
-- hw_cfg->bst_type = CS35L41_EXT_BOOST_NO_VSPK_SWITCH;
-- } else if (strncmp(hid, "CLSA0101", 8) == 0) {
-- hw_cfg->bst_type = CS35L41_EXT_BOOST;
-- hw_cfg->gpio1.func = CS35l41_VSPK_SWITCH;
-- hw_cfg->gpio1.valid = true;
-- } else {
-- /*
-- * Note: CLSA010(0/1) are special cases which use a slightly different design.
-- * All other HIDs e.g. CSC3551 require valid ACPI _DSD properties to be supported.
-- */
-- dev_err(cs35l41->dev, "Error: ACPI _DSD Properties are missing for HID %s.\n", hid);
-- hw_cfg->valid = false;
-- hw_cfg->gpio1.valid = false;
-- hw_cfg->gpio2.valid = false;
-- return -EINVAL;
-- }
--
-- return 0;
--}
--
- static int cs35l41_hda_read_acpi(struct cs35l41_hda *cs35l41, const char *hid, int id)
- {
- struct cs35l41_hw_cfg *hw_cfg = &cs35l41->hw_cfg;
-@@ -1279,12 +1236,17 @@ static int cs35l41_hda_read_acpi(struct cs35l41_hda *cs35l41, const char *hid, i
- sub = NULL;
- cs35l41->acpi_subsystem_id = sub;
-
-+ ret = cs35l41_add_dsd_properties(cs35l41, physdev, id, hid);
-+ if (!ret) {
-+ dev_info(cs35l41->dev, "Using extra _DSD properties, bypassing _DSD in ACPI\n");
-+ goto put_physdev;
-+ }
-+
- property = "cirrus,dev-index";
- ret = device_property_count_u32(physdev, property);
-- if (ret <= 0) {
-- ret = cs35l41_no_acpi_dsd(cs35l41, physdev, id, hid);
-- goto err_put_physdev;
-- }
-+ if (ret <= 0)
-+ goto err;
-+
- if (ret > ARRAY_SIZE(values)) {
- ret = -EINVAL;
- goto err;
-@@ -1374,7 +1336,10 @@ static int cs35l41_hda_read_acpi(struct cs35l41_hda *cs35l41, const char *hid, i
-
- err:
- dev_err(cs35l41->dev, "Failed property %s: %d\n", property, ret);
--err_put_physdev:
-+ hw_cfg->valid = false;
-+ hw_cfg->gpio1.valid = false;
-+ hw_cfg->gpio2.valid = false;
-+put_physdev:
- put_device(physdev);
-
- return ret;
-diff --git a/sound/pci/hda/cs35l41_hda.h b/sound/pci/hda/cs35l41_hda.h
-index bdb35f3be68a..b93bf762976e 100644
---- a/sound/pci/hda/cs35l41_hda.h
-+++ b/sound/pci/hda/cs35l41_hda.h
-@@ -83,5 +83,6 @@ extern const struct dev_pm_ops cs35l41_hda_pm_ops;
- int cs35l41_hda_probe(struct device *dev, const char *device_name, int id, int irq,
- struct regmap *regmap);
- void cs35l41_hda_remove(struct device *dev);
-+int cs35l41_get_speaker_id(struct device *dev, int amp_index, int num_amps, int fixed_gpio_id);
-
- #endif /*__CS35L41_HDA_H__*/
-diff --git a/sound/pci/hda/cs35l41_hda_property.c b/sound/pci/hda/cs35l41_hda_property.c
-new file mode 100644
-index 000000000000..673f23257a09
---- /dev/null
-+++ b/sound/pci/hda/cs35l41_hda_property.c
-@@ -0,0 +1,73 @@
-+// SPDX-License-Identifier: GPL-2.0
-+//
-+// CS35L41 ALSA HDA Property driver
-+//
-+// Copyright 2023 Cirrus Logic, Inc.
-+//
-+// Author: Stefan Binding <sbinding@opensource.cirrus.com>
-+
-+#include <linux/gpio/consumer.h>
-+#include <linux/string.h>
-+#include "cs35l41_hda_property.h"
-+
-+/*
-+ * Device CLSA010(0/1) doesn't have _DSD so a gpiod_get by the label reset won't work.
-+ * And devices created by serial-multi-instantiate don't have their device struct
-+ * pointing to the correct fwnode, so acpi_dev must be used here.
-+ * And devm functions expect that the device requesting the resource has the correct
-+ * fwnode.
-+ */
-+static int lenovo_legion_no_acpi(struct cs35l41_hda *cs35l41, struct device *physdev, int id,
-+ const char *hid)
-+{
-+ struct cs35l41_hw_cfg *hw_cfg = &cs35l41->hw_cfg;
-+
-+ /* check I2C address to assign the index */
-+ cs35l41->index = id == 0x40 ? 0 : 1;
-+ cs35l41->channel_index = 0;
-+ cs35l41->reset_gpio = gpiod_get_index(physdev, NULL, 0, GPIOD_OUT_HIGH);
-+ cs35l41->speaker_id = cs35l41_get_speaker_id(physdev, 0, 0, 2);
-+ hw_cfg->spk_pos = cs35l41->index;
-+ hw_cfg->gpio2.func = CS35L41_INTERRUPT;
-+ hw_cfg->gpio2.valid = true;
-+ hw_cfg->valid = true;
-+
-+ if (strcmp(hid, "CLSA0100") == 0) {
-+ hw_cfg->bst_type = CS35L41_EXT_BOOST_NO_VSPK_SWITCH;
-+ } else if (strcmp(hid, "CLSA0101") == 0) {
-+ hw_cfg->bst_type = CS35L41_EXT_BOOST;
-+ hw_cfg->gpio1.func = CS35l41_VSPK_SWITCH;
-+ hw_cfg->gpio1.valid = true;
-+ }
-+
-+ return 0;
-+}
-+
-+struct cs35l41_prop_model {
-+ const char *hid;
-+ const char *ssid;
-+ int (*add_prop)(struct cs35l41_hda *cs35l41, struct device *physdev, int id,
-+ const char *hid);
-+};
-+
-+const struct cs35l41_prop_model cs35l41_prop_model_table[] = {
-+ { "CLSA0100", NULL, lenovo_legion_no_acpi },
-+ { "CLSA0101", NULL, lenovo_legion_no_acpi },
-+ {}
-+};
-+
-+int cs35l41_add_dsd_properties(struct cs35l41_hda *cs35l41, struct device *physdev, int id,
-+ const char *hid)
-+{
-+ const struct cs35l41_prop_model *model;
-+
-+ for (model = cs35l41_prop_model_table; model->hid > 0; model++) {
-+ if (!strcmp(model->hid, hid) &&
-+ (!model->ssid ||
-+ (cs35l41->acpi_subsystem_id &&
-+ !strcmp(model->ssid, cs35l41->acpi_subsystem_id))))
-+ return model->add_prop(cs35l41, physdev, id, hid);
-+ }
-+
-+ return -ENOENT;
-+}
-diff --git a/sound/pci/hda/cs35l41_hda_property.h b/sound/pci/hda/cs35l41_hda_property.h
-new file mode 100644
-index 000000000000..fd834042e2fd
---- /dev/null
-+++ b/sound/pci/hda/cs35l41_hda_property.h
-@@ -0,0 +1,18 @@
-+/* SPDX-License-Identifier: GPL-2.0
-+ *
-+ * CS35L41 ALSA HDA Property driver
-+ *
-+ * Copyright 2023 Cirrus Logic, Inc.
-+ *
-+ * Author: Stefan Binding <sbinding@opensource.cirrus.com>
-+ */
-+
-+#ifndef CS35L41_HDA_PROP_H
-+#define CS35L41_HDA_PROP_H
-+
-+#include <linux/device.h>
-+#include "cs35l41_hda.h"
-+
-+int cs35l41_add_dsd_properties(struct cs35l41_hda *cs35l41, struct device *physdev, int id,
-+ const char *hid);
-+#endif /* CS35L41_HDA_PROP_H */
---
-2.41.0
-
-From d6f191b6827fae534a0635afb8d4380b59cb409c Mon Sep 17 00:00:00 2001
+From 76556b655f7b50afe5c58006f44221900e5711a9 Mon Sep 17 00:00:00 2001
From: "Luke D. Jones" <luke@ljones.dev>
Date: Wed, 23 Aug 2023 11:05:59 +1200
-Subject: [PATCH 11/13] ALSA: hda: cs35l41: Support ASUS 2023 laptops with
- missing DSD
+Subject: [PATCH v2] ALSA: hda: cs35l41: Support ASUS 2023 laptops with missing
+ DSD
Support adding the missing DSD properties required for ASUS ROG 2023
laptops and other ASUS laptops to properly utilise the cs35l41.
@@ -1811,32 +29,39 @@ Signed-off-by: Jonathan LoBue <jlobue10@gmail.com>
Co-developed-by: Luke D. Jones <luke@ljones.dev>
Signed-off-by: Luke D. Jones <luke@ljones.dev>
---
- sound/pci/hda/cs35l41_hda_property.c | 47 ++++++++++++++++++++++++++++
- 1 file changed, 47 insertions(+)
+ sound/pci/hda/cs35l41_hda_property.c | 57 ++++++++++++++++++++++++++++
+ 1 file changed, 57 insertions(+)
diff --git a/sound/pci/hda/cs35l41_hda_property.c b/sound/pci/hda/cs35l41_hda_property.c
-index 673f23257a09..b39f9443e1d6 100644
+index c83328971728..de0802859849 100644
--- a/sound/pci/hda/cs35l41_hda_property.c
+++ b/sound/pci/hda/cs35l41_hda_property.c
-@@ -43,6 +43,41 @@ static int lenovo_legion_no_acpi(struct cs35l41_hda *cs35l41, struct device *phy
- return 0;
- }
-
+@@ -76,6 +76,49 @@ static int hp_vision_acpi_fix(struct cs35l41_hda *cs35l41, struct device *physde
+ hw_cfg->bst_ind = 1000;
+ hw_cfg->bst_ipk = 4500;
+ hw_cfg->bst_cap = 24;
++
++ hw_cfg->valid = true;
++
++ return 0;
++}
++
+/*
-+ * The CSC3551 is used in almost the entire ASUS ROG laptop range in 2023, this is likely to
++ * The CSC3551 is used in almost the entire ROG laptop range in 2023, this is likely to
+ * also include many non ROG labelled laptops. It is also used with either I2C connection or
+ * SPI connection. The SPI connected versions may be missing a chip select GPIO and require
+ * an DSD table patch.
+ */
-+static int asus_rog_2023_spkr_id2(struct cs35l41_hda *cs35l41, struct device *physdev, int id,
++static int asus_rog_2023_no_acpi(struct cs35l41_hda *cs35l41, struct device *physdev, int id,
+ const char *hid)
+{
+ struct cs35l41_hw_cfg *hw_cfg = &cs35l41->hw_cfg;
++ int reset_gpio = 0;
++ int spkr_gpio = 2;
+
+ /* check SPI or I2C address to assign the index */
+ cs35l41->index = (id == 0 || id == 0x40) ? 0 : 1;
+ cs35l41->channel_index = 0;
-+ cs35l41->speaker_id = cs35l41_get_speaker_id(physdev, 0, 0, 2);
+ hw_cfg->spk_pos = cs35l41->index;
+ hw_cfg->bst_type = CS35L41_EXT_BOOST;
+ hw_cfg->gpio1.func = CS35l41_VSPK_SWITCH;
@@ -1844,125 +69,81 @@ index 673f23257a09..b39f9443e1d6 100644
+ hw_cfg->gpio2.func = CS35L41_INTERRUPT;
+ hw_cfg->gpio2.valid = true;
+
++ if (strcmp(cs35l41->acpi_subsystem_id, "10431483") == 0)
++ spkr_gpio = 1;
++ cs35l41->speaker_id = cs35l41_get_speaker_id(physdev, 0, 0, spkr_gpio);
++
+ if (strcmp(cs35l41->acpi_subsystem_id, "10431473") == 0
+ || strcmp(cs35l41->acpi_subsystem_id, "10431483") == 0
-+ || strcmp(cs35l41->acpi_subsystem_id, "10431493") == 0) {
-+ cs35l41->reset_gpio = gpiod_get_index(physdev, NULL, 1, GPIOD_OUT_HIGH);
-+ } else {
-+ cs35l41->reset_gpio = gpiod_get_index(physdev, NULL, 0, GPIOD_OUT_HIGH);
++ || strcmp(cs35l41->acpi_subsystem_id, "10431493") == 0
++ || strcmp(cs35l41->acpi_subsystem_id, "10431CAF") == 0
++ || strcmp(cs35l41->acpi_subsystem_id, "10431CCF") == 0
++ || strcmp(cs35l41->acpi_subsystem_id, "10431E02") == 0) {
++ reset_gpio = 1;
+ }
++ cs35l41->reset_gpio = gpiod_get_index(physdev, NULL, reset_gpio, GPIOD_OUT_HIGH);
+
-+ hw_cfg->valid = true;
-+
-+ return 0;
-+}
-+
- struct cs35l41_prop_model {
- const char *hid;
- const char *ssid;
-@@ -53,6 +88,18 @@ struct cs35l41_prop_model {
- const struct cs35l41_prop_model cs35l41_prop_model_table[] = {
+ hw_cfg->valid = true;
+
+ return 0;
+@@ -92,6 +135,20 @@ static const struct cs35l41_prop_model cs35l41_prop_model_table[] = {
{ "CLSA0100", NULL, lenovo_legion_no_acpi },
{ "CLSA0101", NULL, lenovo_legion_no_acpi },
-+ { "CSC3551", "10431433", asus_rog_2023_spkr_id2 }, // ASUS GS650P - i2c
-+ { "CSC3551", "10431463", asus_rog_2023_spkr_id2 }, // ASUS GA402X/N - i2c
-+ { "CSC3551", "10431473", asus_rog_2023_spkr_id2 }, // ASUS GU604V - spi, reset gpio 1
-+ { "CSC3551", "10431483", asus_rog_2023_spkr_id2 }, // ASUS GU603V - spi, reset gpio 1
-+ { "CSC3551", "10431493", asus_rog_2023_spkr_id2 }, // ASUS GV601V - spi, reset gpio 1
-+ { "CSC3551", "10431573", asus_rog_2023_spkr_id2 }, // ASUS GZ301V - spi, reset gpio 0
-+ { "CSC3551", "104317F3", asus_rog_2023_spkr_id2 }, // ASUS ROG ALLY - i2c
-+ { "CSC3551", "10431B93", asus_rog_2023_spkr_id2 }, // ASUS G614J - spi, reset gpio 0
-+ { "CSC3551", "10431CAF", asus_rog_2023_spkr_id2 }, // ASUS G634J - spi, reset gpio 0
-+ { "CSC3551", "10431C9F", asus_rog_2023_spkr_id2 }, // ASUS G614JI -spi, reset gpio 0
-+ { "CSC3551", "10431D1F", asus_rog_2023_spkr_id2 }, // ASUS G713P - i2c
-+ { "CSC3551", "10431F1F", asus_rog_2023_spkr_id2 }, // ASUS H7604JV - spi, reset gpio 0
+ { "CSC3551", "103C89C6", hp_vision_acpi_fix },
++ { "CSC3551", "10431433", asus_rog_2023_no_acpi }, // GS650P i2c
++ { "CSC3551", "10431463", asus_rog_2023_no_acpi }, // GA402X/N i2c, rst=0
++ { "CSC3551", "10431473", asus_rog_2023_no_acpi }, // GU604V spi, rst=1
++ { "CSC3551", "10431483", asus_rog_2023_no_acpi }, // GU603V spi, rst=1, spkr=1
++ { "CSC3551", "10431493", asus_rog_2023_no_acpi }, // GV601V spi, rst=1
++ { "CSC3551", "10431573", asus_rog_2023_no_acpi }, // GZ301V spi, rst=0
++ { "CSC3551", "104317F3", asus_rog_2023_no_acpi }, // ROG ALLY i2c, rst=0
++ { "CSC3551", "10431B93", asus_rog_2023_no_acpi }, // G614J spi, rst=0
++ { "CSC3551", "10431C9F", asus_rog_2023_no_acpi }, // G614JI spi, rst=0
++ { "CSC3551", "10431CAF", asus_rog_2023_no_acpi }, // G634J spi, rst=1
++ { "CSC3551", "10431CCF", asus_rog_2023_no_acpi }, // G814J spi, rst=1
++ { "CSC3551", "10431D1F", asus_rog_2023_no_acpi }, // G713P i2c, rst=0
++ { "CSC3551", "10431E02", asus_rog_2023_no_acpi }, // UX3042Z spi, rst=1
++ { "CSC3551", "10431F1F", asus_rog_2023_no_acpi }, // H7604JV spi, rst=0
{}
};
--
2.41.0
-From f2e032c25d0fac01e8272176c71d5080e0123081 Mon Sep 17 00:00:00 2001
-From: "Luke D. Jones" <luke@ljones.dev>
-Date: Mon, 28 Aug 2023 11:05:16 +1200
-Subject: [PATCH 12/13] platform/x86: asus-wmi: corrections to egpu safety
- check
-
-An incorrect if statement was preventing the enablement of the egpu.
-
-Fixes: 1bddf53ccac0 ("platform/x86: asus-wmi: don't allow eGPU switching if eGPU not connected")
-Signed-off-by: Luke D. Jones <luke@ljones.dev>
----
- drivers/platform/x86/asus-wmi.c | 15 +++++++--------
- 1 file changed, 7 insertions(+), 8 deletions(-)
-
-diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
-index 496d03e88595..13547e55ae82 100644
---- a/drivers/platform/x86/asus-wmi.c
-+++ b/drivers/platform/x86/asus-wmi.c
-@@ -726,19 +726,18 @@ static ssize_t egpu_enable_store(struct device *dev,
- return -EINVAL;
-
- result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_EGPU_CONNECTED);
-- if (err < 0)
-- return err;
-- if (err < 1) {
-- err = -ENODEV;
-- pr_warn("Failed to set egpu disable: %d\n", err);
-+ if (err < 0) {
-+ pr_warn("Failed to get egpu connection status: %d\n", err);
- return err;
- }
-
- if (asus->gpu_mux_mode_available) {
- result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_GPU_MUX);
-- if (result < 0)
-+ if (result < 0) {
- /* An error here may signal greater failure of GPU handling */
-+ pr_warn("Failed to get gpu mux status: %d\n", err);
- return result;
-+ }
- if (!result && enable) {
- err = -ENODEV;
- pr_warn("Can not enable eGPU when the MUX is in dGPU mode: %d\n", err);
-@@ -748,12 +747,12 @@ static ssize_t egpu_enable_store(struct device *dev,
-
- err = asus_wmi_set_devstate(ASUS_WMI_DEVID_EGPU, enable, &result);
- if (err) {
-- pr_warn("Failed to set egpu disable: %d\n", err);
-+ pr_warn("Failed to set egpu state: %d\n", err);
- return err;
- }
-
- if (result > 1) {
-- pr_warn("Failed to set egpu disable (retval): 0x%x\n", result);
-+ pr_warn("Failed to set egpu state (retval): 0x%x\n", result);
- return -EIO;
- }
-
---
-2.41.0
-
-From cc5628b9a4c5fea304346202f753b48bc8f6c622 Mon Sep 17 00:00:00 2001
+From b35a4c957b3f0e5b4c7c73dec4fe3a5b9dbc4873 Mon Sep 17 00:00:00 2001
From: "Luke D. Jones" <luke@ljones.dev>
Date: Sun, 30 Apr 2023 10:56:34 +1200
-Subject: [PATCH 13/13] platform/x86: asus-wmi: add support for ASUS screenpad
+Subject: [PATCH v6 1/1] platform/x86: asus-wmi: add support for ASUS screenpad
Add support for the WMI methods used to turn off and adjust the
brightness of the secondary "screenpad" device found on some high-end
ASUS laptops like the GX650P series and others.
-These methods are utilised in a new backlight device named asus_screenpad.
+There are some small quirks with this device when considering only the
+raw WMI methods:
+1. The Off method can only switch the device off
+2. Changing the brightness turns the device back on
+3. To turn the device back on the brightness must be > 1
+4. When the device is off the brightness can't be changed (so it is
+ stored by the driver if device is off).
+5. Booting with a value of 0 brightness (retained by bios) means the bios
+ will set a value of >0 <15
+6. When the device is off it is "unplugged"
+
+asus_wmi sets the minimum brightness as 20 in general use, and 60 for
+booting with values <= min.
+
+The ACPI methods are used in a new backlight device named asus_screenpad.
Signed-off-by: Luke D. Jones <luke@ljones.dev>
---
- drivers/platform/x86/asus-wmi.c | 131 +++++++++++++++++++++
+ drivers/platform/x86/asus-wmi.c | 133 +++++++++++++++++++++
drivers/platform/x86/asus-wmi.h | 1 +
include/linux/platform_data/x86/asus-wmi.h | 4 +
- 3 files changed, 136 insertions(+)
+ 3 files changed, 138 insertions(+)
diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
-index 13547e55ae82..2801c691133a 100644
+index f54178d6f780..0b13be703856 100644
--- a/drivers/platform/x86/asus-wmi.c
+++ b/drivers/platform/x86/asus-wmi.c
@@ -25,6 +25,7 @@
@@ -1973,17 +154,18 @@ index 13547e55ae82..2801c691133a 100644
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/pci_hotplug.h>
-@@ -127,6 +128,9 @@ module_param(fnlock_default, bool, 0444);
+@@ -127,6 +128,10 @@ module_param(fnlock_default, bool, 0444);
#define NVIDIA_TEMP_MIN 75
#define NVIDIA_TEMP_MAX 87
+#define ASUS_SCREENPAD_BRIGHT_MIN 20
+#define ASUS_SCREENPAD_BRIGHT_MAX 255
++#define ASUS_SCREENPAD_BRIGHT_DEFAULT 60
+
static const char * const ashs_ids[] = { "ATK4001", "ATK4002", NULL };
static int throttle_thermal_policy_write(struct asus_wmi *);
-@@ -212,6 +216,7 @@ struct asus_wmi {
+@@ -212,6 +217,7 @@ struct asus_wmi {
struct input_dev *inputdev;
struct backlight_device *backlight_device;
@@ -1991,7 +173,7 @@ index 13547e55ae82..2801c691133a 100644
struct platform_device *platform_device;
struct led_classdev wlan_led;
-@@ -3776,6 +3781,123 @@ static int is_display_toggle(int code)
+@@ -3776,6 +3782,124 @@ static int is_display_toggle(int code)
return 0;
}
@@ -2019,7 +201,7 @@ index 13547e55ae82..2801c691133a 100644
+ return err;
+ /* The device brightness can only be read if powered, so return stored */
+ if (err == FB_BLANK_POWERDOWN)
-+ return asus->driver->screenpad_brightness;
++ return asus->driver->screenpad_brightness - ASUS_SCREENPAD_BRIGHT_MIN;
+
+ err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_SCREENPAD_LIGHT, &retval);
+ if (err < 0)
@@ -2041,7 +223,7 @@ index 13547e55ae82..2801c691133a 100644
+ if (bd->props.power != power) {
+ if (power != FB_BLANK_UNBLANK) {
+ /* Only brightness > 0 can power it back on */
-+ ctrl_param = max(ASUS_SCREENPAD_BRIGHT_MIN, asus->driver->screenpad_brightness);
++ ctrl_param = asus->driver->screenpad_brightness - ASUS_SCREENPAD_BRIGHT_MIN;
+ err = asus_wmi_set_devstate(ASUS_WMI_DEVID_SCREENPAD_LIGHT,
+ ctrl_param, NULL);
+ } else {
@@ -2054,7 +236,8 @@ index 13547e55ae82..2801c691133a 100644
+ }
+
+ /* Ensure brightness is stored to turn back on with */
-+ asus->driver->screenpad_brightness = bd->props.brightness + ASUS_SCREENPAD_BRIGHT_MIN;
++ if (err == 0)
++ asus->driver->screenpad_brightness = bd->props.brightness + ASUS_SCREENPAD_BRIGHT_MIN;
+
+ return err;
+}
@@ -2083,7 +266,7 @@ index 13547e55ae82..2801c691133a 100644
+ }
+ /* default to an acceptable min brightness on boot if too low */
+ if (brightness < ASUS_SCREENPAD_BRIGHT_MIN)
-+ brightness = ASUS_SCREENPAD_BRIGHT_MIN;
++ brightness = ASUS_SCREENPAD_BRIGHT_DEFAULT;
+
+ memset(&props, 0, sizeof(struct backlight_properties));
+ props.type = BACKLIGHT_RAW; /* ensure this bd is last to be picked */
@@ -2115,7 +298,7 @@ index 13547e55ae82..2801c691133a 100644
/* Fn-lock ********************************************************************/
static bool asus_wmi_has_fnlock_key(struct asus_wmi *asus)
-@@ -4431,6 +4553,12 @@ static int asus_wmi_add(struct platform_device *pdev)
+@@ -4431,6 +4555,12 @@ static int asus_wmi_add(struct platform_device *pdev)
} else if (asus->driver->quirks->wmi_backlight_set_devstate)
err = asus_wmi_set_devstate(ASUS_WMI_DEVID_BACKLIGHT, 2, NULL);
@@ -2128,7 +311,7 @@ index 13547e55ae82..2801c691133a 100644
if (asus_wmi_has_fnlock_key(asus)) {
asus->fnlock_locked = fnlock_default;
asus_wmi_fnlock_update(asus);
-@@ -4454,6 +4582,8 @@ static int asus_wmi_add(struct platform_device *pdev)
+@@ -4454,6 +4584,8 @@ static int asus_wmi_add(struct platform_device *pdev)
asus_wmi_backlight_exit(asus);
fail_backlight:
asus_wmi_rfkill_exit(asus);
@@ -2137,7 +320,7 @@ index 13547e55ae82..2801c691133a 100644
fail_rfkill:
asus_wmi_led_exit(asus);
fail_leds:
-@@ -4480,6 +4610,7 @@ static int asus_wmi_remove(struct platform_device *device)
+@@ -4480,6 +4612,7 @@ static int asus_wmi_remove(struct platform_device *device)
asus = platform_get_drvdata(device);
wmi_remove_notify_handler(asus->driver->event_guid);
asus_wmi_backlight_exit(asus);
@@ -2175,3 +358,34 @@ index 16e99a1c37fc..63e630276499 100644
--
2.41.0
+From 7760e10674dbb9127450629308c6ee1c35d5fc19 Mon Sep 17 00:00:00 2001
+From: "Luke D. Jones" <luke@ljones.dev>
+Date: Thu, 9 Nov 2023 09:41:13 +1300
+Subject: [PATCH] ALSA: hda/realtek: Add quirk for ASUS ROG G814Jx
+
+Adds the required quirk to enable the Cirrus amp and correct pins
+on the ASUS ROG G814J series which uses an SPI connected Cirrus amp.
+
+While this works if the related _DSD properties are made available, these
+aren't included in the ACPI of these laptops (yet).
+
+Signed-off-by: Luke D. Jones <luke@ljones.dev>
+---
+ sound/pci/hda/patch_realtek.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
+index 58006c8bcfb9..a690baa202c5 100644
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -9924,6 +9924,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
+ SND_PCI_QUIRK(0x1043, 0x1c9f, "ASUS G614JI", ALC285_FIXUP_ASUS_HEADSET_MIC),
+ SND_PCI_QUIRK(0x1043, 0x1caf, "ASUS G634JYR/JZR", ALC285_FIXUP_ASUS_SPI_REAR_SPEAKERS),
+ SND_PCI_QUIRK(0x1043, 0x1ccd, "ASUS X555UB", ALC256_FIXUP_ASUS_MIC),
++ SND_PCI_QUIRK(0x1043, 0x1ccf, "ASUS G814JI", ALC285_FIXUP_ASUS_SPI_REAR_SPEAKERS),
+ SND_PCI_QUIRK(0x1043, 0x1d1f, "ASUS ROG Strix G17 2023 (G713PV)", ALC287_FIXUP_CS35L41_I2C_2),
+ SND_PCI_QUIRK(0x1043, 0x1d42, "ASUS Zephyrus G14 2022", ALC289_FIXUP_ASUS_GA401),
+ SND_PCI_QUIRK(0x1043, 0x1d4e, "ASUS TM420", ALC256_FIXUP_ASUS_HPE),
+--
+2.41.0
+
diff --git a/SOURCES/check-kabi b/SOURCES/check-kabi
index f9d4dcb..3809209 100755
--- a/SOURCES/check-kabi
+++ b/SOURCES/check-kabi
@@ -41,7 +41,8 @@ def load_symvers(symvers, filename):
break
if in_line == "\n":
continue
- checksum, symbol, directory, type = in_line.split()
+ checksum, symbol, directory, type, *ns = in_line.split()
+ ns = ns[0] if ns else None
symvers[symbol] = in_line[0:-1]
@@ -57,7 +58,8 @@ def load_kabi(kabi, filename):
break
if in_line == "\n":
continue
- checksum, symbol, directory, type = in_line.split()
+ checksum, symbol, directory, type, *ns = in_line.split()
+ ns = ns[0] if ns else None
kabi[symbol] = in_line[0:-1]
@@ -69,11 +71,14 @@ def check_kabi(symvers, kabi):
warn = 0
changed_symbols = []
moved_symbols = []
+ ns_symbols = []
for symbol in kabi:
- abi_hash, abi_sym, abi_dir, abi_type = kabi[symbol].split()
+ abi_hash, abi_sym, abi_dir, abi_type, *abi_ns = kabi[symbol].split()
+ abi_ns = abi_ns[0] if abi_ns else None
if symbol in symvers:
- sym_hash, sym_sym, sym_dir, sym_type = symvers[symbol].split()
+ sym_hash, sym_sym, sym_dir, sym_type, *sym_ns = symvers[symbol].split()
+ sym_ns = sym_ns[0] if sym_ns else None
if abi_hash != sym_hash:
fail = 1
changed_symbols.append(symbol)
@@ -81,6 +86,10 @@ def check_kabi(symvers, kabi):
if abi_dir != sym_dir:
warn = 1
moved_symbols.append(symbol)
+
+ if abi_ns != sym_ns:
+ warn = 1
+ ns_symbols.append(symbol)
else:
fail = 1
changed_symbols.append(symbol)
@@ -96,13 +105,21 @@ def check_kabi(symvers, kabi):
if warn:
print("*** WARNING - ABI SYMBOLS MOVED ***")
- print("")
- print("The following symbols moved (typically caused by moving a symbol from being")
- print("provided by the kernel vmlinux out to a loadable module):")
- print("")
- for symbol in moved_symbols:
- print(symbol)
- print("")
+ if moved_symbols:
+ print("")
+ print("The following symbols moved (typically caused by moving a symbol from being")
+ print("provided by the kernel vmlinux out to a loadable module):")
+ print("")
+ for symbol in moved_symbols:
+ print(symbol)
+ print("")
+ if ns_symbols:
+ print("")
+ print("The following symbols changed symbol namespaces:")
+ print("")
+ for symbol in ns_symbols:
+ print(symbol)
+ print("")
"""Halt the build, if we got errors and/or warnings. In either case,
double-checkig is required to avoid introducing / concealing
diff --git a/SOURCES/chimera-ALSA.patch b/SOURCES/chimera-ALSA.patch
deleted file mode 100644
index c7bd726..0000000
--- a/SOURCES/chimera-ALSA.patch
+++ /dev/null
@@ -1,1170 +0,0 @@
-From c21139c6470a5b08c7463e451f2ff404e55f652f Mon Sep 17 00:00:00 2001
-From: Stefan Binding <sbinding@opensource.cirrus.com>
-Date: Fri, 21 Jul 2023 16:18:06 +0100
-Subject: [PATCH 01/11] ALSA: cs35l41: Use mbox command to enable speaker
- output for external boost
-
-To enable the speaker output in external boost mode, 2 registers must
-be set, one after another. The longer the time between the writes of
-the two registers, the more likely, and more loudly a pop may occur.
-To minimize this, an mbox command can be used to allow the firmware
-to perform this action, minimizing any delay between write, thus
-minimizing any pop or click as a result. The old method will remain
-when running without firmware.
-
-Acked-by: Mark Brown <broonie@kernel.org>
-Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
----
- include/sound/cs35l41.h | 5 ++-
- sound/pci/hda/cs35l41_hda.c | 9 ++--
- sound/soc/codecs/cs35l41-lib.c | 76 +++++++++++++++++++++++++++-------
- sound/soc/codecs/cs35l41.c | 8 ++--
- 4 files changed, 74 insertions(+), 24 deletions(-)
-
-diff --git a/include/sound/cs35l41.h b/include/sound/cs35l41.h
-index 7239d943942c..1bf757901d02 100644
---- a/include/sound/cs35l41.h
-+++ b/include/sound/cs35l41.h
-@@ -829,6 +829,7 @@ enum cs35l41_cspl_mbox_cmd {
- CSPL_MBOX_CMD_STOP_PRE_REINIT = 4,
- CSPL_MBOX_CMD_HIBERNATE = 5,
- CSPL_MBOX_CMD_OUT_OF_HIBERNATE = 6,
-+ CSPL_MBOX_CMD_SPK_OUT_ENABLE = 7,
- CSPL_MBOX_CMD_UNKNOWN_CMD = -1,
- CSPL_MBOX_CMD_INVALID_SEQUENCE = -2,
- };
-@@ -901,7 +902,7 @@ int cs35l41_exit_hibernate(struct device *dev, struct regmap *regmap);
- int cs35l41_init_boost(struct device *dev, struct regmap *regmap,
- struct cs35l41_hw_cfg *hw_cfg);
- bool cs35l41_safe_reset(struct regmap *regmap, enum cs35l41_boost_type b_type);
--int cs35l41_global_enable(struct regmap *regmap, enum cs35l41_boost_type b_type, int enable,
-- struct completion *pll_lock);
-+int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l41_boost_type b_type,
-+ int enable, struct completion *pll_lock, bool firmware_running);
-
- #endif /* __CS35L41_H */
-diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c
-index ce5faa620517..f9c97270db6f 100644
---- a/sound/pci/hda/cs35l41_hda.c
-+++ b/sound/pci/hda/cs35l41_hda.c
-@@ -514,13 +514,15 @@ static void cs35l41_hda_playback_hook(struct device *dev, int action)
- break;
- case HDA_GEN_PCM_ACT_PREPARE:
- mutex_lock(&cs35l41->fw_mutex);
-- ret = cs35l41_global_enable(reg, cs35l41->hw_cfg.bst_type, 1, NULL);
-+ ret = cs35l41_global_enable(dev, reg, cs35l41->hw_cfg.bst_type, 1, NULL,
-+ cs35l41->firmware_running);
- mutex_unlock(&cs35l41->fw_mutex);
- break;
- case HDA_GEN_PCM_ACT_CLEANUP:
- mutex_lock(&cs35l41->fw_mutex);
- regmap_multi_reg_write(reg, cs35l41_hda_mute, ARRAY_SIZE(cs35l41_hda_mute));
-- ret = cs35l41_global_enable(reg, cs35l41->hw_cfg.bst_type, 0, NULL);
-+ ret = cs35l41_global_enable(dev, reg, cs35l41->hw_cfg.bst_type, 0, NULL,
-+ cs35l41->firmware_running);
- mutex_unlock(&cs35l41->fw_mutex);
- break;
- case HDA_GEN_PCM_ACT_CLOSE:
-@@ -672,7 +674,8 @@ static int cs35l41_runtime_suspend(struct device *dev)
- if (cs35l41->playback_started) {
- regmap_multi_reg_write(cs35l41->regmap, cs35l41_hda_mute,
- ARRAY_SIZE(cs35l41_hda_mute));
-- cs35l41_global_enable(cs35l41->regmap, cs35l41->hw_cfg.bst_type, 0, NULL);
-+ cs35l41_global_enable(cs35l41->dev, cs35l41->regmap, cs35l41->hw_cfg.bst_type, 0,
-+ NULL, cs35l41->firmware_running);
- regmap_update_bits(cs35l41->regmap, CS35L41_PWR_CTRL2,
- CS35L41_AMP_EN_MASK, 0 << CS35L41_AMP_EN_SHIFT);
- if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST)
-diff --git a/sound/soc/codecs/cs35l41-lib.c b/sound/soc/codecs/cs35l41-lib.c
-index 1e4205295a0d..a7556fa33cdd 100644
---- a/sound/soc/codecs/cs35l41-lib.c
-+++ b/sound/soc/codecs/cs35l41-lib.c
-@@ -1080,28 +1080,32 @@ static const struct reg_sequence cs35l41_safe_to_reset[] = {
- { 0x00000040, 0x00000033 },
- };
-
--static const struct reg_sequence cs35l41_active_to_safe[] = {
-+static const struct reg_sequence cs35l41_active_to_safe_start[] = {
- { 0x00000040, 0x00000055 },
- { 0x00000040, 0x000000AA },
- { 0x00007438, 0x00585941 },
- { CS35L41_PWR_CTRL1, 0x00000000 },
-- { 0x0000742C, 0x00000009, 3000 },
-+ { 0x0000742C, 0x00000009 },
-+};
-+
-+static const struct reg_sequence cs35l41_active_to_safe_end[] = {
- { 0x00007438, 0x00580941 },
- { 0x00000040, 0x000000CC },
- { 0x00000040, 0x00000033 },
- };
-
--static const struct reg_sequence cs35l41_safe_to_active[] = {
-+static const struct reg_sequence cs35l41_safe_to_active_start[] = {
- { 0x00000040, 0x00000055 },
- { 0x00000040, 0x000000AA },
- { 0x0000742C, 0x0000000F },
- { 0x0000742C, 0x00000079 },
- { 0x00007438, 0x00585941 },
-- { CS35L41_PWR_CTRL1, 0x00000001, 3000 }, // GLOBAL_EN = 1
-+ { CS35L41_PWR_CTRL1, 0x00000001 }, // GLOBAL_EN = 1
-+};
-+
-+static const struct reg_sequence cs35l41_safe_to_active_en_spk[] = {
- { 0x0000742C, 0x000000F9 },
- { 0x00007438, 0x00580941 },
-- { 0x00000040, 0x000000CC },
-- { 0x00000040, 0x00000033 },
- };
-
- static const struct reg_sequence cs35l41_reset_to_safe[] = {
-@@ -1188,11 +1192,11 @@ bool cs35l41_safe_reset(struct regmap *regmap, enum cs35l41_boost_type b_type)
- }
- EXPORT_SYMBOL_GPL(cs35l41_safe_reset);
-
--int cs35l41_global_enable(struct regmap *regmap, enum cs35l41_boost_type b_type, int enable,
-- struct completion *pll_lock)
-+int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l41_boost_type b_type,
-+ int enable, struct completion *pll_lock, bool firmware_running)
- {
- int ret;
-- unsigned int gpio1_func, pad_control, pwr_ctrl1, pwr_ctrl3;
-+ unsigned int gpio1_func, pad_control, pwr_ctrl1, pwr_ctrl3, int_status;
- struct reg_sequence cs35l41_mdsync_down_seq[] = {
- {CS35L41_PWR_CTRL3, 0},
- {CS35L41_GPIO_PAD_CONTROL, 0},
-@@ -1204,6 +1208,14 @@ int cs35l41_global_enable(struct regmap *regmap, enum cs35l41_boost_type b_type,
- {CS35L41_PWR_CTRL1, 0x00000001, 3000},
- };
-
-+ if ((pwr_ctl1_val & CS35L41_GLOBAL_EN_MASK) && enable) {
-+ dev_dbg(dev, "Cannot set Global Enable - already set.\n");
-+ return 0;
-+ } else if (!(pwr_ctl1_val & CS35L41_GLOBAL_EN_MASK) && !enable) {
-+ dev_dbg(dev, "Cannot unset Global Enable - not set.\n");
-+ return 0;
-+ }
-+
- switch (b_type) {
- case CS35L41_SHD_BOOST_ACTV:
- case CS35L41_SHD_BOOST_PASS:
-@@ -1244,16 +1256,48 @@ int cs35l41_global_enable(struct regmap *regmap, enum cs35l41_boost_type b_type,
- case CS35L41_INT_BOOST:
- ret = regmap_update_bits(regmap, CS35L41_PWR_CTRL1, CS35L41_GLOBAL_EN_MASK,
- enable << CS35L41_GLOBAL_EN_SHIFT);
-+ if (ret) {
-+ dev_err(dev, "CS35L41_PWR_CTRL1 set failed: %d\n", ret);
-+ return ret;
-+ }
- usleep_range(3000, 3100);
- break;
- case CS35L41_EXT_BOOST:
- case CS35L41_EXT_BOOST_NO_VSPK_SWITCH:
-- if (enable)
-- ret = regmap_multi_reg_write(regmap, cs35l41_safe_to_active,
-- ARRAY_SIZE(cs35l41_safe_to_active));
-- else
-- ret = regmap_multi_reg_write(regmap, cs35l41_active_to_safe,
-- ARRAY_SIZE(cs35l41_active_to_safe));
-+ if (enable) {
-+ /* Test Key is unlocked here */
-+ ret = regmap_multi_reg_write(regmap, cs35l41_safe_to_active_start,
-+ ARRAY_SIZE(cs35l41_safe_to_active_start));
-+ if (ret)
-+ return ret;
-+
-+ usleep_range(3000, 3100);
-+
-+ if (firmware_running)
-+ ret = cs35l41_set_cspl_mbox_cmd(dev, regmap,
-+ CSPL_MBOX_CMD_SPK_OUT_ENABLE);
-+ else
-+ ret = regmap_multi_reg_write(regmap, cs35l41_safe_to_active_en_spk,
-+ ARRAY_SIZE(cs35l41_safe_to_active_en_spk));
-+
-+ /* Lock the test key, it was unlocked during the multi_reg_write */
-+ cs35l41_test_key_lock(dev, regmap);
-+ } else {
-+ /* Test Key is unlocked here */
-+ ret = regmap_multi_reg_write(regmap, cs35l41_active_to_safe_start,
-+ ARRAY_SIZE(cs35l41_active_to_safe_start));
-+ if (ret) {
-+ /* Lock the test key, it was unlocked during the multi_reg_write */
-+ cs35l41_test_key_lock(dev, regmap);
-+ return ret;
-+ }
-+
-+ usleep_range(3000, 3100);
-+
-+ /* Test Key is locked here */
-+ ret = regmap_multi_reg_write(regmap, cs35l41_active_to_safe_end,
-+ ARRAY_SIZE(cs35l41_active_to_safe_end));
-+ }
- break;
- default:
- ret = -EINVAL;
-@@ -1344,6 +1388,8 @@ static bool cs35l41_check_cspl_mbox_sts(enum cs35l41_cspl_mbox_cmd cmd,
- return (sts == CSPL_MBOX_STS_RUNNING);
- case CSPL_MBOX_CMD_STOP_PRE_REINIT:
- return (sts == CSPL_MBOX_STS_RDY_FOR_REINIT);
-+ case CSPL_MBOX_CMD_SPK_OUT_ENABLE:
-+ return (sts == CSPL_MBOX_STS_RUNNING);
- default:
- return false;
- }
-diff --git a/sound/soc/codecs/cs35l41.c b/sound/soc/codecs/cs35l41.c
-index 6ac501f008ec..d4e9c9d9b50a 100644
---- a/sound/soc/codecs/cs35l41.c
-+++ b/sound/soc/codecs/cs35l41.c
-@@ -500,12 +500,12 @@ static int cs35l41_main_amp_event(struct snd_soc_dapm_widget *w,
- cs35l41_pup_patch,
- ARRAY_SIZE(cs35l41_pup_patch));
-
-- cs35l41_global_enable(cs35l41->regmap, cs35l41->hw_cfg.bst_type, 1,
-- &cs35l41->pll_lock);
-+ ret = cs35l41_global_enable(cs35l41->dev, cs35l41->regmap, cs35l41->hw_cfg.bst_type,
-+ 1, &cs35l41->pll_lock, cs35l41->dsp.cs_dsp.running);
- break;
- case SND_SOC_DAPM_POST_PMD:
-- cs35l41_global_enable(cs35l41->regmap, cs35l41->hw_cfg.bst_type, 0,
-- &cs35l41->pll_lock);
-+ ret = cs35l41_global_enable(cs35l41->dev, cs35l41->regmap, cs35l41->hw_cfg.bst_type,
-+ 0, &cs35l41->pll_lock, cs35l41->dsp.cs_dsp.running);
-
- ret = regmap_read_poll_timeout(cs35l41->regmap, CS35L41_IRQ1_STATUS1,
- val, val & CS35L41_PDN_DONE_MASK,
---
-2.41.0
-
-From 437f5415c5ac8e49b0675f74132b6e1308b6e5c7 Mon Sep 17 00:00:00 2001
-From: Stefan Binding <sbinding@opensource.cirrus.com>
-Date: Fri, 21 Jul 2023 16:18:07 +0100
-Subject: [PATCH 02/11] ALSA: cs35l41: Poll for Power Up/Down rather than
- waiting a fixed delay
-
-To ensure the chip has correctly powered up or down before continuing,
-the driver will now poll a register, rather than wait a fixed delay.
-
-Acked-by: Mark Brown <broonie@kernel.org>
-Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
----
- sound/soc/codecs/cs35l41-lib.c | 48 +++++++++++++++++++++++++++++++---
- sound/soc/codecs/cs35l41.c | 10 -------
- 2 files changed, 44 insertions(+), 14 deletions(-)
-
-diff --git a/sound/soc/codecs/cs35l41-lib.c b/sound/soc/codecs/cs35l41-lib.c
-index a7556fa33cdd..a9c559a676e7 100644
---- a/sound/soc/codecs/cs35l41-lib.c
-+++ b/sound/soc/codecs/cs35l41-lib.c
-@@ -1196,7 +1196,8 @@ int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l4
- int enable, struct completion *pll_lock, bool firmware_running)
- {
- int ret;
-- unsigned int gpio1_func, pad_control, pwr_ctrl1, pwr_ctrl3, int_status;
-+ unsigned int gpio1_func, pad_control, pwr_ctrl1, pwr_ctrl3, int_status, pup_pdn_mask;
-+ unsigned int pwr_ctl1_val;
- struct reg_sequence cs35l41_mdsync_down_seq[] = {
- {CS35L41_PWR_CTRL3, 0},
- {CS35L41_GPIO_PAD_CONTROL, 0},
-@@ -1208,6 +1209,12 @@ int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l4
- {CS35L41_PWR_CTRL1, 0x00000001, 3000},
- };
-
-+ pup_pdn_mask = enable ? CS35L41_PUP_DONE_MASK : CS35L41_PDN_DONE_MASK;
-+
-+ ret = regmap_read(regmap, CS35L41_PWR_CTRL1, &pwr_ctl1_val);
-+ if (ret)
-+ return ret;
-+
- if ((pwr_ctl1_val & CS35L41_GLOBAL_EN_MASK) && enable) {
- dev_dbg(dev, "Cannot set Global Enable - already set.\n");
- return 0;
-@@ -1252,6 +1259,15 @@ int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l4
- ret = regmap_multi_reg_write(regmap, cs35l41_mdsync_up_seq,
- ARRAY_SIZE(cs35l41_mdsync_up_seq));
- }
-+
-+ ret = regmap_read_poll_timeout(regmap, CS35L41_IRQ1_STATUS1,
-+ int_status, int_status & pup_pdn_mask,
-+ 1000, 100000);
-+ if (ret)
-+ dev_err(dev, "Enable(%d) failed: %d\n", enable, ret);
-+
-+ // Clear PUP/PDN status
-+ regmap_write(regmap, CS35L41_IRQ1_STATUS1, pup_pdn_mask);
- break;
- case CS35L41_INT_BOOST:
- ret = regmap_update_bits(regmap, CS35L41_PWR_CTRL1, CS35L41_GLOBAL_EN_MASK,
-@@ -1260,7 +1276,15 @@ int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l4
- dev_err(dev, "CS35L41_PWR_CTRL1 set failed: %d\n", ret);
- return ret;
- }
-- usleep_range(3000, 3100);
-+
-+ ret = regmap_read_poll_timeout(regmap, CS35L41_IRQ1_STATUS1,
-+ int_status, int_status & pup_pdn_mask,
-+ 1000, 100000);
-+ if (ret)
-+ dev_err(dev, "Enable(%d) failed: %d\n", enable, ret);
-+
-+ /* Clear PUP/PDN status */
-+ regmap_write(regmap, CS35L41_IRQ1_STATUS1, pup_pdn_mask);
- break;
- case CS35L41_EXT_BOOST:
- case CS35L41_EXT_BOOST_NO_VSPK_SWITCH:
-@@ -1271,7 +1295,15 @@ int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l4
- if (ret)
- return ret;
-
-- usleep_range(3000, 3100);
-+ ret = regmap_read_poll_timeout(regmap, CS35L41_IRQ1_STATUS1, int_status,
-+ int_status & CS35L41_PUP_DONE_MASK, 1000, 100000);
-+ if (ret) {
-+ dev_err(dev, "Failed waiting for CS35L41_PUP_DONE_MASK: %d\n", ret);
-+ /* Lock the test key, it was unlocked during the multi_reg_write */
-+ cs35l41_test_key_lock(dev, regmap);
-+ return ret;
-+ }
-+ regmap_write(regmap, CS35L41_IRQ1_STATUS1, CS35L41_PUP_DONE_MASK);
-
- if (firmware_running)
- ret = cs35l41_set_cspl_mbox_cmd(dev, regmap,
-@@ -1292,7 +1324,15 @@ int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l4
- return ret;
- }
-
-- usleep_range(3000, 3100);
-+ ret = regmap_read_poll_timeout(regmap, CS35L41_IRQ1_STATUS1, int_status,
-+ int_status & CS35L41_PDN_DONE_MASK, 1000, 100000);
-+ if (ret) {
-+ dev_err(dev, "Failed waiting for CS35L41_PDN_DONE_MASK: %d\n", ret);
-+ /* Lock the test key, it was unlocked during the multi_reg_write */
-+ cs35l41_test_key_lock(dev, regmap);
-+ return ret;
-+ }
-+ regmap_write(regmap, CS35L41_IRQ1_STATUS1, CS35L41_PDN_DONE_MASK);
-
- /* Test Key is locked here */
- ret = regmap_multi_reg_write(regmap, cs35l41_active_to_safe_end,
-diff --git a/sound/soc/codecs/cs35l41.c b/sound/soc/codecs/cs35l41.c
-index d4e9c9d9b50a..2b3c36f02edb 100644
---- a/sound/soc/codecs/cs35l41.c
-+++ b/sound/soc/codecs/cs35l41.c
-@@ -491,7 +491,6 @@ static int cs35l41_main_amp_event(struct snd_soc_dapm_widget *w,
- {
- struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
- struct cs35l41_private *cs35l41 = snd_soc_component_get_drvdata(component);
-- unsigned int val;
- int ret = 0;
-
- switch (event) {
-@@ -507,15 +506,6 @@ static int cs35l41_main_amp_event(struct snd_soc_dapm_widget *w,
- ret = cs35l41_global_enable(cs35l41->dev, cs35l41->regmap, cs35l41->hw_cfg.bst_type,
- 0, &cs35l41->pll_lock, cs35l41->dsp.cs_dsp.running);
-
-- ret = regmap_read_poll_timeout(cs35l41->regmap, CS35L41_IRQ1_STATUS1,
-- val, val & CS35L41_PDN_DONE_MASK,
-- 1000, 100000);
-- if (ret)
-- dev_warn(cs35l41->dev, "PDN failed: %d\n", ret);
--
-- regmap_write(cs35l41->regmap, CS35L41_IRQ1_STATUS1,
-- CS35L41_PDN_DONE_MASK);
--
- regmap_multi_reg_write_bypassed(cs35l41->regmap,
- cs35l41_pdn_patch,
- ARRAY_SIZE(cs35l41_pdn_patch));
---
-2.41.0
-
-From 796af5ec6c6bb2eadf78a96f629e2c7fba11123b Mon Sep 17 00:00:00 2001
-From: Stefan Binding <sbinding@opensource.cirrus.com>
-Date: Fri, 21 Jul 2023 16:18:08 +0100
-Subject: [PATCH 03/11] ALSA: hda: cs35l41: Check mailbox status of pause
- command after firmware load
-
-Currently, we do not check the return status of the pause command,
-immediately after we load firmware. If the pause has failed,
-the firmware is not running.
-
-Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
----
- sound/pci/hda/cs35l41_hda.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c
-index f9c97270db6f..29f1dce45f1d 100644
---- a/sound/pci/hda/cs35l41_hda.c
-+++ b/sound/pci/hda/cs35l41_hda.c
-@@ -781,7 +781,12 @@ static int cs35l41_smart_amp(struct cs35l41_hda *cs35l41)
- goto clean_dsp;
- }
-
-- cs35l41_set_cspl_mbox_cmd(cs35l41->dev, cs35l41->regmap, CSPL_MBOX_CMD_PAUSE);
-+ ret = cs35l41_set_cspl_mbox_cmd(cs35l41->dev, cs35l41->regmap, CSPL_MBOX_CMD_PAUSE);
-+ if (ret) {
-+ dev_err(cs35l41->dev, "Error waiting for DSP to pause: %u\n", ret);
-+ goto clean_dsp;
-+ }
-+
- cs35l41->firmware_running = true;
-
- return 0;
---
-2.41.0
-
-From 9684d3a1fbe55573eccd6c7e5f72dd519a4e406b Mon Sep 17 00:00:00 2001
-From: Stefan Binding <sbinding@opensource.cirrus.com>
-Date: Fri, 21 Jul 2023 16:18:09 +0100
-Subject: [PATCH 04/11] ALSA: hda: cs35l41: Ensure we correctly re-sync regmap
- before system suspending.
-
-In order to properly system suspend, it is necessary to unload the firmware
-and ensure the chip is ready for shutdown (if necessary). If the system
-is currently in runtime suspend, it is necessary to wake up the device,
-and then make it ready. Currently, the wake does not correctly resync
-the device, which may mean it cannot suspend correctly. Fix this by
-performaing a resync.
-
-Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
----
- sound/pci/hda/cs35l41_hda.c | 32 +++++++++++++++++++++++++++-----
- 1 file changed, 27 insertions(+), 5 deletions(-)
-
-diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c
-index 29f1dce45f1d..f42457147ce4 100644
---- a/sound/pci/hda/cs35l41_hda.c
-+++ b/sound/pci/hda/cs35l41_hda.c
-@@ -574,21 +574,43 @@ static int cs35l41_hda_channel_map(struct device *dev, unsigned int tx_num, unsi
- rx_slot);
- }
-
--static void cs35l41_ready_for_reset(struct cs35l41_hda *cs35l41)
-+static int cs35l41_ready_for_reset(struct cs35l41_hda *cs35l41)
- {
-+ int ret = 0;
-+
- mutex_lock(&cs35l41->fw_mutex);
- if (cs35l41->firmware_running) {
-
- regcache_cache_only(cs35l41->regmap, false);
-
-- cs35l41_exit_hibernate(cs35l41->dev, cs35l41->regmap);
-+ ret = cs35l41_exit_hibernate(cs35l41->dev, cs35l41->regmap);
-+ if (ret) {
-+ dev_warn(cs35l41->dev, "Unable to exit Hibernate.");
-+ goto err;
-+ }
-+
-+ /* Test key needs to be unlocked to allow the OTP settings to re-apply */
-+ cs35l41_test_key_unlock(cs35l41->dev, cs35l41->regmap);
-+ ret = regcache_sync(cs35l41->regmap);
-+ cs35l41_test_key_lock(cs35l41->dev, cs35l41->regmap);
-+ if (ret) {
-+ dev_err(cs35l41->dev, "Failed to restore register cache: %d\n", ret);
-+ goto err;
-+ }
-+
-+ if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST)
-+ cs35l41_init_boost(cs35l41->dev, cs35l41->regmap, &cs35l41->hw_cfg);
-+
- cs35l41_shutdown_dsp(cs35l41);
- cs35l41_safe_reset(cs35l41->regmap, cs35l41->hw_cfg.bst_type);
--
-- regcache_cache_only(cs35l41->regmap, true);
-- regcache_mark_dirty(cs35l41->regmap);
- }
-+err:
-+ regcache_cache_only(cs35l41->regmap, true);
-+ regcache_mark_dirty(cs35l41->regmap);
-+
- mutex_unlock(&cs35l41->fw_mutex);
-+
-+ return ret;
- }
-
- static int cs35l41_system_suspend(struct device *dev)
---
-2.41.0
-
-From 05bfc01172a34466e660465922d1cab5b460880f Mon Sep 17 00:00:00 2001
-From: Stefan Binding <sbinding@opensource.cirrus.com>
-Date: Fri, 21 Jul 2023 16:18:10 +0100
-Subject: [PATCH 05/11] ALSA: hda: cs35l41: Ensure we pass up any errors during
- system suspend.
-
-There are several steps required to put the system into system suspend.
-Some of these steps may fail, so the driver should pass up the errors
-if they occur.
-
-Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
----
- sound/pci/hda/cs35l41_hda.c | 17 +++++++++++++----
- 1 file changed, 13 insertions(+), 4 deletions(-)
-
-diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c
-index f42457147ce4..d4a11f7b5dbd 100644
---- a/sound/pci/hda/cs35l41_hda.c
-+++ b/sound/pci/hda/cs35l41_hda.c
-@@ -626,17 +626,22 @@ static int cs35l41_system_suspend(struct device *dev)
- }
-
- ret = pm_runtime_force_suspend(dev);
-- if (ret)
-+ if (ret) {
-+ dev_err(dev, "System Suspend Failed, unable to runtime suspend: %d\n", ret);
- return ret;
-+ }
-
- /* Shutdown DSP before system suspend */
-- cs35l41_ready_for_reset(cs35l41);
-+ ret = cs35l41_ready_for_reset(cs35l41);
-+
-+ if (ret)
-+ dev_err(dev, "System Suspend Failed, not ready for Reset: %d\n", ret);
-
- /*
- * Reset GPIO may be shared, so cannot reset here.
- * However beyond this point, amps may be powered down.
- */
-- return 0;
-+ return ret;
- }
-
- static int cs35l41_system_resume(struct device *dev)
-@@ -659,9 +664,13 @@ static int cs35l41_system_resume(struct device *dev)
- usleep_range(2000, 2100);
-
- ret = pm_runtime_force_resume(dev);
-+ if (ret) {
-+ dev_err(dev, "System Resume Failed: Unable to runtime resume: %d\n", ret);
-+ return ret;
-+ }
-
- mutex_lock(&cs35l41->fw_mutex);
-- if (!ret && cs35l41->request_fw_load && !cs35l41->fw_request_ongoing) {
-+ if (cs35l41->request_fw_load && !cs35l41->fw_request_ongoing) {
- cs35l41->fw_request_ongoing = true;
- schedule_work(&cs35l41->fw_load_work);
- }
---
-2.41.0
-
-From f352ce9e5389e4746f25bfec33f4e0ee4dcbf690 Mon Sep 17 00:00:00 2001
-From: Stefan Binding <sbinding@opensource.cirrus.com>
-Date: Fri, 21 Jul 2023 16:18:11 +0100
-Subject: [PATCH 06/11] ALSA: hda: cs35l41: Move Play and Pause into separate
- functions
-
-This allows play and pause to be called from multiple places,
-which is necessary for system suspend and resume.
-
-Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
----
- sound/pci/hda/cs35l41_hda.c | 131 ++++++++++++++++++++++--------------
- 1 file changed, 79 insertions(+), 52 deletions(-)
-
-diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c
-index d4a11f7b5dbd..f77583b46b6b 100644
---- a/sound/pci/hda/cs35l41_hda.c
-+++ b/sound/pci/hda/cs35l41_hda.c
-@@ -483,63 +483,103 @@ static void cs35l41_irq_release(struct cs35l41_hda *cs35l41)
- cs35l41->irq_errors = 0;
- }
-
--static void cs35l41_hda_playback_hook(struct device *dev, int action)
-+static void cs35l41_hda_play_start(struct device *dev)
- {
- struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
- struct regmap *reg = cs35l41->regmap;
-- int ret = 0;
-+
-+ dev_dbg(dev, "Play (Start)\n");
-+
-+ if (cs35l41->playback_started) {
-+ dev_dbg(dev, "Playback already started.");
-+ return;
-+ }
-+
-+ cs35l41->playback_started = true;
-+
-+ if (cs35l41->firmware_running) {
-+ regmap_multi_reg_write(reg, cs35l41_hda_config_dsp,
-+ ARRAY_SIZE(cs35l41_hda_config_dsp));
-+ regmap_update_bits(reg, CS35L41_PWR_CTRL2,
-+ CS35L41_VMON_EN_MASK | CS35L41_IMON_EN_MASK,
-+ 1 << CS35L41_VMON_EN_SHIFT | 1 << CS35L41_IMON_EN_SHIFT);
-+ cs35l41_set_cspl_mbox_cmd(cs35l41->dev, reg, CSPL_MBOX_CMD_RESUME);
-+ } else {
-+ regmap_multi_reg_write(reg, cs35l41_hda_config, ARRAY_SIZE(cs35l41_hda_config));
-+ }
-+ regmap_update_bits(reg, CS35L41_PWR_CTRL2, CS35L41_AMP_EN_MASK, 1 << CS35L41_AMP_EN_SHIFT);
-+ if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST)
-+ regmap_write(reg, CS35L41_GPIO1_CTRL1, 0x00008001);
-+
-+}
-+
-+static void cs35l41_hda_play_done(struct device *dev)
-+{
-+ struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
-+ struct regmap *reg = cs35l41->regmap;
-+
-+ dev_dbg(dev, "Play (Complete)\n");
-+
-+ cs35l41_global_enable(dev, reg, cs35l41->hw_cfg.bst_type, 1, NULL,
-+ cs35l41->firmware_running);
-+}
-+
-+static void cs35l41_hda_pause_start(struct device *dev)
-+{
-+ struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
-+ struct regmap *reg = cs35l41->regmap;
-+
-+ dev_dbg(dev, "Pause (Start)\n");
-+
-+ regmap_multi_reg_write(reg, cs35l41_hda_mute, ARRAY_SIZE(cs35l41_hda_mute));
-+ cs35l41_global_enable(dev, reg, cs35l41->hw_cfg.bst_type, 0, NULL,
-+ cs35l41->firmware_running);
-+}
-+
-+static void cs35l41_hda_pause_done(struct device *dev)
-+{
-+ struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
-+ struct regmap *reg = cs35l41->regmap;
-+
-+ dev_dbg(dev, "Pause (Complete)\n");
-+
-+ regmap_update_bits(reg, CS35L41_PWR_CTRL2, CS35L41_AMP_EN_MASK, 0 << CS35L41_AMP_EN_SHIFT);
-+ if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST)
-+ regmap_write(reg, CS35L41_GPIO1_CTRL1, 0x00000001);
-+ if (cs35l41->firmware_running) {
-+ cs35l41_set_cspl_mbox_cmd(dev, reg, CSPL_MBOX_CMD_PAUSE);
-+ regmap_update_bits(reg, CS35L41_PWR_CTRL2,
-+ CS35L41_VMON_EN_MASK | CS35L41_IMON_EN_MASK,
-+ 0 << CS35L41_VMON_EN_SHIFT | 0 << CS35L41_IMON_EN_SHIFT);
-+ }
-+ cs35l41_irq_release(cs35l41);
-+ cs35l41->playback_started = false;
-+}
-+
-+static void cs35l41_hda_playback_hook(struct device *dev, int action)
-+{
-+ struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
-
- switch (action) {
- case HDA_GEN_PCM_ACT_OPEN:
- pm_runtime_get_sync(dev);
- mutex_lock(&cs35l41->fw_mutex);
-- cs35l41->playback_started = true;
-- if (cs35l41->firmware_running) {
-- regmap_multi_reg_write(reg, cs35l41_hda_config_dsp,
-- ARRAY_SIZE(cs35l41_hda_config_dsp));
-- regmap_update_bits(cs35l41->regmap, CS35L41_PWR_CTRL2,
-- CS35L41_VMON_EN_MASK | CS35L41_IMON_EN_MASK,
-- 1 << CS35L41_VMON_EN_SHIFT | 1 << CS35L41_IMON_EN_SHIFT);
-- cs35l41_set_cspl_mbox_cmd(cs35l41->dev, cs35l41->regmap,
-- CSPL_MBOX_CMD_RESUME);
-- } else {
-- regmap_multi_reg_write(reg, cs35l41_hda_config,
-- ARRAY_SIZE(cs35l41_hda_config));
-- }
-- ret = regmap_update_bits(reg, CS35L41_PWR_CTRL2,
-- CS35L41_AMP_EN_MASK, 1 << CS35L41_AMP_EN_SHIFT);
-- if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST)
-- regmap_write(reg, CS35L41_GPIO1_CTRL1, 0x00008001);
-+ cs35l41_hda_play_start(dev);
- mutex_unlock(&cs35l41->fw_mutex);
- break;
- case HDA_GEN_PCM_ACT_PREPARE:
- mutex_lock(&cs35l41->fw_mutex);
-- ret = cs35l41_global_enable(dev, reg, cs35l41->hw_cfg.bst_type, 1, NULL,
-- cs35l41->firmware_running);
-+ cs35l41_hda_play_done(dev);
- mutex_unlock(&cs35l41->fw_mutex);
- break;
- case HDA_GEN_PCM_ACT_CLEANUP:
- mutex_lock(&cs35l41->fw_mutex);
-- regmap_multi_reg_write(reg, cs35l41_hda_mute, ARRAY_SIZE(cs35l41_hda_mute));
-- ret = cs35l41_global_enable(dev, reg, cs35l41->hw_cfg.bst_type, 0, NULL,
-- cs35l41->firmware_running);
-+ cs35l41_hda_pause_start(dev);
- mutex_unlock(&cs35l41->fw_mutex);
- break;
- case HDA_GEN_PCM_ACT_CLOSE:
- mutex_lock(&cs35l41->fw_mutex);
-- ret = regmap_update_bits(reg, CS35L41_PWR_CTRL2,
-- CS35L41_AMP_EN_MASK, 0 << CS35L41_AMP_EN_SHIFT);
-- if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST)
-- regmap_write(reg, CS35L41_GPIO1_CTRL1, 0x00000001);
-- if (cs35l41->firmware_running) {
-- cs35l41_set_cspl_mbox_cmd(cs35l41->dev, cs35l41->regmap,
-- CSPL_MBOX_CMD_PAUSE);
-- regmap_update_bits(cs35l41->regmap, CS35L41_PWR_CTRL2,
-- CS35L41_VMON_EN_MASK | CS35L41_IMON_EN_MASK,
-- 0 << CS35L41_VMON_EN_SHIFT | 0 << CS35L41_IMON_EN_SHIFT);
-- }
-- cs35l41_irq_release(cs35l41);
-- cs35l41->playback_started = false;
-+ cs35l41_hda_pause_done(dev);
- mutex_unlock(&cs35l41->fw_mutex);
-
- pm_runtime_mark_last_busy(dev);
-@@ -549,9 +589,6 @@ static void cs35l41_hda_playback_hook(struct device *dev, int action)
- dev_warn(cs35l41->dev, "Playback action not supported: %d\n", action);
- break;
- }
--
-- if (ret)
-- dev_err(cs35l41->dev, "Regmap access fail: %d\n", ret);
- }
-
- static int cs35l41_hda_channel_map(struct device *dev, unsigned int tx_num, unsigned int *tx_slot,
-@@ -703,18 +740,8 @@ static int cs35l41_runtime_suspend(struct device *dev)
- mutex_lock(&cs35l41->fw_mutex);
-
- if (cs35l41->playback_started) {
-- regmap_multi_reg_write(cs35l41->regmap, cs35l41_hda_mute,
-- ARRAY_SIZE(cs35l41_hda_mute));
-- cs35l41_global_enable(cs35l41->dev, cs35l41->regmap, cs35l41->hw_cfg.bst_type, 0,
-- NULL, cs35l41->firmware_running);
-- regmap_update_bits(cs35l41->regmap, CS35L41_PWR_CTRL2,
-- CS35L41_AMP_EN_MASK, 0 << CS35L41_AMP_EN_SHIFT);
-- if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST)
-- regmap_write(cs35l41->regmap, CS35L41_GPIO1_CTRL1, 0x00000001);
-- regmap_update_bits(cs35l41->regmap, CS35L41_PWR_CTRL2,
-- CS35L41_VMON_EN_MASK | CS35L41_IMON_EN_MASK,
-- 0 << CS35L41_VMON_EN_SHIFT | 0 << CS35L41_IMON_EN_SHIFT);
-- cs35l41->playback_started = false;
-+ cs35l41_hda_pause_start(dev);
-+ cs35l41_hda_pause_done(dev);
- }
-
- if (cs35l41->firmware_running) {
---
-2.41.0
-
-From c1bf8ed3a5f3d011276d975c7b1f62039bed160e Mon Sep 17 00:00:00 2001
-From: Stefan Binding <sbinding@opensource.cirrus.com>
-Date: Fri, 21 Jul 2023 16:18:12 +0100
-Subject: [PATCH 07/11] ALSA: hda: hda_component: Add pre and post playback
- hooks to hda_component
-
-These hooks can be used to add callbacks that would be run before and after
-the main playback hooks. These hooks would be called for all amps, before
-moving on to the next hook, i.e. pre_playback_hook would be called for
-all amps, before the playback_hook is called for all amps, then finally
-the post_playback_hook is called for all amps.
-
-Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
----
- sound/pci/hda/hda_component.h | 2 ++
- sound/pci/hda/patch_realtek.c | 10 +++++++++-
- 2 files changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/sound/pci/hda/hda_component.h b/sound/pci/hda/hda_component.h
-index 534e845b9cd1..f170aec967c1 100644
---- a/sound/pci/hda/hda_component.h
-+++ b/sound/pci/hda/hda_component.h
-@@ -15,5 +15,7 @@ struct hda_component {
- struct device *dev;
- char name[HDA_MAX_NAME_SIZE];
- struct hda_codec *codec;
-+ void (*pre_playback_hook)(struct device *dev, int action);
- void (*playback_hook)(struct device *dev, int action);
-+ void (*post_playback_hook)(struct device *dev, int action);
- };
-diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
-index 44fccfb93cff..dff92679ae72 100644
---- a/sound/pci/hda/patch_realtek.c
-+++ b/sound/pci/hda/patch_realtek.c
-@@ -6716,9 +6716,17 @@ static void comp_generic_playback_hook(struct hda_pcm_stream *hinfo, struct hda_
- int i;
-
- for (i = 0; i < HDA_MAX_COMPONENTS; i++) {
-- if (spec->comps[i].dev)
-+ if (spec->comps[i].dev && spec->comps[i].pre_playback_hook)
-+ spec->comps[i].pre_playback_hook(spec->comps[i].dev, action);
-+ }
-+ for (i = 0; i < HDA_MAX_COMPONENTS; i++) {
-+ if (spec->comps[i].dev && spec->comps[i].playback_hook)
- spec->comps[i].playback_hook(spec->comps[i].dev, action);
- }
-+ for (i = 0; i < HDA_MAX_COMPONENTS; i++) {
-+ if (spec->comps[i].dev && spec->comps[i].post_playback_hook)
-+ spec->comps[i].post_playback_hook(spec->comps[i].dev, action);
-+ }
- }
-
- struct cs35l41_dev_name {
---
-2.41.0
-
-From 4f3b42e2f126f96b1e512871d7073fb10d9a7283 Mon Sep 17 00:00:00 2001
-From: Stefan Binding <sbinding@opensource.cirrus.com>
-Date: Fri, 21 Jul 2023 16:18:13 +0100
-Subject: [PATCH 08/11] ALSA: hda: cs35l41: Use pre and post playback hooks
-
-Use new hooks to ensure separation between play/pause actions,
-as required by external boost.
-
-External Boost on CS35L41 requires the amp to go through a
-particular sequence of steps. One of these steps involes
-the setting of a GPIO. This GPIO is connected to one or
-more of the amps, and it may control the boost for all of
-the amps. To ensure that the GPIO is set when it is safe
-to do so, and to ensure that boost is ready for the rest of
-the sequence to be able to continue, we must ensure that
-the each part of the sequence is executed for each amp
-before moving on to the next part of the sequence.
-
-Some of the Play and Pause actions have moved from Open to
-Prepare. This is because Open is not guaranteed to be called
-again on system resume, whereas Prepare should.
-
-Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
----
- sound/pci/hda/cs35l41_hda.c | 53 ++++++++++++++++++++++++++++++-------
- 1 file changed, 43 insertions(+), 10 deletions(-)
-
-diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c
-index f77583b46b6b..a482d4752b3f 100644
---- a/sound/pci/hda/cs35l41_hda.c
-+++ b/sound/pci/hda/cs35l41_hda.c
-@@ -556,37 +556,68 @@ static void cs35l41_hda_pause_done(struct device *dev)
- cs35l41->playback_started = false;
- }
-
-+static void cs35l41_hda_pre_playback_hook(struct device *dev, int action)
-+{
-+ struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
-+
-+ switch (action) {
-+ case HDA_GEN_PCM_ACT_CLEANUP:
-+ mutex_lock(&cs35l41->fw_mutex);
-+ cs35l41_hda_pause_start(dev);
-+ mutex_unlock(&cs35l41->fw_mutex);
-+ break;
-+ default:
-+ break;
-+ }
-+}
- static void cs35l41_hda_playback_hook(struct device *dev, int action)
- {
- struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
-
- switch (action) {
- case HDA_GEN_PCM_ACT_OPEN:
-+ /*
-+ * All amps must be resumed before we can start playing back.
-+ * This ensures, for external boost, that all amps are in AMP_SAFE mode.
-+ * Do this in HDA_GEN_PCM_ACT_OPEN, since this is run prior to any of the
-+ * other actions.
-+ */
- pm_runtime_get_sync(dev);
-- mutex_lock(&cs35l41->fw_mutex);
-- cs35l41_hda_play_start(dev);
-- mutex_unlock(&cs35l41->fw_mutex);
- break;
- case HDA_GEN_PCM_ACT_PREPARE:
- mutex_lock(&cs35l41->fw_mutex);
-- cs35l41_hda_play_done(dev);
-+ cs35l41_hda_play_start(dev);
- mutex_unlock(&cs35l41->fw_mutex);
- break;
- case HDA_GEN_PCM_ACT_CLEANUP:
- mutex_lock(&cs35l41->fw_mutex);
-- cs35l41_hda_pause_start(dev);
-+ cs35l41_hda_pause_done(dev);
- mutex_unlock(&cs35l41->fw_mutex);
- break;
- case HDA_GEN_PCM_ACT_CLOSE:
-- mutex_lock(&cs35l41->fw_mutex);
-- cs35l41_hda_pause_done(dev);
-- mutex_unlock(&cs35l41->fw_mutex);
--
-+ /*
-+ * Playback must be finished for all amps before we start runtime suspend.
-+ * This ensures no amps are playing back when we start putting them to sleep.
-+ */
- pm_runtime_mark_last_busy(dev);
- pm_runtime_put_autosuspend(dev);
- break;
- default:
-- dev_warn(cs35l41->dev, "Playback action not supported: %d\n", action);
-+ break;
-+ }
-+}
-+
-+static void cs35l41_hda_post_playback_hook(struct device *dev, int action)
-+{
-+ struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
-+
-+ switch (action) {
-+ case HDA_GEN_PCM_ACT_PREPARE:
-+ mutex_lock(&cs35l41->fw_mutex);
-+ cs35l41_hda_play_done(dev);
-+ mutex_unlock(&cs35l41->fw_mutex);
-+ break;
-+ default:
- break;
- }
- }
-@@ -1037,6 +1068,8 @@ static int cs35l41_hda_bind(struct device *dev, struct device *master, void *mas
- ret = cs35l41_create_controls(cs35l41);
-
- comps->playback_hook = cs35l41_hda_playback_hook;
-+ comps->pre_playback_hook = cs35l41_hda_pre_playback_hook;
-+ comps->post_playback_hook = cs35l41_hda_post_playback_hook;
-
- mutex_unlock(&cs35l41->fw_mutex);
-
---
-2.41.0
-
-From 5091ba7ad9ea6a88db464b84b4993cc9e5033a84 Mon Sep 17 00:00:00 2001
-From: Stefan Binding <sbinding@opensource.cirrus.com>
-Date: Fri, 21 Jul 2023 16:18:14 +0100
-Subject: [PATCH 09/11] ALSA: hda: cs35l41: Rework System Suspend to ensure
- correct call separation
-
-In order to correctly pause audio on suspend, amps using external boost
-require parts of the pause sequence to be called for all amps before moving
-on to the next steps.
-For example, as part of pausing the audio, the VSPK GPIO must be disabled,
-but since this GPIO is controlled by one amp, but controls the boost for
-all amps, it is required to separate the calls.
-During playback this is achieved by using the pre and post playback hooks,
-however during system suspend, this is not possible, so to separate the
-calls, we use both the .prepare and .suspend calls to pause the audio.
-
-Currently, for this reason, we do not restart audio on system resume.
-However, we can support this by relying on the playback hook to resume
-playback after system suspend.
-
-Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
----
- sound/pci/hda/cs35l41_hda.c | 40 ++++++++++++++++++++++++++++++++-----
- 1 file changed, 35 insertions(+), 5 deletions(-)
-
-diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c
-index a482d4752b3f..70aa819cfbd6 100644
---- a/sound/pci/hda/cs35l41_hda.c
-+++ b/sound/pci/hda/cs35l41_hda.c
-@@ -595,6 +595,15 @@ static void cs35l41_hda_playback_hook(struct device *dev, int action)
- mutex_unlock(&cs35l41->fw_mutex);
- break;
- case HDA_GEN_PCM_ACT_CLOSE:
-+ mutex_lock(&cs35l41->fw_mutex);
-+ if (!cs35l41->firmware_running && cs35l41->request_fw_load &&
-+ !cs35l41->fw_request_ongoing) {
-+ dev_info(dev, "Requesting Firmware Load after HDA_GEN_PCM_ACT_CLOSE\n");
-+ cs35l41->fw_request_ongoing = true;
-+ schedule_work(&cs35l41->fw_load_work);
-+ }
-+ mutex_unlock(&cs35l41->fw_mutex);
-+
- /*
- * Playback must be finished for all amps before we start runtime suspend.
- * This ensures no amps are playing back when we start putting them to sleep.
-@@ -681,6 +690,25 @@ static int cs35l41_ready_for_reset(struct cs35l41_hda *cs35l41)
- return ret;
- }
-
-+static int cs35l41_system_suspend_prep(struct device *dev)
-+{
-+ struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
-+
-+ dev_dbg(cs35l41->dev, "System Suspend Prepare\n");
-+
-+ if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST_NO_VSPK_SWITCH) {
-+ dev_err_once(cs35l41->dev, "System Suspend not supported\n");
-+ return 0; /* don't block the whole system suspend */
-+ }
-+
-+ mutex_lock(&cs35l41->fw_mutex);
-+ if (cs35l41->playback_started)
-+ cs35l41_hda_pause_start(dev);
-+ mutex_unlock(&cs35l41->fw_mutex);
-+
-+ return 0;
-+}
-+
- static int cs35l41_system_suspend(struct device *dev)
- {
- struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
-@@ -693,6 +721,11 @@ static int cs35l41_system_suspend(struct device *dev)
- return 0; /* don't block the whole system suspend */
- }
-
-+ mutex_lock(&cs35l41->fw_mutex);
-+ if (cs35l41->playback_started)
-+ cs35l41_hda_pause_done(dev);
-+ mutex_unlock(&cs35l41->fw_mutex);
-+
- ret = pm_runtime_force_suspend(dev);
- if (ret) {
- dev_err(dev, "System Suspend Failed, unable to runtime suspend: %d\n", ret);
-@@ -738,6 +771,7 @@ static int cs35l41_system_resume(struct device *dev)
- }
-
- mutex_lock(&cs35l41->fw_mutex);
-+
- if (cs35l41->request_fw_load && !cs35l41->fw_request_ongoing) {
- cs35l41->fw_request_ongoing = true;
- schedule_work(&cs35l41->fw_load_work);
-@@ -770,11 +804,6 @@ static int cs35l41_runtime_suspend(struct device *dev)
-
- mutex_lock(&cs35l41->fw_mutex);
-
-- if (cs35l41->playback_started) {
-- cs35l41_hda_pause_start(dev);
-- cs35l41_hda_pause_done(dev);
-- }
--
- if (cs35l41->firmware_running) {
- ret = cs35l41_enter_hibernate(cs35l41->dev, cs35l41->regmap,
- cs35l41->hw_cfg.bst_type);
-@@ -1641,6 +1670,7 @@ EXPORT_SYMBOL_NS_GPL(cs35l41_hda_remove, SND_HDA_SCODEC_CS35L41);
- const struct dev_pm_ops cs35l41_hda_pm_ops = {
- RUNTIME_PM_OPS(cs35l41_runtime_suspend, cs35l41_runtime_resume,
- cs35l41_runtime_idle)
-+ .prepare = cs35l41_system_suspend_prep,
- SYSTEM_SLEEP_PM_OPS(cs35l41_system_suspend, cs35l41_system_resume)
- };
- EXPORT_SYMBOL_NS_GPL(cs35l41_hda_pm_ops, SND_HDA_SCODEC_CS35L41);
---
-2.41.0
-
-From 74c165859e33b62888b93891d82680350b9a615f Mon Sep 17 00:00:00 2001
-From: Stefan Binding <sbinding@opensource.cirrus.com>
-Date: Fri, 21 Jul 2023 16:18:15 +0100
-Subject: [PATCH 10/11] ALSA: hda: cs35l41: Add device_link between HDA and
- cs35l41_hda
-
-To ensure consistency between the HDA core and the CS35L41 HDA
-driver, add a device_link between them. This ensures that the
-HDA core will suspend first, and resume second, meaning the
-amp driver will not miss any events from the playback hook from
-the HDA core during system suspend and resume.
-
-Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
----
- sound/pci/hda/cs35l41_hda.c | 13 ++++++++++++-
- 1 file changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c
-index 70aa819cfbd6..175378cdf9df 100644
---- a/sound/pci/hda/cs35l41_hda.c
-+++ b/sound/pci/hda/cs35l41_hda.c
-@@ -1063,6 +1063,7 @@ static int cs35l41_hda_bind(struct device *dev, struct device *master, void *mas
- {
- struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
- struct hda_component *comps = master_data;
-+ unsigned int sleep_flags;
- int ret = 0;
-
- if (!comps || cs35l41->index < 0 || cs35l41->index >= HDA_MAX_COMPONENTS)
-@@ -1102,6 +1103,11 @@ static int cs35l41_hda_bind(struct device *dev, struct device *master, void *mas
-
- mutex_unlock(&cs35l41->fw_mutex);
-
-+ sleep_flags = lock_system_sleep();
-+ if (!device_link_add(&comps->codec->core.dev, cs35l41->dev, DL_FLAG_STATELESS))
-+ dev_warn(dev, "Unable to create device link\n");
-+ unlock_system_sleep(sleep_flags);
-+
- pm_runtime_mark_last_busy(dev);
- pm_runtime_put_autosuspend(dev);
-
-@@ -1112,9 +1118,14 @@ static void cs35l41_hda_unbind(struct device *dev, struct device *master, void *
- {
- struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
- struct hda_component *comps = master_data;
-+ unsigned int sleep_flags;
-
-- if (comps[cs35l41->index].dev == dev)
-+ if (comps[cs35l41->index].dev == dev) {
- memset(&comps[cs35l41->index], 0, sizeof(*comps));
-+ sleep_flags = lock_system_sleep();
-+ device_link_remove(&comps->codec->core.dev, cs35l41->dev);
-+ unlock_system_sleep(sleep_flags);
-+ }
- }
-
- static const struct component_ops cs35l41_hda_comp_ops = {
---
-2.41.0
-
-From 6f1a7b41a626a567fcfe915e9dbe3aea34b6c3ec Mon Sep 17 00:00:00 2001
-From: Stefan Binding <sbinding@opensource.cirrus.com>
-Date: Fri, 21 Jul 2023 16:18:16 +0100
-Subject: [PATCH 11/11] ALSA: hda: cs35l41: Ensure amp is only unmuted during
- playback
-
-Currently we only mute after playback has finished, and unmute
-prior to setting global enable. To prevent any possible pops
-and clicks, mute at probe, and then only unmute after global
-enable is set.
-
-Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
----
- sound/pci/hda/cs35l41_hda.c | 22 ++++++++++++++++++++--
- 1 file changed, 20 insertions(+), 2 deletions(-)
-
-diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c
-index 175378cdf9df..98feb5ccd586 100644
---- a/sound/pci/hda/cs35l41_hda.c
-+++ b/sound/pci/hda/cs35l41_hda.c
-@@ -58,8 +58,6 @@ static const struct reg_sequence cs35l41_hda_config[] = {
- { CS35L41_DSP1_RX3_SRC, 0x00000018 }, // DSP1RX3 SRC = VMON
- { CS35L41_DSP1_RX4_SRC, 0x00000019 }, // DSP1RX4 SRC = IMON
- { CS35L41_DSP1_RX5_SRC, 0x00000020 }, // DSP1RX5 SRC = ERRVOL
-- { CS35L41_AMP_DIG_VOL_CTRL, 0x00008000 }, // AMP_HPF_PCM_EN = 1, AMP_VOL_PCM 0.0 dB
-- { CS35L41_AMP_GAIN_CTRL, 0x00000084 }, // AMP_GAIN_PCM 4.5 dB
- };
-
- static const struct reg_sequence cs35l41_hda_config_dsp[] = {
-@@ -82,6 +80,14 @@ static const struct reg_sequence cs35l41_hda_config_dsp[] = {
- { CS35L41_DSP1_RX3_SRC, 0x00000018 }, // DSP1RX3 SRC = VMON
- { CS35L41_DSP1_RX4_SRC, 0x00000019 }, // DSP1RX4 SRC = IMON
- { CS35L41_DSP1_RX5_SRC, 0x00000029 }, // DSP1RX5 SRC = VBSTMON
-+};
-+
-+static const struct reg_sequence cs35l41_hda_unmute[] = {
-+ { CS35L41_AMP_DIG_VOL_CTRL, 0x00008000 }, // AMP_HPF_PCM_EN = 1, AMP_VOL_PCM 0.0 dB
-+ { CS35L41_AMP_GAIN_CTRL, 0x00000084 }, // AMP_GAIN_PCM 4.5 dB
-+};
-+
-+static const struct reg_sequence cs35l41_hda_unmute_dsp[] = {
- { CS35L41_AMP_DIG_VOL_CTRL, 0x00008000 }, // AMP_HPF_PCM_EN = 1, AMP_VOL_PCM 0.0 dB
- { CS35L41_AMP_GAIN_CTRL, 0x00000233 }, // AMP_GAIN_PCM = 17.5dB AMP_GAIN_PDM = 19.5dB
- };
-@@ -522,6 +528,13 @@ static void cs35l41_hda_play_done(struct device *dev)
-
- cs35l41_global_enable(dev, reg, cs35l41->hw_cfg.bst_type, 1, NULL,
- cs35l41->firmware_running);
-+ if (cs35l41->firmware_running) {
-+ regmap_multi_reg_write(reg, cs35l41_hda_unmute_dsp,
-+ ARRAY_SIZE(cs35l41_hda_unmute_dsp));
-+ } else {
-+ regmap_multi_reg_write(reg, cs35l41_hda_unmute,
-+ ARRAY_SIZE(cs35l41_hda_unmute));
-+ }
- }
-
- static void cs35l41_hda_pause_start(struct device *dev)
-@@ -1616,6 +1629,11 @@ int cs35l41_hda_probe(struct device *dev, const char *device_name, int id, int i
- if (ret)
- goto err;
-
-+ ret = regmap_multi_reg_write(cs35l41->regmap, cs35l41_hda_mute,
-+ ARRAY_SIZE(cs35l41_hda_mute));
-+ if (ret)
-+ goto err;
-+
- INIT_WORK(&cs35l41->fw_load_work, cs35l41_fw_load_work);
- mutex_init(&cs35l41->fw_mutex);
-
---
-2.41.0
-
diff --git a/SOURCES/filter-aarch64.sh.fedora b/SOURCES/filter-aarch64.sh.fedora
index accb31c..e970310 100644
--- a/SOURCES/filter-aarch64.sh.fedora
+++ b/SOURCES/filter-aarch64.sh.fedora
@@ -15,4 +15,4 @@ ethdrvs="3com adaptec arc alteon atheros broadcom cadence calxeda chelsio cisco
drmdrvs="amd arm bridge ast exynos hisilicon i2c imx mgag200 meson msm nouveau panel pl111 radeon rockchip tegra sun4i tiny vc4"
-singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwpoison-inject target_core_user sbp_target cxgbit chcr rnbd-client rnbd-server mlx5_vdpa dfl-emif octeontx2-cpt octeontx2-cptvf spi-altera-dfl rvu_cptpf rvu_cptvf regmap-sdw regmap-sdw-mbq hid-playstation hid-nintendo nvmem_u-boot-env intel-m10-bmc-pmci intel-m10-bmc-hwmon ptp_dfl_tod pds_vdpa"
+singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwpoison-inject target_core_user sbp_target cxgbit chcr rnbd-client rnbd-server mlx5_vdpa dfl-emif octeontx2-cpt octeontx2-cptvf spi-altera-dfl rvu_cptpf rvu_cptvf regmap-sdw regmap-sdw-mbq hid-playstation hid-nintendo nvmem_u-boot-env intel-m10-bmc-pmci intel-m10-bmc-hwmon ptp_dfl_tod pds_vdpa usb_f_midi2 cs42l43-sdw"
diff --git a/SOURCES/filter-modules.sh.fedora b/SOURCES/filter-modules.sh.fedora
index 8622237..c14a790 100755
--- a/SOURCES/filter-modules.sh.fedora
+++ b/SOURCES/filter-modules.sh.fedora
@@ -45,7 +45,7 @@ netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dsa ieee802154 l2t
drmdrvs="amd ast bridge gma500 i2c i915 mgag200 nouveau panel radeon"
-singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwpoison-inject target_core_user sbp_target cxgbit chcr parport_serial regmap-sdw regmap-sdw-mbq arizona-micsupp hid-asus iTCO_wdt rnbd-client rnbd-server mlx5_vdpa spi-altera-dfl nct6775 hid-playstation hid-nintendo asus_wmi_sensors asus_wmi_ec_sensors mlx5-vfio-pci video int3406_thermal apple_bl ptp_dfl_tod intel-m10-bmc-hwmon intel_rapl_tpmi pds_vdpa hp-wmi-sensors"
+singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwpoison-inject target_core_user sbp_target cxgbit chcr parport_serial regmap-sdw regmap-sdw-mbq arizona-micsupp hid-asus iTCO_wdt rnbd-client rnbd-server mlx5_vdpa spi-altera-dfl nct6775 hid-playstation hid-nintendo asus_wmi_sensors asus_wmi_ec_sensors mlx5-vfio-pci video int3406_thermal apple_bl ptp_dfl_tod intel-m10-bmc-hwmon intel_rapl_tpmi pds_vdpa hp-wmi-sensors pds-vfio-pci"
# Grab the arch-specific filter list overrides
source ./filter-$2.sh
diff --git a/SOURCES/filter-ppc64le.sh.fedora b/SOURCES/filter-ppc64le.sh.fedora
index 6341361..5794edd 100644
--- a/SOURCES/filter-ppc64le.sh.fedora
+++ b/SOURCES/filter-ppc64le.sh.fedora
@@ -11,4 +11,4 @@
driverdirs="atm auxdisplay bcma bluetooth firewire fpga infiniband leds media memstick message mmc mtd nfc ntb pcmcia platform power ssb staging tty uio w1"
-singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwpoison-inject target_core_user sbp_target cxgbit chcr rnbd-client rnbd-server mlx5_vdpa hid-playstation hid-nintendo mlx5-vfio-pci nvmem_u-boot-env intel-m10-bmc-pmci intel-m10-bmc-hwmon ptp_dfl_tod pds_vdpa"
+singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwpoison-inject target_core_user sbp_target cxgbit chcr rnbd-client rnbd-server mlx5_vdpa hid-playstation hid-nintendo mlx5-vfio-pci nvmem_u-boot-env intel-m10-bmc-pmci intel-m10-bmc-hwmon ptp_dfl_tod pds_vdpa pds-vfio-pci"
diff --git a/SOURCES/kernel-aarch64-16k-debug-fedora.config b/SOURCES/kernel-aarch64-16k-debug-fedora.config
index 9098d0e..91c9e52 100644
--- a/SOURCES/kernel-aarch64-16k-debug-fedora.config
+++ b/SOURCES/kernel-aarch64-16k-debug-fedora.config
@@ -145,6 +145,7 @@ CONFIG_AD7949=m
# CONFIG_AD9834 is not set
# CONFIG_ADA4250 is not set
CONFIG_ADAPTEC_STARFIRE=m
+# CONFIG_ADDRESS_MASKING is not set
# CONFIG_ADE7854 is not set
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
@@ -1275,6 +1276,7 @@ CONFIG_COMMON_CLK_SI5341=m
# CONFIG_COMMON_CLK_SI5351 is not set
CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_SI570 is not set
+CONFIG_COMMON_CLK_VC3=m
# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VC7=m
CONFIG_COMMON_CLK_XGENE=y
@@ -1297,6 +1299,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -1352,6 +1355,8 @@ CONFIG_CPU_THERMAL=y
# CONFIG_CRAMFS is not set
# CONFIG_CRAMFS_MTD is not set
CONFIG_CRASH_DUMP=y
+CONFIG_CRASH_HOTPLUG=y
+CONFIG_CRASH_MAX_MEMORY_RANGES=8192
CONFIG_CRC16=y
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC32_SARWATE is not set
@@ -1781,6 +1786,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
CONFIG_DMA_OF=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
@@ -1809,6 +1815,7 @@ CONFIG_DM_INIT=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=y
@@ -1943,6 +1950,7 @@ CONFIG_DRM_LONTIUM_LT8912B=m
# CONFIG_DRM_LONTIUM_LT9211 is not set
CONFIG_DRM_LONTIUM_LT9611=m
CONFIG_DRM_LONTIUM_LT9611UXC=m
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM_MALI_DISPLAY=m
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
@@ -2047,11 +2055,13 @@ CONFIG_DRM_PANEL_SITRONIX_ST7789V=m
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521=m
+CONFIG_DRM_PANEL_STARTEK_KD070FHFID015=m
# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
CONFIG_DRM_PANEL_TPO_TPG110=m
CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
+CONFIG_DRM_PANEL_VISIONOX_R66451=m
CONFIG_DRM_PANEL_VISIONOX_RM69299=m
CONFIG_DRM_PANEL_VISIONOX_VTDR6130=m
CONFIG_DRM_PANEL_WIDECHIPS_WS2401=m
@@ -2099,6 +2109,7 @@ CONFIG_DRM_TOSHIBA_TC358764=m
CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_TOSHIBA_TC358775=m
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
CONFIG_DRM_V3D=m
@@ -2307,6 +2318,7 @@ CONFIG_EROFS_FS=m
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP_DEFLATE=y
CONFIG_EROFS_FS_ZIP_LZMA=y
CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
@@ -2396,6 +2408,7 @@ CONFIG_FAULT_INJECTION=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -2637,6 +2650,7 @@ CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
CONFIG_GPIO_DAVINCI=m
CONFIG_GPIO_DLN2=m
+CONFIG_GPIO_DS4520=m
CONFIG_GPIO_DWAPB=m
CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_FTGPIO010 is not set
@@ -2776,6 +2790,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
+CONFIG_HID_GOOGLE_STADIA_FF=m
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2995,6 +3010,7 @@ CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_AMD_MP2=m
CONFIG_I2C_APPLE=m
CONFIG_I2C_ARB_GPIO_CHALLENGE=m
+CONFIG_I2C_ATR=m
CONFIG_I2C_BCM2835=m
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_BRCMSTB=y
@@ -3438,6 +3454,7 @@ CONFIG_IONIC=m
CONFIG_IOSCHED_BFQ=y
CONFIG_IOSM=m
CONFIG_IO_STRICT_DEVMEM=y
+CONFIG_IO_URING=y
CONFIG_IP5XXX_POWER=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -3507,6 +3524,7 @@ CONFIG_IP_PIMSM_V2=y
# CONFIG_IPQ_APSS_6018 is not set
# CONFIG_IPQ_APSS_PLL is not set
# CONFIG_IPQ_GCC_4019 is not set
+CONFIG_IPQ_GCC_5018=m
# CONFIG_IPQ_GCC_5332 is not set
# CONFIG_IPQ_GCC_6018 is not set
# CONFIG_IPQ_GCC_806X is not set
@@ -3534,6 +3552,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+CONFIG_IPU_BRIDGE=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_ILA=m
CONFIG_IPV6_IOAM6_LWTUNNEL=y
@@ -3611,6 +3630,7 @@ CONFIG_IR_RC6_DECODER=m
CONFIG_IR_RCMM_DECODER=m
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
@@ -3832,11 +3852,13 @@ CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KUSER_HELPERS=y
+CONFIG_KVM_PROVE_MMU=y
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
CONFIG_KVM_XEN=y
@@ -3890,6 +3912,7 @@ CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GROUP_MULTICOLOR=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
# CONFIG_LEDS_KTD2692 is not set
@@ -3917,6 +3940,7 @@ CONFIG_LEDS_PCA9532_GPIO=y
CONFIG_LEDS_PCA9532=m
# CONFIG_LEDS_PCA955X is not set
CONFIG_LEDS_PCA963X=m
+CONFIG_LEDS_PCA995X=m
CONFIG_LEDS_PWM=m
CONFIG_LEDS_PWM_MULTICOLOR=m
CONFIG_LEDS_QCOM_FLASH=m
@@ -4069,9 +4093,11 @@ CONFIG_MAILBOX=y
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+CONFIG_MARVELL_88Q2XXX_PHY=m
CONFIG_MARVELL_88X2222_PHY=m
CONFIG_MARVELL_CN10K_DDR_PMU=m
CONFIG_MARVELL_CN10K_TAD_PMU=m
+CONFIG_MARVELL_GTI_WDT=y
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -4116,11 +4142,13 @@ CONFIG_MCP41010=m
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+CONFIG_MCP4728=m
# CONFIG_MCP4922 is not set
CONFIG_MCTP_SERIAL=m
# CONFIG_MCTP_TRANSPORT_I2C is not set
CONFIG_MCTP=y
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -4244,6 +4272,8 @@ CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
CONFIG_MFD_CROS_EC_DEV=m
+CONFIG_MFD_CS42L43_I2C=m
+CONFIG_MFD_CS42L43_SDW=m
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
@@ -4406,6 +4436,7 @@ CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -4799,6 +4830,7 @@ CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -5314,6 +5346,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -5366,6 +5399,7 @@ CONFIG_NVMEM_LAYOUT_SL28_VPD=m
CONFIG_NVMEM_MESON_EFUSE=m
CONFIG_NVMEM_MESON_MX_EFUSE=m
CONFIG_NVMEM_QCOM_QFPROM=m
+CONFIG_NVMEM_QCOM_SEC_QFPROM=m
CONFIG_NVMEM_REBOOT_MODE=m
CONFIG_NVMEM_RMEM=m
CONFIG_NVMEM_ROCKCHIP_EFUSE=m
@@ -5445,6 +5479,7 @@ CONFIG_ORINOCO_USB=m
CONFIG_OSF_PARTITION=y
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+# CONFIG_OVERLAY_FS_DEBUG is not set
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -5535,6 +5570,7 @@ CONFIG_PCC=y
CONFIG_PCI_AARDVARK=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_AL is not set
@@ -5617,6 +5653,7 @@ CONFIG_PCS_XPCS=m
CONFIG_PDC_ADMA=m
CONFIG_PDS_CORE=m
CONFIG_PDS_VDPA=m
+CONFIG_PDS_VFIO_PCI=m
# CONFIG_PECI is not set
CONFIG_PERCPU_STATS=y
# CONFIG_PERCPU_TEST is not set
@@ -5675,12 +5712,14 @@ CONFIG_PHY_QCOM_EUSB2_REPEATER=m
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
CONFIG_PHY_QCOM_PCIE2=m
CONFIG_PHY_QCOM_QMP_COMBO=m
CONFIG_PHY_QCOM_QMP=m
CONFIG_PHY_QCOM_QMP_PCIE_8996=m
CONFIG_PHY_QCOM_QMP_PCIE=m
CONFIG_PHY_QCOM_QMP_UFS=m
+CONFIG_PHY_QCOM_QMP_USB_LEGACY=m
CONFIG_PHY_QCOM_QMP_USB=m
CONFIG_PHY_QCOM_QUSB2=m
CONFIG_PHY_QCOM_SGMII_ETH=m
@@ -5702,6 +5741,8 @@ CONFIG_PHY_ROCKCHIP_PCIE=y
CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=m
CONFIG_PHY_ROCKCHIP_TYPEC=m
CONFIG_PHY_ROCKCHIP_USB=m
+CONFIG_PHY_RTK_RTD_USB2PHY=m
+CONFIG_PHY_RTK_RTD_USB3PHY=m
# CONFIG_PHY_SAMSUNG_USB2 is not set
CONFIG_PHY_SUN4I_USB=m
CONFIG_PHY_SUN50I_USB3=m
@@ -5719,6 +5760,7 @@ CONFIG_PID_NS=y
CONFIG_PINCONF=y
CONFIG_PINCTRL_ALDERLAKE=m
CONFIG_PINCTRL_AMD=y
+CONFIG_PINCTRL_AMLOGIC_C3=y
CONFIG_PINCTRL_APPLE_GPIO=m
CONFIG_PINCTRL_AS3722=y
CONFIG_PINCTRL_AXP209=m
@@ -5727,6 +5769,7 @@ CONFIG_PINCTRL_AXP209=m
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_CHERRYVIEW is not set
+CONFIG_PINCTRL_CS42L43=m
CONFIG_PINCTRL_CY8C95X0=m
CONFIG_PINCTRL_ELKHARTLAKE=m
CONFIG_PINCTRL_EMMITSBURG=m
@@ -5804,6 +5847,7 @@ CONFIG_PINCTRL_SDM845=m
# CONFIG_PINCTRL_SDX75 is not set
CONFIG_PINCTRL_SINGLE=y
# CONFIG_PINCTRL_SM6115 is not set
+# CONFIG_PINCTRL_SM6115_LPASS_LPI is not set
# CONFIG_PINCTRL_SM6125 is not set
# CONFIG_PINCTRL_SM6350 is not set
# CONFIG_PINCTRL_SM6375 is not set
@@ -5812,6 +5856,7 @@ CONFIG_PINCTRL_SINGLE=y
# CONFIG_PINCTRL_SM8250 is not set
CONFIG_PINCTRL_SM8250_LPASS_LPI=m
# CONFIG_PINCTRL_SM8350 is not set
+CONFIG_PINCTRL_SM8350_LPASS_LPI=m
CONFIG_PINCTRL_SM8450_LPASS_LPI=m
CONFIG_PINCTRL_SM8450=m
# CONFIG_PINCTRL_SM8550 is not set
@@ -5975,6 +6020,7 @@ CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS_DEFAULT is not set
CONFIG_PSTORE_842_COMPRESS=y
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -5996,6 +6042,7 @@ CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK_QORIQ=m
@@ -6167,6 +6214,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -6228,6 +6276,7 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP_MMIO=y
@@ -6239,6 +6288,7 @@ CONFIG_REGULATOR_ACT8865=m
CONFIG_REGULATOR_ANATOP=m
CONFIG_REGULATOR_ARM_SCMI=m
CONFIG_REGULATOR_AS3722=m
+CONFIG_REGULATOR_AW37503=m
CONFIG_REGULATOR_AXP20X=m
CONFIG_REGULATOR_BD718XX=m
CONFIG_REGULATOR_BD9571MWV=m
@@ -6266,12 +6316,14 @@ CONFIG_REGULATOR_HI655X=m
# CONFIG_REGULATOR_MAX1586 is not set
# CONFIG_REGULATOR_MAX20086 is not set
CONFIG_REGULATOR_MAX20411=m
+CONFIG_REGULATOR_MAX5970=m
CONFIG_REGULATOR_MAX597X=m
CONFIG_REGULATOR_MAX77620=y
CONFIG_REGULATOR_MAX77650=m
CONFIG_REGULATOR_MAX77686=m
CONFIG_REGULATOR_MAX77802=m
# CONFIG_REGULATOR_MAX77826 is not set
+CONFIG_REGULATOR_MAX77857=m
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
CONFIG_REGULATOR_MAX8893=m
@@ -6293,6 +6345,7 @@ CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_PV88090 is not set
CONFIG_REGULATOR_PWM=y
CONFIG_REGULATOR_QCOM_LABIBB=m
+CONFIG_REGULATOR_QCOM_REFGEN=m
CONFIG_REGULATOR_QCOM_RPMH=y
# CONFIG_REGULATOR_QCOM_RPM is not set
CONFIG_REGULATOR_QCOM_SMD_RPM=m
@@ -6313,6 +6366,7 @@ CONFIG_REGULATOR_RT6190=m
CONFIG_REGULATOR_RT6245=m
CONFIG_REGULATOR_RTMV20=m
CONFIG_REGULATOR_RTQ2134=m
+CONFIG_REGULATOR_RTQ2208=m
CONFIG_REGULATOR_RTQ6752=m
# CONFIG_REGULATOR_SLG51000 is not set
CONFIG_REGULATOR_SY7636A=m
@@ -6372,8 +6426,7 @@ CONFIG_RESOURCE_KUNIT_TEST=m
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-# CONFIG_RH_DISABLE_DEPRECATED is not set
-CONFIG_RH_FEDORA=y
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RICHTEK_RTQ6056=m
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
@@ -6856,6 +6909,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -6933,6 +6987,7 @@ CONFIG_SENSORS_GPIO_FAN=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
CONFIG_SENSORS_HP_WMI=m
+CONFIG_SENSORS_HS3001=m
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
# CONFIG_SENSORS_IBM_CFFPS is not set
@@ -7019,6 +7074,7 @@ CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_MLXREG_FAN=m
CONFIG_SENSORS_MP2888=m
CONFIG_SENSORS_MP2975=m
+CONFIG_SENSORS_MP2975_REGULATOR=y
CONFIG_SENSORS_MP5023=m
CONFIG_SENSORS_MPQ7932=m
CONFIG_SENSORS_MPQ7932_REGULATOR=y
@@ -7390,6 +7446,9 @@ CONFIG_SND_HDA_PREALLOC_SIZE=2048
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
+CONFIG_SND_HDA_SCODEC_CS35L56_I2C=m
+CONFIG_SND_HDA_SCODEC_CS35L56_SPI=m
+CONFIG_SND_HDA_SCODEC_TAS2781_I2C=m
CONFIG_SND_HDA_TEGRA=m
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
@@ -7512,7 +7571,9 @@ CONFIG_SND_SOC_AK5558=m
CONFIG_SND_SOC_APPLE_MCA=m
CONFIG_SND_SOC_APQ8016_SBC=m
CONFIG_SND_SOC_ARNDALE=m
+CONFIG_SND_SOC_AUDIO_IIO_AUX=m
CONFIG_SND_SOC_AW8738=m
+CONFIG_SND_SOC_AW88261=m
CONFIG_SND_SOC_AW88395=m
CONFIG_SND_SOC_BD28623=m
CONFIG_SND_SOC_BT_SCO=m
@@ -7538,6 +7599,8 @@ CONFIG_SND_SOC_CS4271_I2C=m
# CONFIG_SND_SOC_CS4271_SPI is not set
CONFIG_SND_SOC_CS42L42=m
CONFIG_SND_SOC_CS42L42_SDW=m
+CONFIG_SND_SOC_CS42L43=m
+CONFIG_SND_SOC_CS42L43_SDW=m
# CONFIG_SND_SOC_CS42L51_I2C is not set
# CONFIG_SND_SOC_CS42L52 is not set
# CONFIG_SND_SOC_CS42L56 is not set
@@ -7729,6 +7792,7 @@ CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
CONFIG_SND_SOC_ROCKCHIP_PDM=m
CONFIG_SND_SOC_ROCKCHIP_RT5645=m
CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
+CONFIG_SND_SOC_RT1017_SDCA_SDW=m
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -7875,6 +7939,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
CONFIG_SND_SOC_TLV320AIC3X_I2C=m
CONFIG_SND_SOC_TLV320AIC3X=m
CONFIG_SND_SOC_TLV320AIC3X_SPI=m
+# CONFIG_SND_SOC_TOPOLOGY_BUILD is not set
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
CONFIG_SND_SOC_TPA6130A2=m
CONFIG_SND_SOC_TS3A227E=m
@@ -8016,6 +8081,7 @@ CONFIG_SPI_BITBANG=m
CONFIG_SPI_CADENCE=m
CONFIG_SPI_CADENCE_QUADSPI=m
CONFIG_SPI_CADENCE_XSPI=m
+# CONFIG_SPI_CS42L43 is not set
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_DESIGNWARE=m
CONFIG_SPI_DLN2=m
@@ -8159,6 +8225,7 @@ CONFIG_ST_UVIS25=m
CONFIG_ST_UVIS25_SPI=m
# CONFIG_SUN20I_D1_CCU is not set
# CONFIG_SUN20I_D1_R_CCU is not set
+CONFIG_SUN20I_GPADC=m
# CONFIG_SUN20I_PPU is not set
# CONFIG_SUN4I_EMAC is not set
CONFIG_SUN50I_A100_CCU=y
@@ -8213,6 +8280,7 @@ CONFIG_SURFACE_PRO3_BUTTON=m
CONFIG_SUSPEND=y
CONFIG_SVC_I3C_MASTER=m
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_SWP_EMULATION=y
# CONFIG_SW_SYNC is not set
CONFIG_SX9310=m
@@ -8348,6 +8416,7 @@ CONFIG_TEST_FPU=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=m
@@ -8431,6 +8500,8 @@ CONFIG_TIFM_7XX1=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+# CONFIG_TI_ICSSG_PRUETH is not set
+CONFIG_TI_ICSS_IEP=m
CONFIG_TI_K3_AM65_CPSW_NUSS=m
CONFIG_TI_K3_AM65_CPSW_SWITCHDEV=y
CONFIG_TI_K3_AM65_CPTS=m
@@ -8470,6 +8541,7 @@ CONFIG_TI_SCI_PM_DOMAINS=y
CONFIG_TI_SCI_PROTOCOL=y
# CONFIG_TI_ST is not set
CONFIG_TI_SYSCON_CLK=m
+CONFIG_TI_SYSC=y
# CONFIG_TI_TLC4541 is not set
# CONFIG_TI_TMAG5273 is not set
CONFIG_TI_TSC2046=m
@@ -8482,6 +8554,7 @@ CONFIG_TMP006=m
CONFIG_TMP117=m
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_QUOTA=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
CONFIG_TORTURE_TEST=m
@@ -8527,6 +8600,7 @@ CONFIG_TOUCHSCREEN_IMAGIS=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
CONFIG_TOUCHSCREEN_IQS5XX=m
+CONFIG_TOUCHSCREEN_IQS7211=m
# CONFIG_TOUCHSCREEN_MAX11801 is not set
CONFIG_TOUCHSCREEN_MCS5000=m
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -8753,6 +8827,7 @@ CONFIG_USB_CONFIGFS_EEM=y
# CONFIG_USB_CONFIGFS_F_FS is not set
CONFIG_USB_CONFIGFS_F_HID=y
# CONFIG_USB_CONFIGFS_F_LB_SS is not set
+CONFIG_USB_CONFIGFS_F_MIDI2=y
# CONFIG_USB_CONFIGFS_F_MIDI is not set
# CONFIG_USB_CONFIGFS_F_PRINTER is not set
CONFIG_USB_CONFIGFS_F_TCM=y
@@ -9147,7 +9222,9 @@ CONFIG_VFAT_FS=m
CONFIG_VFIO_AMBA=m
CONFIG_VFIO_CDX=m
CONFIG_VFIO_CONTAINER=y
+# CONFIG_VFIO_DEVICE_CDEV is not set
CONFIG_VFIO_FSL_MC=m
+CONFIG_VFIO_GROUP=y
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO=m
CONFIG_VFIO_MDEV=m
@@ -9222,9 +9299,13 @@ CONFIG_VIDEO_CX88_ENABLE_VP3054=y
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_VP3054=m
CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_DS90UB913=m
+CONFIG_VIDEO_DS90UB953=m
+CONFIG_VIDEO_DS90UB960=m
# CONFIG_VIDEO_DT3155 is not set
CONFIG_VIDEO_DW100=m
CONFIG_VIDEO_DW9714=m
+CONFIG_VIDEO_DW9719=m
CONFIG_VIDEO_DW9768=m
CONFIG_VIDEO_DW9807_VCM=m
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -9598,6 +9679,7 @@ CONFIG_XDP_SOCKETS=y
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
# CONFIG_XEN is not set
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
+CONFIG_XEN_PRIVCMD_IRQFD=y
CONFIG_XEN_PRIVCMD=m
# CONFIG_XEN_PVCALLS_FRONTEND is not set
CONFIG_XEN_PVHVM_GUEST=y
@@ -9615,6 +9697,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -9714,7 +9797,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-aarch64-16k-fedora.config b/SOURCES/kernel-aarch64-16k-fedora.config
index 8b6302e..7fd991c 100644
--- a/SOURCES/kernel-aarch64-16k-fedora.config
+++ b/SOURCES/kernel-aarch64-16k-fedora.config
@@ -145,6 +145,7 @@ CONFIG_AD7949=m
# CONFIG_AD9834 is not set
# CONFIG_ADA4250 is not set
CONFIG_ADAPTEC_STARFIRE=m
+# CONFIG_ADDRESS_MASKING is not set
# CONFIG_ADE7854 is not set
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
@@ -1275,6 +1276,7 @@ CONFIG_COMMON_CLK_SI5341=m
# CONFIG_COMMON_CLK_SI5351 is not set
CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_SI570 is not set
+CONFIG_COMMON_CLK_VC3=m
# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VC7=m
CONFIG_COMMON_CLK_XGENE=y
@@ -1297,6 +1299,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -1352,6 +1355,8 @@ CONFIG_CPU_THERMAL=y
# CONFIG_CRAMFS is not set
# CONFIG_CRAMFS_MTD is not set
CONFIG_CRASH_DUMP=y
+CONFIG_CRASH_HOTPLUG=y
+CONFIG_CRASH_MAX_MEMORY_RANGES=8192
CONFIG_CRC16=y
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC32_SARWATE is not set
@@ -1772,6 +1777,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
CONFIG_DMA_OF=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
@@ -1800,6 +1806,7 @@ CONFIG_DM_INIT=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=y
@@ -1934,6 +1941,7 @@ CONFIG_DRM_LONTIUM_LT8912B=m
# CONFIG_DRM_LONTIUM_LT9211 is not set
CONFIG_DRM_LONTIUM_LT9611=m
CONFIG_DRM_LONTIUM_LT9611UXC=m
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM_MALI_DISPLAY=m
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
@@ -2038,11 +2046,13 @@ CONFIG_DRM_PANEL_SITRONIX_ST7789V=m
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521=m
+CONFIG_DRM_PANEL_STARTEK_KD070FHFID015=m
# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
CONFIG_DRM_PANEL_TPO_TPG110=m
CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
+CONFIG_DRM_PANEL_VISIONOX_R66451=m
CONFIG_DRM_PANEL_VISIONOX_RM69299=m
CONFIG_DRM_PANEL_VISIONOX_VTDR6130=m
CONFIG_DRM_PANEL_WIDECHIPS_WS2401=m
@@ -2090,6 +2100,7 @@ CONFIG_DRM_TOSHIBA_TC358764=m
CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_TOSHIBA_TC358775=m
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
CONFIG_DRM_V3D=m
@@ -2298,6 +2309,7 @@ CONFIG_EROFS_FS=m
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP_DEFLATE=y
CONFIG_EROFS_FS_ZIP_LZMA=y
CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
@@ -2379,6 +2391,7 @@ CONFIG_FAT_KUNIT_TEST=m
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -2620,6 +2633,7 @@ CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
CONFIG_GPIO_DAVINCI=m
CONFIG_GPIO_DLN2=m
+CONFIG_GPIO_DS4520=m
CONFIG_GPIO_DWAPB=m
CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_FTGPIO010 is not set
@@ -2759,6 +2773,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
+CONFIG_HID_GOOGLE_STADIA_FF=m
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2978,6 +2993,7 @@ CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_AMD_MP2=m
CONFIG_I2C_APPLE=m
CONFIG_I2C_ARB_GPIO_CHALLENGE=m
+CONFIG_I2C_ATR=m
CONFIG_I2C_BCM2835=m
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_BRCMSTB=y
@@ -3421,6 +3437,7 @@ CONFIG_IONIC=m
CONFIG_IOSCHED_BFQ=y
CONFIG_IOSM=m
CONFIG_IO_STRICT_DEVMEM=y
+CONFIG_IO_URING=y
CONFIG_IP5XXX_POWER=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -3490,6 +3507,7 @@ CONFIG_IP_PIMSM_V2=y
# CONFIG_IPQ_APSS_6018 is not set
# CONFIG_IPQ_APSS_PLL is not set
# CONFIG_IPQ_GCC_4019 is not set
+CONFIG_IPQ_GCC_5018=m
# CONFIG_IPQ_GCC_5332 is not set
# CONFIG_IPQ_GCC_6018 is not set
# CONFIG_IPQ_GCC_806X is not set
@@ -3517,6 +3535,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+CONFIG_IPU_BRIDGE=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_ILA=m
CONFIG_IPV6_IOAM6_LWTUNNEL=y
@@ -3594,6 +3613,7 @@ CONFIG_IR_RC6_DECODER=m
CONFIG_IR_RCMM_DECODER=m
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
@@ -3808,11 +3828,13 @@ CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KUSER_HELPERS=y
+# CONFIG_KVM_PROVE_MMU is not set
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
CONFIG_KVM_XEN=y
@@ -3866,6 +3888,7 @@ CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GROUP_MULTICOLOR=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
# CONFIG_LEDS_KTD2692 is not set
@@ -3893,6 +3916,7 @@ CONFIG_LEDS_PCA9532_GPIO=y
CONFIG_LEDS_PCA9532=m
# CONFIG_LEDS_PCA955X is not set
CONFIG_LEDS_PCA963X=m
+CONFIG_LEDS_PCA995X=m
CONFIG_LEDS_PWM=m
CONFIG_LEDS_PWM_MULTICOLOR=m
CONFIG_LEDS_QCOM_FLASH=m
@@ -4045,9 +4069,11 @@ CONFIG_MAILBOX=y
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+CONFIG_MARVELL_88Q2XXX_PHY=m
CONFIG_MARVELL_88X2222_PHY=m
CONFIG_MARVELL_CN10K_DDR_PMU=m
CONFIG_MARVELL_CN10K_TAD_PMU=m
+CONFIG_MARVELL_GTI_WDT=y
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -4091,11 +4117,13 @@ CONFIG_MCP41010=m
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+CONFIG_MCP4728=m
# CONFIG_MCP4922 is not set
CONFIG_MCTP_SERIAL=m
# CONFIG_MCTP_TRANSPORT_I2C is not set
CONFIG_MCTP=y
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -4219,6 +4247,8 @@ CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
CONFIG_MFD_CROS_EC_DEV=m
+CONFIG_MFD_CS42L43_I2C=m
+CONFIG_MFD_CS42L43_SDW=m
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
@@ -4381,6 +4411,7 @@ CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -4773,6 +4804,7 @@ CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -5288,6 +5320,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -5340,6 +5373,7 @@ CONFIG_NVMEM_LAYOUT_SL28_VPD=m
CONFIG_NVMEM_MESON_EFUSE=m
CONFIG_NVMEM_MESON_MX_EFUSE=m
CONFIG_NVMEM_QCOM_QFPROM=m
+CONFIG_NVMEM_QCOM_SEC_QFPROM=m
CONFIG_NVMEM_REBOOT_MODE=m
CONFIG_NVMEM_RMEM=m
CONFIG_NVMEM_ROCKCHIP_EFUSE=m
@@ -5419,6 +5453,7 @@ CONFIG_ORINOCO_USB=m
CONFIG_OSF_PARTITION=y
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+# CONFIG_OVERLAY_FS_DEBUG is not set
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -5508,6 +5543,7 @@ CONFIG_PCC=y
CONFIG_PCI_AARDVARK=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_AL is not set
@@ -5590,6 +5626,7 @@ CONFIG_PCS_XPCS=m
CONFIG_PDC_ADMA=m
CONFIG_PDS_CORE=m
CONFIG_PDS_VDPA=m
+CONFIG_PDS_VFIO_PCI=m
# CONFIG_PECI is not set
# CONFIG_PERCPU_STATS is not set
# CONFIG_PERCPU_TEST is not set
@@ -5648,12 +5685,14 @@ CONFIG_PHY_QCOM_EUSB2_REPEATER=m
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
CONFIG_PHY_QCOM_PCIE2=m
CONFIG_PHY_QCOM_QMP_COMBO=m
CONFIG_PHY_QCOM_QMP=m
CONFIG_PHY_QCOM_QMP_PCIE_8996=m
CONFIG_PHY_QCOM_QMP_PCIE=m
CONFIG_PHY_QCOM_QMP_UFS=m
+CONFIG_PHY_QCOM_QMP_USB_LEGACY=m
CONFIG_PHY_QCOM_QMP_USB=m
CONFIG_PHY_QCOM_QUSB2=m
CONFIG_PHY_QCOM_SGMII_ETH=m
@@ -5675,6 +5714,8 @@ CONFIG_PHY_ROCKCHIP_PCIE=y
CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=m
CONFIG_PHY_ROCKCHIP_TYPEC=m
CONFIG_PHY_ROCKCHIP_USB=m
+CONFIG_PHY_RTK_RTD_USB2PHY=m
+CONFIG_PHY_RTK_RTD_USB3PHY=m
# CONFIG_PHY_SAMSUNG_USB2 is not set
CONFIG_PHY_SUN4I_USB=m
CONFIG_PHY_SUN50I_USB3=m
@@ -5692,6 +5733,7 @@ CONFIG_PID_NS=y
CONFIG_PINCONF=y
CONFIG_PINCTRL_ALDERLAKE=m
CONFIG_PINCTRL_AMD=y
+CONFIG_PINCTRL_AMLOGIC_C3=y
CONFIG_PINCTRL_APPLE_GPIO=m
CONFIG_PINCTRL_AS3722=y
CONFIG_PINCTRL_AXP209=m
@@ -5700,6 +5742,7 @@ CONFIG_PINCTRL_AXP209=m
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_CHERRYVIEW is not set
+CONFIG_PINCTRL_CS42L43=m
CONFIG_PINCTRL_CY8C95X0=m
CONFIG_PINCTRL_ELKHARTLAKE=m
CONFIG_PINCTRL_EMMITSBURG=m
@@ -5777,6 +5820,7 @@ CONFIG_PINCTRL_SDM845=m
# CONFIG_PINCTRL_SDX75 is not set
CONFIG_PINCTRL_SINGLE=y
# CONFIG_PINCTRL_SM6115 is not set
+# CONFIG_PINCTRL_SM6115_LPASS_LPI is not set
# CONFIG_PINCTRL_SM6125 is not set
# CONFIG_PINCTRL_SM6350 is not set
# CONFIG_PINCTRL_SM6375 is not set
@@ -5785,6 +5829,7 @@ CONFIG_PINCTRL_SINGLE=y
# CONFIG_PINCTRL_SM8250 is not set
CONFIG_PINCTRL_SM8250_LPASS_LPI=m
# CONFIG_PINCTRL_SM8350 is not set
+CONFIG_PINCTRL_SM8350_LPASS_LPI=m
CONFIG_PINCTRL_SM8450_LPASS_LPI=m
CONFIG_PINCTRL_SM8450=m
# CONFIG_PINCTRL_SM8550 is not set
@@ -5948,6 +5993,7 @@ CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS_DEFAULT is not set
CONFIG_PSTORE_842_COMPRESS=y
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -5969,6 +6015,7 @@ CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK_QORIQ=m
@@ -6140,6 +6187,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -6201,6 +6249,7 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP_MMIO=y
@@ -6212,6 +6261,7 @@ CONFIG_REGULATOR_ACT8865=m
CONFIG_REGULATOR_ANATOP=m
CONFIG_REGULATOR_ARM_SCMI=m
CONFIG_REGULATOR_AS3722=m
+CONFIG_REGULATOR_AW37503=m
CONFIG_REGULATOR_AXP20X=m
CONFIG_REGULATOR_BD718XX=m
CONFIG_REGULATOR_BD9571MWV=m
@@ -6239,12 +6289,14 @@ CONFIG_REGULATOR_HI655X=m
# CONFIG_REGULATOR_MAX1586 is not set
# CONFIG_REGULATOR_MAX20086 is not set
CONFIG_REGULATOR_MAX20411=m
+CONFIG_REGULATOR_MAX5970=m
CONFIG_REGULATOR_MAX597X=m
CONFIG_REGULATOR_MAX77620=y
CONFIG_REGULATOR_MAX77650=m
CONFIG_REGULATOR_MAX77686=m
CONFIG_REGULATOR_MAX77802=m
# CONFIG_REGULATOR_MAX77826 is not set
+CONFIG_REGULATOR_MAX77857=m
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
CONFIG_REGULATOR_MAX8893=m
@@ -6266,6 +6318,7 @@ CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_PV88090 is not set
CONFIG_REGULATOR_PWM=y
CONFIG_REGULATOR_QCOM_LABIBB=m
+CONFIG_REGULATOR_QCOM_REFGEN=m
CONFIG_REGULATOR_QCOM_RPMH=y
# CONFIG_REGULATOR_QCOM_RPM is not set
CONFIG_REGULATOR_QCOM_SMD_RPM=m
@@ -6286,6 +6339,7 @@ CONFIG_REGULATOR_RT6190=m
CONFIG_REGULATOR_RT6245=m
CONFIG_REGULATOR_RTMV20=m
CONFIG_REGULATOR_RTQ2134=m
+CONFIG_REGULATOR_RTQ2208=m
CONFIG_REGULATOR_RTQ6752=m
# CONFIG_REGULATOR_SLG51000 is not set
CONFIG_REGULATOR_SY7636A=m
@@ -6345,8 +6399,7 @@ CONFIG_RESOURCE_KUNIT_TEST=m
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-# CONFIG_RH_DISABLE_DEPRECATED is not set
-CONFIG_RH_FEDORA=y
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RICHTEK_RTQ6056=m
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
@@ -6829,6 +6882,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -6906,6 +6960,7 @@ CONFIG_SENSORS_GPIO_FAN=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
CONFIG_SENSORS_HP_WMI=m
+CONFIG_SENSORS_HS3001=m
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
# CONFIG_SENSORS_IBM_CFFPS is not set
@@ -6992,6 +7047,7 @@ CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_MLXREG_FAN=m
CONFIG_SENSORS_MP2888=m
CONFIG_SENSORS_MP2975=m
+CONFIG_SENSORS_MP2975_REGULATOR=y
CONFIG_SENSORS_MP5023=m
CONFIG_SENSORS_MPQ7932=m
CONFIG_SENSORS_MPQ7932_REGULATOR=y
@@ -7363,6 +7419,9 @@ CONFIG_SND_HDA_PREALLOC_SIZE=2048
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
+CONFIG_SND_HDA_SCODEC_CS35L56_I2C=m
+CONFIG_SND_HDA_SCODEC_CS35L56_SPI=m
+CONFIG_SND_HDA_SCODEC_TAS2781_I2C=m
CONFIG_SND_HDA_TEGRA=m
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
@@ -7484,7 +7543,9 @@ CONFIG_SND_SOC_AK5558=m
CONFIG_SND_SOC_APPLE_MCA=m
CONFIG_SND_SOC_APQ8016_SBC=m
CONFIG_SND_SOC_ARNDALE=m
+CONFIG_SND_SOC_AUDIO_IIO_AUX=m
CONFIG_SND_SOC_AW8738=m
+CONFIG_SND_SOC_AW88261=m
CONFIG_SND_SOC_AW88395=m
CONFIG_SND_SOC_BD28623=m
CONFIG_SND_SOC_BT_SCO=m
@@ -7510,6 +7571,8 @@ CONFIG_SND_SOC_CS4271_I2C=m
# CONFIG_SND_SOC_CS4271_SPI is not set
CONFIG_SND_SOC_CS42L42=m
CONFIG_SND_SOC_CS42L42_SDW=m
+CONFIG_SND_SOC_CS42L43=m
+CONFIG_SND_SOC_CS42L43_SDW=m
# CONFIG_SND_SOC_CS42L51_I2C is not set
# CONFIG_SND_SOC_CS42L52 is not set
# CONFIG_SND_SOC_CS42L56 is not set
@@ -7701,6 +7764,7 @@ CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
CONFIG_SND_SOC_ROCKCHIP_PDM=m
CONFIG_SND_SOC_ROCKCHIP_RT5645=m
CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
+CONFIG_SND_SOC_RT1017_SDCA_SDW=m
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -7846,6 +7910,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
CONFIG_SND_SOC_TLV320AIC3X_I2C=m
CONFIG_SND_SOC_TLV320AIC3X=m
CONFIG_SND_SOC_TLV320AIC3X_SPI=m
+# CONFIG_SND_SOC_TOPOLOGY_BUILD is not set
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
CONFIG_SND_SOC_TPA6130A2=m
CONFIG_SND_SOC_TS3A227E=m
@@ -7987,6 +8052,7 @@ CONFIG_SPI_BITBANG=m
CONFIG_SPI_CADENCE=m
CONFIG_SPI_CADENCE_QUADSPI=m
CONFIG_SPI_CADENCE_XSPI=m
+# CONFIG_SPI_CS42L43 is not set
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_DESIGNWARE=m
CONFIG_SPI_DLN2=m
@@ -8130,6 +8196,7 @@ CONFIG_ST_UVIS25=m
CONFIG_ST_UVIS25_SPI=m
# CONFIG_SUN20I_D1_CCU is not set
# CONFIG_SUN20I_D1_R_CCU is not set
+CONFIG_SUN20I_GPADC=m
# CONFIG_SUN20I_PPU is not set
# CONFIG_SUN4I_EMAC is not set
CONFIG_SUN50I_A100_CCU=y
@@ -8184,6 +8251,7 @@ CONFIG_SURFACE_PRO3_BUTTON=m
CONFIG_SUSPEND=y
CONFIG_SVC_I3C_MASTER=m
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_SWP_EMULATION=y
# CONFIG_SW_SYNC is not set
CONFIG_SX9310=m
@@ -8319,6 +8387,7 @@ CONFIG_TEST_CPUMASK=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
@@ -8402,6 +8471,8 @@ CONFIG_TIFM_7XX1=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+# CONFIG_TI_ICSSG_PRUETH is not set
+CONFIG_TI_ICSS_IEP=m
CONFIG_TI_K3_AM65_CPSW_NUSS=m
CONFIG_TI_K3_AM65_CPSW_SWITCHDEV=y
CONFIG_TI_K3_AM65_CPTS=m
@@ -8441,6 +8512,7 @@ CONFIG_TI_SCI_PM_DOMAINS=y
CONFIG_TI_SCI_PROTOCOL=y
# CONFIG_TI_ST is not set
CONFIG_TI_SYSCON_CLK=m
+CONFIG_TI_SYSC=y
# CONFIG_TI_TLC4541 is not set
# CONFIG_TI_TMAG5273 is not set
CONFIG_TI_TSC2046=m
@@ -8453,6 +8525,7 @@ CONFIG_TMP006=m
CONFIG_TMP117=m
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_QUOTA=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
CONFIG_TORTURE_TEST=m
@@ -8498,6 +8571,7 @@ CONFIG_TOUCHSCREEN_IMAGIS=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
CONFIG_TOUCHSCREEN_IQS5XX=m
+CONFIG_TOUCHSCREEN_IQS7211=m
# CONFIG_TOUCHSCREEN_MAX11801 is not set
CONFIG_TOUCHSCREEN_MCS5000=m
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -8724,6 +8798,7 @@ CONFIG_USB_CONFIGFS_EEM=y
# CONFIG_USB_CONFIGFS_F_FS is not set
CONFIG_USB_CONFIGFS_F_HID=y
# CONFIG_USB_CONFIGFS_F_LB_SS is not set
+CONFIG_USB_CONFIGFS_F_MIDI2=y
# CONFIG_USB_CONFIGFS_F_MIDI is not set
# CONFIG_USB_CONFIGFS_F_PRINTER is not set
CONFIG_USB_CONFIGFS_F_TCM=y
@@ -9118,7 +9193,9 @@ CONFIG_VFAT_FS=m
CONFIG_VFIO_AMBA=m
CONFIG_VFIO_CDX=m
CONFIG_VFIO_CONTAINER=y
+# CONFIG_VFIO_DEVICE_CDEV is not set
CONFIG_VFIO_FSL_MC=m
+CONFIG_VFIO_GROUP=y
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO=m
CONFIG_VFIO_MDEV=m
@@ -9193,9 +9270,13 @@ CONFIG_VIDEO_CX88_ENABLE_VP3054=y
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_VP3054=m
CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_DS90UB913=m
+CONFIG_VIDEO_DS90UB953=m
+CONFIG_VIDEO_DS90UB960=m
# CONFIG_VIDEO_DT3155 is not set
CONFIG_VIDEO_DW100=m
CONFIG_VIDEO_DW9714=m
+CONFIG_VIDEO_DW9719=m
CONFIG_VIDEO_DW9768=m
CONFIG_VIDEO_DW9807_VCM=m
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -9569,6 +9650,7 @@ CONFIG_XDP_SOCKETS=y
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
# CONFIG_XEN is not set
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
+CONFIG_XEN_PRIVCMD_IRQFD=y
CONFIG_XEN_PRIVCMD=m
# CONFIG_XEN_PVCALLS_FRONTEND is not set
CONFIG_XEN_PVHVM_GUEST=y
@@ -9586,6 +9668,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -9685,7 +9768,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-aarch64-64k-debug-rhel.config b/SOURCES/kernel-aarch64-64k-debug-rhel.config
index c521c35..8d8728a 100644
--- a/SOURCES/kernel-aarch64-64k-debug-rhel.config
+++ b/SOURCES/kernel-aarch64-64k-debug-rhel.config
@@ -215,7 +215,6 @@ CONFIG_AMD_HSMP=m
# CONFIG_AMD_IOMMU_DEBUGFS is not set
CONFIG_AMD_PHY=m
CONFIG_AMD_PMC=m
-# CONFIG_AMD_PMF is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_AMDTEE is not set
# CONFIG_AMD_XGBE_DCB is not set
@@ -249,9 +248,9 @@ CONFIG_ARCH_BCM_IPROC=y
# CONFIG_ARCH_EXYNOS is not set
CONFIG_ARCH_HISI=y
# CONFIG_ARCH_INTEL_SOCFPGA is not set
-# CONFIG_ARCH_K3 is not set
+CONFIG_ARCH_K3=y
# CONFIG_ARCH_KEEMBAY is not set
-# CONFIG_ARCH_LAYERSCAPE is not set
+CONFIG_ARCH_LAYERSCAPE=y
# CONFIG_ARCH_LG1K is not set
# CONFIG_ARCH_MA35 is not set
# CONFIG_ARCH_MEDIATEK is not set
@@ -405,6 +404,7 @@ CONFIG_ARM_SPE_PMU=m
# CONFIG_ARM_TEGRA186_CPUFREQ is not set
CONFIG_ARM_TEGRA194_CPUFREQ=m
CONFIG_ARM_TEGRA_DEVFREQ=m
+CONFIG_ARM_TI_CPUFREQ=y
# CONFIG_AS3935 is not set
# CONFIG_AS73211 is not set
CONFIG_ASN1=y
@@ -923,6 +923,7 @@ CONFIG_CLK_IMX8QXP=y
CONFIG_CLK_IMX8ULP=y
CONFIG_CLK_IMX93=y
CONFIG_CLK_KUNIT_TEST=m
+CONFIG_CLK_LS1028A_PLLDIG=y
# CONFIG_CLK_QORIQ is not set
CONFIG_CLK_SP810=y
CONFIG_CLK_VEXPRESS_OSC=y
@@ -960,6 +961,7 @@ CONFIG_COMMAND_LINE_SIZE=4096
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
# CONFIG_COMMON_CLK_FSL_FLEXSPI is not set
+CONFIG_COMMON_CLK_FSL_SAI=y
CONFIG_COMMON_CLK_HI3516CV300=y
CONFIG_COMMON_CLK_HI3519=y
# CONFIG_COMMON_CLK_HI3559A is not set
@@ -981,6 +983,7 @@ CONFIG_COMMON_CLK_SCPI=m
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
CONFIG_COMMON_CLK_XGENE=y
@@ -1001,6 +1004,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -1082,8 +1086,8 @@ CONFIG_CRYPTO_AES_ARM64_BS=m
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
CONFIG_CRYPTO_AES_ARM64_CE=y
-# CONFIG_CRYPTO_AES_ARM64 is not set
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
+CONFIG_CRYPTO_AES_ARM64=y
CONFIG_CRYPTO_AES_GCM_P10=y
# CONFIG_CRYPTO_AES_TI is not set
CONFIG_CRYPTO_AES=y
@@ -1101,6 +1105,7 @@ CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20_NEON=y
+# CONFIG_CRYPTO_CHACHA20_P10 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=y
# CONFIG_CRYPTO_CRC32C_VPMSUM is not set
@@ -1139,6 +1144,7 @@ CONFIG_CRYPTO_DEV_FSL_CAAM_PRNG_API=y
CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=3
CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y
# CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_TEST is not set
+CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m
# CONFIG_CRYPTO_DEV_HISI_HPRE is not set
# CONFIG_CRYPTO_DEV_HISI_SEC2 is not set
CONFIG_CRYPTO_DEV_HISI_SEC=m
@@ -1158,6 +1164,7 @@ CONFIG_CRYPTO_DEV_OCTEONTX2_CPT=m
# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set
# CONFIG_CRYPTO_DEV_QCE is not set
# CONFIG_CRYPTO_DEV_QCOM_RNG is not set
+CONFIG_CRYPTO_DEV_SA2UL=m
# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
# CONFIG_CRYPTO_DEV_SAHARA is not set
CONFIG_CRYPTO_DEV_SP_CCP=y
@@ -1209,6 +1216,7 @@ CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_POLY1305=m
CONFIG_CRYPTO_POLY1305_NEON=y
+# CONFIG_CRYPTO_POLY1305_P10 is not set
# CONFIG_CRYPTO_POLYVAL_ARM64_CE is not set
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
CONFIG_CRYPTO_RMD160=m
@@ -1420,6 +1428,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1442,6 +1451,7 @@ CONFIG_DMIID=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=m
@@ -1473,6 +1483,7 @@ CONFIG_DP83867_PHY=m
# CONFIG_DP83869_PHY is not set
CONFIG_DP83TC811_PHY=m
# CONFIG_DP83TD510_PHY is not set
+CONFIG_DPAA2_CONSOLE=m
# CONFIG_DPM_WATCHDOG is not set
# CONFIG_DPOT_DAC is not set
# CONFIG_DPS310 is not set
@@ -1564,6 +1575,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MALI_DISPLAY is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
@@ -1641,6 +1653,7 @@ CONFIG_DRM_SIMPLEDRM=y
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1782,6 +1795,7 @@ CONFIG_EDAC_DMC520=m
CONFIG_EDAC_GHES=y
CONFIG_EDAC_I10NM=m
CONFIG_EDAC_IGEN6=m
+CONFIG_EDAC_LAYERSCAPE=m
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_PND2=m
CONFIG_EDAC_SYNOPSYS=m
@@ -1901,6 +1915,7 @@ CONFIG_FAULT_INJECTION=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -1989,7 +2004,15 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
# CONFIG_FS_ENCRYPTION is not set
# CONFIG_FSI is not set
+# CONFIG_FSL_BMAN_TEST is not set
+CONFIG_FSL_DPAA2_ETH_DCB=y
+CONFIG_FSL_DPAA2_ETH=m
+CONFIG_FSL_DPAA2_PTP_CLOCK=m
+CONFIG_FSL_DPAA2_QDMA=m
CONFIG_FSL_DPAA2_SWITCH=m
+# CONFIG_FSL_DPAA_CHECKING is not set
+CONFIG_FSL_DPAA_ETH=m
+CONFIG_FSL_DPAA=y
# CONFIG_FSL_EDMA is not set
CONFIG_FSL_ENETC_IERB=m
CONFIG_FSL_ENETC=m
@@ -1998,10 +2021,15 @@ CONFIG_FSL_ENETC_PTP_CLOCK=m
CONFIG_FSL_ENETC_QOS=y
CONFIG_FSL_ENETC_VF=m
CONFIG_FSL_ERRATUM_A008585=y
+CONFIG_FSL_FMAN=y
CONFIG_FSL_IMX8_DDR_PMU=m
# CONFIG_FSL_IMX9_DDR_PMU is not set
+CONFIG_FSL_MC_BUS=y
+CONFIG_FSL_MC_DPIO=m
+CONFIG_FSL_MC_UAPI_SUPPORT=y
CONFIG_FSL_PQ_MDIO=m
# CONFIG_FSL_QDMA is not set
+# CONFIG_FSL_QMAN_TEST is not set
# CONFIG_FSL_RCPM is not set
CONFIG_FSL_XGMAC_MDIO=m
CONFIG_FSNOTIFY=y
@@ -2097,6 +2125,8 @@ CONFIG_GNSS=m
# CONFIG_GPIO_CADENCE is not set
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_DAVINCI=y
+# CONFIG_GPIO_DS4520 is not set
CONFIG_GPIO_DWAPB=m
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_EXAR is not set
@@ -2125,6 +2155,7 @@ CONFIG_GPIO_MLXBF2=m
# CONFIG_GPIO_MLXBF3 is not set
# CONFIG_GPIO_MLXBF is not set
# CONFIG_GPIO_MOCKUP is not set
+CONFIG_GPIO_MPC8XXX=y
CONFIG_GPIO_MXC=m
# CONFIG_GPIO_PCA953X_IRQ is not set
# CONFIG_GPIO_PCA953X is not set
@@ -2226,6 +2257,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_GOOGLE_HAMMER is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2382,15 +2414,17 @@ CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
CONFIG_HW_RANDOM_CAVIUM=m
# CONFIG_HW_RANDOM_CCTRNG is not set
CONFIG_HW_RANDOM_CN10K=m
-CONFIG_HW_RANDOM_HISI=y
+CONFIG_HW_RANDOM_HISI=m
# CONFIG_HW_RANDOM_HISTB is not set
# CONFIG_HW_RANDOM_IPROC_RNG200 is not set
+CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM_XGENE=m
# CONFIG_HW_RANDOM_XIPHERA is not set
CONFIG_HW_RANDOM=y
+CONFIG_HWSPINLOCK_OMAP=m
# CONFIG_HWSPINLOCK_QCOM is not set
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -2420,6 +2454,7 @@ CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
CONFIG_I2C_ARB_GPIO_CHALLENGE=m
+# CONFIG_I2C_ATR is not set
# CONFIG_I2C_BCM_IPROC is not set
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
@@ -2466,6 +2501,7 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NOMADIK is not set
# CONFIG_I2C_NVIDIA_GPU is not set
# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OMAP=m
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PCI1XXXX is not set
# CONFIG_I2C_PIIX4 is not set
@@ -2669,7 +2705,7 @@ CONFIG_INPUT_APANEL=m
# CONFIG_INPUT_ATI_REMOTE2 is not set
CONFIG_INPUT_ATLAS_BTNS=m
# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
-# CONFIG_INPUT_BBNSM_PWRKEY is not set
+CONFIG_INPUT_BBNSM_PWRKEY=m
# CONFIG_INPUT_BMA150 is not set
# CONFIG_INPUT_CM109 is not set
# CONFIG_INPUT_CMA3000 is not set
@@ -2763,6 +2799,7 @@ CONFIG_INTEL_SDSI=m
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
+# CONFIG_INTEL_VSC is not set
# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
CONFIG_INTEL_WMI_THUNDERBOLT=m
CONFIG_INTEL_XWAY_PHY=m
@@ -2797,7 +2834,7 @@ CONFIG_IOSCHED_BFQ=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_IOSM=m
# CONFIG_IO_STRICT_DEVMEM is not set
-# CONFIG_IO_URING is not set
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2883,6 +2920,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+# CONFIG_IPU_BRIDGE is not set
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
@@ -2959,6 +2997,7 @@ CONFIG_IR_RC6_DECODER=m
# CONFIG_IR_RCMM_DECODER is not set
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
# CONFIG_IR_SERIAL is not set
CONFIG_IR_SERIAL_TRANSMITTER=y
# CONFIG_IR_SHARP_DECODER is not set
@@ -3014,6 +3053,8 @@ CONFIG_JOLIET=y
# CONFIG_JSA1212 is not set
CONFIG_JUMP_LABEL=y
# CONFIG_K3_DMA is not set
+CONFIG_K3_RTI_WATCHDOG=m
+CONFIG_K3_THERMAL=m
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
# CONFIG_KALLSYMS_SELFTEST is not set
@@ -3107,13 +3148,15 @@ CONFIG_KPROBES=y
CONFIG_KSM=y
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KVM_AMD_SEV=y
# CONFIG_KVM_BOOK3S_HV_P8_TIMING is not set
# CONFIG_KVM_BOOK3S_HV_P9_TIMING is not set
+CONFIG_KVM_PROVE_MMU=y
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
# CONFIG_KVM_XEN is not set
@@ -3186,6 +3229,7 @@ CONFIG_LEDS_MLXCPLD=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_RT4505 is not set
@@ -3327,9 +3371,11 @@ CONFIG_MAILBOX=y
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
CONFIG_MARVELL_CN10K_DDR_PMU=m
CONFIG_MARVELL_CN10K_TAD_PMU=m
+CONFIG_MARVELL_GTI_WDT=y
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -3371,9 +3417,11 @@ CONFIG_MAX_SKB_FRAGS=17
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
# CONFIG_MCP4922 is not set
# CONFIG_MCTP is not set
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
# CONFIG_MDIO_BCM_IPROC is not set
@@ -3430,6 +3478,7 @@ CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
CONFIG_MEMCPY_KUNIT_TEST=m
CONFIG_MEMCPY_SLOW_KUNIT_TEST=y
+CONFIG_MEMFD_CREATE=y
CONFIG_MEMORY_FAILURE=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTPLUG=y
@@ -3464,6 +3513,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_CS42L43_SDW is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9055 is not set
@@ -3615,6 +3666,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_FPGA=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -3857,6 +3909,9 @@ CONFIG_MTD_UBI=m
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTK_T7XX=m
CONFIG_MULTIUSER=y
+CONFIG_MUX_ADG792A=m
+# CONFIG_MUX_ADGS1408 is not set
+CONFIG_MUX_GPIO=m
# CONFIG_MVMDIO is not set
# CONFIG_MV_XOR_V2 is not set
# CONFIG_MWAVE is not set
@@ -3916,6 +3971,7 @@ CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4344,6 +4400,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4391,9 +4448,11 @@ CONFIG_NVME_FC=m
# CONFIG_NVMEM_IMX_IIM is not set
# CONFIG_NVMEM_IMX_OCOTP_ELE is not set
CONFIG_NVMEM_IMX_OCOTP=m
+CONFIG_NVMEM_LAYERSCAPE_SFP=m
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_QCOM_QFPROM is not set
+# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_NVMEM_RMEM is not set
# CONFIG_NVMEM_SNVS_LPGPR is not set
@@ -4429,6 +4488,11 @@ CONFIG_OF_MDIO=y
CONFIG_OF_PMEM=m
# CONFIG_OF_UNITTEST is not set
CONFIG_OF=y
+CONFIG_OMAP2PLUS_MBOX=m
+CONFIG_OMAP_DM_TIMER=y
+# CONFIG_OMAP_GPMC is not set
+CONFIG_OMAP_MBOX_KFIFO_SIZE=256
+CONFIG_OMAP_USB2=m
# CONFIG_OMFS_FS is not set
# CONFIG_OPAL_CORE is not set
# CONFIG_OPEN_DICE is not set
@@ -4443,6 +4507,7 @@ CONFIG_OPENVSWITCH_VXLAN=m
# CONFIG_OSF_PARTITION is not set
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+CONFIG_OVERLAY_FS_DEBUG=y
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4523,6 +4588,7 @@ CONFIG_PCC=y
# CONFIG_PCI200SYN is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_AL is not set
@@ -4570,6 +4636,8 @@ CONFIG_PCI_IMX6_HOST=y
CONFIG_PCI_IMX6=y
CONFIG_PCI_IOV=y
# CONFIG_PCI_J721E_HOST is not set
+CONFIG_PCI_KEYSTONE_HOST=y
+CONFIG_PCI_LAYERSCAPE=y
# CONFIG_PCI_MESON is not set
CONFIG_PCI_MSI=y
CONFIG_PCI_P2PDMA=y
@@ -4602,6 +4670,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PER_VMA_LOCK_STATS=y
# CONFIG_PHANTOM is not set
# CONFIG_PHONET is not set
+CONFIG_PHY_AM654_SERDES=m
# CONFIG_PHY_BCM_NS_USB2 is not set
# CONFIG_PHY_BCM_NS_USB3 is not set
# CONFIG_PHY_BCM_SR_PCIE is not set
@@ -4623,9 +4692,10 @@ CONFIG_PHY_FSL_IMX8MQ_USB=m
CONFIG_PHY_HI6220_USB=m
# CONFIG_PHY_HISI_INNO_USB2 is not set
# CONFIG_PHY_HISTB_COMBPHY is not set
+CONFIG_PHY_J721E_WIZ=m
# CONFIG_PHY_LAN966X_SERDES is not set
CONFIG_PHYLIB=y
-CONFIG_PHYLINK=m
+CONFIG_PHYLINK=y
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
# CONFIG_PHY_MIXEL_LVDS_PHY is not set
# CONFIG_PHY_MIXEL_MIPI_DPHY is not set
@@ -4639,6 +4709,7 @@ CONFIG_PHY_NS2_USB_DRD=y
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
# CONFIG_PHY_QCOM_PCIE2 is not set
# CONFIG_PHY_QCOM_QMP is not set
# CONFIG_PHY_QCOM_QUSB2 is not set
@@ -4649,6 +4720,8 @@ CONFIG_PHY_NS2_USB_DRD=y
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+# CONFIG_PHY_RTK_RTD_USB2PHY is not set
+# CONFIG_PHY_RTK_RTD_USB3PHY is not set
CONFIG_PHY_TEGRA194_P2U=y
CONFIG_PHY_TEGRA_XUSB=m
# CONFIG_PHY_TUSB1210 is not set
@@ -4829,6 +4902,7 @@ CONFIG_PSI_DEFAULT_DISABLED=y
CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS is not set
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -4848,6 +4922,7 @@ CONFIG_PTE_MARKER_UFFD_WP=y
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_QORIQ=m
CONFIG_PTP_1588_CLOCK=y
@@ -4865,8 +4940,11 @@ CONFIG_PWM_BCM_IPROC=y
# CONFIG_PWM_IMX1 is not set
CONFIG_PWM_IMX27=m
CONFIG_PWM_IMX_TPM=m
+CONFIG_PWM_OMAP_DMTIMER=y
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM_TEGRA=y
+CONFIG_PWM_TIECAP=m
+CONFIG_PWM_TIEHRPWM=m
# CONFIG_PWM_XILINX is not set
CONFIG_PWM=y
# CONFIG_PWRSEQ_EMMC is not set
@@ -4962,6 +5040,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MEMORY=y
CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -5006,6 +5085,7 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
@@ -5013,6 +5093,7 @@ CONFIG_REGMAP=y
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
# CONFIG_REGULATOR_ARM_SCMI is not set
+# CONFIG_REGULATOR_AW37503 is not set
CONFIG_REGULATOR_BD718XX=m
# CONFIG_REGULATOR_DA9121 is not set
# CONFIG_REGULATOR_DA9210 is not set
@@ -5036,6 +5117,7 @@ CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_MAX77620=y
CONFIG_REGULATOR_MAX77686=m
# CONFIG_REGULATOR_MAX77826 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8893 is not set
@@ -5054,6 +5136,7 @@ CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_PWM is not set
+# CONFIG_REGULATOR_QCOM_REFGEN is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
# CONFIG_REGULATOR_RT4801 is not set
@@ -5066,6 +5149,7 @@ CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_RT6245 is not set
# CONFIG_REGULATOR_RTMV20 is not set
# CONFIG_REGULATOR_RTQ2134 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_RTQ6752 is not set
# CONFIG_REGULATOR_SLG51000 is not set
# CONFIG_REGULATOR_SY8106A is not set
@@ -5100,6 +5184,7 @@ CONFIG_RESET_IMX7=y
# CONFIG_RESET_QCOM_PDC is not set
# CONFIG_RESET_SCMI is not set
# CONFIG_RESET_SIMPLE is not set
+CONFIG_RESET_TI_SCI=m
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RESET_TI_TPS380X is not set
CONFIG_RESOURCE_KUNIT_TEST=m
@@ -5109,7 +5194,6 @@ CONFIG_RETPOLINE=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RH_DISABLE_DEPRECATED=y
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RICHTEK_RTQ6056 is not set
CONFIG_RING_BUFFER_BENCHMARK=m
@@ -5203,6 +5287,7 @@ CONFIG_RTC_DRV_DS3232=m
CONFIG_RTC_DRV_EFI=y
CONFIG_RTC_DRV_EM3027=m
CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_FSL_FTM_ALARM=m
# CONFIG_RTC_DRV_FTRTC010 is not set
# CONFIG_RTC_DRV_GOLDFISH is not set
# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
@@ -5257,6 +5342,7 @@ CONFIG_RTC_DRV_RX8581=m
CONFIG_RTC_DRV_STK17TA8=m
# CONFIG_RTC_DRV_TEGRA is not set
# CONFIG_RTC_DRV_TEST is not set
+CONFIG_RTC_DRV_TI_K3=m
CONFIG_RTC_DRV_V3020=m
CONFIG_RTC_DRV_X1205=m
# CONFIG_RTC_DRV_XGENE is not set
@@ -5480,6 +5566,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5489,6 +5576,7 @@ CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_YAMA=y
+# CONFIG_SEL3350_PLATFORM is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
@@ -5566,6 +5654,7 @@ CONFIG_SENSORS_G762=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_HP_WMI is not set
+# CONFIG_SENSORS_HS3001 is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_IBMAEM is not set
# CONFIG_SENSORS_IBM_CFFPS is not set
@@ -5747,6 +5836,8 @@ CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y
+CONFIG_SERIAL_8250_OMAP=y
CONFIG_SERIAL_8250_PCI1XXXX=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PERICOM=y
@@ -6065,7 +6156,9 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_AMD_YC_MACH is not set
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set
# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88261 is not set
# CONFIG_SND_SOC_AW88395 is not set
# CONFIG_SND_SOC_BD28623 is not set
# CONFIG_SND_SOC_BT_SCO is not set
@@ -6082,7 +6175,6 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_CS35L45_I2C is not set
# CONFIG_SND_SOC_CS35L45_SPI is not set
# CONFIG_SND_SOC_CS35L56_I2C is not set
-# CONFIG_SND_SOC_CS35L56_SDW is not set
# CONFIG_SND_SOC_CS35L56_SPI is not set
# CONFIG_SND_SOC_CS4234 is not set
# CONFIG_SND_SOC_CS4265 is not set
@@ -6147,6 +6239,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_ES8336 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A is not set
@@ -6157,6 +6250,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT274 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT286 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT298 is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567 is not set
# CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH is not set
@@ -6276,6 +6370,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+# CONFIG_SND_SOC_RT1017_SDCA_SDW is not set
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -6335,6 +6430,7 @@ CONFIG_SND_SOC_SOF_HDA_PROBES=m
# CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL is not set
# CONFIG_SND_SOC_SOF_JASPERLAKE is not set
# CONFIG_SND_SOC_SOF_KABYLAKE is not set
+CONFIG_SND_SOC_SOF_LUNARLAKE=m
# CONFIG_SND_SOC_SOF_MERRIFIELD is not set
# CONFIG_SND_SOC_SOF_METEORLAKE is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -6405,6 +6501,7 @@ CONFIG_SND_SOC_SOF_TOPLEVEL=y
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+CONFIG_SND_SOC_TOPOLOGY_BUILD=y
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
@@ -6496,7 +6593,7 @@ CONFIG_SOC_IMX8M=y
CONFIG_SOC_IMX9=m
# CONFIG_SOCIONEXT_SYNQUACER_PREITS is not set
CONFIG_SOC_TEGRA_CBB=m
-# CONFIG_SOC_TI is not set
+CONFIG_SOC_TI=y
CONFIG_SOFTLOCKUP_DETECTOR=y
CONFIG_SOFT_WATCHDOG=m
# CONFIG_SOLARIS_X86_PARTITION is not set
@@ -6536,6 +6633,7 @@ CONFIG_SPI_AMD=y
# CONFIG_SPI_CADENCE_XSPI is not set
CONFIG_SPI_DEBUG=y
# CONFIG_SPI_DESIGNWARE is not set
+CONFIG_SPI_FSL_DSPI=y
CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_FSL_QUADSPI=m
# CONFIG_SPI_FSL_SPI is not set
@@ -6554,6 +6652,7 @@ CONFIG_SPI_MEM=y
# CONFIG_SPI_MXIC is not set
CONFIG_SPI_NXP_FLEXSPI=m
# CONFIG_SPI_OC_TINY is not set
+CONFIG_SPI_OMAP24XX=m
CONFIG_SPI_PCI1XXXX=m
CONFIG_SPI_PL022=m
# CONFIG_SPI_PXA2XX is not set
@@ -6655,6 +6754,7 @@ CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_SUSPEND=y
CONFIG_SVC_I3C_MASTER=m
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
# CONFIG_SW_SYNC is not set
# CONFIG_SX9310 is not set
# CONFIG_SX9324 is not set
@@ -6773,6 +6873,7 @@ CONFIG_TEST_FPU=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=m
@@ -6849,6 +6950,9 @@ CONFIG_THUNDERX2_PMU=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+CONFIG_TI_K3_RINGACC=y
+CONFIG_TI_K3_UDMA_GLUE_LAYER=y
+CONFIG_TI_K3_UDMA=y
# CONFIG_TI_LMP92064 is not set
CONFIG_TIME_KUNIT_TEST=m
CONFIG_TIME_NS=y
@@ -6868,7 +6972,13 @@ CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_IB=y
CONFIG_TIPC_MEDIA_UDP=y
+CONFIG_TI_PRUSS=m
+CONFIG_TI_SCI_CLK=m
+# CONFIG_TI_SCI_CLK_PROBE_FROM_FW is not set
+CONFIG_TI_SCI_PM_DOMAINS=m
# CONFIG_TI_ST is not set
+CONFIG_TI_SYSCON_CLK=m
+CONFIG_TI_SYSC=y
# CONFIG_TI_TLC4541 is not set
# CONFIG_TI_TMAG5273 is not set
# CONFIG_TI_TSC2046 is not set
@@ -6881,6 +6991,7 @@ CONFIG_TLS=m
# CONFIG_TMP117 is not set
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_TMPFS_QUOTA is not set
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_TOOLCHAIN_DEFAULT_CPU is not set
@@ -6925,6 +7036,7 @@ CONFIG_TORTURE_TEST=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -7089,8 +7201,10 @@ CONFIG_USB_CXACRU=m
CONFIG_USB_DEFAULT_PERSIST=y
# CONFIG_USB_DSBR is not set
# CONFIG_USB_DWC2 is not set
+CONFIG_USB_DWC3_AM62=m
CONFIG_USB_DWC3_IMX8MP=m
# CONFIG_USB_DWC3 is not set
+CONFIG_USB_DWC3_KEYSTONE=m
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_EHCI_FSL is not set
CONFIG_USB_EHCI_HCD_PLATFORM=m
@@ -7374,6 +7488,7 @@ CONFIG_VEXPRESS_CONFIG=y
# CONFIG_VF610_DAC is not set
CONFIG_VFAT_FS=m
# CONFIG_VFIO_AMBA is not set
+CONFIG_VFIO_FSL_MC=m
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO=m
# CONFIG_VFIO_MDEV is not set
@@ -7438,8 +7553,12 @@ CONFIG_VIDEO_CX88_DVB=m
# CONFIG_VIDEO_CX88_ENABLE_VP3054 is not set
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_DEV=m
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
# CONFIG_VIDEO_DT3155 is not set
# CONFIG_VIDEO_DW9714 is not set
+CONFIG_VIDEO_DW9719=m
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -7737,6 +7856,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -7822,7 +7942,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-aarch64-64k-rhel.config b/SOURCES/kernel-aarch64-64k-rhel.config
index 266a0b6..04080a5 100644
--- a/SOURCES/kernel-aarch64-64k-rhel.config
+++ b/SOURCES/kernel-aarch64-64k-rhel.config
@@ -215,7 +215,6 @@ CONFIG_AMD_HSMP=m
# CONFIG_AMD_IOMMU_DEBUGFS is not set
CONFIG_AMD_PHY=m
CONFIG_AMD_PMC=m
-# CONFIG_AMD_PMF is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_AMDTEE is not set
# CONFIG_AMD_XGBE_DCB is not set
@@ -249,9 +248,9 @@ CONFIG_ARCH_BCM_IPROC=y
# CONFIG_ARCH_EXYNOS is not set
CONFIG_ARCH_HISI=y
# CONFIG_ARCH_INTEL_SOCFPGA is not set
-# CONFIG_ARCH_K3 is not set
+CONFIG_ARCH_K3=y
# CONFIG_ARCH_KEEMBAY is not set
-# CONFIG_ARCH_LAYERSCAPE is not set
+CONFIG_ARCH_LAYERSCAPE=y
# CONFIG_ARCH_LG1K is not set
# CONFIG_ARCH_MA35 is not set
# CONFIG_ARCH_MEDIATEK is not set
@@ -405,6 +404,7 @@ CONFIG_ARM_SPE_PMU=m
# CONFIG_ARM_TEGRA186_CPUFREQ is not set
CONFIG_ARM_TEGRA194_CPUFREQ=m
CONFIG_ARM_TEGRA_DEVFREQ=m
+CONFIG_ARM_TI_CPUFREQ=y
# CONFIG_AS3935 is not set
# CONFIG_AS73211 is not set
CONFIG_ASN1=y
@@ -923,6 +923,7 @@ CONFIG_CLK_IMX8QXP=y
CONFIG_CLK_IMX8ULP=y
CONFIG_CLK_IMX93=y
CONFIG_CLK_KUNIT_TEST=m
+CONFIG_CLK_LS1028A_PLLDIG=y
# CONFIG_CLK_QORIQ is not set
CONFIG_CLK_SP810=y
CONFIG_CLK_VEXPRESS_OSC=y
@@ -960,6 +961,7 @@ CONFIG_COMMAND_LINE_SIZE=4096
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
# CONFIG_COMMON_CLK_FSL_FLEXSPI is not set
+CONFIG_COMMON_CLK_FSL_SAI=y
CONFIG_COMMON_CLK_HI3516CV300=y
CONFIG_COMMON_CLK_HI3519=y
# CONFIG_COMMON_CLK_HI3559A is not set
@@ -981,6 +983,7 @@ CONFIG_COMMON_CLK_SCPI=m
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
CONFIG_COMMON_CLK_XGENE=y
@@ -1001,6 +1004,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -1082,8 +1086,8 @@ CONFIG_CRYPTO_AES_ARM64_BS=m
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
CONFIG_CRYPTO_AES_ARM64_CE=y
-# CONFIG_CRYPTO_AES_ARM64 is not set
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
+CONFIG_CRYPTO_AES_ARM64=y
CONFIG_CRYPTO_AES_GCM_P10=y
# CONFIG_CRYPTO_AES_TI is not set
CONFIG_CRYPTO_AES=y
@@ -1101,6 +1105,7 @@ CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20_NEON=y
+# CONFIG_CRYPTO_CHACHA20_P10 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=y
# CONFIG_CRYPTO_CRC32C_VPMSUM is not set
@@ -1139,6 +1144,7 @@ CONFIG_CRYPTO_DEV_FSL_CAAM_PRNG_API=y
CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=3
CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y
# CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_TEST is not set
+CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m
# CONFIG_CRYPTO_DEV_HISI_HPRE is not set
# CONFIG_CRYPTO_DEV_HISI_SEC2 is not set
CONFIG_CRYPTO_DEV_HISI_SEC=m
@@ -1158,6 +1164,7 @@ CONFIG_CRYPTO_DEV_OCTEONTX2_CPT=m
# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set
# CONFIG_CRYPTO_DEV_QCE is not set
# CONFIG_CRYPTO_DEV_QCOM_RNG is not set
+CONFIG_CRYPTO_DEV_SA2UL=m
# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
# CONFIG_CRYPTO_DEV_SAHARA is not set
CONFIG_CRYPTO_DEV_SP_CCP=y
@@ -1209,6 +1216,7 @@ CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_POLY1305=m
CONFIG_CRYPTO_POLY1305_NEON=y
+# CONFIG_CRYPTO_POLY1305_P10 is not set
# CONFIG_CRYPTO_POLYVAL_ARM64_CE is not set
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
CONFIG_CRYPTO_RMD160=m
@@ -1412,6 +1420,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1434,6 +1443,7 @@ CONFIG_DMIID=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=m
@@ -1465,6 +1475,7 @@ CONFIG_DP83867_PHY=m
# CONFIG_DP83869_PHY is not set
CONFIG_DP83TC811_PHY=m
# CONFIG_DP83TD510_PHY is not set
+CONFIG_DPAA2_CONSOLE=m
# CONFIG_DPM_WATCHDOG is not set
# CONFIG_DPOT_DAC is not set
# CONFIG_DPS310 is not set
@@ -1556,6 +1567,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MALI_DISPLAY is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
@@ -1633,6 +1645,7 @@ CONFIG_DRM_SIMPLEDRM=y
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1774,6 +1787,7 @@ CONFIG_EDAC_DMC520=m
CONFIG_EDAC_GHES=y
CONFIG_EDAC_I10NM=m
CONFIG_EDAC_IGEN6=m
+CONFIG_EDAC_LAYERSCAPE=m
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_PND2=m
CONFIG_EDAC_SYNOPSYS=m
@@ -1885,6 +1899,7 @@ CONFIG_FAT_KUNIT_TEST=m
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -1973,7 +1988,15 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
# CONFIG_FS_ENCRYPTION is not set
# CONFIG_FSI is not set
+# CONFIG_FSL_BMAN_TEST is not set
+CONFIG_FSL_DPAA2_ETH_DCB=y
+CONFIG_FSL_DPAA2_ETH=m
+CONFIG_FSL_DPAA2_PTP_CLOCK=m
+CONFIG_FSL_DPAA2_QDMA=m
CONFIG_FSL_DPAA2_SWITCH=m
+# CONFIG_FSL_DPAA_CHECKING is not set
+CONFIG_FSL_DPAA_ETH=m
+CONFIG_FSL_DPAA=y
# CONFIG_FSL_EDMA is not set
CONFIG_FSL_ENETC_IERB=m
CONFIG_FSL_ENETC=m
@@ -1982,10 +2005,15 @@ CONFIG_FSL_ENETC_PTP_CLOCK=m
CONFIG_FSL_ENETC_QOS=y
CONFIG_FSL_ENETC_VF=m
CONFIG_FSL_ERRATUM_A008585=y
+CONFIG_FSL_FMAN=y
CONFIG_FSL_IMX8_DDR_PMU=m
# CONFIG_FSL_IMX9_DDR_PMU is not set
+CONFIG_FSL_MC_BUS=y
+CONFIG_FSL_MC_DPIO=m
+CONFIG_FSL_MC_UAPI_SUPPORT=y
CONFIG_FSL_PQ_MDIO=m
# CONFIG_FSL_QDMA is not set
+# CONFIG_FSL_QMAN_TEST is not set
# CONFIG_FSL_RCPM is not set
CONFIG_FSL_XGMAC_MDIO=m
CONFIG_FSNOTIFY=y
@@ -2081,6 +2109,8 @@ CONFIG_GNSS=m
# CONFIG_GPIO_CADENCE is not set
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_DAVINCI=y
+# CONFIG_GPIO_DS4520 is not set
CONFIG_GPIO_DWAPB=m
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_EXAR is not set
@@ -2109,6 +2139,7 @@ CONFIG_GPIO_MLXBF2=m
# CONFIG_GPIO_MLXBF3 is not set
# CONFIG_GPIO_MLXBF is not set
# CONFIG_GPIO_MOCKUP is not set
+CONFIG_GPIO_MPC8XXX=y
CONFIG_GPIO_MXC=m
# CONFIG_GPIO_PCA953X_IRQ is not set
# CONFIG_GPIO_PCA953X is not set
@@ -2210,6 +2241,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_GOOGLE_HAMMER is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2366,15 +2398,17 @@ CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
CONFIG_HW_RANDOM_CAVIUM=m
# CONFIG_HW_RANDOM_CCTRNG is not set
CONFIG_HW_RANDOM_CN10K=m
-CONFIG_HW_RANDOM_HISI=y
+CONFIG_HW_RANDOM_HISI=m
# CONFIG_HW_RANDOM_HISTB is not set
# CONFIG_HW_RANDOM_IPROC_RNG200 is not set
+CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM_XGENE=m
# CONFIG_HW_RANDOM_XIPHERA is not set
CONFIG_HW_RANDOM=y
+CONFIG_HWSPINLOCK_OMAP=m
# CONFIG_HWSPINLOCK_QCOM is not set
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -2404,6 +2438,7 @@ CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
CONFIG_I2C_ARB_GPIO_CHALLENGE=m
+# CONFIG_I2C_ATR is not set
# CONFIG_I2C_BCM_IPROC is not set
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
@@ -2450,6 +2485,7 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NOMADIK is not set
# CONFIG_I2C_NVIDIA_GPU is not set
# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OMAP=m
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PCI1XXXX is not set
# CONFIG_I2C_PIIX4 is not set
@@ -2653,7 +2689,7 @@ CONFIG_INPUT_APANEL=m
# CONFIG_INPUT_ATI_REMOTE2 is not set
CONFIG_INPUT_ATLAS_BTNS=m
# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
-# CONFIG_INPUT_BBNSM_PWRKEY is not set
+CONFIG_INPUT_BBNSM_PWRKEY=m
# CONFIG_INPUT_BMA150 is not set
# CONFIG_INPUT_CM109 is not set
# CONFIG_INPUT_CMA3000 is not set
@@ -2747,6 +2783,7 @@ CONFIG_INTEL_SDSI=m
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
+# CONFIG_INTEL_VSC is not set
# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
CONFIG_INTEL_WMI_THUNDERBOLT=m
CONFIG_INTEL_XWAY_PHY=m
@@ -2781,7 +2818,7 @@ CONFIG_IOSCHED_BFQ=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_IOSM=m
# CONFIG_IO_STRICT_DEVMEM is not set
-# CONFIG_IO_URING is not set
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2867,6 +2904,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+# CONFIG_IPU_BRIDGE is not set
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
@@ -2943,6 +2981,7 @@ CONFIG_IR_RC6_DECODER=m
# CONFIG_IR_RCMM_DECODER is not set
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
# CONFIG_IR_SERIAL is not set
CONFIG_IR_SERIAL_TRANSMITTER=y
# CONFIG_IR_SHARP_DECODER is not set
@@ -2998,6 +3037,8 @@ CONFIG_JOLIET=y
# CONFIG_JSA1212 is not set
CONFIG_JUMP_LABEL=y
# CONFIG_K3_DMA is not set
+CONFIG_K3_RTI_WATCHDOG=m
+CONFIG_K3_THERMAL=m
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
# CONFIG_KALLSYMS_SELFTEST is not set
@@ -3086,13 +3127,15 @@ CONFIG_KPROBES=y
CONFIG_KSM=y
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KVM_AMD_SEV=y
# CONFIG_KVM_BOOK3S_HV_P8_TIMING is not set
# CONFIG_KVM_BOOK3S_HV_P9_TIMING is not set
+# CONFIG_KVM_PROVE_MMU is not set
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
# CONFIG_KVM_XEN is not set
@@ -3165,6 +3208,7 @@ CONFIG_LEDS_MLXCPLD=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_RT4505 is not set
@@ -3306,9 +3350,11 @@ CONFIG_MAILBOX=y
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
CONFIG_MARVELL_CN10K_DDR_PMU=m
CONFIG_MARVELL_CN10K_TAD_PMU=m
+CONFIG_MARVELL_GTI_WDT=y
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -3350,9 +3396,11 @@ CONFIG_MAX_SKB_FRAGS=17
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
# CONFIG_MCP4922 is not set
# CONFIG_MCTP is not set
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
# CONFIG_MDIO_BCM_IPROC is not set
@@ -3409,6 +3457,7 @@ CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
CONFIG_MEMCPY_KUNIT_TEST=m
CONFIG_MEMCPY_SLOW_KUNIT_TEST=y
+CONFIG_MEMFD_CREATE=y
CONFIG_MEMORY_FAILURE=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTPLUG=y
@@ -3443,6 +3492,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_CS42L43_SDW is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9055 is not set
@@ -3594,6 +3645,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_FPGA=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -3836,6 +3888,9 @@ CONFIG_MTD_UBI=m
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTK_T7XX=m
CONFIG_MULTIUSER=y
+CONFIG_MUX_ADG792A=m
+# CONFIG_MUX_ADGS1408 is not set
+CONFIG_MUX_GPIO=m
# CONFIG_MVMDIO is not set
# CONFIG_MV_XOR_V2 is not set
# CONFIG_MWAVE is not set
@@ -3895,6 +3950,7 @@ CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4323,6 +4379,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4370,9 +4427,11 @@ CONFIG_NVME_FC=m
# CONFIG_NVMEM_IMX_IIM is not set
# CONFIG_NVMEM_IMX_OCOTP_ELE is not set
CONFIG_NVMEM_IMX_OCOTP=m
+CONFIG_NVMEM_LAYERSCAPE_SFP=m
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_QCOM_QFPROM is not set
+# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_NVMEM_RMEM is not set
# CONFIG_NVMEM_SNVS_LPGPR is not set
@@ -4408,6 +4467,11 @@ CONFIG_OF_MDIO=y
CONFIG_OF_PMEM=m
# CONFIG_OF_UNITTEST is not set
CONFIG_OF=y
+CONFIG_OMAP2PLUS_MBOX=m
+CONFIG_OMAP_DM_TIMER=y
+# CONFIG_OMAP_GPMC is not set
+CONFIG_OMAP_MBOX_KFIFO_SIZE=256
+CONFIG_OMAP_USB2=m
# CONFIG_OMFS_FS is not set
# CONFIG_OPAL_CORE is not set
# CONFIG_OPEN_DICE is not set
@@ -4422,6 +4486,7 @@ CONFIG_OPENVSWITCH_VXLAN=m
# CONFIG_OSF_PARTITION is not set
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+# CONFIG_OVERLAY_FS_DEBUG is not set
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4500,6 +4565,7 @@ CONFIG_PCC=y
# CONFIG_PCI200SYN is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_AL is not set
@@ -4547,6 +4613,8 @@ CONFIG_PCI_IMX6_HOST=y
CONFIG_PCI_IMX6=y
CONFIG_PCI_IOV=y
# CONFIG_PCI_J721E_HOST is not set
+CONFIG_PCI_KEYSTONE_HOST=y
+CONFIG_PCI_LAYERSCAPE=y
# CONFIG_PCI_MESON is not set
CONFIG_PCI_MSI=y
CONFIG_PCI_P2PDMA=y
@@ -4579,6 +4647,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PER_VMA_LOCK_STATS=y
# CONFIG_PHANTOM is not set
# CONFIG_PHONET is not set
+CONFIG_PHY_AM654_SERDES=m
# CONFIG_PHY_BCM_NS_USB2 is not set
# CONFIG_PHY_BCM_NS_USB3 is not set
# CONFIG_PHY_BCM_SR_PCIE is not set
@@ -4600,9 +4669,10 @@ CONFIG_PHY_FSL_IMX8MQ_USB=m
CONFIG_PHY_HI6220_USB=m
# CONFIG_PHY_HISI_INNO_USB2 is not set
# CONFIG_PHY_HISTB_COMBPHY is not set
+CONFIG_PHY_J721E_WIZ=m
# CONFIG_PHY_LAN966X_SERDES is not set
CONFIG_PHYLIB=y
-CONFIG_PHYLINK=m
+CONFIG_PHYLINK=y
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
# CONFIG_PHY_MIXEL_LVDS_PHY is not set
# CONFIG_PHY_MIXEL_MIPI_DPHY is not set
@@ -4616,6 +4686,7 @@ CONFIG_PHY_NS2_USB_DRD=y
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
# CONFIG_PHY_QCOM_PCIE2 is not set
# CONFIG_PHY_QCOM_QMP is not set
# CONFIG_PHY_QCOM_QUSB2 is not set
@@ -4626,6 +4697,8 @@ CONFIG_PHY_NS2_USB_DRD=y
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+# CONFIG_PHY_RTK_RTD_USB2PHY is not set
+# CONFIG_PHY_RTK_RTD_USB3PHY is not set
CONFIG_PHY_TEGRA194_P2U=y
CONFIG_PHY_TEGRA_XUSB=m
# CONFIG_PHY_TUSB1210 is not set
@@ -4806,6 +4879,7 @@ CONFIG_PSI_DEFAULT_DISABLED=y
CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS is not set
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -4825,6 +4899,7 @@ CONFIG_PTE_MARKER_UFFD_WP=y
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_QORIQ=m
CONFIG_PTP_1588_CLOCK=y
@@ -4842,8 +4917,11 @@ CONFIG_PWM_BCM_IPROC=y
# CONFIG_PWM_IMX1 is not set
CONFIG_PWM_IMX27=m
CONFIG_PWM_IMX_TPM=m
+CONFIG_PWM_OMAP_DMTIMER=y
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM_TEGRA=y
+CONFIG_PWM_TIECAP=m
+CONFIG_PWM_TIEHRPWM=m
# CONFIG_PWM_XILINX is not set
CONFIG_PWM=y
# CONFIG_PWRSEQ_EMMC is not set
@@ -4939,6 +5017,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MEMORY=y
CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -4983,6 +5062,7 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
@@ -4990,6 +5070,7 @@ CONFIG_REGMAP=y
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
# CONFIG_REGULATOR_ARM_SCMI is not set
+# CONFIG_REGULATOR_AW37503 is not set
CONFIG_REGULATOR_BD718XX=m
# CONFIG_REGULATOR_DA9121 is not set
# CONFIG_REGULATOR_DA9210 is not set
@@ -5013,6 +5094,7 @@ CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_MAX77620=y
CONFIG_REGULATOR_MAX77686=m
# CONFIG_REGULATOR_MAX77826 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8893 is not set
@@ -5031,6 +5113,7 @@ CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_PWM is not set
+# CONFIG_REGULATOR_QCOM_REFGEN is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
# CONFIG_REGULATOR_RT4801 is not set
@@ -5043,6 +5126,7 @@ CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_RT6245 is not set
# CONFIG_REGULATOR_RTMV20 is not set
# CONFIG_REGULATOR_RTQ2134 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_RTQ6752 is not set
# CONFIG_REGULATOR_SLG51000 is not set
# CONFIG_REGULATOR_SY8106A is not set
@@ -5077,6 +5161,7 @@ CONFIG_RESET_IMX7=y
# CONFIG_RESET_QCOM_PDC is not set
# CONFIG_RESET_SCMI is not set
# CONFIG_RESET_SIMPLE is not set
+CONFIG_RESET_TI_SCI=m
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RESET_TI_TPS380X is not set
CONFIG_RESOURCE_KUNIT_TEST=m
@@ -5086,7 +5171,6 @@ CONFIG_RETPOLINE=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RH_DISABLE_DEPRECATED=y
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RICHTEK_RTQ6056 is not set
CONFIG_RING_BUFFER_BENCHMARK=m
@@ -5180,6 +5264,7 @@ CONFIG_RTC_DRV_DS3232=m
CONFIG_RTC_DRV_EFI=y
CONFIG_RTC_DRV_EM3027=m
CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_FSL_FTM_ALARM=m
# CONFIG_RTC_DRV_FTRTC010 is not set
# CONFIG_RTC_DRV_GOLDFISH is not set
# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
@@ -5234,6 +5319,7 @@ CONFIG_RTC_DRV_RX8581=m
CONFIG_RTC_DRV_STK17TA8=m
# CONFIG_RTC_DRV_TEGRA is not set
# CONFIG_RTC_DRV_TEST is not set
+CONFIG_RTC_DRV_TI_K3=m
CONFIG_RTC_DRV_V3020=m
CONFIG_RTC_DRV_X1205=m
# CONFIG_RTC_DRV_XGENE is not set
@@ -5457,6 +5543,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5466,6 +5553,7 @@ CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_YAMA=y
+# CONFIG_SEL3350_PLATFORM is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
@@ -5543,6 +5631,7 @@ CONFIG_SENSORS_G762=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_HP_WMI is not set
+# CONFIG_SENSORS_HS3001 is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_IBMAEM is not set
# CONFIG_SENSORS_IBM_CFFPS is not set
@@ -5724,6 +5813,8 @@ CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y
+CONFIG_SERIAL_8250_OMAP=y
CONFIG_SERIAL_8250_PCI1XXXX=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PERICOM=y
@@ -6041,7 +6132,9 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_AMD_YC_MACH is not set
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set
# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88261 is not set
# CONFIG_SND_SOC_AW88395 is not set
# CONFIG_SND_SOC_BD28623 is not set
# CONFIG_SND_SOC_BT_SCO is not set
@@ -6058,7 +6151,6 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_CS35L45_I2C is not set
# CONFIG_SND_SOC_CS35L45_SPI is not set
# CONFIG_SND_SOC_CS35L56_I2C is not set
-# CONFIG_SND_SOC_CS35L56_SDW is not set
# CONFIG_SND_SOC_CS35L56_SPI is not set
# CONFIG_SND_SOC_CS4234 is not set
# CONFIG_SND_SOC_CS4265 is not set
@@ -6123,6 +6215,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_ES8336 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A is not set
@@ -6133,6 +6226,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT274 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT286 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT298 is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567 is not set
# CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH is not set
@@ -6252,6 +6346,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+# CONFIG_SND_SOC_RT1017_SDCA_SDW is not set
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -6310,6 +6405,7 @@ CONFIG_SND_SOC_SOF_ACPI=m
# CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL is not set
# CONFIG_SND_SOC_SOF_JASPERLAKE is not set
# CONFIG_SND_SOC_SOF_KABYLAKE is not set
+CONFIG_SND_SOC_SOF_LUNARLAKE=m
# CONFIG_SND_SOC_SOF_MERRIFIELD is not set
# CONFIG_SND_SOC_SOF_METEORLAKE is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -6380,6 +6476,7 @@ CONFIG_SND_SOC_SOF_TOPLEVEL=y
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TOPOLOGY_BUILD is not set
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
@@ -6471,7 +6568,7 @@ CONFIG_SOC_IMX8M=y
CONFIG_SOC_IMX9=m
# CONFIG_SOCIONEXT_SYNQUACER_PREITS is not set
CONFIG_SOC_TEGRA_CBB=m
-# CONFIG_SOC_TI is not set
+CONFIG_SOC_TI=y
CONFIG_SOFTLOCKUP_DETECTOR=y
CONFIG_SOFT_WATCHDOG=m
# CONFIG_SOLARIS_X86_PARTITION is not set
@@ -6511,6 +6608,7 @@ CONFIG_SPI_AMD=y
# CONFIG_SPI_CADENCE_XSPI is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
+CONFIG_SPI_FSL_DSPI=y
CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_FSL_QUADSPI=m
# CONFIG_SPI_FSL_SPI is not set
@@ -6529,6 +6627,7 @@ CONFIG_SPI_MEM=y
# CONFIG_SPI_MXIC is not set
CONFIG_SPI_NXP_FLEXSPI=m
# CONFIG_SPI_OC_TINY is not set
+CONFIG_SPI_OMAP24XX=m
CONFIG_SPI_PCI1XXXX=m
CONFIG_SPI_PL022=m
# CONFIG_SPI_PXA2XX is not set
@@ -6630,6 +6729,7 @@ CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_SUSPEND=y
CONFIG_SVC_I3C_MASTER=m
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
# CONFIG_SW_SYNC is not set
# CONFIG_SX9310 is not set
# CONFIG_SX9324 is not set
@@ -6748,6 +6848,7 @@ CONFIG_TEST_CPUMASK=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
@@ -6824,6 +6925,9 @@ CONFIG_THUNDERX2_PMU=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+CONFIG_TI_K3_RINGACC=y
+CONFIG_TI_K3_UDMA_GLUE_LAYER=y
+CONFIG_TI_K3_UDMA=y
# CONFIG_TI_LMP92064 is not set
CONFIG_TIME_KUNIT_TEST=m
CONFIG_TIME_NS=y
@@ -6843,7 +6947,13 @@ CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_IB=y
CONFIG_TIPC_MEDIA_UDP=y
+CONFIG_TI_PRUSS=m
+CONFIG_TI_SCI_CLK=m
+# CONFIG_TI_SCI_CLK_PROBE_FROM_FW is not set
+CONFIG_TI_SCI_PM_DOMAINS=m
# CONFIG_TI_ST is not set
+CONFIG_TI_SYSCON_CLK=m
+CONFIG_TI_SYSC=y
# CONFIG_TI_TLC4541 is not set
# CONFIG_TI_TMAG5273 is not set
# CONFIG_TI_TSC2046 is not set
@@ -6856,6 +6966,7 @@ CONFIG_TLS=m
# CONFIG_TMP117 is not set
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_TMPFS_QUOTA is not set
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_TOOLCHAIN_DEFAULT_CPU is not set
@@ -6900,6 +7011,7 @@ CONFIG_TORTURE_TEST=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -7064,8 +7176,10 @@ CONFIG_USB_CXACRU=m
CONFIG_USB_DEFAULT_PERSIST=y
# CONFIG_USB_DSBR is not set
# CONFIG_USB_DWC2 is not set
+CONFIG_USB_DWC3_AM62=m
CONFIG_USB_DWC3_IMX8MP=m
# CONFIG_USB_DWC3 is not set
+CONFIG_USB_DWC3_KEYSTONE=m
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_EHCI_FSL is not set
CONFIG_USB_EHCI_HCD_PLATFORM=m
@@ -7349,6 +7463,7 @@ CONFIG_VEXPRESS_CONFIG=y
# CONFIG_VF610_DAC is not set
CONFIG_VFAT_FS=m
# CONFIG_VFIO_AMBA is not set
+CONFIG_VFIO_FSL_MC=m
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO=m
# CONFIG_VFIO_MDEV is not set
@@ -7413,8 +7528,12 @@ CONFIG_VIDEO_CX88_DVB=m
# CONFIG_VIDEO_CX88_ENABLE_VP3054 is not set
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_DEV=m
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
# CONFIG_VIDEO_DT3155 is not set
# CONFIG_VIDEO_DW9714 is not set
+CONFIG_VIDEO_DW9719=m
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -7712,6 +7831,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -7797,7 +7917,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-aarch64-debug-fedora.config b/SOURCES/kernel-aarch64-debug-fedora.config
index 220750d..1df297b 100644
--- a/SOURCES/kernel-aarch64-debug-fedora.config
+++ b/SOURCES/kernel-aarch64-debug-fedora.config
@@ -145,6 +145,7 @@ CONFIG_AD7949=m
# CONFIG_AD9834 is not set
# CONFIG_ADA4250 is not set
CONFIG_ADAPTEC_STARFIRE=m
+# CONFIG_ADDRESS_MASKING is not set
# CONFIG_ADE7854 is not set
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
@@ -1275,6 +1276,7 @@ CONFIG_COMMON_CLK_SI5341=m
# CONFIG_COMMON_CLK_SI5351 is not set
CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_SI570 is not set
+CONFIG_COMMON_CLK_VC3=m
# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VC7=m
CONFIG_COMMON_CLK_XGENE=y
@@ -1297,6 +1299,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -1352,6 +1355,8 @@ CONFIG_CPU_THERMAL=y
# CONFIG_CRAMFS is not set
# CONFIG_CRAMFS_MTD is not set
CONFIG_CRASH_DUMP=y
+CONFIG_CRASH_HOTPLUG=y
+CONFIG_CRASH_MAX_MEMORY_RANGES=8192
CONFIG_CRC16=y
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC32_SARWATE is not set
@@ -1781,6 +1786,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
CONFIG_DMA_OF=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
@@ -1809,6 +1815,7 @@ CONFIG_DM_INIT=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=y
@@ -1943,6 +1950,7 @@ CONFIG_DRM_LONTIUM_LT8912B=m
# CONFIG_DRM_LONTIUM_LT9211 is not set
CONFIG_DRM_LONTIUM_LT9611=m
CONFIG_DRM_LONTIUM_LT9611UXC=m
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM_MALI_DISPLAY=m
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
@@ -2047,11 +2055,13 @@ CONFIG_DRM_PANEL_SITRONIX_ST7789V=m
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521=m
+CONFIG_DRM_PANEL_STARTEK_KD070FHFID015=m
# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
CONFIG_DRM_PANEL_TPO_TPG110=m
CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
+CONFIG_DRM_PANEL_VISIONOX_R66451=m
CONFIG_DRM_PANEL_VISIONOX_RM69299=m
CONFIG_DRM_PANEL_VISIONOX_VTDR6130=m
CONFIG_DRM_PANEL_WIDECHIPS_WS2401=m
@@ -2099,6 +2109,7 @@ CONFIG_DRM_TOSHIBA_TC358764=m
CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_TOSHIBA_TC358775=m
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
CONFIG_DRM_V3D=m
@@ -2307,6 +2318,7 @@ CONFIG_EROFS_FS=m
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP_DEFLATE=y
CONFIG_EROFS_FS_ZIP_LZMA=y
CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
@@ -2396,6 +2408,7 @@ CONFIG_FAULT_INJECTION=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -2637,6 +2650,7 @@ CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
CONFIG_GPIO_DAVINCI=m
CONFIG_GPIO_DLN2=m
+CONFIG_GPIO_DS4520=m
CONFIG_GPIO_DWAPB=m
CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_FTGPIO010 is not set
@@ -2776,6 +2790,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
+CONFIG_HID_GOOGLE_STADIA_FF=m
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2995,6 +3010,7 @@ CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_AMD_MP2=m
CONFIG_I2C_APPLE=m
CONFIG_I2C_ARB_GPIO_CHALLENGE=m
+CONFIG_I2C_ATR=m
CONFIG_I2C_BCM2835=m
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_BRCMSTB=y
@@ -3438,6 +3454,7 @@ CONFIG_IONIC=m
CONFIG_IOSCHED_BFQ=y
CONFIG_IOSM=m
CONFIG_IO_STRICT_DEVMEM=y
+CONFIG_IO_URING=y
CONFIG_IP5XXX_POWER=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -3507,6 +3524,7 @@ CONFIG_IP_PIMSM_V2=y
# CONFIG_IPQ_APSS_6018 is not set
# CONFIG_IPQ_APSS_PLL is not set
# CONFIG_IPQ_GCC_4019 is not set
+CONFIG_IPQ_GCC_5018=m
# CONFIG_IPQ_GCC_5332 is not set
# CONFIG_IPQ_GCC_6018 is not set
# CONFIG_IPQ_GCC_806X is not set
@@ -3534,6 +3552,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+CONFIG_IPU_BRIDGE=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_ILA=m
CONFIG_IPV6_IOAM6_LWTUNNEL=y
@@ -3611,6 +3630,7 @@ CONFIG_IR_RC6_DECODER=m
CONFIG_IR_RCMM_DECODER=m
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
@@ -3832,11 +3852,13 @@ CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KUSER_HELPERS=y
+CONFIG_KVM_PROVE_MMU=y
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
CONFIG_KVM_XEN=y
@@ -3890,6 +3912,7 @@ CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GROUP_MULTICOLOR=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
# CONFIG_LEDS_KTD2692 is not set
@@ -3917,6 +3940,7 @@ CONFIG_LEDS_PCA9532_GPIO=y
CONFIG_LEDS_PCA9532=m
# CONFIG_LEDS_PCA955X is not set
CONFIG_LEDS_PCA963X=m
+CONFIG_LEDS_PCA995X=m
CONFIG_LEDS_PWM=m
CONFIG_LEDS_PWM_MULTICOLOR=m
CONFIG_LEDS_QCOM_FLASH=m
@@ -4069,9 +4093,11 @@ CONFIG_MAILBOX=y
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+CONFIG_MARVELL_88Q2XXX_PHY=m
CONFIG_MARVELL_88X2222_PHY=m
CONFIG_MARVELL_CN10K_DDR_PMU=m
CONFIG_MARVELL_CN10K_TAD_PMU=m
+CONFIG_MARVELL_GTI_WDT=y
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -4116,11 +4142,13 @@ CONFIG_MCP41010=m
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+CONFIG_MCP4728=m
# CONFIG_MCP4922 is not set
CONFIG_MCTP_SERIAL=m
# CONFIG_MCTP_TRANSPORT_I2C is not set
CONFIG_MCTP=y
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -4244,6 +4272,8 @@ CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
CONFIG_MFD_CROS_EC_DEV=m
+CONFIG_MFD_CS42L43_I2C=m
+CONFIG_MFD_CS42L43_SDW=m
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
@@ -4406,6 +4436,7 @@ CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -4799,6 +4830,7 @@ CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -5314,6 +5346,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -5366,6 +5399,7 @@ CONFIG_NVMEM_LAYOUT_SL28_VPD=m
CONFIG_NVMEM_MESON_EFUSE=m
CONFIG_NVMEM_MESON_MX_EFUSE=m
CONFIG_NVMEM_QCOM_QFPROM=m
+CONFIG_NVMEM_QCOM_SEC_QFPROM=m
CONFIG_NVMEM_REBOOT_MODE=m
CONFIG_NVMEM_RMEM=m
CONFIG_NVMEM_ROCKCHIP_EFUSE=m
@@ -5445,6 +5479,7 @@ CONFIG_ORINOCO_USB=m
CONFIG_OSF_PARTITION=y
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+# CONFIG_OVERLAY_FS_DEBUG is not set
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -5535,6 +5570,7 @@ CONFIG_PCC=y
CONFIG_PCI_AARDVARK=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_AL is not set
@@ -5617,6 +5653,7 @@ CONFIG_PCS_XPCS=m
CONFIG_PDC_ADMA=m
CONFIG_PDS_CORE=m
CONFIG_PDS_VDPA=m
+CONFIG_PDS_VFIO_PCI=m
# CONFIG_PECI is not set
CONFIG_PERCPU_STATS=y
# CONFIG_PERCPU_TEST is not set
@@ -5675,12 +5712,14 @@ CONFIG_PHY_QCOM_EUSB2_REPEATER=m
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
CONFIG_PHY_QCOM_PCIE2=m
CONFIG_PHY_QCOM_QMP_COMBO=m
CONFIG_PHY_QCOM_QMP=m
CONFIG_PHY_QCOM_QMP_PCIE_8996=m
CONFIG_PHY_QCOM_QMP_PCIE=m
CONFIG_PHY_QCOM_QMP_UFS=m
+CONFIG_PHY_QCOM_QMP_USB_LEGACY=m
CONFIG_PHY_QCOM_QMP_USB=m
CONFIG_PHY_QCOM_QUSB2=m
CONFIG_PHY_QCOM_SGMII_ETH=m
@@ -5702,6 +5741,8 @@ CONFIG_PHY_ROCKCHIP_PCIE=y
CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=m
CONFIG_PHY_ROCKCHIP_TYPEC=m
CONFIG_PHY_ROCKCHIP_USB=m
+CONFIG_PHY_RTK_RTD_USB2PHY=m
+CONFIG_PHY_RTK_RTD_USB3PHY=m
# CONFIG_PHY_SAMSUNG_USB2 is not set
CONFIG_PHY_SUN4I_USB=m
CONFIG_PHY_SUN50I_USB3=m
@@ -5719,6 +5760,7 @@ CONFIG_PID_NS=y
CONFIG_PINCONF=y
CONFIG_PINCTRL_ALDERLAKE=m
CONFIG_PINCTRL_AMD=y
+CONFIG_PINCTRL_AMLOGIC_C3=y
CONFIG_PINCTRL_APPLE_GPIO=m
CONFIG_PINCTRL_AS3722=y
CONFIG_PINCTRL_AXP209=m
@@ -5727,6 +5769,7 @@ CONFIG_PINCTRL_AXP209=m
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_CHERRYVIEW is not set
+CONFIG_PINCTRL_CS42L43=m
CONFIG_PINCTRL_CY8C95X0=m
CONFIG_PINCTRL_ELKHARTLAKE=m
CONFIG_PINCTRL_EMMITSBURG=m
@@ -5804,6 +5847,7 @@ CONFIG_PINCTRL_SDM845=m
# CONFIG_PINCTRL_SDX75 is not set
CONFIG_PINCTRL_SINGLE=y
# CONFIG_PINCTRL_SM6115 is not set
+# CONFIG_PINCTRL_SM6115_LPASS_LPI is not set
# CONFIG_PINCTRL_SM6125 is not set
# CONFIG_PINCTRL_SM6350 is not set
# CONFIG_PINCTRL_SM6375 is not set
@@ -5812,6 +5856,7 @@ CONFIG_PINCTRL_SINGLE=y
# CONFIG_PINCTRL_SM8250 is not set
CONFIG_PINCTRL_SM8250_LPASS_LPI=m
# CONFIG_PINCTRL_SM8350 is not set
+CONFIG_PINCTRL_SM8350_LPASS_LPI=m
CONFIG_PINCTRL_SM8450_LPASS_LPI=m
CONFIG_PINCTRL_SM8450=m
# CONFIG_PINCTRL_SM8550 is not set
@@ -5975,6 +6020,7 @@ CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS_DEFAULT is not set
CONFIG_PSTORE_842_COMPRESS=y
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -5996,6 +6042,7 @@ CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK_QORIQ=m
@@ -6167,6 +6214,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -6228,6 +6276,7 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP_MMIO=y
@@ -6239,6 +6288,7 @@ CONFIG_REGULATOR_ACT8865=m
CONFIG_REGULATOR_ANATOP=m
CONFIG_REGULATOR_ARM_SCMI=m
CONFIG_REGULATOR_AS3722=m
+CONFIG_REGULATOR_AW37503=m
CONFIG_REGULATOR_AXP20X=m
CONFIG_REGULATOR_BD718XX=m
CONFIG_REGULATOR_BD9571MWV=m
@@ -6266,12 +6316,14 @@ CONFIG_REGULATOR_HI655X=m
# CONFIG_REGULATOR_MAX1586 is not set
# CONFIG_REGULATOR_MAX20086 is not set
CONFIG_REGULATOR_MAX20411=m
+CONFIG_REGULATOR_MAX5970=m
CONFIG_REGULATOR_MAX597X=m
CONFIG_REGULATOR_MAX77620=y
CONFIG_REGULATOR_MAX77650=m
CONFIG_REGULATOR_MAX77686=m
CONFIG_REGULATOR_MAX77802=m
# CONFIG_REGULATOR_MAX77826 is not set
+CONFIG_REGULATOR_MAX77857=m
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
CONFIG_REGULATOR_MAX8893=m
@@ -6293,6 +6345,7 @@ CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_PV88090 is not set
CONFIG_REGULATOR_PWM=y
CONFIG_REGULATOR_QCOM_LABIBB=m
+CONFIG_REGULATOR_QCOM_REFGEN=m
CONFIG_REGULATOR_QCOM_RPMH=y
# CONFIG_REGULATOR_QCOM_RPM is not set
CONFIG_REGULATOR_QCOM_SMD_RPM=m
@@ -6313,6 +6366,7 @@ CONFIG_REGULATOR_RT6190=m
CONFIG_REGULATOR_RT6245=m
CONFIG_REGULATOR_RTMV20=m
CONFIG_REGULATOR_RTQ2134=m
+CONFIG_REGULATOR_RTQ2208=m
CONFIG_REGULATOR_RTQ6752=m
# CONFIG_REGULATOR_SLG51000 is not set
CONFIG_REGULATOR_SY7636A=m
@@ -6372,8 +6426,7 @@ CONFIG_RESOURCE_KUNIT_TEST=m
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-# CONFIG_RH_DISABLE_DEPRECATED is not set
-CONFIG_RH_FEDORA=y
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RICHTEK_RTQ6056=m
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
@@ -6856,6 +6909,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -6933,6 +6987,7 @@ CONFIG_SENSORS_GPIO_FAN=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
CONFIG_SENSORS_HP_WMI=m
+CONFIG_SENSORS_HS3001=m
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
# CONFIG_SENSORS_IBM_CFFPS is not set
@@ -7019,6 +7074,7 @@ CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_MLXREG_FAN=m
CONFIG_SENSORS_MP2888=m
CONFIG_SENSORS_MP2975=m
+CONFIG_SENSORS_MP2975_REGULATOR=y
CONFIG_SENSORS_MP5023=m
CONFIG_SENSORS_MPQ7932=m
CONFIG_SENSORS_MPQ7932_REGULATOR=y
@@ -7390,6 +7446,9 @@ CONFIG_SND_HDA_PREALLOC_SIZE=2048
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
+CONFIG_SND_HDA_SCODEC_CS35L56_I2C=m
+CONFIG_SND_HDA_SCODEC_CS35L56_SPI=m
+CONFIG_SND_HDA_SCODEC_TAS2781_I2C=m
CONFIG_SND_HDA_TEGRA=m
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
@@ -7512,7 +7571,9 @@ CONFIG_SND_SOC_AK5558=m
CONFIG_SND_SOC_APPLE_MCA=m
CONFIG_SND_SOC_APQ8016_SBC=m
CONFIG_SND_SOC_ARNDALE=m
+CONFIG_SND_SOC_AUDIO_IIO_AUX=m
CONFIG_SND_SOC_AW8738=m
+CONFIG_SND_SOC_AW88261=m
CONFIG_SND_SOC_AW88395=m
CONFIG_SND_SOC_BD28623=m
CONFIG_SND_SOC_BT_SCO=m
@@ -7538,6 +7599,8 @@ CONFIG_SND_SOC_CS4271_I2C=m
# CONFIG_SND_SOC_CS4271_SPI is not set
CONFIG_SND_SOC_CS42L42=m
CONFIG_SND_SOC_CS42L42_SDW=m
+CONFIG_SND_SOC_CS42L43=m
+CONFIG_SND_SOC_CS42L43_SDW=m
# CONFIG_SND_SOC_CS42L51_I2C is not set
# CONFIG_SND_SOC_CS42L52 is not set
# CONFIG_SND_SOC_CS42L56 is not set
@@ -7729,6 +7792,7 @@ CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
CONFIG_SND_SOC_ROCKCHIP_PDM=m
CONFIG_SND_SOC_ROCKCHIP_RT5645=m
CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
+CONFIG_SND_SOC_RT1017_SDCA_SDW=m
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -7875,6 +7939,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
CONFIG_SND_SOC_TLV320AIC3X_I2C=m
CONFIG_SND_SOC_TLV320AIC3X=m
CONFIG_SND_SOC_TLV320AIC3X_SPI=m
+# CONFIG_SND_SOC_TOPOLOGY_BUILD is not set
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
CONFIG_SND_SOC_TPA6130A2=m
CONFIG_SND_SOC_TS3A227E=m
@@ -8016,6 +8081,7 @@ CONFIG_SPI_BITBANG=m
CONFIG_SPI_CADENCE=m
CONFIG_SPI_CADENCE_QUADSPI=m
CONFIG_SPI_CADENCE_XSPI=m
+# CONFIG_SPI_CS42L43 is not set
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_DESIGNWARE=m
CONFIG_SPI_DLN2=m
@@ -8159,6 +8225,7 @@ CONFIG_ST_UVIS25=m
CONFIG_ST_UVIS25_SPI=m
# CONFIG_SUN20I_D1_CCU is not set
# CONFIG_SUN20I_D1_R_CCU is not set
+CONFIG_SUN20I_GPADC=m
# CONFIG_SUN20I_PPU is not set
# CONFIG_SUN4I_EMAC is not set
CONFIG_SUN50I_A100_CCU=y
@@ -8213,6 +8280,7 @@ CONFIG_SURFACE_PRO3_BUTTON=m
CONFIG_SUSPEND=y
CONFIG_SVC_I3C_MASTER=m
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_SWP_EMULATION=y
# CONFIG_SW_SYNC is not set
CONFIG_SX9310=m
@@ -8348,6 +8416,7 @@ CONFIG_TEST_FPU=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=m
@@ -8431,6 +8500,8 @@ CONFIG_TIFM_7XX1=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+# CONFIG_TI_ICSSG_PRUETH is not set
+CONFIG_TI_ICSS_IEP=m
CONFIG_TI_K3_AM65_CPSW_NUSS=m
CONFIG_TI_K3_AM65_CPSW_SWITCHDEV=y
CONFIG_TI_K3_AM65_CPTS=m
@@ -8470,6 +8541,7 @@ CONFIG_TI_SCI_PM_DOMAINS=y
CONFIG_TI_SCI_PROTOCOL=y
# CONFIG_TI_ST is not set
CONFIG_TI_SYSCON_CLK=m
+CONFIG_TI_SYSC=y
# CONFIG_TI_TLC4541 is not set
# CONFIG_TI_TMAG5273 is not set
CONFIG_TI_TSC2046=m
@@ -8482,6 +8554,7 @@ CONFIG_TMP006=m
CONFIG_TMP117=m
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_QUOTA=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
CONFIG_TORTURE_TEST=m
@@ -8527,6 +8600,7 @@ CONFIG_TOUCHSCREEN_IMAGIS=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
CONFIG_TOUCHSCREEN_IQS5XX=m
+CONFIG_TOUCHSCREEN_IQS7211=m
# CONFIG_TOUCHSCREEN_MAX11801 is not set
CONFIG_TOUCHSCREEN_MCS5000=m
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -8753,6 +8827,7 @@ CONFIG_USB_CONFIGFS_EEM=y
# CONFIG_USB_CONFIGFS_F_FS is not set
CONFIG_USB_CONFIGFS_F_HID=y
# CONFIG_USB_CONFIGFS_F_LB_SS is not set
+CONFIG_USB_CONFIGFS_F_MIDI2=y
# CONFIG_USB_CONFIGFS_F_MIDI is not set
# CONFIG_USB_CONFIGFS_F_PRINTER is not set
CONFIG_USB_CONFIGFS_F_TCM=y
@@ -9147,7 +9222,9 @@ CONFIG_VFAT_FS=m
CONFIG_VFIO_AMBA=m
CONFIG_VFIO_CDX=m
CONFIG_VFIO_CONTAINER=y
+# CONFIG_VFIO_DEVICE_CDEV is not set
CONFIG_VFIO_FSL_MC=m
+CONFIG_VFIO_GROUP=y
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO=m
CONFIG_VFIO_MDEV=m
@@ -9222,9 +9299,13 @@ CONFIG_VIDEO_CX88_ENABLE_VP3054=y
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_VP3054=m
CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_DS90UB913=m
+CONFIG_VIDEO_DS90UB953=m
+CONFIG_VIDEO_DS90UB960=m
# CONFIG_VIDEO_DT3155 is not set
CONFIG_VIDEO_DW100=m
CONFIG_VIDEO_DW9714=m
+CONFIG_VIDEO_DW9719=m
CONFIG_VIDEO_DW9768=m
CONFIG_VIDEO_DW9807_VCM=m
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -9598,6 +9679,7 @@ CONFIG_XDP_SOCKETS=y
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
# CONFIG_XEN is not set
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
+CONFIG_XEN_PRIVCMD_IRQFD=y
CONFIG_XEN_PRIVCMD=m
# CONFIG_XEN_PVCALLS_FRONTEND is not set
CONFIG_XEN_PVHVM_GUEST=y
@@ -9615,6 +9697,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -9714,7 +9797,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-aarch64-debug-rhel.config b/SOURCES/kernel-aarch64-debug-rhel.config
index 7b1bca1..cf09aa9 100644
--- a/SOURCES/kernel-aarch64-debug-rhel.config
+++ b/SOURCES/kernel-aarch64-debug-rhel.config
@@ -215,7 +215,6 @@ CONFIG_AMD_HSMP=m
# CONFIG_AMD_IOMMU_DEBUGFS is not set
CONFIG_AMD_PHY=m
CONFIG_AMD_PMC=m
-# CONFIG_AMD_PMF is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_AMDTEE is not set
# CONFIG_AMD_XGBE_DCB is not set
@@ -249,9 +248,9 @@ CONFIG_ARCH_BCM_IPROC=y
# CONFIG_ARCH_EXYNOS is not set
CONFIG_ARCH_HISI=y
# CONFIG_ARCH_INTEL_SOCFPGA is not set
-# CONFIG_ARCH_K3 is not set
+CONFIG_ARCH_K3=y
# CONFIG_ARCH_KEEMBAY is not set
-# CONFIG_ARCH_LAYERSCAPE is not set
+CONFIG_ARCH_LAYERSCAPE=y
# CONFIG_ARCH_LG1K is not set
# CONFIG_ARCH_MA35 is not set
# CONFIG_ARCH_MEDIATEK is not set
@@ -402,6 +401,7 @@ CONFIG_ARM_SPE_PMU=m
# CONFIG_ARM_TEGRA186_CPUFREQ is not set
CONFIG_ARM_TEGRA194_CPUFREQ=m
CONFIG_ARM_TEGRA_DEVFREQ=m
+CONFIG_ARM_TI_CPUFREQ=y
# CONFIG_AS3935 is not set
# CONFIG_AS73211 is not set
CONFIG_ASN1=y
@@ -920,6 +920,7 @@ CONFIG_CLK_IMX8QXP=y
CONFIG_CLK_IMX8ULP=y
CONFIG_CLK_IMX93=y
CONFIG_CLK_KUNIT_TEST=m
+CONFIG_CLK_LS1028A_PLLDIG=y
# CONFIG_CLK_QORIQ is not set
CONFIG_CLK_SP810=y
CONFIG_CLK_VEXPRESS_OSC=y
@@ -957,6 +958,7 @@ CONFIG_COMMAND_LINE_SIZE=4096
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
# CONFIG_COMMON_CLK_FSL_FLEXSPI is not set
+CONFIG_COMMON_CLK_FSL_SAI=y
CONFIG_COMMON_CLK_HI3516CV300=y
CONFIG_COMMON_CLK_HI3519=y
# CONFIG_COMMON_CLK_HI3559A is not set
@@ -978,6 +980,7 @@ CONFIG_COMMON_CLK_SCPI=m
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
CONFIG_COMMON_CLK_XGENE=y
@@ -998,6 +1001,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -1079,8 +1083,8 @@ CONFIG_CRYPTO_AES_ARM64_BS=m
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
CONFIG_CRYPTO_AES_ARM64_CE=y
-# CONFIG_CRYPTO_AES_ARM64 is not set
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
+CONFIG_CRYPTO_AES_ARM64=y
CONFIG_CRYPTO_AES_GCM_P10=y
# CONFIG_CRYPTO_AES_TI is not set
CONFIG_CRYPTO_AES=y
@@ -1098,6 +1102,7 @@ CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20_NEON=y
+# CONFIG_CRYPTO_CHACHA20_P10 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=y
# CONFIG_CRYPTO_CRC32C_VPMSUM is not set
@@ -1136,6 +1141,7 @@ CONFIG_CRYPTO_DEV_FSL_CAAM_PRNG_API=y
CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=3
CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y
# CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_TEST is not set
+CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m
# CONFIG_CRYPTO_DEV_HISI_HPRE is not set
# CONFIG_CRYPTO_DEV_HISI_SEC2 is not set
CONFIG_CRYPTO_DEV_HISI_SEC=m
@@ -1155,6 +1161,7 @@ CONFIG_CRYPTO_DEV_OCTEONTX2_CPT=m
# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set
# CONFIG_CRYPTO_DEV_QCE is not set
# CONFIG_CRYPTO_DEV_QCOM_RNG is not set
+CONFIG_CRYPTO_DEV_SA2UL=m
# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
# CONFIG_CRYPTO_DEV_SAHARA is not set
CONFIG_CRYPTO_DEV_SP_CCP=y
@@ -1206,6 +1213,7 @@ CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_POLY1305=m
CONFIG_CRYPTO_POLY1305_NEON=y
+# CONFIG_CRYPTO_POLY1305_P10 is not set
# CONFIG_CRYPTO_POLYVAL_ARM64_CE is not set
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
CONFIG_CRYPTO_RMD160=m
@@ -1417,6 +1425,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1439,6 +1448,7 @@ CONFIG_DMIID=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=m
@@ -1470,6 +1480,7 @@ CONFIG_DP83867_PHY=m
# CONFIG_DP83869_PHY is not set
CONFIG_DP83TC811_PHY=m
# CONFIG_DP83TD510_PHY is not set
+CONFIG_DPAA2_CONSOLE=m
# CONFIG_DPM_WATCHDOG is not set
# CONFIG_DPOT_DAC is not set
# CONFIG_DPS310 is not set
@@ -1561,6 +1572,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MALI_DISPLAY is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
@@ -1638,6 +1650,7 @@ CONFIG_DRM_SIMPLEDRM=y
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1779,6 +1792,7 @@ CONFIG_EDAC_DMC520=m
CONFIG_EDAC_GHES=y
CONFIG_EDAC_I10NM=m
CONFIG_EDAC_IGEN6=m
+CONFIG_EDAC_LAYERSCAPE=m
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_PND2=m
CONFIG_EDAC_SYNOPSYS=m
@@ -1898,6 +1912,7 @@ CONFIG_FAULT_INJECTION=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -1985,7 +2000,15 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
# CONFIG_FS_ENCRYPTION is not set
# CONFIG_FSI is not set
+# CONFIG_FSL_BMAN_TEST is not set
+CONFIG_FSL_DPAA2_ETH_DCB=y
+CONFIG_FSL_DPAA2_ETH=m
+CONFIG_FSL_DPAA2_PTP_CLOCK=m
+CONFIG_FSL_DPAA2_QDMA=m
CONFIG_FSL_DPAA2_SWITCH=m
+# CONFIG_FSL_DPAA_CHECKING is not set
+CONFIG_FSL_DPAA_ETH=m
+CONFIG_FSL_DPAA=y
# CONFIG_FSL_EDMA is not set
CONFIG_FSL_ENETC_IERB=m
CONFIG_FSL_ENETC=m
@@ -1994,10 +2017,15 @@ CONFIG_FSL_ENETC_PTP_CLOCK=m
CONFIG_FSL_ENETC_QOS=y
CONFIG_FSL_ENETC_VF=m
CONFIG_FSL_ERRATUM_A008585=y
+CONFIG_FSL_FMAN=y
CONFIG_FSL_IMX8_DDR_PMU=m
# CONFIG_FSL_IMX9_DDR_PMU is not set
+CONFIG_FSL_MC_BUS=y
+CONFIG_FSL_MC_DPIO=m
+CONFIG_FSL_MC_UAPI_SUPPORT=y
CONFIG_FSL_PQ_MDIO=m
# CONFIG_FSL_QDMA is not set
+# CONFIG_FSL_QMAN_TEST is not set
# CONFIG_FSL_RCPM is not set
CONFIG_FSL_XGMAC_MDIO=m
CONFIG_FSNOTIFY=y
@@ -2093,6 +2121,8 @@ CONFIG_GNSS=m
# CONFIG_GPIO_CADENCE is not set
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_DAVINCI=y
+# CONFIG_GPIO_DS4520 is not set
CONFIG_GPIO_DWAPB=m
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_EXAR is not set
@@ -2121,6 +2151,7 @@ CONFIG_GPIO_MLXBF2=m
# CONFIG_GPIO_MLXBF3 is not set
# CONFIG_GPIO_MLXBF is not set
# CONFIG_GPIO_MOCKUP is not set
+CONFIG_GPIO_MPC8XXX=y
CONFIG_GPIO_MXC=m
# CONFIG_GPIO_PCA953X_IRQ is not set
# CONFIG_GPIO_PCA953X is not set
@@ -2222,6 +2253,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_GOOGLE_HAMMER is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2378,15 +2410,17 @@ CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
CONFIG_HW_RANDOM_CAVIUM=m
# CONFIG_HW_RANDOM_CCTRNG is not set
CONFIG_HW_RANDOM_CN10K=m
-CONFIG_HW_RANDOM_HISI=y
+CONFIG_HW_RANDOM_HISI=m
# CONFIG_HW_RANDOM_HISTB is not set
# CONFIG_HW_RANDOM_IPROC_RNG200 is not set
+CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM_XGENE=m
# CONFIG_HW_RANDOM_XIPHERA is not set
CONFIG_HW_RANDOM=y
+CONFIG_HWSPINLOCK_OMAP=m
# CONFIG_HWSPINLOCK_QCOM is not set
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -2416,6 +2450,7 @@ CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
CONFIG_I2C_ARB_GPIO_CHALLENGE=m
+# CONFIG_I2C_ATR is not set
# CONFIG_I2C_BCM_IPROC is not set
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
@@ -2462,6 +2497,7 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NOMADIK is not set
# CONFIG_I2C_NVIDIA_GPU is not set
# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OMAP=m
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PCI1XXXX is not set
# CONFIG_I2C_PIIX4 is not set
@@ -2665,7 +2701,7 @@ CONFIG_INPUT_APANEL=m
# CONFIG_INPUT_ATI_REMOTE2 is not set
CONFIG_INPUT_ATLAS_BTNS=m
# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
-# CONFIG_INPUT_BBNSM_PWRKEY is not set
+CONFIG_INPUT_BBNSM_PWRKEY=m
# CONFIG_INPUT_BMA150 is not set
# CONFIG_INPUT_CM109 is not set
# CONFIG_INPUT_CMA3000 is not set
@@ -2759,6 +2795,7 @@ CONFIG_INTEL_SDSI=m
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
+# CONFIG_INTEL_VSC is not set
# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
CONFIG_INTEL_WMI_THUNDERBOLT=m
CONFIG_INTEL_XWAY_PHY=m
@@ -2793,7 +2830,7 @@ CONFIG_IOSCHED_BFQ=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_IOSM=m
# CONFIG_IO_STRICT_DEVMEM is not set
-# CONFIG_IO_URING is not set
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2879,6 +2916,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+# CONFIG_IPU_BRIDGE is not set
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
@@ -2955,6 +2993,7 @@ CONFIG_IR_RC6_DECODER=m
# CONFIG_IR_RCMM_DECODER is not set
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
# CONFIG_IR_SERIAL is not set
CONFIG_IR_SERIAL_TRANSMITTER=y
# CONFIG_IR_SHARP_DECODER is not set
@@ -3010,6 +3049,8 @@ CONFIG_JOLIET=y
# CONFIG_JSA1212 is not set
CONFIG_JUMP_LABEL=y
# CONFIG_K3_DMA is not set
+CONFIG_K3_RTI_WATCHDOG=m
+CONFIG_K3_THERMAL=m
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
# CONFIG_KALLSYMS_SELFTEST is not set
@@ -3103,13 +3144,15 @@ CONFIG_KPROBES=y
CONFIG_KSM=y
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KVM_AMD_SEV=y
# CONFIG_KVM_BOOK3S_HV_P8_TIMING is not set
# CONFIG_KVM_BOOK3S_HV_P9_TIMING is not set
+CONFIG_KVM_PROVE_MMU=y
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
# CONFIG_KVM_XEN is not set
@@ -3182,6 +3225,7 @@ CONFIG_LEDS_MLXCPLD=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_RT4505 is not set
@@ -3323,9 +3367,11 @@ CONFIG_MAILBOX=y
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
CONFIG_MARVELL_CN10K_DDR_PMU=m
CONFIG_MARVELL_CN10K_TAD_PMU=m
+CONFIG_MARVELL_GTI_WDT=y
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -3367,9 +3413,11 @@ CONFIG_MAX_SKB_FRAGS=17
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
# CONFIG_MCP4922 is not set
# CONFIG_MCTP is not set
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
# CONFIG_MDIO_BCM_IPROC is not set
@@ -3426,6 +3474,7 @@ CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
CONFIG_MEMCPY_KUNIT_TEST=m
CONFIG_MEMCPY_SLOW_KUNIT_TEST=y
+CONFIG_MEMFD_CREATE=y
CONFIG_MEMORY_FAILURE=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTPLUG=y
@@ -3460,6 +3509,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_CS42L43_SDW is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9055 is not set
@@ -3611,6 +3662,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_FPGA=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -3853,6 +3905,9 @@ CONFIG_MTD_UBI=m
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTK_T7XX=m
CONFIG_MULTIUSER=y
+CONFIG_MUX_ADG792A=m
+# CONFIG_MUX_ADGS1408 is not set
+CONFIG_MUX_GPIO=m
# CONFIG_MVMDIO is not set
# CONFIG_MV_XOR_V2 is not set
# CONFIG_MWAVE is not set
@@ -3912,6 +3967,7 @@ CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4340,6 +4396,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4387,9 +4444,11 @@ CONFIG_NVME_FC=m
# CONFIG_NVMEM_IMX_IIM is not set
# CONFIG_NVMEM_IMX_OCOTP_ELE is not set
CONFIG_NVMEM_IMX_OCOTP=m
+CONFIG_NVMEM_LAYERSCAPE_SFP=m
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_QCOM_QFPROM is not set
+# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_NVMEM_RMEM is not set
# CONFIG_NVMEM_SNVS_LPGPR is not set
@@ -4425,6 +4484,11 @@ CONFIG_OF_MDIO=y
CONFIG_OF_PMEM=m
# CONFIG_OF_UNITTEST is not set
CONFIG_OF=y
+CONFIG_OMAP2PLUS_MBOX=m
+CONFIG_OMAP_DM_TIMER=y
+# CONFIG_OMAP_GPMC is not set
+CONFIG_OMAP_MBOX_KFIFO_SIZE=256
+CONFIG_OMAP_USB2=m
# CONFIG_OMFS_FS is not set
# CONFIG_OPAL_CORE is not set
# CONFIG_OPEN_DICE is not set
@@ -4439,6 +4503,7 @@ CONFIG_OPENVSWITCH_VXLAN=m
# CONFIG_OSF_PARTITION is not set
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+CONFIG_OVERLAY_FS_DEBUG=y
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4519,6 +4584,7 @@ CONFIG_PCC=y
# CONFIG_PCI200SYN is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_AL is not set
@@ -4566,6 +4632,8 @@ CONFIG_PCI_IMX6_HOST=y
CONFIG_PCI_IMX6=y
CONFIG_PCI_IOV=y
# CONFIG_PCI_J721E_HOST is not set
+CONFIG_PCI_KEYSTONE_HOST=y
+CONFIG_PCI_LAYERSCAPE=y
# CONFIG_PCI_MESON is not set
CONFIG_PCI_MSI=y
CONFIG_PCI_P2PDMA=y
@@ -4598,6 +4666,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PER_VMA_LOCK_STATS=y
# CONFIG_PHANTOM is not set
# CONFIG_PHONET is not set
+CONFIG_PHY_AM654_SERDES=m
# CONFIG_PHY_BCM_NS_USB2 is not set
# CONFIG_PHY_BCM_NS_USB3 is not set
# CONFIG_PHY_BCM_SR_PCIE is not set
@@ -4619,9 +4688,10 @@ CONFIG_PHY_FSL_IMX8MQ_USB=m
CONFIG_PHY_HI6220_USB=m
# CONFIG_PHY_HISI_INNO_USB2 is not set
# CONFIG_PHY_HISTB_COMBPHY is not set
+CONFIG_PHY_J721E_WIZ=m
# CONFIG_PHY_LAN966X_SERDES is not set
CONFIG_PHYLIB=y
-CONFIG_PHYLINK=m
+CONFIG_PHYLINK=y
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
# CONFIG_PHY_MIXEL_LVDS_PHY is not set
# CONFIG_PHY_MIXEL_MIPI_DPHY is not set
@@ -4635,6 +4705,7 @@ CONFIG_PHY_NS2_USB_DRD=y
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
# CONFIG_PHY_QCOM_PCIE2 is not set
# CONFIG_PHY_QCOM_QMP is not set
# CONFIG_PHY_QCOM_QUSB2 is not set
@@ -4645,6 +4716,8 @@ CONFIG_PHY_NS2_USB_DRD=y
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+# CONFIG_PHY_RTK_RTD_USB2PHY is not set
+# CONFIG_PHY_RTK_RTD_USB3PHY is not set
CONFIG_PHY_TEGRA194_P2U=y
CONFIG_PHY_TEGRA_XUSB=m
# CONFIG_PHY_TUSB1210 is not set
@@ -4825,6 +4898,7 @@ CONFIG_PSI_DEFAULT_DISABLED=y
CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS is not set
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -4844,6 +4918,7 @@ CONFIG_PTE_MARKER_UFFD_WP=y
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_QORIQ=m
CONFIG_PTP_1588_CLOCK=y
@@ -4861,8 +4936,11 @@ CONFIG_PWM_BCM_IPROC=y
# CONFIG_PWM_IMX1 is not set
CONFIG_PWM_IMX27=m
CONFIG_PWM_IMX_TPM=m
+CONFIG_PWM_OMAP_DMTIMER=y
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM_TEGRA=y
+CONFIG_PWM_TIECAP=m
+CONFIG_PWM_TIEHRPWM=m
# CONFIG_PWM_XILINX is not set
CONFIG_PWM=y
# CONFIG_PWRSEQ_EMMC is not set
@@ -4958,6 +5036,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MEMORY=y
CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -5002,6 +5081,7 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
@@ -5009,6 +5089,7 @@ CONFIG_REGMAP=y
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
# CONFIG_REGULATOR_ARM_SCMI is not set
+# CONFIG_REGULATOR_AW37503 is not set
CONFIG_REGULATOR_BD718XX=m
# CONFIG_REGULATOR_DA9121 is not set
# CONFIG_REGULATOR_DA9210 is not set
@@ -5032,6 +5113,7 @@ CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_MAX77620=y
CONFIG_REGULATOR_MAX77686=m
# CONFIG_REGULATOR_MAX77826 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8893 is not set
@@ -5050,6 +5132,7 @@ CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_PWM is not set
+# CONFIG_REGULATOR_QCOM_REFGEN is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
# CONFIG_REGULATOR_RT4801 is not set
@@ -5062,6 +5145,7 @@ CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_RT6245 is not set
# CONFIG_REGULATOR_RTMV20 is not set
# CONFIG_REGULATOR_RTQ2134 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_RTQ6752 is not set
# CONFIG_REGULATOR_SLG51000 is not set
# CONFIG_REGULATOR_SY8106A is not set
@@ -5096,6 +5180,7 @@ CONFIG_RESET_IMX7=y
# CONFIG_RESET_QCOM_PDC is not set
# CONFIG_RESET_SCMI is not set
# CONFIG_RESET_SIMPLE is not set
+CONFIG_RESET_TI_SCI=m
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RESET_TI_TPS380X is not set
CONFIG_RESOURCE_KUNIT_TEST=m
@@ -5105,7 +5190,6 @@ CONFIG_RETPOLINE=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RH_DISABLE_DEPRECATED=y
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RICHTEK_RTQ6056 is not set
CONFIG_RING_BUFFER_BENCHMARK=m
@@ -5199,6 +5283,7 @@ CONFIG_RTC_DRV_DS3232=m
CONFIG_RTC_DRV_EFI=y
CONFIG_RTC_DRV_EM3027=m
CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_FSL_FTM_ALARM=m
# CONFIG_RTC_DRV_FTRTC010 is not set
# CONFIG_RTC_DRV_GOLDFISH is not set
# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
@@ -5253,6 +5338,7 @@ CONFIG_RTC_DRV_RX8581=m
CONFIG_RTC_DRV_STK17TA8=m
# CONFIG_RTC_DRV_TEGRA is not set
# CONFIG_RTC_DRV_TEST is not set
+CONFIG_RTC_DRV_TI_K3=m
CONFIG_RTC_DRV_V3020=m
CONFIG_RTC_DRV_X1205=m
# CONFIG_RTC_DRV_XGENE is not set
@@ -5476,6 +5562,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5485,6 +5572,7 @@ CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_YAMA=y
+# CONFIG_SEL3350_PLATFORM is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
@@ -5562,6 +5650,7 @@ CONFIG_SENSORS_G762=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_HP_WMI is not set
+# CONFIG_SENSORS_HS3001 is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_IBMAEM is not set
# CONFIG_SENSORS_IBM_CFFPS is not set
@@ -5743,6 +5832,8 @@ CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y
+CONFIG_SERIAL_8250_OMAP=y
CONFIG_SERIAL_8250_PCI1XXXX=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PERICOM=y
@@ -6061,7 +6152,9 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_AMD_YC_MACH is not set
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set
# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88261 is not set
# CONFIG_SND_SOC_AW88395 is not set
# CONFIG_SND_SOC_BD28623 is not set
# CONFIG_SND_SOC_BT_SCO is not set
@@ -6078,7 +6171,6 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_CS35L45_I2C is not set
# CONFIG_SND_SOC_CS35L45_SPI is not set
# CONFIG_SND_SOC_CS35L56_I2C is not set
-# CONFIG_SND_SOC_CS35L56_SDW is not set
# CONFIG_SND_SOC_CS35L56_SPI is not set
# CONFIG_SND_SOC_CS4234 is not set
# CONFIG_SND_SOC_CS4265 is not set
@@ -6143,6 +6235,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_ES8336 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A is not set
@@ -6153,6 +6246,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT274 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT286 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT298 is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567 is not set
# CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH is not set
@@ -6272,6 +6366,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+# CONFIG_SND_SOC_RT1017_SDCA_SDW is not set
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -6331,6 +6426,7 @@ CONFIG_SND_SOC_SOF_HDA_PROBES=m
# CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL is not set
# CONFIG_SND_SOC_SOF_JASPERLAKE is not set
# CONFIG_SND_SOC_SOF_KABYLAKE is not set
+CONFIG_SND_SOC_SOF_LUNARLAKE=m
# CONFIG_SND_SOC_SOF_MERRIFIELD is not set
# CONFIG_SND_SOC_SOF_METEORLAKE is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -6401,6 +6497,7 @@ CONFIG_SND_SOC_SOF_TOPLEVEL=y
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+CONFIG_SND_SOC_TOPOLOGY_BUILD=y
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
@@ -6492,7 +6589,7 @@ CONFIG_SOC_IMX8M=y
CONFIG_SOC_IMX9=m
# CONFIG_SOCIONEXT_SYNQUACER_PREITS is not set
CONFIG_SOC_TEGRA_CBB=m
-# CONFIG_SOC_TI is not set
+CONFIG_SOC_TI=y
CONFIG_SOFTLOCKUP_DETECTOR=y
CONFIG_SOFT_WATCHDOG=m
# CONFIG_SOLARIS_X86_PARTITION is not set
@@ -6532,6 +6629,7 @@ CONFIG_SPI_AMD=y
# CONFIG_SPI_CADENCE_XSPI is not set
CONFIG_SPI_DEBUG=y
# CONFIG_SPI_DESIGNWARE is not set
+CONFIG_SPI_FSL_DSPI=y
CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_FSL_QUADSPI=m
# CONFIG_SPI_FSL_SPI is not set
@@ -6550,6 +6648,7 @@ CONFIG_SPI_MEM=y
# CONFIG_SPI_MXIC is not set
CONFIG_SPI_NXP_FLEXSPI=m
# CONFIG_SPI_OC_TINY is not set
+CONFIG_SPI_OMAP24XX=m
CONFIG_SPI_PCI1XXXX=m
CONFIG_SPI_PL022=m
# CONFIG_SPI_PXA2XX is not set
@@ -6651,6 +6750,7 @@ CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_SUSPEND=y
CONFIG_SVC_I3C_MASTER=m
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
# CONFIG_SW_SYNC is not set
# CONFIG_SX9310 is not set
# CONFIG_SX9324 is not set
@@ -6769,6 +6869,7 @@ CONFIG_TEST_FPU=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=m
@@ -6845,6 +6946,9 @@ CONFIG_THUNDERX2_PMU=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+CONFIG_TI_K3_RINGACC=y
+CONFIG_TI_K3_UDMA_GLUE_LAYER=y
+CONFIG_TI_K3_UDMA=y
# CONFIG_TI_LMP92064 is not set
CONFIG_TIME_KUNIT_TEST=m
CONFIG_TIME_NS=y
@@ -6864,7 +6968,13 @@ CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_IB=y
CONFIG_TIPC_MEDIA_UDP=y
+CONFIG_TI_PRUSS=m
+CONFIG_TI_SCI_CLK=m
+# CONFIG_TI_SCI_CLK_PROBE_FROM_FW is not set
+CONFIG_TI_SCI_PM_DOMAINS=m
# CONFIG_TI_ST is not set
+CONFIG_TI_SYSCON_CLK=m
+CONFIG_TI_SYSC=y
# CONFIG_TI_TLC4541 is not set
# CONFIG_TI_TMAG5273 is not set
# CONFIG_TI_TSC2046 is not set
@@ -6877,6 +6987,7 @@ CONFIG_TLS=m
# CONFIG_TMP117 is not set
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_TMPFS_QUOTA is not set
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_TOOLCHAIN_DEFAULT_CPU is not set
@@ -6921,6 +7032,7 @@ CONFIG_TORTURE_TEST=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -7085,8 +7197,10 @@ CONFIG_USB_CXACRU=m
CONFIG_USB_DEFAULT_PERSIST=y
# CONFIG_USB_DSBR is not set
# CONFIG_USB_DWC2 is not set
+CONFIG_USB_DWC3_AM62=m
CONFIG_USB_DWC3_IMX8MP=m
# CONFIG_USB_DWC3 is not set
+CONFIG_USB_DWC3_KEYSTONE=m
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_EHCI_FSL is not set
CONFIG_USB_EHCI_HCD_PLATFORM=m
@@ -7370,6 +7484,7 @@ CONFIG_VEXPRESS_CONFIG=y
# CONFIG_VF610_DAC is not set
CONFIG_VFAT_FS=m
# CONFIG_VFIO_AMBA is not set
+CONFIG_VFIO_FSL_MC=m
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO=m
# CONFIG_VFIO_MDEV is not set
@@ -7434,8 +7549,12 @@ CONFIG_VIDEO_CX88_DVB=m
# CONFIG_VIDEO_CX88_ENABLE_VP3054 is not set
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_DEV=m
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
# CONFIG_VIDEO_DT3155 is not set
# CONFIG_VIDEO_DW9714 is not set
+CONFIG_VIDEO_DW9719=m
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -7733,6 +7852,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -7818,7 +7938,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-aarch64-fedora.config b/SOURCES/kernel-aarch64-fedora.config
index 0723dd1..ca1c749 100644
--- a/SOURCES/kernel-aarch64-fedora.config
+++ b/SOURCES/kernel-aarch64-fedora.config
@@ -145,6 +145,7 @@ CONFIG_AD7949=m
# CONFIG_AD9834 is not set
# CONFIG_ADA4250 is not set
CONFIG_ADAPTEC_STARFIRE=m
+# CONFIG_ADDRESS_MASKING is not set
# CONFIG_ADE7854 is not set
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
@@ -1275,6 +1276,7 @@ CONFIG_COMMON_CLK_SI5341=m
# CONFIG_COMMON_CLK_SI5351 is not set
CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_SI570 is not set
+CONFIG_COMMON_CLK_VC3=m
# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VC7=m
CONFIG_COMMON_CLK_XGENE=y
@@ -1297,6 +1299,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -1352,6 +1355,8 @@ CONFIG_CPU_THERMAL=y
# CONFIG_CRAMFS is not set
# CONFIG_CRAMFS_MTD is not set
CONFIG_CRASH_DUMP=y
+CONFIG_CRASH_HOTPLUG=y
+CONFIG_CRASH_MAX_MEMORY_RANGES=8192
CONFIG_CRC16=y
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC32_SARWATE is not set
@@ -1772,6 +1777,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
CONFIG_DMA_OF=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
@@ -1800,6 +1806,7 @@ CONFIG_DM_INIT=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=y
@@ -1934,6 +1941,7 @@ CONFIG_DRM_LONTIUM_LT8912B=m
# CONFIG_DRM_LONTIUM_LT9211 is not set
CONFIG_DRM_LONTIUM_LT9611=m
CONFIG_DRM_LONTIUM_LT9611UXC=m
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM_MALI_DISPLAY=m
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
@@ -2038,11 +2046,13 @@ CONFIG_DRM_PANEL_SITRONIX_ST7789V=m
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521=m
+CONFIG_DRM_PANEL_STARTEK_KD070FHFID015=m
# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
CONFIG_DRM_PANEL_TPO_TPG110=m
CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
+CONFIG_DRM_PANEL_VISIONOX_R66451=m
CONFIG_DRM_PANEL_VISIONOX_RM69299=m
CONFIG_DRM_PANEL_VISIONOX_VTDR6130=m
CONFIG_DRM_PANEL_WIDECHIPS_WS2401=m
@@ -2090,6 +2100,7 @@ CONFIG_DRM_TOSHIBA_TC358764=m
CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_TOSHIBA_TC358775=m
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
CONFIG_DRM_V3D=m
@@ -2298,6 +2309,7 @@ CONFIG_EROFS_FS=m
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP_DEFLATE=y
CONFIG_EROFS_FS_ZIP_LZMA=y
CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
@@ -2379,6 +2391,7 @@ CONFIG_FAT_KUNIT_TEST=m
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -2620,6 +2633,7 @@ CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
CONFIG_GPIO_DAVINCI=m
CONFIG_GPIO_DLN2=m
+CONFIG_GPIO_DS4520=m
CONFIG_GPIO_DWAPB=m
CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_FTGPIO010 is not set
@@ -2759,6 +2773,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
+CONFIG_HID_GOOGLE_STADIA_FF=m
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2978,6 +2993,7 @@ CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_AMD_MP2=m
CONFIG_I2C_APPLE=m
CONFIG_I2C_ARB_GPIO_CHALLENGE=m
+CONFIG_I2C_ATR=m
CONFIG_I2C_BCM2835=m
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_BRCMSTB=y
@@ -3421,6 +3437,7 @@ CONFIG_IONIC=m
CONFIG_IOSCHED_BFQ=y
CONFIG_IOSM=m
CONFIG_IO_STRICT_DEVMEM=y
+CONFIG_IO_URING=y
CONFIG_IP5XXX_POWER=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -3490,6 +3507,7 @@ CONFIG_IP_PIMSM_V2=y
# CONFIG_IPQ_APSS_6018 is not set
# CONFIG_IPQ_APSS_PLL is not set
# CONFIG_IPQ_GCC_4019 is not set
+CONFIG_IPQ_GCC_5018=m
# CONFIG_IPQ_GCC_5332 is not set
# CONFIG_IPQ_GCC_6018 is not set
# CONFIG_IPQ_GCC_806X is not set
@@ -3517,6 +3535,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+CONFIG_IPU_BRIDGE=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_ILA=m
CONFIG_IPV6_IOAM6_LWTUNNEL=y
@@ -3594,6 +3613,7 @@ CONFIG_IR_RC6_DECODER=m
CONFIG_IR_RCMM_DECODER=m
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
@@ -3808,11 +3828,13 @@ CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KUSER_HELPERS=y
+# CONFIG_KVM_PROVE_MMU is not set
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
CONFIG_KVM_XEN=y
@@ -3866,6 +3888,7 @@ CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GROUP_MULTICOLOR=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
# CONFIG_LEDS_KTD2692 is not set
@@ -3893,6 +3916,7 @@ CONFIG_LEDS_PCA9532_GPIO=y
CONFIG_LEDS_PCA9532=m
# CONFIG_LEDS_PCA955X is not set
CONFIG_LEDS_PCA963X=m
+CONFIG_LEDS_PCA995X=m
CONFIG_LEDS_PWM=m
CONFIG_LEDS_PWM_MULTICOLOR=m
CONFIG_LEDS_QCOM_FLASH=m
@@ -4045,9 +4069,11 @@ CONFIG_MAILBOX=y
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+CONFIG_MARVELL_88Q2XXX_PHY=m
CONFIG_MARVELL_88X2222_PHY=m
CONFIG_MARVELL_CN10K_DDR_PMU=m
CONFIG_MARVELL_CN10K_TAD_PMU=m
+CONFIG_MARVELL_GTI_WDT=y
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -4091,11 +4117,13 @@ CONFIG_MCP41010=m
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+CONFIG_MCP4728=m
# CONFIG_MCP4922 is not set
CONFIG_MCTP_SERIAL=m
# CONFIG_MCTP_TRANSPORT_I2C is not set
CONFIG_MCTP=y
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -4219,6 +4247,8 @@ CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
CONFIG_MFD_CROS_EC_DEV=m
+CONFIG_MFD_CS42L43_I2C=m
+CONFIG_MFD_CS42L43_SDW=m
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
@@ -4381,6 +4411,7 @@ CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -4773,6 +4804,7 @@ CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -5288,6 +5320,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -5340,6 +5373,7 @@ CONFIG_NVMEM_LAYOUT_SL28_VPD=m
CONFIG_NVMEM_MESON_EFUSE=m
CONFIG_NVMEM_MESON_MX_EFUSE=m
CONFIG_NVMEM_QCOM_QFPROM=m
+CONFIG_NVMEM_QCOM_SEC_QFPROM=m
CONFIG_NVMEM_REBOOT_MODE=m
CONFIG_NVMEM_RMEM=m
CONFIG_NVMEM_ROCKCHIP_EFUSE=m
@@ -5419,6 +5453,7 @@ CONFIG_ORINOCO_USB=m
CONFIG_OSF_PARTITION=y
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+# CONFIG_OVERLAY_FS_DEBUG is not set
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -5508,6 +5543,7 @@ CONFIG_PCC=y
CONFIG_PCI_AARDVARK=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_AL is not set
@@ -5590,6 +5626,7 @@ CONFIG_PCS_XPCS=m
CONFIG_PDC_ADMA=m
CONFIG_PDS_CORE=m
CONFIG_PDS_VDPA=m
+CONFIG_PDS_VFIO_PCI=m
# CONFIG_PECI is not set
# CONFIG_PERCPU_STATS is not set
# CONFIG_PERCPU_TEST is not set
@@ -5648,12 +5685,14 @@ CONFIG_PHY_QCOM_EUSB2_REPEATER=m
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
CONFIG_PHY_QCOM_PCIE2=m
CONFIG_PHY_QCOM_QMP_COMBO=m
CONFIG_PHY_QCOM_QMP=m
CONFIG_PHY_QCOM_QMP_PCIE_8996=m
CONFIG_PHY_QCOM_QMP_PCIE=m
CONFIG_PHY_QCOM_QMP_UFS=m
+CONFIG_PHY_QCOM_QMP_USB_LEGACY=m
CONFIG_PHY_QCOM_QMP_USB=m
CONFIG_PHY_QCOM_QUSB2=m
CONFIG_PHY_QCOM_SGMII_ETH=m
@@ -5675,6 +5714,8 @@ CONFIG_PHY_ROCKCHIP_PCIE=y
CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=m
CONFIG_PHY_ROCKCHIP_TYPEC=m
CONFIG_PHY_ROCKCHIP_USB=m
+CONFIG_PHY_RTK_RTD_USB2PHY=m
+CONFIG_PHY_RTK_RTD_USB3PHY=m
# CONFIG_PHY_SAMSUNG_USB2 is not set
CONFIG_PHY_SUN4I_USB=m
CONFIG_PHY_SUN50I_USB3=m
@@ -5692,6 +5733,7 @@ CONFIG_PID_NS=y
CONFIG_PINCONF=y
CONFIG_PINCTRL_ALDERLAKE=m
CONFIG_PINCTRL_AMD=y
+CONFIG_PINCTRL_AMLOGIC_C3=y
CONFIG_PINCTRL_APPLE_GPIO=m
CONFIG_PINCTRL_AS3722=y
CONFIG_PINCTRL_AXP209=m
@@ -5700,6 +5742,7 @@ CONFIG_PINCTRL_AXP209=m
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
# CONFIG_PINCTRL_CHERRYVIEW is not set
+CONFIG_PINCTRL_CS42L43=m
CONFIG_PINCTRL_CY8C95X0=m
CONFIG_PINCTRL_ELKHARTLAKE=m
CONFIG_PINCTRL_EMMITSBURG=m
@@ -5777,6 +5820,7 @@ CONFIG_PINCTRL_SDM845=m
# CONFIG_PINCTRL_SDX75 is not set
CONFIG_PINCTRL_SINGLE=y
# CONFIG_PINCTRL_SM6115 is not set
+# CONFIG_PINCTRL_SM6115_LPASS_LPI is not set
# CONFIG_PINCTRL_SM6125 is not set
# CONFIG_PINCTRL_SM6350 is not set
# CONFIG_PINCTRL_SM6375 is not set
@@ -5785,6 +5829,7 @@ CONFIG_PINCTRL_SINGLE=y
# CONFIG_PINCTRL_SM8250 is not set
CONFIG_PINCTRL_SM8250_LPASS_LPI=m
# CONFIG_PINCTRL_SM8350 is not set
+CONFIG_PINCTRL_SM8350_LPASS_LPI=m
CONFIG_PINCTRL_SM8450_LPASS_LPI=m
CONFIG_PINCTRL_SM8450=m
# CONFIG_PINCTRL_SM8550 is not set
@@ -5948,6 +5993,7 @@ CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS_DEFAULT is not set
CONFIG_PSTORE_842_COMPRESS=y
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -5969,6 +6015,7 @@ CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK_QORIQ=m
@@ -6140,6 +6187,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -6201,6 +6249,7 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP_MMIO=y
@@ -6212,6 +6261,7 @@ CONFIG_REGULATOR_ACT8865=m
CONFIG_REGULATOR_ANATOP=m
CONFIG_REGULATOR_ARM_SCMI=m
CONFIG_REGULATOR_AS3722=m
+CONFIG_REGULATOR_AW37503=m
CONFIG_REGULATOR_AXP20X=m
CONFIG_REGULATOR_BD718XX=m
CONFIG_REGULATOR_BD9571MWV=m
@@ -6239,12 +6289,14 @@ CONFIG_REGULATOR_HI655X=m
# CONFIG_REGULATOR_MAX1586 is not set
# CONFIG_REGULATOR_MAX20086 is not set
CONFIG_REGULATOR_MAX20411=m
+CONFIG_REGULATOR_MAX5970=m
CONFIG_REGULATOR_MAX597X=m
CONFIG_REGULATOR_MAX77620=y
CONFIG_REGULATOR_MAX77650=m
CONFIG_REGULATOR_MAX77686=m
CONFIG_REGULATOR_MAX77802=m
# CONFIG_REGULATOR_MAX77826 is not set
+CONFIG_REGULATOR_MAX77857=m
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
CONFIG_REGULATOR_MAX8893=m
@@ -6266,6 +6318,7 @@ CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_PV88090 is not set
CONFIG_REGULATOR_PWM=y
CONFIG_REGULATOR_QCOM_LABIBB=m
+CONFIG_REGULATOR_QCOM_REFGEN=m
CONFIG_REGULATOR_QCOM_RPMH=y
# CONFIG_REGULATOR_QCOM_RPM is not set
CONFIG_REGULATOR_QCOM_SMD_RPM=m
@@ -6286,6 +6339,7 @@ CONFIG_REGULATOR_RT6190=m
CONFIG_REGULATOR_RT6245=m
CONFIG_REGULATOR_RTMV20=m
CONFIG_REGULATOR_RTQ2134=m
+CONFIG_REGULATOR_RTQ2208=m
CONFIG_REGULATOR_RTQ6752=m
# CONFIG_REGULATOR_SLG51000 is not set
CONFIG_REGULATOR_SY7636A=m
@@ -6345,8 +6399,7 @@ CONFIG_RESOURCE_KUNIT_TEST=m
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-# CONFIG_RH_DISABLE_DEPRECATED is not set
-CONFIG_RH_FEDORA=y
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RICHTEK_RTQ6056=m
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
@@ -6829,6 +6882,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -6906,6 +6960,7 @@ CONFIG_SENSORS_GPIO_FAN=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
CONFIG_SENSORS_HP_WMI=m
+CONFIG_SENSORS_HS3001=m
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
# CONFIG_SENSORS_IBM_CFFPS is not set
@@ -6992,6 +7047,7 @@ CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_MLXREG_FAN=m
CONFIG_SENSORS_MP2888=m
CONFIG_SENSORS_MP2975=m
+CONFIG_SENSORS_MP2975_REGULATOR=y
CONFIG_SENSORS_MP5023=m
CONFIG_SENSORS_MPQ7932=m
CONFIG_SENSORS_MPQ7932_REGULATOR=y
@@ -7363,6 +7419,9 @@ CONFIG_SND_HDA_PREALLOC_SIZE=2048
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
+CONFIG_SND_HDA_SCODEC_CS35L56_I2C=m
+CONFIG_SND_HDA_SCODEC_CS35L56_SPI=m
+CONFIG_SND_HDA_SCODEC_TAS2781_I2C=m
CONFIG_SND_HDA_TEGRA=m
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
@@ -7484,7 +7543,9 @@ CONFIG_SND_SOC_AK5558=m
CONFIG_SND_SOC_APPLE_MCA=m
CONFIG_SND_SOC_APQ8016_SBC=m
CONFIG_SND_SOC_ARNDALE=m
+CONFIG_SND_SOC_AUDIO_IIO_AUX=m
CONFIG_SND_SOC_AW8738=m
+CONFIG_SND_SOC_AW88261=m
CONFIG_SND_SOC_AW88395=m
CONFIG_SND_SOC_BD28623=m
CONFIG_SND_SOC_BT_SCO=m
@@ -7510,6 +7571,8 @@ CONFIG_SND_SOC_CS4271_I2C=m
# CONFIG_SND_SOC_CS4271_SPI is not set
CONFIG_SND_SOC_CS42L42=m
CONFIG_SND_SOC_CS42L42_SDW=m
+CONFIG_SND_SOC_CS42L43=m
+CONFIG_SND_SOC_CS42L43_SDW=m
# CONFIG_SND_SOC_CS42L51_I2C is not set
# CONFIG_SND_SOC_CS42L52 is not set
# CONFIG_SND_SOC_CS42L56 is not set
@@ -7701,6 +7764,7 @@ CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
CONFIG_SND_SOC_ROCKCHIP_PDM=m
CONFIG_SND_SOC_ROCKCHIP_RT5645=m
CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
+CONFIG_SND_SOC_RT1017_SDCA_SDW=m
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -7846,6 +7910,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
CONFIG_SND_SOC_TLV320AIC3X_I2C=m
CONFIG_SND_SOC_TLV320AIC3X=m
CONFIG_SND_SOC_TLV320AIC3X_SPI=m
+# CONFIG_SND_SOC_TOPOLOGY_BUILD is not set
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
CONFIG_SND_SOC_TPA6130A2=m
CONFIG_SND_SOC_TS3A227E=m
@@ -7987,6 +8052,7 @@ CONFIG_SPI_BITBANG=m
CONFIG_SPI_CADENCE=m
CONFIG_SPI_CADENCE_QUADSPI=m
CONFIG_SPI_CADENCE_XSPI=m
+# CONFIG_SPI_CS42L43 is not set
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_DESIGNWARE=m
CONFIG_SPI_DLN2=m
@@ -8130,6 +8196,7 @@ CONFIG_ST_UVIS25=m
CONFIG_ST_UVIS25_SPI=m
# CONFIG_SUN20I_D1_CCU is not set
# CONFIG_SUN20I_D1_R_CCU is not set
+CONFIG_SUN20I_GPADC=m
# CONFIG_SUN20I_PPU is not set
# CONFIG_SUN4I_EMAC is not set
CONFIG_SUN50I_A100_CCU=y
@@ -8184,6 +8251,7 @@ CONFIG_SURFACE_PRO3_BUTTON=m
CONFIG_SUSPEND=y
CONFIG_SVC_I3C_MASTER=m
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_SWP_EMULATION=y
# CONFIG_SW_SYNC is not set
CONFIG_SX9310=m
@@ -8319,6 +8387,7 @@ CONFIG_TEST_CPUMASK=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
@@ -8402,6 +8471,8 @@ CONFIG_TIFM_7XX1=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+# CONFIG_TI_ICSSG_PRUETH is not set
+CONFIG_TI_ICSS_IEP=m
CONFIG_TI_K3_AM65_CPSW_NUSS=m
CONFIG_TI_K3_AM65_CPSW_SWITCHDEV=y
CONFIG_TI_K3_AM65_CPTS=m
@@ -8441,6 +8512,7 @@ CONFIG_TI_SCI_PM_DOMAINS=y
CONFIG_TI_SCI_PROTOCOL=y
# CONFIG_TI_ST is not set
CONFIG_TI_SYSCON_CLK=m
+CONFIG_TI_SYSC=y
# CONFIG_TI_TLC4541 is not set
# CONFIG_TI_TMAG5273 is not set
CONFIG_TI_TSC2046=m
@@ -8453,6 +8525,7 @@ CONFIG_TMP006=m
CONFIG_TMP117=m
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_QUOTA=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
CONFIG_TORTURE_TEST=m
@@ -8498,6 +8571,7 @@ CONFIG_TOUCHSCREEN_IMAGIS=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
CONFIG_TOUCHSCREEN_IQS5XX=m
+CONFIG_TOUCHSCREEN_IQS7211=m
# CONFIG_TOUCHSCREEN_MAX11801 is not set
CONFIG_TOUCHSCREEN_MCS5000=m
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -8724,6 +8798,7 @@ CONFIG_USB_CONFIGFS_EEM=y
# CONFIG_USB_CONFIGFS_F_FS is not set
CONFIG_USB_CONFIGFS_F_HID=y
# CONFIG_USB_CONFIGFS_F_LB_SS is not set
+CONFIG_USB_CONFIGFS_F_MIDI2=y
# CONFIG_USB_CONFIGFS_F_MIDI is not set
# CONFIG_USB_CONFIGFS_F_PRINTER is not set
CONFIG_USB_CONFIGFS_F_TCM=y
@@ -9118,7 +9193,9 @@ CONFIG_VFAT_FS=m
CONFIG_VFIO_AMBA=m
CONFIG_VFIO_CDX=m
CONFIG_VFIO_CONTAINER=y
+# CONFIG_VFIO_DEVICE_CDEV is not set
CONFIG_VFIO_FSL_MC=m
+CONFIG_VFIO_GROUP=y
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO=m
CONFIG_VFIO_MDEV=m
@@ -9193,9 +9270,13 @@ CONFIG_VIDEO_CX88_ENABLE_VP3054=y
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_VP3054=m
CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_DS90UB913=m
+CONFIG_VIDEO_DS90UB953=m
+CONFIG_VIDEO_DS90UB960=m
# CONFIG_VIDEO_DT3155 is not set
CONFIG_VIDEO_DW100=m
CONFIG_VIDEO_DW9714=m
+CONFIG_VIDEO_DW9719=m
CONFIG_VIDEO_DW9768=m
CONFIG_VIDEO_DW9807_VCM=m
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -9569,6 +9650,7 @@ CONFIG_XDP_SOCKETS=y
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
# CONFIG_XEN is not set
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
+CONFIG_XEN_PRIVCMD_IRQFD=y
CONFIG_XEN_PRIVCMD=m
# CONFIG_XEN_PVCALLS_FRONTEND is not set
CONFIG_XEN_PVHVM_GUEST=y
@@ -9586,6 +9668,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -9685,7 +9768,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-aarch64-rhel.config b/SOURCES/kernel-aarch64-rhel.config
index 53f23bf..5a5c2b1 100644
--- a/SOURCES/kernel-aarch64-rhel.config
+++ b/SOURCES/kernel-aarch64-rhel.config
@@ -215,7 +215,6 @@ CONFIG_AMD_HSMP=m
# CONFIG_AMD_IOMMU_DEBUGFS is not set
CONFIG_AMD_PHY=m
CONFIG_AMD_PMC=m
-# CONFIG_AMD_PMF is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_AMDTEE is not set
# CONFIG_AMD_XGBE_DCB is not set
@@ -249,9 +248,9 @@ CONFIG_ARCH_BCM_IPROC=y
# CONFIG_ARCH_EXYNOS is not set
CONFIG_ARCH_HISI=y
# CONFIG_ARCH_INTEL_SOCFPGA is not set
-# CONFIG_ARCH_K3 is not set
+CONFIG_ARCH_K3=y
# CONFIG_ARCH_KEEMBAY is not set
-# CONFIG_ARCH_LAYERSCAPE is not set
+CONFIG_ARCH_LAYERSCAPE=y
# CONFIG_ARCH_LG1K is not set
# CONFIG_ARCH_MA35 is not set
# CONFIG_ARCH_MEDIATEK is not set
@@ -402,6 +401,7 @@ CONFIG_ARM_SPE_PMU=m
# CONFIG_ARM_TEGRA186_CPUFREQ is not set
CONFIG_ARM_TEGRA194_CPUFREQ=m
CONFIG_ARM_TEGRA_DEVFREQ=m
+CONFIG_ARM_TI_CPUFREQ=y
# CONFIG_AS3935 is not set
# CONFIG_AS73211 is not set
CONFIG_ASN1=y
@@ -920,6 +920,7 @@ CONFIG_CLK_IMX8QXP=y
CONFIG_CLK_IMX8ULP=y
CONFIG_CLK_IMX93=y
CONFIG_CLK_KUNIT_TEST=m
+CONFIG_CLK_LS1028A_PLLDIG=y
# CONFIG_CLK_QORIQ is not set
CONFIG_CLK_SP810=y
CONFIG_CLK_VEXPRESS_OSC=y
@@ -957,6 +958,7 @@ CONFIG_COMMAND_LINE_SIZE=4096
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
# CONFIG_COMMON_CLK_FSL_FLEXSPI is not set
+CONFIG_COMMON_CLK_FSL_SAI=y
CONFIG_COMMON_CLK_HI3516CV300=y
CONFIG_COMMON_CLK_HI3519=y
# CONFIG_COMMON_CLK_HI3559A is not set
@@ -978,6 +980,7 @@ CONFIG_COMMON_CLK_SCPI=m
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
CONFIG_COMMON_CLK_XGENE=y
@@ -998,6 +1001,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -1079,8 +1083,8 @@ CONFIG_CRYPTO_AES_ARM64_BS=m
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
CONFIG_CRYPTO_AES_ARM64_CE=y
-# CONFIG_CRYPTO_AES_ARM64 is not set
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
+CONFIG_CRYPTO_AES_ARM64=y
CONFIG_CRYPTO_AES_GCM_P10=y
# CONFIG_CRYPTO_AES_TI is not set
CONFIG_CRYPTO_AES=y
@@ -1098,6 +1102,7 @@ CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20_NEON=y
+# CONFIG_CRYPTO_CHACHA20_P10 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=y
# CONFIG_CRYPTO_CRC32C_VPMSUM is not set
@@ -1136,6 +1141,7 @@ CONFIG_CRYPTO_DEV_FSL_CAAM_PRNG_API=y
CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=3
CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y
# CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_TEST is not set
+CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m
# CONFIG_CRYPTO_DEV_HISI_HPRE is not set
# CONFIG_CRYPTO_DEV_HISI_SEC2 is not set
CONFIG_CRYPTO_DEV_HISI_SEC=m
@@ -1155,6 +1161,7 @@ CONFIG_CRYPTO_DEV_OCTEONTX2_CPT=m
# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set
# CONFIG_CRYPTO_DEV_QCE is not set
# CONFIG_CRYPTO_DEV_QCOM_RNG is not set
+CONFIG_CRYPTO_DEV_SA2UL=m
# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
# CONFIG_CRYPTO_DEV_SAHARA is not set
CONFIG_CRYPTO_DEV_SP_CCP=y
@@ -1206,6 +1213,7 @@ CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_POLY1305=m
CONFIG_CRYPTO_POLY1305_NEON=y
+# CONFIG_CRYPTO_POLY1305_P10 is not set
# CONFIG_CRYPTO_POLYVAL_ARM64_CE is not set
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
CONFIG_CRYPTO_RMD160=m
@@ -1409,6 +1417,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1431,6 +1440,7 @@ CONFIG_DMIID=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=m
@@ -1462,6 +1472,7 @@ CONFIG_DP83867_PHY=m
# CONFIG_DP83869_PHY is not set
CONFIG_DP83TC811_PHY=m
# CONFIG_DP83TD510_PHY is not set
+CONFIG_DPAA2_CONSOLE=m
# CONFIG_DPM_WATCHDOG is not set
# CONFIG_DPOT_DAC is not set
# CONFIG_DPS310 is not set
@@ -1553,6 +1564,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MALI_DISPLAY is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
@@ -1630,6 +1642,7 @@ CONFIG_DRM_SIMPLEDRM=y
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1771,6 +1784,7 @@ CONFIG_EDAC_DMC520=m
CONFIG_EDAC_GHES=y
CONFIG_EDAC_I10NM=m
CONFIG_EDAC_IGEN6=m
+CONFIG_EDAC_LAYERSCAPE=m
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_PND2=m
CONFIG_EDAC_SYNOPSYS=m
@@ -1882,6 +1896,7 @@ CONFIG_FAT_KUNIT_TEST=m
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -1969,7 +1984,15 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
# CONFIG_FS_ENCRYPTION is not set
# CONFIG_FSI is not set
+# CONFIG_FSL_BMAN_TEST is not set
+CONFIG_FSL_DPAA2_ETH_DCB=y
+CONFIG_FSL_DPAA2_ETH=m
+CONFIG_FSL_DPAA2_PTP_CLOCK=m
+CONFIG_FSL_DPAA2_QDMA=m
CONFIG_FSL_DPAA2_SWITCH=m
+# CONFIG_FSL_DPAA_CHECKING is not set
+CONFIG_FSL_DPAA_ETH=m
+CONFIG_FSL_DPAA=y
# CONFIG_FSL_EDMA is not set
CONFIG_FSL_ENETC_IERB=m
CONFIG_FSL_ENETC=m
@@ -1978,10 +2001,15 @@ CONFIG_FSL_ENETC_PTP_CLOCK=m
CONFIG_FSL_ENETC_QOS=y
CONFIG_FSL_ENETC_VF=m
CONFIG_FSL_ERRATUM_A008585=y
+CONFIG_FSL_FMAN=y
CONFIG_FSL_IMX8_DDR_PMU=m
# CONFIG_FSL_IMX9_DDR_PMU is not set
+CONFIG_FSL_MC_BUS=y
+CONFIG_FSL_MC_DPIO=m
+CONFIG_FSL_MC_UAPI_SUPPORT=y
CONFIG_FSL_PQ_MDIO=m
# CONFIG_FSL_QDMA is not set
+# CONFIG_FSL_QMAN_TEST is not set
# CONFIG_FSL_RCPM is not set
CONFIG_FSL_XGMAC_MDIO=m
CONFIG_FSNOTIFY=y
@@ -2077,6 +2105,8 @@ CONFIG_GNSS=m
# CONFIG_GPIO_CADENCE is not set
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_DAVINCI=y
+# CONFIG_GPIO_DS4520 is not set
CONFIG_GPIO_DWAPB=m
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_EXAR is not set
@@ -2105,6 +2135,7 @@ CONFIG_GPIO_MLXBF2=m
# CONFIG_GPIO_MLXBF3 is not set
# CONFIG_GPIO_MLXBF is not set
# CONFIG_GPIO_MOCKUP is not set
+CONFIG_GPIO_MPC8XXX=y
CONFIG_GPIO_MXC=m
# CONFIG_GPIO_PCA953X_IRQ is not set
# CONFIG_GPIO_PCA953X is not set
@@ -2206,6 +2237,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_GOOGLE_HAMMER is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2362,15 +2394,17 @@ CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
CONFIG_HW_RANDOM_CAVIUM=m
# CONFIG_HW_RANDOM_CCTRNG is not set
CONFIG_HW_RANDOM_CN10K=m
-CONFIG_HW_RANDOM_HISI=y
+CONFIG_HW_RANDOM_HISI=m
# CONFIG_HW_RANDOM_HISTB is not set
# CONFIG_HW_RANDOM_IPROC_RNG200 is not set
+CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM_XGENE=m
# CONFIG_HW_RANDOM_XIPHERA is not set
CONFIG_HW_RANDOM=y
+CONFIG_HWSPINLOCK_OMAP=m
# CONFIG_HWSPINLOCK_QCOM is not set
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -2400,6 +2434,7 @@ CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
CONFIG_I2C_ARB_GPIO_CHALLENGE=m
+# CONFIG_I2C_ATR is not set
# CONFIG_I2C_BCM_IPROC is not set
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
@@ -2446,6 +2481,7 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NOMADIK is not set
# CONFIG_I2C_NVIDIA_GPU is not set
# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OMAP=m
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PCI1XXXX is not set
# CONFIG_I2C_PIIX4 is not set
@@ -2649,7 +2685,7 @@ CONFIG_INPUT_APANEL=m
# CONFIG_INPUT_ATI_REMOTE2 is not set
CONFIG_INPUT_ATLAS_BTNS=m
# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
-# CONFIG_INPUT_BBNSM_PWRKEY is not set
+CONFIG_INPUT_BBNSM_PWRKEY=m
# CONFIG_INPUT_BMA150 is not set
# CONFIG_INPUT_CM109 is not set
# CONFIG_INPUT_CMA3000 is not set
@@ -2743,6 +2779,7 @@ CONFIG_INTEL_SDSI=m
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
+# CONFIG_INTEL_VSC is not set
# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
CONFIG_INTEL_WMI_THUNDERBOLT=m
CONFIG_INTEL_XWAY_PHY=m
@@ -2777,7 +2814,7 @@ CONFIG_IOSCHED_BFQ=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_IOSM=m
# CONFIG_IO_STRICT_DEVMEM is not set
-# CONFIG_IO_URING is not set
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2863,6 +2900,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+# CONFIG_IPU_BRIDGE is not set
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
@@ -2939,6 +2977,7 @@ CONFIG_IR_RC6_DECODER=m
# CONFIG_IR_RCMM_DECODER is not set
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
# CONFIG_IR_SERIAL is not set
CONFIG_IR_SERIAL_TRANSMITTER=y
# CONFIG_IR_SHARP_DECODER is not set
@@ -2994,6 +3033,8 @@ CONFIG_JOLIET=y
# CONFIG_JSA1212 is not set
CONFIG_JUMP_LABEL=y
# CONFIG_K3_DMA is not set
+CONFIG_K3_RTI_WATCHDOG=m
+CONFIG_K3_THERMAL=m
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
# CONFIG_KALLSYMS_SELFTEST is not set
@@ -3082,13 +3123,15 @@ CONFIG_KPROBES=y
CONFIG_KSM=y
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KVM_AMD_SEV=y
# CONFIG_KVM_BOOK3S_HV_P8_TIMING is not set
# CONFIG_KVM_BOOK3S_HV_P9_TIMING is not set
+# CONFIG_KVM_PROVE_MMU is not set
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
# CONFIG_KVM_XEN is not set
@@ -3161,6 +3204,7 @@ CONFIG_LEDS_MLXCPLD=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_RT4505 is not set
@@ -3302,9 +3346,11 @@ CONFIG_MAILBOX=y
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
CONFIG_MARVELL_CN10K_DDR_PMU=m
CONFIG_MARVELL_CN10K_TAD_PMU=m
+CONFIG_MARVELL_GTI_WDT=y
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -3346,9 +3392,11 @@ CONFIG_MAX_SKB_FRAGS=17
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
# CONFIG_MCP4922 is not set
# CONFIG_MCTP is not set
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
# CONFIG_MDIO_BCM_IPROC is not set
@@ -3405,6 +3453,7 @@ CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
CONFIG_MEMCPY_KUNIT_TEST=m
CONFIG_MEMCPY_SLOW_KUNIT_TEST=y
+CONFIG_MEMFD_CREATE=y
CONFIG_MEMORY_FAILURE=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTPLUG=y
@@ -3439,6 +3488,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_CS42L43_SDW is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9055 is not set
@@ -3590,6 +3641,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_FPGA=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -3832,6 +3884,9 @@ CONFIG_MTD_UBI=m
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTK_T7XX=m
CONFIG_MULTIUSER=y
+CONFIG_MUX_ADG792A=m
+# CONFIG_MUX_ADGS1408 is not set
+CONFIG_MUX_GPIO=m
# CONFIG_MVMDIO is not set
# CONFIG_MV_XOR_V2 is not set
# CONFIG_MWAVE is not set
@@ -3891,6 +3946,7 @@ CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4319,6 +4375,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4366,9 +4423,11 @@ CONFIG_NVME_FC=m
# CONFIG_NVMEM_IMX_IIM is not set
# CONFIG_NVMEM_IMX_OCOTP_ELE is not set
CONFIG_NVMEM_IMX_OCOTP=m
+CONFIG_NVMEM_LAYERSCAPE_SFP=m
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_QCOM_QFPROM is not set
+# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_NVMEM_RMEM is not set
# CONFIG_NVMEM_SNVS_LPGPR is not set
@@ -4404,6 +4463,11 @@ CONFIG_OF_MDIO=y
CONFIG_OF_PMEM=m
# CONFIG_OF_UNITTEST is not set
CONFIG_OF=y
+CONFIG_OMAP2PLUS_MBOX=m
+CONFIG_OMAP_DM_TIMER=y
+# CONFIG_OMAP_GPMC is not set
+CONFIG_OMAP_MBOX_KFIFO_SIZE=256
+CONFIG_OMAP_USB2=m
# CONFIG_OMFS_FS is not set
# CONFIG_OPAL_CORE is not set
# CONFIG_OPEN_DICE is not set
@@ -4418,6 +4482,7 @@ CONFIG_OPENVSWITCH_VXLAN=m
# CONFIG_OSF_PARTITION is not set
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+# CONFIG_OVERLAY_FS_DEBUG is not set
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4496,6 +4561,7 @@ CONFIG_PCC=y
# CONFIG_PCI200SYN is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_AL is not set
@@ -4543,6 +4609,8 @@ CONFIG_PCI_IMX6_HOST=y
CONFIG_PCI_IMX6=y
CONFIG_PCI_IOV=y
# CONFIG_PCI_J721E_HOST is not set
+CONFIG_PCI_KEYSTONE_HOST=y
+CONFIG_PCI_LAYERSCAPE=y
# CONFIG_PCI_MESON is not set
CONFIG_PCI_MSI=y
CONFIG_PCI_P2PDMA=y
@@ -4575,6 +4643,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PER_VMA_LOCK_STATS=y
# CONFIG_PHANTOM is not set
# CONFIG_PHONET is not set
+CONFIG_PHY_AM654_SERDES=m
# CONFIG_PHY_BCM_NS_USB2 is not set
# CONFIG_PHY_BCM_NS_USB3 is not set
# CONFIG_PHY_BCM_SR_PCIE is not set
@@ -4596,9 +4665,10 @@ CONFIG_PHY_FSL_IMX8MQ_USB=m
CONFIG_PHY_HI6220_USB=m
# CONFIG_PHY_HISI_INNO_USB2 is not set
# CONFIG_PHY_HISTB_COMBPHY is not set
+CONFIG_PHY_J721E_WIZ=m
# CONFIG_PHY_LAN966X_SERDES is not set
CONFIG_PHYLIB=y
-CONFIG_PHYLINK=m
+CONFIG_PHYLINK=y
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
# CONFIG_PHY_MIXEL_LVDS_PHY is not set
# CONFIG_PHY_MIXEL_MIPI_DPHY is not set
@@ -4612,6 +4682,7 @@ CONFIG_PHY_NS2_USB_DRD=y
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
# CONFIG_PHY_QCOM_PCIE2 is not set
# CONFIG_PHY_QCOM_QMP is not set
# CONFIG_PHY_QCOM_QUSB2 is not set
@@ -4622,6 +4693,8 @@ CONFIG_PHY_NS2_USB_DRD=y
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+# CONFIG_PHY_RTK_RTD_USB2PHY is not set
+# CONFIG_PHY_RTK_RTD_USB3PHY is not set
CONFIG_PHY_TEGRA194_P2U=y
CONFIG_PHY_TEGRA_XUSB=m
# CONFIG_PHY_TUSB1210 is not set
@@ -4802,6 +4875,7 @@ CONFIG_PSI_DEFAULT_DISABLED=y
CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS is not set
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -4821,6 +4895,7 @@ CONFIG_PTE_MARKER_UFFD_WP=y
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_QORIQ=m
CONFIG_PTP_1588_CLOCK=y
@@ -4838,8 +4913,11 @@ CONFIG_PWM_BCM_IPROC=y
# CONFIG_PWM_IMX1 is not set
CONFIG_PWM_IMX27=m
CONFIG_PWM_IMX_TPM=m
+CONFIG_PWM_OMAP_DMTIMER=y
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM_TEGRA=y
+CONFIG_PWM_TIECAP=m
+CONFIG_PWM_TIEHRPWM=m
# CONFIG_PWM_XILINX is not set
CONFIG_PWM=y
# CONFIG_PWRSEQ_EMMC is not set
@@ -4935,6 +5013,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MEMORY=y
CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -4979,6 +5058,7 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
@@ -4986,6 +5066,7 @@ CONFIG_REGMAP=y
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
# CONFIG_REGULATOR_ARM_SCMI is not set
+# CONFIG_REGULATOR_AW37503 is not set
CONFIG_REGULATOR_BD718XX=m
# CONFIG_REGULATOR_DA9121 is not set
# CONFIG_REGULATOR_DA9210 is not set
@@ -5009,6 +5090,7 @@ CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_MAX77620=y
CONFIG_REGULATOR_MAX77686=m
# CONFIG_REGULATOR_MAX77826 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8893 is not set
@@ -5027,6 +5109,7 @@ CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_PWM is not set
+# CONFIG_REGULATOR_QCOM_REFGEN is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
# CONFIG_REGULATOR_RT4801 is not set
@@ -5039,6 +5122,7 @@ CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_RT6245 is not set
# CONFIG_REGULATOR_RTMV20 is not set
# CONFIG_REGULATOR_RTQ2134 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_RTQ6752 is not set
# CONFIG_REGULATOR_SLG51000 is not set
# CONFIG_REGULATOR_SY8106A is not set
@@ -5073,6 +5157,7 @@ CONFIG_RESET_IMX7=y
# CONFIG_RESET_QCOM_PDC is not set
# CONFIG_RESET_SCMI is not set
# CONFIG_RESET_SIMPLE is not set
+CONFIG_RESET_TI_SCI=m
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RESET_TI_TPS380X is not set
CONFIG_RESOURCE_KUNIT_TEST=m
@@ -5082,7 +5167,6 @@ CONFIG_RETPOLINE=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RH_DISABLE_DEPRECATED=y
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RICHTEK_RTQ6056 is not set
CONFIG_RING_BUFFER_BENCHMARK=m
@@ -5176,6 +5260,7 @@ CONFIG_RTC_DRV_DS3232=m
CONFIG_RTC_DRV_EFI=y
CONFIG_RTC_DRV_EM3027=m
CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_FSL_FTM_ALARM=m
# CONFIG_RTC_DRV_FTRTC010 is not set
# CONFIG_RTC_DRV_GOLDFISH is not set
# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
@@ -5230,6 +5315,7 @@ CONFIG_RTC_DRV_RX8581=m
CONFIG_RTC_DRV_STK17TA8=m
# CONFIG_RTC_DRV_TEGRA is not set
# CONFIG_RTC_DRV_TEST is not set
+CONFIG_RTC_DRV_TI_K3=m
CONFIG_RTC_DRV_V3020=m
CONFIG_RTC_DRV_X1205=m
# CONFIG_RTC_DRV_XGENE is not set
@@ -5453,6 +5539,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5462,6 +5549,7 @@ CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_YAMA=y
+# CONFIG_SEL3350_PLATFORM is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
@@ -5539,6 +5627,7 @@ CONFIG_SENSORS_G762=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_HP_WMI is not set
+# CONFIG_SENSORS_HS3001 is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_IBMAEM is not set
# CONFIG_SENSORS_IBM_CFFPS is not set
@@ -5720,6 +5809,8 @@ CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y
+CONFIG_SERIAL_8250_OMAP=y
CONFIG_SERIAL_8250_PCI1XXXX=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PERICOM=y
@@ -6037,7 +6128,9 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_AMD_YC_MACH is not set
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set
# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88261 is not set
# CONFIG_SND_SOC_AW88395 is not set
# CONFIG_SND_SOC_BD28623 is not set
# CONFIG_SND_SOC_BT_SCO is not set
@@ -6054,7 +6147,6 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_CS35L45_I2C is not set
# CONFIG_SND_SOC_CS35L45_SPI is not set
# CONFIG_SND_SOC_CS35L56_I2C is not set
-# CONFIG_SND_SOC_CS35L56_SDW is not set
# CONFIG_SND_SOC_CS35L56_SPI is not set
# CONFIG_SND_SOC_CS4234 is not set
# CONFIG_SND_SOC_CS4265 is not set
@@ -6119,6 +6211,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_ES8336 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A is not set
@@ -6129,6 +6222,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT274 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT286 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT298 is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567 is not set
# CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH is not set
@@ -6248,6 +6342,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+# CONFIG_SND_SOC_RT1017_SDCA_SDW is not set
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -6306,6 +6401,7 @@ CONFIG_SND_SOC_SOF_ACPI=m
# CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL is not set
# CONFIG_SND_SOC_SOF_JASPERLAKE is not set
# CONFIG_SND_SOC_SOF_KABYLAKE is not set
+CONFIG_SND_SOC_SOF_LUNARLAKE=m
# CONFIG_SND_SOC_SOF_MERRIFIELD is not set
# CONFIG_SND_SOC_SOF_METEORLAKE is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -6376,6 +6472,7 @@ CONFIG_SND_SOC_SOF_TOPLEVEL=y
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TOPOLOGY_BUILD is not set
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
@@ -6467,7 +6564,7 @@ CONFIG_SOC_IMX8M=y
CONFIG_SOC_IMX9=m
# CONFIG_SOCIONEXT_SYNQUACER_PREITS is not set
CONFIG_SOC_TEGRA_CBB=m
-# CONFIG_SOC_TI is not set
+CONFIG_SOC_TI=y
CONFIG_SOFTLOCKUP_DETECTOR=y
CONFIG_SOFT_WATCHDOG=m
# CONFIG_SOLARIS_X86_PARTITION is not set
@@ -6507,6 +6604,7 @@ CONFIG_SPI_AMD=y
# CONFIG_SPI_CADENCE_XSPI is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
+CONFIG_SPI_FSL_DSPI=y
CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_FSL_QUADSPI=m
# CONFIG_SPI_FSL_SPI is not set
@@ -6525,6 +6623,7 @@ CONFIG_SPI_MEM=y
# CONFIG_SPI_MXIC is not set
CONFIG_SPI_NXP_FLEXSPI=m
# CONFIG_SPI_OC_TINY is not set
+CONFIG_SPI_OMAP24XX=m
CONFIG_SPI_PCI1XXXX=m
CONFIG_SPI_PL022=m
# CONFIG_SPI_PXA2XX is not set
@@ -6626,6 +6725,7 @@ CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_SUSPEND=y
CONFIG_SVC_I3C_MASTER=m
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
# CONFIG_SW_SYNC is not set
# CONFIG_SX9310 is not set
# CONFIG_SX9324 is not set
@@ -6744,6 +6844,7 @@ CONFIG_TEST_CPUMASK=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
@@ -6820,6 +6921,9 @@ CONFIG_THUNDERX2_PMU=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+CONFIG_TI_K3_RINGACC=y
+CONFIG_TI_K3_UDMA_GLUE_LAYER=y
+CONFIG_TI_K3_UDMA=y
# CONFIG_TI_LMP92064 is not set
CONFIG_TIME_KUNIT_TEST=m
CONFIG_TIME_NS=y
@@ -6839,7 +6943,13 @@ CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_IB=y
CONFIG_TIPC_MEDIA_UDP=y
+CONFIG_TI_PRUSS=m
+CONFIG_TI_SCI_CLK=m
+# CONFIG_TI_SCI_CLK_PROBE_FROM_FW is not set
+CONFIG_TI_SCI_PM_DOMAINS=m
# CONFIG_TI_ST is not set
+CONFIG_TI_SYSCON_CLK=m
+CONFIG_TI_SYSC=y
# CONFIG_TI_TLC4541 is not set
# CONFIG_TI_TMAG5273 is not set
# CONFIG_TI_TSC2046 is not set
@@ -6852,6 +6962,7 @@ CONFIG_TLS=m
# CONFIG_TMP117 is not set
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_TMPFS_QUOTA is not set
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_TOOLCHAIN_DEFAULT_CPU is not set
@@ -6896,6 +7007,7 @@ CONFIG_TORTURE_TEST=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -7060,8 +7172,10 @@ CONFIG_USB_CXACRU=m
CONFIG_USB_DEFAULT_PERSIST=y
# CONFIG_USB_DSBR is not set
# CONFIG_USB_DWC2 is not set
+CONFIG_USB_DWC3_AM62=m
CONFIG_USB_DWC3_IMX8MP=m
# CONFIG_USB_DWC3 is not set
+CONFIG_USB_DWC3_KEYSTONE=m
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_EHCI_FSL is not set
CONFIG_USB_EHCI_HCD_PLATFORM=m
@@ -7345,6 +7459,7 @@ CONFIG_VEXPRESS_CONFIG=y
# CONFIG_VF610_DAC is not set
CONFIG_VFAT_FS=m
# CONFIG_VFIO_AMBA is not set
+CONFIG_VFIO_FSL_MC=m
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO=m
# CONFIG_VFIO_MDEV is not set
@@ -7409,8 +7524,12 @@ CONFIG_VIDEO_CX88_DVB=m
# CONFIG_VIDEO_CX88_ENABLE_VP3054 is not set
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_DEV=m
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
# CONFIG_VIDEO_DT3155 is not set
# CONFIG_VIDEO_DW9714 is not set
+CONFIG_VIDEO_DW9719=m
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -7708,6 +7827,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -7793,7 +7913,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-aarch64-rt-debug-rhel.config b/SOURCES/kernel-aarch64-rt-debug-rhel.config
index 99e3169..b214f20 100644
--- a/SOURCES/kernel-aarch64-rt-debug-rhel.config
+++ b/SOURCES/kernel-aarch64-rt-debug-rhel.config
@@ -215,7 +215,6 @@ CONFIG_AMD_HSMP=m
# CONFIG_AMD_IOMMU_DEBUGFS is not set
CONFIG_AMD_PHY=m
CONFIG_AMD_PMC=m
-# CONFIG_AMD_PMF is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_AMDTEE is not set
# CONFIG_AMD_XGBE_DCB is not set
@@ -249,9 +248,9 @@ CONFIG_ARCH_BCM_IPROC=y
# CONFIG_ARCH_EXYNOS is not set
CONFIG_ARCH_HISI=y
# CONFIG_ARCH_INTEL_SOCFPGA is not set
-# CONFIG_ARCH_K3 is not set
+CONFIG_ARCH_K3=y
# CONFIG_ARCH_KEEMBAY is not set
-# CONFIG_ARCH_LAYERSCAPE is not set
+CONFIG_ARCH_LAYERSCAPE=y
# CONFIG_ARCH_LG1K is not set
# CONFIG_ARCH_MA35 is not set
# CONFIG_ARCH_MEDIATEK is not set
@@ -402,6 +401,7 @@ CONFIG_ARM_SPE_PMU=m
# CONFIG_ARM_TEGRA186_CPUFREQ is not set
CONFIG_ARM_TEGRA194_CPUFREQ=m
CONFIG_ARM_TEGRA_DEVFREQ=m
+CONFIG_ARM_TI_CPUFREQ=y
# CONFIG_AS3935 is not set
# CONFIG_AS73211 is not set
CONFIG_ASN1=y
@@ -920,6 +920,7 @@ CONFIG_CLK_IMX8QXP=y
CONFIG_CLK_IMX8ULP=y
CONFIG_CLK_IMX93=y
CONFIG_CLK_KUNIT_TEST=m
+CONFIG_CLK_LS1028A_PLLDIG=y
# CONFIG_CLK_QORIQ is not set
CONFIG_CLK_SP810=y
CONFIG_CLK_VEXPRESS_OSC=y
@@ -957,6 +958,7 @@ CONFIG_COMMAND_LINE_SIZE=4096
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
# CONFIG_COMMON_CLK_FSL_FLEXSPI is not set
+CONFIG_COMMON_CLK_FSL_SAI=y
CONFIG_COMMON_CLK_HI3516CV300=y
CONFIG_COMMON_CLK_HI3519=y
# CONFIG_COMMON_CLK_HI3559A is not set
@@ -978,6 +980,7 @@ CONFIG_COMMON_CLK_SCPI=m
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
CONFIG_COMMON_CLK_XGENE=y
@@ -998,6 +1001,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -1080,8 +1084,8 @@ CONFIG_CRYPTO_AES_ARM64_BS=m
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
CONFIG_CRYPTO_AES_ARM64_CE=y
-# CONFIG_CRYPTO_AES_ARM64 is not set
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
+CONFIG_CRYPTO_AES_ARM64=y
CONFIG_CRYPTO_AES_GCM_P10=y
# CONFIG_CRYPTO_AES_TI is not set
CONFIG_CRYPTO_AES=y
@@ -1099,6 +1103,7 @@ CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20_NEON=y
+# CONFIG_CRYPTO_CHACHA20_P10 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=y
# CONFIG_CRYPTO_CRC32C_VPMSUM is not set
@@ -1137,6 +1142,7 @@ CONFIG_CRYPTO_DEV_FSL_CAAM_PRNG_API=y
CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=3
CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y
# CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_TEST is not set
+CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m
# CONFIG_CRYPTO_DEV_HISI_HPRE is not set
# CONFIG_CRYPTO_DEV_HISI_SEC2 is not set
CONFIG_CRYPTO_DEV_HISI_SEC=m
@@ -1156,6 +1162,7 @@ CONFIG_CRYPTO_DEV_OCTEONTX2_CPT=m
# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set
# CONFIG_CRYPTO_DEV_QCE is not set
# CONFIG_CRYPTO_DEV_QCOM_RNG is not set
+CONFIG_CRYPTO_DEV_SA2UL=m
# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
# CONFIG_CRYPTO_DEV_SAHARA is not set
CONFIG_CRYPTO_DEV_SP_CCP=y
@@ -1207,6 +1214,7 @@ CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_POLY1305=m
CONFIG_CRYPTO_POLY1305_NEON=y
+# CONFIG_CRYPTO_POLY1305_P10 is not set
# CONFIG_CRYPTO_POLYVAL_ARM64_CE is not set
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
CONFIG_CRYPTO_RMD160=m
@@ -1419,6 +1427,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1441,6 +1450,7 @@ CONFIG_DMIID=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=m
@@ -1472,6 +1482,7 @@ CONFIG_DP83867_PHY=m
# CONFIG_DP83869_PHY is not set
CONFIG_DP83TC811_PHY=m
# CONFIG_DP83TD510_PHY is not set
+CONFIG_DPAA2_CONSOLE=m
# CONFIG_DPM_WATCHDOG is not set
# CONFIG_DPOT_DAC is not set
# CONFIG_DPS310 is not set
@@ -1563,6 +1574,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MALI_DISPLAY is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
@@ -1640,6 +1652,7 @@ CONFIG_DRM_SIMPLEDRM=y
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1817,6 +1830,7 @@ CONFIG_EDAC_DMC520=m
CONFIG_EDAC_GHES=y
CONFIG_EDAC_I10NM=m
CONFIG_EDAC_IGEN6=m
+CONFIG_EDAC_LAYERSCAPE=m
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_PND2=m
CONFIG_EDAC_SYNOPSYS=m
@@ -1936,6 +1950,7 @@ CONFIG_FAULT_INJECTION=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -2023,7 +2038,15 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
# CONFIG_FS_ENCRYPTION is not set
# CONFIG_FSI is not set
+# CONFIG_FSL_BMAN_TEST is not set
+CONFIG_FSL_DPAA2_ETH_DCB=y
+CONFIG_FSL_DPAA2_ETH=m
+CONFIG_FSL_DPAA2_PTP_CLOCK=m
+CONFIG_FSL_DPAA2_QDMA=m
CONFIG_FSL_DPAA2_SWITCH=m
+# CONFIG_FSL_DPAA_CHECKING is not set
+CONFIG_FSL_DPAA_ETH=m
+CONFIG_FSL_DPAA=y
# CONFIG_FSL_EDMA is not set
CONFIG_FSL_ENETC_IERB=m
CONFIG_FSL_ENETC=m
@@ -2032,10 +2055,15 @@ CONFIG_FSL_ENETC_PTP_CLOCK=m
CONFIG_FSL_ENETC_QOS=y
CONFIG_FSL_ENETC_VF=m
CONFIG_FSL_ERRATUM_A008585=y
+CONFIG_FSL_FMAN=y
CONFIG_FSL_IMX8_DDR_PMU=m
# CONFIG_FSL_IMX9_DDR_PMU is not set
+CONFIG_FSL_MC_BUS=y
+CONFIG_FSL_MC_DPIO=m
+CONFIG_FSL_MC_UAPI_SUPPORT=y
CONFIG_FSL_PQ_MDIO=m
# CONFIG_FSL_QDMA is not set
+# CONFIG_FSL_QMAN_TEST is not set
# CONFIG_FSL_RCPM is not set
CONFIG_FSL_XGMAC_MDIO=m
CONFIG_FSNOTIFY=y
@@ -2132,6 +2160,8 @@ CONFIG_GNSS=m
# CONFIG_GPIO_CADENCE is not set
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_DAVINCI=y
+# CONFIG_GPIO_DS4520 is not set
CONFIG_GPIO_DWAPB=m
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_EXAR is not set
@@ -2160,6 +2190,7 @@ CONFIG_GPIO_MLXBF2=m
# CONFIG_GPIO_MLXBF3 is not set
# CONFIG_GPIO_MLXBF is not set
# CONFIG_GPIO_MOCKUP is not set
+CONFIG_GPIO_MPC8XXX=y
CONFIG_GPIO_MXC=m
# CONFIG_GPIO_PCA953X_IRQ is not set
# CONFIG_GPIO_PCA953X is not set
@@ -2262,6 +2293,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_GOOGLE_HAMMER is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2418,15 +2450,17 @@ CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
CONFIG_HW_RANDOM_CAVIUM=m
# CONFIG_HW_RANDOM_CCTRNG is not set
CONFIG_HW_RANDOM_CN10K=m
-CONFIG_HW_RANDOM_HISI=y
+CONFIG_HW_RANDOM_HISI=m
# CONFIG_HW_RANDOM_HISTB is not set
# CONFIG_HW_RANDOM_IPROC_RNG200 is not set
+CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM_XGENE=m
# CONFIG_HW_RANDOM_XIPHERA is not set
CONFIG_HW_RANDOM=y
+CONFIG_HWSPINLOCK_OMAP=m
# CONFIG_HWSPINLOCK_QCOM is not set
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -2456,6 +2490,7 @@ CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
CONFIG_I2C_ARB_GPIO_CHALLENGE=m
+# CONFIG_I2C_ATR is not set
# CONFIG_I2C_BCM_IPROC is not set
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
@@ -2502,6 +2537,7 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NOMADIK is not set
# CONFIG_I2C_NVIDIA_GPU is not set
# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OMAP=m
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PCI1XXXX is not set
# CONFIG_I2C_PIIX4 is not set
@@ -2705,7 +2741,7 @@ CONFIG_INPUT_APANEL=m
# CONFIG_INPUT_ATI_REMOTE2 is not set
CONFIG_INPUT_ATLAS_BTNS=m
# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
-# CONFIG_INPUT_BBNSM_PWRKEY is not set
+CONFIG_INPUT_BBNSM_PWRKEY=m
# CONFIG_INPUT_BMA150 is not set
# CONFIG_INPUT_CM109 is not set
# CONFIG_INPUT_CMA3000 is not set
@@ -2799,6 +2835,7 @@ CONFIG_INTEL_SDSI=m
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
+# CONFIG_INTEL_VSC is not set
# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
CONFIG_INTEL_WMI_THUNDERBOLT=m
CONFIG_INTEL_XWAY_PHY=m
@@ -2833,7 +2870,7 @@ CONFIG_IOSCHED_BFQ=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_IOSM=m
# CONFIG_IO_STRICT_DEVMEM is not set
-# CONFIG_IO_URING is not set
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2919,6 +2956,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+# CONFIG_IPU_BRIDGE is not set
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
@@ -2995,6 +3033,7 @@ CONFIG_IR_RC6_DECODER=m
# CONFIG_IR_RCMM_DECODER is not set
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
# CONFIG_IR_SERIAL is not set
CONFIG_IR_SERIAL_TRANSMITTER=y
# CONFIG_IR_SHARP_DECODER is not set
@@ -3050,6 +3089,8 @@ CONFIG_JOLIET=y
# CONFIG_JSA1212 is not set
CONFIG_JUMP_LABEL=y
# CONFIG_K3_DMA is not set
+CONFIG_K3_RTI_WATCHDOG=m
+CONFIG_K3_THERMAL=m
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
# CONFIG_KALLSYMS_SELFTEST is not set
@@ -3143,13 +3184,15 @@ CONFIG_KPROBES=y
CONFIG_KSM=y
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KVM_AMD_SEV=y
# CONFIG_KVM_BOOK3S_HV_P8_TIMING is not set
# CONFIG_KVM_BOOK3S_HV_P9_TIMING is not set
+CONFIG_KVM_PROVE_MMU=y
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
# CONFIG_KVM_XEN is not set
@@ -3222,6 +3265,7 @@ CONFIG_LEDS_MLXCPLD=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_RT4505 is not set
@@ -3363,9 +3407,11 @@ CONFIG_MAILBOX=y
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
CONFIG_MARVELL_CN10K_DDR_PMU=m
CONFIG_MARVELL_CN10K_TAD_PMU=m
+CONFIG_MARVELL_GTI_WDT=y
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -3407,9 +3453,11 @@ CONFIG_MAX_SKB_FRAGS=17
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
# CONFIG_MCP4922 is not set
# CONFIG_MCTP is not set
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
# CONFIG_MDIO_BCM_IPROC is not set
@@ -3471,6 +3519,7 @@ CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
CONFIG_MEMCPY_KUNIT_TEST=m
CONFIG_MEMCPY_SLOW_KUNIT_TEST=y
+CONFIG_MEMFD_CREATE=y
CONFIG_MEMORY_FAILURE=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTPLUG=y
@@ -3505,6 +3554,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_CS42L43_SDW is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9055 is not set
@@ -3656,6 +3707,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_FPGA=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -3898,6 +3950,9 @@ CONFIG_MTD_UBI=m
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTK_T7XX=m
CONFIG_MULTIUSER=y
+CONFIG_MUX_ADG792A=m
+# CONFIG_MUX_ADGS1408 is not set
+CONFIG_MUX_GPIO=m
# CONFIG_MVMDIO is not set
# CONFIG_MV_XOR_V2 is not set
# CONFIG_MWAVE is not set
@@ -3957,6 +4012,7 @@ CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4385,6 +4441,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4432,9 +4489,11 @@ CONFIG_NVME_FC=m
# CONFIG_NVMEM_IMX_IIM is not set
# CONFIG_NVMEM_IMX_OCOTP_ELE is not set
CONFIG_NVMEM_IMX_OCOTP=m
+CONFIG_NVMEM_LAYERSCAPE_SFP=m
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_QCOM_QFPROM is not set
+# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_NVMEM_RMEM is not set
# CONFIG_NVMEM_SNVS_LPGPR is not set
@@ -4470,6 +4529,11 @@ CONFIG_OF_MDIO=y
CONFIG_OF_PMEM=m
# CONFIG_OF_UNITTEST is not set
CONFIG_OF=y
+CONFIG_OMAP2PLUS_MBOX=m
+CONFIG_OMAP_DM_TIMER=y
+# CONFIG_OMAP_GPMC is not set
+CONFIG_OMAP_MBOX_KFIFO_SIZE=256
+CONFIG_OMAP_USB2=m
# CONFIG_OMFS_FS is not set
# CONFIG_OPAL_CORE is not set
# CONFIG_OPEN_DICE is not set
@@ -4484,6 +4548,7 @@ CONFIG_OPENVSWITCH_VXLAN=m
# CONFIG_OSF_PARTITION is not set
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+CONFIG_OVERLAY_FS_DEBUG=y
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4564,6 +4629,7 @@ CONFIG_PCC=y
# CONFIG_PCI200SYN is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_AL is not set
@@ -4611,6 +4677,8 @@ CONFIG_PCI_IMX6_HOST=y
CONFIG_PCI_IMX6=y
CONFIG_PCI_IOV=y
# CONFIG_PCI_J721E_HOST is not set
+CONFIG_PCI_KEYSTONE_HOST=y
+CONFIG_PCI_LAYERSCAPE=y
# CONFIG_PCI_MESON is not set
CONFIG_PCI_MSI=y
CONFIG_PCI_P2PDMA=y
@@ -4643,6 +4711,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PER_VMA_LOCK_STATS=y
# CONFIG_PHANTOM is not set
# CONFIG_PHONET is not set
+CONFIG_PHY_AM654_SERDES=m
# CONFIG_PHY_BCM_NS_USB2 is not set
# CONFIG_PHY_BCM_NS_USB3 is not set
# CONFIG_PHY_BCM_SR_PCIE is not set
@@ -4664,9 +4733,10 @@ CONFIG_PHY_FSL_IMX8MQ_USB=m
CONFIG_PHY_HI6220_USB=m
# CONFIG_PHY_HISI_INNO_USB2 is not set
# CONFIG_PHY_HISTB_COMBPHY is not set
+CONFIG_PHY_J721E_WIZ=m
# CONFIG_PHY_LAN966X_SERDES is not set
CONFIG_PHYLIB=y
-CONFIG_PHYLINK=m
+CONFIG_PHYLINK=y
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
# CONFIG_PHY_MIXEL_LVDS_PHY is not set
# CONFIG_PHY_MIXEL_MIPI_DPHY is not set
@@ -4680,6 +4750,7 @@ CONFIG_PHY_NS2_USB_DRD=y
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
# CONFIG_PHY_QCOM_PCIE2 is not set
# CONFIG_PHY_QCOM_QMP is not set
# CONFIG_PHY_QCOM_QUSB2 is not set
@@ -4690,6 +4761,8 @@ CONFIG_PHY_NS2_USB_DRD=y
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+# CONFIG_PHY_RTK_RTD_USB2PHY is not set
+# CONFIG_PHY_RTK_RTD_USB3PHY is not set
CONFIG_PHY_TEGRA194_P2U=y
CONFIG_PHY_TEGRA_XUSB=m
# CONFIG_PHY_TUSB1210 is not set
@@ -4874,6 +4947,7 @@ CONFIG_PSI_DEFAULT_DISABLED=y
CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS is not set
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -4893,6 +4967,7 @@ CONFIG_PTE_MARKER_UFFD_WP=y
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_QORIQ=m
CONFIG_PTP_1588_CLOCK=y
@@ -4910,8 +4985,11 @@ CONFIG_PWM_BCM_IPROC=y
# CONFIG_PWM_IMX1 is not set
CONFIG_PWM_IMX27=m
CONFIG_PWM_IMX_TPM=m
+CONFIG_PWM_OMAP_DMTIMER=y
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM_TEGRA=y
+CONFIG_PWM_TIECAP=m
+CONFIG_PWM_TIEHRPWM=m
# CONFIG_PWM_XILINX is not set
CONFIG_PWM=y
# CONFIG_PWRSEQ_EMMC is not set
@@ -5007,6 +5085,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MEMORY=y
CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -5054,6 +5133,7 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
@@ -5061,6 +5141,7 @@ CONFIG_REGMAP=y
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
# CONFIG_REGULATOR_ARM_SCMI is not set
+# CONFIG_REGULATOR_AW37503 is not set
CONFIG_REGULATOR_BD718XX=m
# CONFIG_REGULATOR_DA9121 is not set
# CONFIG_REGULATOR_DA9210 is not set
@@ -5084,6 +5165,7 @@ CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_MAX77620=y
CONFIG_REGULATOR_MAX77686=m
# CONFIG_REGULATOR_MAX77826 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8893 is not set
@@ -5102,6 +5184,7 @@ CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_PWM is not set
+# CONFIG_REGULATOR_QCOM_REFGEN is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
# CONFIG_REGULATOR_RT4801 is not set
@@ -5114,6 +5197,7 @@ CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_RT6245 is not set
# CONFIG_REGULATOR_RTMV20 is not set
# CONFIG_REGULATOR_RTQ2134 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_RTQ6752 is not set
# CONFIG_REGULATOR_SLG51000 is not set
# CONFIG_REGULATOR_SY8106A is not set
@@ -5148,6 +5232,7 @@ CONFIG_RESET_IMX7=y
# CONFIG_RESET_QCOM_PDC is not set
# CONFIG_RESET_SCMI is not set
# CONFIG_RESET_SIMPLE is not set
+CONFIG_RESET_TI_SCI=m
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RESET_TI_TPS380X is not set
CONFIG_RESOURCE_KUNIT_TEST=m
@@ -5157,7 +5242,6 @@ CONFIG_RETPOLINE=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RH_DISABLE_DEPRECATED=y
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RICHTEK_RTQ6056 is not set
CONFIG_RING_BUFFER_BENCHMARK=m
@@ -5251,6 +5335,7 @@ CONFIG_RTC_DRV_DS3232=m
CONFIG_RTC_DRV_EFI=y
CONFIG_RTC_DRV_EM3027=m
CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_FSL_FTM_ALARM=m
# CONFIG_RTC_DRV_FTRTC010 is not set
# CONFIG_RTC_DRV_GOLDFISH is not set
# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
@@ -5305,6 +5390,7 @@ CONFIG_RTC_DRV_RX8581=m
CONFIG_RTC_DRV_STK17TA8=m
# CONFIG_RTC_DRV_TEGRA is not set
# CONFIG_RTC_DRV_TEST is not set
+CONFIG_RTC_DRV_TI_K3=m
CONFIG_RTC_DRV_V3020=m
CONFIG_RTC_DRV_X1205=m
# CONFIG_RTC_DRV_XGENE is not set
@@ -5528,6 +5614,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5537,6 +5624,7 @@ CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_YAMA=y
+# CONFIG_SEL3350_PLATFORM is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
@@ -5614,6 +5702,7 @@ CONFIG_SENSORS_G762=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_HP_WMI is not set
+# CONFIG_SENSORS_HS3001 is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_IBMAEM is not set
# CONFIG_SENSORS_IBM_CFFPS is not set
@@ -5795,6 +5884,8 @@ CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y
+CONFIG_SERIAL_8250_OMAP=y
CONFIG_SERIAL_8250_PCI1XXXX=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PERICOM=y
@@ -6115,7 +6206,9 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_AMD_YC_MACH is not set
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set
# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88261 is not set
# CONFIG_SND_SOC_AW88395 is not set
# CONFIG_SND_SOC_BD28623 is not set
# CONFIG_SND_SOC_BT_SCO is not set
@@ -6132,7 +6225,6 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_CS35L45_I2C is not set
# CONFIG_SND_SOC_CS35L45_SPI is not set
# CONFIG_SND_SOC_CS35L56_I2C is not set
-# CONFIG_SND_SOC_CS35L56_SDW is not set
# CONFIG_SND_SOC_CS35L56_SPI is not set
# CONFIG_SND_SOC_CS4234 is not set
# CONFIG_SND_SOC_CS4265 is not set
@@ -6197,6 +6289,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_ES8336 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A is not set
@@ -6207,6 +6300,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT274 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT286 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT298 is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567 is not set
# CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH is not set
@@ -6326,6 +6420,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+# CONFIG_SND_SOC_RT1017_SDCA_SDW is not set
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -6385,6 +6480,7 @@ CONFIG_SND_SOC_SOF_HDA_PROBES=m
# CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL is not set
# CONFIG_SND_SOC_SOF_JASPERLAKE is not set
# CONFIG_SND_SOC_SOF_KABYLAKE is not set
+CONFIG_SND_SOC_SOF_LUNARLAKE=m
# CONFIG_SND_SOC_SOF_MERRIFIELD is not set
# CONFIG_SND_SOC_SOF_METEORLAKE is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -6455,6 +6551,7 @@ CONFIG_SND_SOC_SOF_TOPLEVEL=y
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+CONFIG_SND_SOC_TOPOLOGY_BUILD=y
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
@@ -6546,7 +6643,7 @@ CONFIG_SOC_IMX8M=y
CONFIG_SOC_IMX9=m
# CONFIG_SOCIONEXT_SYNQUACER_PREITS is not set
CONFIG_SOC_TEGRA_CBB=m
-# CONFIG_SOC_TI is not set
+CONFIG_SOC_TI=y
CONFIG_SOFTLOCKUP_DETECTOR=y
CONFIG_SOFT_WATCHDOG=m
# CONFIG_SOLARIS_X86_PARTITION is not set
@@ -6586,6 +6683,7 @@ CONFIG_SPI_AMD=y
# CONFIG_SPI_CADENCE_XSPI is not set
CONFIG_SPI_DEBUG=y
# CONFIG_SPI_DESIGNWARE is not set
+CONFIG_SPI_FSL_DSPI=y
CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_FSL_QUADSPI=m
# CONFIG_SPI_FSL_SPI is not set
@@ -6604,6 +6702,7 @@ CONFIG_SPI_MEM=y
# CONFIG_SPI_MXIC is not set
CONFIG_SPI_NXP_FLEXSPI=m
# CONFIG_SPI_OC_TINY is not set
+CONFIG_SPI_OMAP24XX=m
CONFIG_SPI_PCI1XXXX=m
CONFIG_SPI_PL022=m
# CONFIG_SPI_PXA2XX is not set
@@ -6705,6 +6804,7 @@ CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_SUSPEND=y
CONFIG_SVC_I3C_MASTER=m
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
# CONFIG_SW_SYNC is not set
# CONFIG_SX9310 is not set
# CONFIG_SX9324 is not set
@@ -6823,6 +6923,7 @@ CONFIG_TEST_FPU=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=m
@@ -6899,6 +7000,9 @@ CONFIG_THUNDERX2_PMU=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+CONFIG_TI_K3_RINGACC=y
+CONFIG_TI_K3_UDMA_GLUE_LAYER=y
+CONFIG_TI_K3_UDMA=y
# CONFIG_TI_LMP92064 is not set
CONFIG_TIME_KUNIT_TEST=m
CONFIG_TIME_NS=y
@@ -6918,7 +7022,13 @@ CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_IB=y
CONFIG_TIPC_MEDIA_UDP=y
+CONFIG_TI_PRUSS=m
+CONFIG_TI_SCI_CLK=m
+# CONFIG_TI_SCI_CLK_PROBE_FROM_FW is not set
+CONFIG_TI_SCI_PM_DOMAINS=m
# CONFIG_TI_ST is not set
+CONFIG_TI_SYSCON_CLK=m
+CONFIG_TI_SYSC=y
# CONFIG_TI_TLC4541 is not set
# CONFIG_TI_TMAG5273 is not set
# CONFIG_TI_TSC2046 is not set
@@ -6931,6 +7041,7 @@ CONFIG_TLS=m
# CONFIG_TMP117 is not set
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_TMPFS_QUOTA is not set
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_TOOLCHAIN_DEFAULT_CPU is not set
@@ -6975,6 +7086,7 @@ CONFIG_TORTURE_TEST=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -7140,8 +7252,10 @@ CONFIG_USB_CXACRU=m
CONFIG_USB_DEFAULT_PERSIST=y
# CONFIG_USB_DSBR is not set
# CONFIG_USB_DWC2 is not set
+CONFIG_USB_DWC3_AM62=m
CONFIG_USB_DWC3_IMX8MP=m
# CONFIG_USB_DWC3 is not set
+CONFIG_USB_DWC3_KEYSTONE=m
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_EHCI_FSL is not set
CONFIG_USB_EHCI_HCD_PLATFORM=m
@@ -7425,6 +7539,7 @@ CONFIG_VEXPRESS_CONFIG=y
# CONFIG_VF610_DAC is not set
CONFIG_VFAT_FS=m
# CONFIG_VFIO_AMBA is not set
+CONFIG_VFIO_FSL_MC=m
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO=m
# CONFIG_VFIO_MDEV is not set
@@ -7489,8 +7604,12 @@ CONFIG_VIDEO_CX88_DVB=m
# CONFIG_VIDEO_CX88_ENABLE_VP3054 is not set
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_DEV=m
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
# CONFIG_VIDEO_DT3155 is not set
# CONFIG_VIDEO_DW9714 is not set
+CONFIG_VIDEO_DW9719=m
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -7789,6 +7908,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -7879,7 +7999,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-aarch64-rt-rhel.config b/SOURCES/kernel-aarch64-rt-rhel.config
index 1417580..75ba30a 100644
--- a/SOURCES/kernel-aarch64-rt-rhel.config
+++ b/SOURCES/kernel-aarch64-rt-rhel.config
@@ -215,7 +215,6 @@ CONFIG_AMD_HSMP=m
# CONFIG_AMD_IOMMU_DEBUGFS is not set
CONFIG_AMD_PHY=m
CONFIG_AMD_PMC=m
-# CONFIG_AMD_PMF is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_AMDTEE is not set
# CONFIG_AMD_XGBE_DCB is not set
@@ -249,9 +248,9 @@ CONFIG_ARCH_BCM_IPROC=y
# CONFIG_ARCH_EXYNOS is not set
CONFIG_ARCH_HISI=y
# CONFIG_ARCH_INTEL_SOCFPGA is not set
-# CONFIG_ARCH_K3 is not set
+CONFIG_ARCH_K3=y
# CONFIG_ARCH_KEEMBAY is not set
-# CONFIG_ARCH_LAYERSCAPE is not set
+CONFIG_ARCH_LAYERSCAPE=y
# CONFIG_ARCH_LG1K is not set
# CONFIG_ARCH_MA35 is not set
# CONFIG_ARCH_MEDIATEK is not set
@@ -402,6 +401,7 @@ CONFIG_ARM_SPE_PMU=m
# CONFIG_ARM_TEGRA186_CPUFREQ is not set
CONFIG_ARM_TEGRA194_CPUFREQ=m
CONFIG_ARM_TEGRA_DEVFREQ=m
+CONFIG_ARM_TI_CPUFREQ=y
# CONFIG_AS3935 is not set
# CONFIG_AS73211 is not set
CONFIG_ASN1=y
@@ -920,6 +920,7 @@ CONFIG_CLK_IMX8QXP=y
CONFIG_CLK_IMX8ULP=y
CONFIG_CLK_IMX93=y
CONFIG_CLK_KUNIT_TEST=m
+CONFIG_CLK_LS1028A_PLLDIG=y
# CONFIG_CLK_QORIQ is not set
CONFIG_CLK_SP810=y
CONFIG_CLK_VEXPRESS_OSC=y
@@ -957,6 +958,7 @@ CONFIG_COMMAND_LINE_SIZE=4096
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_FIXED_MMIO is not set
# CONFIG_COMMON_CLK_FSL_FLEXSPI is not set
+CONFIG_COMMON_CLK_FSL_SAI=y
CONFIG_COMMON_CLK_HI3516CV300=y
CONFIG_COMMON_CLK_HI3519=y
# CONFIG_COMMON_CLK_HI3559A is not set
@@ -978,6 +980,7 @@ CONFIG_COMMON_CLK_SCPI=m
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
CONFIG_COMMON_CLK_XGENE=y
@@ -998,6 +1001,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -1080,8 +1084,8 @@ CONFIG_CRYPTO_AES_ARM64_BS=m
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
CONFIG_CRYPTO_AES_ARM64_CE=y
-# CONFIG_CRYPTO_AES_ARM64 is not set
CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
+CONFIG_CRYPTO_AES_ARM64=y
CONFIG_CRYPTO_AES_GCM_P10=y
# CONFIG_CRYPTO_AES_TI is not set
CONFIG_CRYPTO_AES=y
@@ -1099,6 +1103,7 @@ CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20_NEON=y
+# CONFIG_CRYPTO_CHACHA20_P10 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=y
# CONFIG_CRYPTO_CRC32C_VPMSUM is not set
@@ -1137,6 +1142,7 @@ CONFIG_CRYPTO_DEV_FSL_CAAM_PRNG_API=y
CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=3
CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y
# CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_TEST is not set
+CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m
# CONFIG_CRYPTO_DEV_HISI_HPRE is not set
# CONFIG_CRYPTO_DEV_HISI_SEC2 is not set
CONFIG_CRYPTO_DEV_HISI_SEC=m
@@ -1156,6 +1162,7 @@ CONFIG_CRYPTO_DEV_OCTEONTX2_CPT=m
# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set
# CONFIG_CRYPTO_DEV_QCE is not set
# CONFIG_CRYPTO_DEV_QCOM_RNG is not set
+CONFIG_CRYPTO_DEV_SA2UL=m
# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
# CONFIG_CRYPTO_DEV_SAHARA is not set
CONFIG_CRYPTO_DEV_SP_CCP=y
@@ -1207,6 +1214,7 @@ CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_POLY1305=m
CONFIG_CRYPTO_POLY1305_NEON=y
+# CONFIG_CRYPTO_POLY1305_P10 is not set
# CONFIG_CRYPTO_POLYVAL_ARM64_CE is not set
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
CONFIG_CRYPTO_RMD160=m
@@ -1411,6 +1419,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1433,6 +1442,7 @@ CONFIG_DMIID=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=m
@@ -1464,6 +1474,7 @@ CONFIG_DP83867_PHY=m
# CONFIG_DP83869_PHY is not set
CONFIG_DP83TC811_PHY=m
# CONFIG_DP83TD510_PHY is not set
+CONFIG_DPAA2_CONSOLE=m
# CONFIG_DPM_WATCHDOG is not set
# CONFIG_DPOT_DAC is not set
# CONFIG_DPS310 is not set
@@ -1555,6 +1566,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MALI_DISPLAY is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
@@ -1632,6 +1644,7 @@ CONFIG_DRM_SIMPLEDRM=y
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1809,6 +1822,7 @@ CONFIG_EDAC_DMC520=m
CONFIG_EDAC_GHES=y
CONFIG_EDAC_I10NM=m
CONFIG_EDAC_IGEN6=m
+CONFIG_EDAC_LAYERSCAPE=m
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_PND2=m
CONFIG_EDAC_SYNOPSYS=m
@@ -1920,6 +1934,7 @@ CONFIG_FAT_KUNIT_TEST=m
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -2007,7 +2022,15 @@ CONFIG_FSCACHE_STATS=y
CONFIG_FS_DAX=y
# CONFIG_FS_ENCRYPTION is not set
# CONFIG_FSI is not set
+# CONFIG_FSL_BMAN_TEST is not set
+CONFIG_FSL_DPAA2_ETH_DCB=y
+CONFIG_FSL_DPAA2_ETH=m
+CONFIG_FSL_DPAA2_PTP_CLOCK=m
+CONFIG_FSL_DPAA2_QDMA=m
CONFIG_FSL_DPAA2_SWITCH=m
+# CONFIG_FSL_DPAA_CHECKING is not set
+CONFIG_FSL_DPAA_ETH=m
+CONFIG_FSL_DPAA=y
# CONFIG_FSL_EDMA is not set
CONFIG_FSL_ENETC_IERB=m
CONFIG_FSL_ENETC=m
@@ -2016,10 +2039,15 @@ CONFIG_FSL_ENETC_PTP_CLOCK=m
CONFIG_FSL_ENETC_QOS=y
CONFIG_FSL_ENETC_VF=m
CONFIG_FSL_ERRATUM_A008585=y
+CONFIG_FSL_FMAN=y
CONFIG_FSL_IMX8_DDR_PMU=m
# CONFIG_FSL_IMX9_DDR_PMU is not set
+CONFIG_FSL_MC_BUS=y
+CONFIG_FSL_MC_DPIO=m
+CONFIG_FSL_MC_UAPI_SUPPORT=y
CONFIG_FSL_PQ_MDIO=m
# CONFIG_FSL_QDMA is not set
+# CONFIG_FSL_QMAN_TEST is not set
# CONFIG_FSL_RCPM is not set
CONFIG_FSL_XGMAC_MDIO=m
CONFIG_FSNOTIFY=y
@@ -2116,6 +2144,8 @@ CONFIG_GNSS=m
# CONFIG_GPIO_CADENCE is not set
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_DAVINCI=y
+# CONFIG_GPIO_DS4520 is not set
CONFIG_GPIO_DWAPB=m
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_EXAR is not set
@@ -2144,6 +2174,7 @@ CONFIG_GPIO_MLXBF2=m
# CONFIG_GPIO_MLXBF3 is not set
# CONFIG_GPIO_MLXBF is not set
# CONFIG_GPIO_MOCKUP is not set
+CONFIG_GPIO_MPC8XXX=y
CONFIG_GPIO_MXC=m
# CONFIG_GPIO_PCA953X_IRQ is not set
# CONFIG_GPIO_PCA953X is not set
@@ -2246,6 +2277,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_GOOGLE_HAMMER is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2402,15 +2434,17 @@ CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
CONFIG_HW_RANDOM_CAVIUM=m
# CONFIG_HW_RANDOM_CCTRNG is not set
CONFIG_HW_RANDOM_CN10K=m
-CONFIG_HW_RANDOM_HISI=y
+CONFIG_HW_RANDOM_HISI=m
# CONFIG_HW_RANDOM_HISTB is not set
# CONFIG_HW_RANDOM_IPROC_RNG200 is not set
+CONFIG_HW_RANDOM_OMAP=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_TPM=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM_XGENE=m
# CONFIG_HW_RANDOM_XIPHERA is not set
CONFIG_HW_RANDOM=y
+CONFIG_HWSPINLOCK_OMAP=m
# CONFIG_HWSPINLOCK_QCOM is not set
CONFIG_HWSPINLOCK=y
# CONFIG_HX711 is not set
@@ -2440,6 +2474,7 @@ CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
CONFIG_I2C_ARB_GPIO_CHALLENGE=m
+# CONFIG_I2C_ATR is not set
# CONFIG_I2C_BCM_IPROC is not set
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
@@ -2486,6 +2521,7 @@ CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_NOMADIK is not set
# CONFIG_I2C_NVIDIA_GPU is not set
# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OMAP=m
CONFIG_I2C_PCA_PLATFORM=m
# CONFIG_I2C_PCI1XXXX is not set
# CONFIG_I2C_PIIX4 is not set
@@ -2689,7 +2725,7 @@ CONFIG_INPUT_APANEL=m
# CONFIG_INPUT_ATI_REMOTE2 is not set
CONFIG_INPUT_ATLAS_BTNS=m
# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
-# CONFIG_INPUT_BBNSM_PWRKEY is not set
+CONFIG_INPUT_BBNSM_PWRKEY=m
# CONFIG_INPUT_BMA150 is not set
# CONFIG_INPUT_CM109 is not set
# CONFIG_INPUT_CMA3000 is not set
@@ -2783,6 +2819,7 @@ CONFIG_INTEL_SDSI=m
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
+# CONFIG_INTEL_VSC is not set
# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
CONFIG_INTEL_WMI_THUNDERBOLT=m
CONFIG_INTEL_XWAY_PHY=m
@@ -2817,7 +2854,7 @@ CONFIG_IOSCHED_BFQ=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_IOSM=m
# CONFIG_IO_STRICT_DEVMEM is not set
-# CONFIG_IO_URING is not set
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2903,6 +2940,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+# CONFIG_IPU_BRIDGE is not set
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
@@ -2979,6 +3017,7 @@ CONFIG_IR_RC6_DECODER=m
# CONFIG_IR_RCMM_DECODER is not set
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
# CONFIG_IR_SERIAL is not set
CONFIG_IR_SERIAL_TRANSMITTER=y
# CONFIG_IR_SHARP_DECODER is not set
@@ -3034,6 +3073,8 @@ CONFIG_JOLIET=y
# CONFIG_JSA1212 is not set
CONFIG_JUMP_LABEL=y
# CONFIG_K3_DMA is not set
+CONFIG_K3_RTI_WATCHDOG=m
+CONFIG_K3_THERMAL=m
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
# CONFIG_KALLSYMS_SELFTEST is not set
@@ -3122,13 +3163,15 @@ CONFIG_KPROBES=y
CONFIG_KSM=y
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KVM_AMD_SEV=y
# CONFIG_KVM_BOOK3S_HV_P8_TIMING is not set
# CONFIG_KVM_BOOK3S_HV_P9_TIMING is not set
+# CONFIG_KVM_PROVE_MMU is not set
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
# CONFIG_KVM_XEN is not set
@@ -3201,6 +3244,7 @@ CONFIG_LEDS_MLXCPLD=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_RT4505 is not set
@@ -3342,9 +3386,11 @@ CONFIG_MAILBOX=y
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
CONFIG_MARVELL_CN10K_DDR_PMU=m
CONFIG_MARVELL_CN10K_TAD_PMU=m
+CONFIG_MARVELL_GTI_WDT=y
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -3386,9 +3432,11 @@ CONFIG_MAX_SKB_FRAGS=17
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
# CONFIG_MCP4922 is not set
# CONFIG_MCTP is not set
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
# CONFIG_MDIO_BCM_IPROC is not set
@@ -3450,6 +3498,7 @@ CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
CONFIG_MEMCPY_KUNIT_TEST=m
CONFIG_MEMCPY_SLOW_KUNIT_TEST=y
+CONFIG_MEMFD_CREATE=y
CONFIG_MEMORY_FAILURE=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTPLUG=y
@@ -3484,6 +3533,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_CS42L43_SDW is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9055 is not set
@@ -3635,6 +3686,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_FPGA=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -3877,6 +3929,9 @@ CONFIG_MTD_UBI=m
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTK_T7XX=m
CONFIG_MULTIUSER=y
+CONFIG_MUX_ADG792A=m
+# CONFIG_MUX_ADGS1408 is not set
+CONFIG_MUX_GPIO=m
# CONFIG_MVMDIO is not set
# CONFIG_MV_XOR_V2 is not set
# CONFIG_MWAVE is not set
@@ -3936,6 +3991,7 @@ CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4364,6 +4420,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4411,9 +4468,11 @@ CONFIG_NVME_FC=m
# CONFIG_NVMEM_IMX_IIM is not set
# CONFIG_NVMEM_IMX_OCOTP_ELE is not set
CONFIG_NVMEM_IMX_OCOTP=m
+CONFIG_NVMEM_LAYERSCAPE_SFP=m
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_QCOM_QFPROM is not set
+# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_NVMEM_RMEM is not set
# CONFIG_NVMEM_SNVS_LPGPR is not set
@@ -4449,6 +4508,11 @@ CONFIG_OF_MDIO=y
CONFIG_OF_PMEM=m
# CONFIG_OF_UNITTEST is not set
CONFIG_OF=y
+CONFIG_OMAP2PLUS_MBOX=m
+CONFIG_OMAP_DM_TIMER=y
+# CONFIG_OMAP_GPMC is not set
+CONFIG_OMAP_MBOX_KFIFO_SIZE=256
+CONFIG_OMAP_USB2=m
# CONFIG_OMFS_FS is not set
# CONFIG_OPAL_CORE is not set
# CONFIG_OPEN_DICE is not set
@@ -4463,6 +4527,7 @@ CONFIG_OPENVSWITCH_VXLAN=m
# CONFIG_OSF_PARTITION is not set
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+# CONFIG_OVERLAY_FS_DEBUG is not set
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4541,6 +4606,7 @@ CONFIG_PCC=y
# CONFIG_PCI200SYN is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_AL is not set
@@ -4588,6 +4654,8 @@ CONFIG_PCI_IMX6_HOST=y
CONFIG_PCI_IMX6=y
CONFIG_PCI_IOV=y
# CONFIG_PCI_J721E_HOST is not set
+CONFIG_PCI_KEYSTONE_HOST=y
+CONFIG_PCI_LAYERSCAPE=y
# CONFIG_PCI_MESON is not set
CONFIG_PCI_MSI=y
CONFIG_PCI_P2PDMA=y
@@ -4620,6 +4688,7 @@ CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_PER_VMA_LOCK_STATS=y
# CONFIG_PHANTOM is not set
# CONFIG_PHONET is not set
+CONFIG_PHY_AM654_SERDES=m
# CONFIG_PHY_BCM_NS_USB2 is not set
# CONFIG_PHY_BCM_NS_USB3 is not set
# CONFIG_PHY_BCM_SR_PCIE is not set
@@ -4641,9 +4710,10 @@ CONFIG_PHY_FSL_IMX8MQ_USB=m
CONFIG_PHY_HI6220_USB=m
# CONFIG_PHY_HISI_INNO_USB2 is not set
# CONFIG_PHY_HISTB_COMBPHY is not set
+CONFIG_PHY_J721E_WIZ=m
# CONFIG_PHY_LAN966X_SERDES is not set
CONFIG_PHYLIB=y
-CONFIG_PHYLINK=m
+CONFIG_PHYLINK=y
# CONFIG_PHY_MAPPHONE_MDM6600 is not set
# CONFIG_PHY_MIXEL_LVDS_PHY is not set
# CONFIG_PHY_MIXEL_MIPI_DPHY is not set
@@ -4657,6 +4727,7 @@ CONFIG_PHY_NS2_USB_DRD=y
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_SATA is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
# CONFIG_PHY_QCOM_PCIE2 is not set
# CONFIG_PHY_QCOM_QMP is not set
# CONFIG_PHY_QCOM_QUSB2 is not set
@@ -4667,6 +4738,8 @@ CONFIG_PHY_NS2_USB_DRD=y
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+# CONFIG_PHY_RTK_RTD_USB2PHY is not set
+# CONFIG_PHY_RTK_RTD_USB3PHY is not set
CONFIG_PHY_TEGRA194_P2U=y
CONFIG_PHY_TEGRA_XUSB=m
# CONFIG_PHY_TUSB1210 is not set
@@ -4851,6 +4924,7 @@ CONFIG_PSI_DEFAULT_DISABLED=y
CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS is not set
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -4870,6 +4944,7 @@ CONFIG_PTE_MARKER_UFFD_WP=y
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_QORIQ=m
CONFIG_PTP_1588_CLOCK=y
@@ -4887,8 +4962,11 @@ CONFIG_PWM_BCM_IPROC=y
# CONFIG_PWM_IMX1 is not set
CONFIG_PWM_IMX27=m
CONFIG_PWM_IMX_TPM=m
+CONFIG_PWM_OMAP_DMTIMER=y
# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM_TEGRA=y
+CONFIG_PWM_TIECAP=m
+CONFIG_PWM_TIEHRPWM=m
# CONFIG_PWM_XILINX is not set
CONFIG_PWM=y
# CONFIG_PWRSEQ_EMMC is not set
@@ -4984,6 +5062,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MEMORY=y
CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -5031,6 +5110,7 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
@@ -5038,6 +5118,7 @@ CONFIG_REGMAP=y
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
# CONFIG_REGULATOR_ARM_SCMI is not set
+# CONFIG_REGULATOR_AW37503 is not set
CONFIG_REGULATOR_BD718XX=m
# CONFIG_REGULATOR_DA9121 is not set
# CONFIG_REGULATOR_DA9210 is not set
@@ -5061,6 +5142,7 @@ CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_MAX77620=y
CONFIG_REGULATOR_MAX77686=m
# CONFIG_REGULATOR_MAX77826 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8893 is not set
@@ -5079,6 +5161,7 @@ CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_PWM is not set
+# CONFIG_REGULATOR_QCOM_REFGEN is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
# CONFIG_REGULATOR_RT4801 is not set
@@ -5091,6 +5174,7 @@ CONFIG_REGULATOR_PFUZE100=m
# CONFIG_REGULATOR_RT6245 is not set
# CONFIG_REGULATOR_RTMV20 is not set
# CONFIG_REGULATOR_RTQ2134 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_RTQ6752 is not set
# CONFIG_REGULATOR_SLG51000 is not set
# CONFIG_REGULATOR_SY8106A is not set
@@ -5125,6 +5209,7 @@ CONFIG_RESET_IMX7=y
# CONFIG_RESET_QCOM_PDC is not set
# CONFIG_RESET_SCMI is not set
# CONFIG_RESET_SIMPLE is not set
+CONFIG_RESET_TI_SCI=m
# CONFIG_RESET_TI_SYSCON is not set
# CONFIG_RESET_TI_TPS380X is not set
CONFIG_RESOURCE_KUNIT_TEST=m
@@ -5134,7 +5219,6 @@ CONFIG_RETPOLINE=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RH_DISABLE_DEPRECATED=y
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RICHTEK_RTQ6056 is not set
CONFIG_RING_BUFFER_BENCHMARK=m
@@ -5228,6 +5312,7 @@ CONFIG_RTC_DRV_DS3232=m
CONFIG_RTC_DRV_EFI=y
CONFIG_RTC_DRV_EM3027=m
CONFIG_RTC_DRV_FM3130=m
+CONFIG_RTC_DRV_FSL_FTM_ALARM=m
# CONFIG_RTC_DRV_FTRTC010 is not set
# CONFIG_RTC_DRV_GOLDFISH is not set
# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
@@ -5282,6 +5367,7 @@ CONFIG_RTC_DRV_RX8581=m
CONFIG_RTC_DRV_STK17TA8=m
# CONFIG_RTC_DRV_TEGRA is not set
# CONFIG_RTC_DRV_TEST is not set
+CONFIG_RTC_DRV_TI_K3=m
CONFIG_RTC_DRV_V3020=m
CONFIG_RTC_DRV_X1205=m
# CONFIG_RTC_DRV_XGENE is not set
@@ -5505,6 +5591,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5514,6 +5601,7 @@ CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_YAMA=y
+# CONFIG_SEL3350_PLATFORM is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
@@ -5591,6 +5679,7 @@ CONFIG_SENSORS_G762=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_HP_WMI is not set
+# CONFIG_SENSORS_HS3001 is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_IBMAEM is not set
# CONFIG_SENSORS_IBM_CFFPS is not set
@@ -5772,6 +5861,8 @@ CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y
+CONFIG_SERIAL_8250_OMAP=y
CONFIG_SERIAL_8250_PCI1XXXX=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PERICOM=y
@@ -6091,7 +6182,9 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_AMD_YC_MACH is not set
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set
# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88261 is not set
# CONFIG_SND_SOC_AW88395 is not set
# CONFIG_SND_SOC_BD28623 is not set
# CONFIG_SND_SOC_BT_SCO is not set
@@ -6108,7 +6201,6 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_CS35L45_I2C is not set
# CONFIG_SND_SOC_CS35L45_SPI is not set
# CONFIG_SND_SOC_CS35L56_I2C is not set
-# CONFIG_SND_SOC_CS35L56_SDW is not set
# CONFIG_SND_SOC_CS35L56_SPI is not set
# CONFIG_SND_SOC_CS4234 is not set
# CONFIG_SND_SOC_CS4265 is not set
@@ -6173,6 +6265,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_ES8336 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A is not set
@@ -6183,6 +6276,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT274 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT286 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT298 is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567 is not set
# CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH is not set
@@ -6302,6 +6396,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+# CONFIG_SND_SOC_RT1017_SDCA_SDW is not set
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -6360,6 +6455,7 @@ CONFIG_SND_SOC_SOF_ACPI=m
# CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL is not set
# CONFIG_SND_SOC_SOF_JASPERLAKE is not set
# CONFIG_SND_SOC_SOF_KABYLAKE is not set
+CONFIG_SND_SOC_SOF_LUNARLAKE=m
# CONFIG_SND_SOC_SOF_MERRIFIELD is not set
# CONFIG_SND_SOC_SOF_METEORLAKE is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -6430,6 +6526,7 @@ CONFIG_SND_SOC_SOF_TOPLEVEL=y
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TOPOLOGY_BUILD is not set
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
@@ -6521,7 +6618,7 @@ CONFIG_SOC_IMX8M=y
CONFIG_SOC_IMX9=m
# CONFIG_SOCIONEXT_SYNQUACER_PREITS is not set
CONFIG_SOC_TEGRA_CBB=m
-# CONFIG_SOC_TI is not set
+CONFIG_SOC_TI=y
CONFIG_SOFTLOCKUP_DETECTOR=y
CONFIG_SOFT_WATCHDOG=m
# CONFIG_SOLARIS_X86_PARTITION is not set
@@ -6561,6 +6658,7 @@ CONFIG_SPI_AMD=y
# CONFIG_SPI_CADENCE_XSPI is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
+CONFIG_SPI_FSL_DSPI=y
CONFIG_SPI_FSL_LPSPI=m
CONFIG_SPI_FSL_QUADSPI=m
# CONFIG_SPI_FSL_SPI is not set
@@ -6579,6 +6677,7 @@ CONFIG_SPI_MEM=y
# CONFIG_SPI_MXIC is not set
CONFIG_SPI_NXP_FLEXSPI=m
# CONFIG_SPI_OC_TINY is not set
+CONFIG_SPI_OMAP24XX=m
CONFIG_SPI_PCI1XXXX=m
CONFIG_SPI_PL022=m
# CONFIG_SPI_PXA2XX is not set
@@ -6680,6 +6779,7 @@ CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_SUSPEND=y
CONFIG_SVC_I3C_MASTER=m
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
# CONFIG_SW_SYNC is not set
# CONFIG_SX9310 is not set
# CONFIG_SX9324 is not set
@@ -6798,6 +6898,7 @@ CONFIG_TEST_CPUMASK=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
@@ -6874,6 +6975,9 @@ CONFIG_THUNDERX2_PMU=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+CONFIG_TI_K3_RINGACC=y
+CONFIG_TI_K3_UDMA_GLUE_LAYER=y
+CONFIG_TI_K3_UDMA=y
# CONFIG_TI_LMP92064 is not set
CONFIG_TIME_KUNIT_TEST=m
CONFIG_TIME_NS=y
@@ -6893,7 +6997,13 @@ CONFIG_TIPC_DIAG=m
CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_IB=y
CONFIG_TIPC_MEDIA_UDP=y
+CONFIG_TI_PRUSS=m
+CONFIG_TI_SCI_CLK=m
+# CONFIG_TI_SCI_CLK_PROBE_FROM_FW is not set
+CONFIG_TI_SCI_PM_DOMAINS=m
# CONFIG_TI_ST is not set
+CONFIG_TI_SYSCON_CLK=m
+CONFIG_TI_SYSC=y
# CONFIG_TI_TLC4541 is not set
# CONFIG_TI_TMAG5273 is not set
# CONFIG_TI_TSC2046 is not set
@@ -6906,6 +7016,7 @@ CONFIG_TLS=m
# CONFIG_TMP117 is not set
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_TMPFS_QUOTA is not set
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_TOOLCHAIN_DEFAULT_CPU is not set
@@ -6950,6 +7061,7 @@ CONFIG_TORTURE_TEST=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -7115,8 +7227,10 @@ CONFIG_USB_CXACRU=m
CONFIG_USB_DEFAULT_PERSIST=y
# CONFIG_USB_DSBR is not set
# CONFIG_USB_DWC2 is not set
+CONFIG_USB_DWC3_AM62=m
CONFIG_USB_DWC3_IMX8MP=m
# CONFIG_USB_DWC3 is not set
+CONFIG_USB_DWC3_KEYSTONE=m
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_EHCI_FSL is not set
CONFIG_USB_EHCI_HCD_PLATFORM=m
@@ -7400,6 +7514,7 @@ CONFIG_VEXPRESS_CONFIG=y
# CONFIG_VF610_DAC is not set
CONFIG_VFAT_FS=m
# CONFIG_VFIO_AMBA is not set
+CONFIG_VFIO_FSL_MC=m
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO=m
# CONFIG_VFIO_MDEV is not set
@@ -7464,8 +7579,12 @@ CONFIG_VIDEO_CX88_DVB=m
# CONFIG_VIDEO_CX88_ENABLE_VP3054 is not set
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_DEV=m
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
# CONFIG_VIDEO_DT3155 is not set
# CONFIG_VIDEO_DW9714 is not set
+CONFIG_VIDEO_DW9719=m
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -7764,6 +7883,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -7854,7 +7974,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-ppc64le-debug-fedora.config b/SOURCES/kernel-ppc64le-debug-fedora.config
index 2db734c..f9fd408 100644
--- a/SOURCES/kernel-ppc64le-debug-fedora.config
+++ b/SOURCES/kernel-ppc64le-debug-fedora.config
@@ -136,6 +136,7 @@ CONFIG_AD7949=m
# CONFIG_AD9834 is not set
# CONFIG_ADA4250 is not set
CONFIG_ADAPTEC_STARFIRE=m
+# CONFIG_ADDRESS_MASKING is not set
# CONFIG_ADE7854 is not set
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
@@ -952,6 +953,7 @@ CONFIG_COMMON_CLK_SI521XX=y
# CONFIG_COMMON_CLK_SI5351 is not set
CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_SI570 is not set
+CONFIG_COMMON_CLK_VC3=m
# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VC7=m
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
@@ -968,6 +970,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -1007,6 +1010,8 @@ CONFIG_CPUSETS=y
# CONFIG_CRAMFS is not set
# CONFIG_CRAMFS_MTD is not set
CONFIG_CRASH_DUMP=y
+CONFIG_CRASH_HOTPLUG=y
+CONFIG_CRASH_MAX_MEMORY_RANGES=8192
CONFIG_CRC16=y
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC32_SARWATE is not set
@@ -1056,6 +1061,7 @@ CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CHACHA20=m
+# CONFIG_CRYPTO_CHACHA20_P10 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_CRC32C_VPMSUM=m
@@ -1144,6 +1150,7 @@ CONFIG_CRYPTO_OFB=y
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_POLY1305=m
+# CONFIG_CRYPTO_POLY1305_P10 is not set
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RSA=y
CONFIG_CRYPTO_SEQIV=y
@@ -1353,6 +1360,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1377,6 +1385,7 @@ CONFIG_DM_INIT=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=y
@@ -1488,6 +1497,7 @@ CONFIG_DRM_LONTIUM_LT8912B=m
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
CONFIG_DRM_LONTIUM_LT9611UXC=m
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
CONFIG_DRM_MGAG200=m
@@ -1574,11 +1584,13 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521=m
+CONFIG_DRM_PANEL_STARTEK_KD070FHFID015=m
# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+CONFIG_DRM_PANEL_VISIONOX_R66451=m
CONFIG_DRM_PANEL_VISIONOX_RM69299=m
# CONFIG_DRM_PANEL_VISIONOX_VTDR6130 is not set
CONFIG_DRM_PANEL_WIDECHIPS_WS2401=m
@@ -1615,6 +1627,7 @@ CONFIG_DRM_TOSHIBA_TC358764=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_TOSHIBA_TC358775=m
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1797,6 +1810,7 @@ CONFIG_EROFS_FS=m
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP_DEFLATE=y
CONFIG_EROFS_FS_ZIP_LZMA=y
CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
@@ -1884,6 +1898,7 @@ CONFIG_FAULT_INJECTION=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -1996,6 +2011,7 @@ CONFIG_FSI=m
CONFIG_FSI_MASTER_ASPEED=m
CONFIG_FSI_MASTER_GPIO=m
CONFIG_FSI_MASTER_HUB=m
+# CONFIG_FSI_MASTER_I2CR is not set
# CONFIG_FSI_NEW_DEV_NODE is not set
CONFIG_FSI_OCC=m
CONFIG_FSI_SBEFIFO=m
@@ -2105,6 +2121,7 @@ CONFIG_GPIO_CADENCE=m
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
CONFIG_GPIO_DLN2=m
+CONFIG_GPIO_DS4520=m
# CONFIG_GPIO_DWAPB is not set
CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_FTGPIO010 is not set
@@ -2219,6 +2236,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
+CONFIG_HID_GOOGLE_STADIA_FF=m
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2413,6 +2431,7 @@ CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_AMD8111 is not set
CONFIG_I2C_AMD_MP2=m
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+CONFIG_I2C_ATR=m
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_CHARDEV=m
@@ -2767,6 +2786,7 @@ CONFIG_IONIC=m
CONFIG_IOSCHED_BFQ=y
CONFIG_IOSM=m
CONFIG_IO_STRICT_DEVMEM=y
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2855,6 +2875,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+CONFIG_IPU_BRIDGE=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_ILA=m
CONFIG_IPV6_IOAM6_LWTUNNEL=y
@@ -2931,6 +2952,7 @@ CONFIG_IR_RC6_DECODER=m
CONFIG_IR_RCMM_DECODER=m
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
@@ -3134,7 +3156,7 @@ CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
@@ -3146,6 +3168,7 @@ CONFIG_KVM_BOOK3S_HV_NESTED_PMU_WORKAROUND=y
# CONFIG_KVM_BOOK3S_HV_P8_TIMING is not set
# CONFIG_KVM_BOOK3S_HV_P9_TIMING is not set
CONFIG_KVM_GUEST=y
+CONFIG_KVM_PROVE_MMU=y
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
CONFIG_KVM_XEN=y
@@ -3199,6 +3222,7 @@ CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GROUP_MULTICOLOR=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
# CONFIG_LEDS_KTD2692 is not set
@@ -3226,6 +3250,7 @@ CONFIG_LEDS_PCA9532_GPIO=y
CONFIG_LEDS_PCA9532=m
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+CONFIG_LEDS_PCA995X=m
CONFIG_LEDS_POWERNV=m
# CONFIG_LEDS_PWM is not set
CONFIG_LEDS_PWM_MULTICOLOR=m
@@ -3378,6 +3403,7 @@ CONFIG_MAGIC_SYSRQ=y
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+CONFIG_MARVELL_88Q2XXX_PHY=m
CONFIG_MARVELL_88X2222_PHY=m
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
@@ -3421,11 +3447,13 @@ CONFIG_MCP41010=m
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+CONFIG_MCP4728=m
# CONFIG_MCP4922 is not set
CONFIG_MCTP_SERIAL=m
# CONFIG_MCTP_TRANSPORT_I2C is not set
CONFIG_MCTP=y
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -3524,6 +3552,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=m
# CONFIG_MFD_CPCAP is not set
+CONFIG_MFD_CS42L43_I2C=m
+CONFIG_MFD_CS42L43_SDW=m
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
@@ -3675,6 +3705,7 @@ CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -4002,6 +4033,7 @@ CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4513,6 +4545,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4605,6 +4638,7 @@ CONFIG_ORINOCO_USB=m
CONFIG_OSF_PARTITION=y
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+# CONFIG_OVERLAY_FS_DEBUG is not set
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4690,6 +4724,7 @@ CONFIG_PATA_WINBOND=m
# CONFIG_PCH_GBE is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
@@ -4745,6 +4780,7 @@ CONFIG_PCS_XPCS=m
CONFIG_PDC_ADMA=m
CONFIG_PDS_CORE=m
CONFIG_PDS_VDPA=m
+CONFIG_PDS_VFIO_PCI=m
# CONFIG_PECI is not set
CONFIG_PERCPU_STATS=y
# CONFIG_PERCPU_TEST is not set
@@ -4782,6 +4818,8 @@ CONFIG_PHYLINK=m
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+CONFIG_PHY_RTK_RTD_USB2PHY=m
+CONFIG_PHY_RTK_RTD_USB3PHY=m
# CONFIG_PHY_TUSB1210 is not set
# CONFIG_PI433 is not set
CONFIG_PID_NS=y
@@ -4789,6 +4827,7 @@ CONFIG_PID_NS=y
CONFIG_PINCTRL_ALDERLAKE=m
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
+CONFIG_PINCTRL_CS42L43=m
CONFIG_PINCTRL_CY8C95X0=m
CONFIG_PINCTRL_ELKHARTLAKE=m
CONFIG_PINCTRL_EMMITSBURG=m
@@ -4816,6 +4855,7 @@ CONFIG_PINCTRL_RK805=m
# CONFIG_PINCTRL_SM8150 is not set
# CONFIG_PINCTRL_SM8250 is not set
# CONFIG_PINCTRL_SM8350 is not set
+CONFIG_PINCTRL_SM8350_LPASS_LPI=m
# CONFIG_PINCTRL_SM8450 is not set
# CONFIG_PINCTRL_STMFX is not set
# CONFIG_PINCTRL_SUN4I_A10 is not set
@@ -5002,6 +5042,7 @@ CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS_DEFAULT is not set
CONFIG_PSTORE_842_COMPRESS=y
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -5023,6 +5064,7 @@ CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
@@ -5104,6 +5146,7 @@ CONFIG_RANDOM32_SELFTEST=y
CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -5163,12 +5206,14 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
+CONFIG_REGULATOR_AW37503=m
CONFIG_REGULATOR_BD9571MWV=m
# CONFIG_REGULATOR_DA9121 is not set
# CONFIG_REGULATOR_DA9210 is not set
@@ -5189,9 +5234,11 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_MAX1586 is not set
# CONFIG_REGULATOR_MAX20086 is not set
CONFIG_REGULATOR_MAX20411=m
+CONFIG_REGULATOR_MAX5970=m
CONFIG_REGULATOR_MAX597X=m
CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX77826 is not set
+CONFIG_REGULATOR_MAX77857=m
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
CONFIG_REGULATOR_MAX8893=m
@@ -5224,6 +5271,7 @@ CONFIG_REGULATOR_RT6190=m
CONFIG_REGULATOR_RT6245=m
CONFIG_REGULATOR_RTMV20=m
CONFIG_REGULATOR_RTQ2134=m
+CONFIG_REGULATOR_RTQ2208=m
CONFIG_REGULATOR_RTQ6752=m
# CONFIG_REGULATOR_SLG51000 is not set
CONFIG_REGULATOR_SY7636A=m
@@ -5269,8 +5317,7 @@ CONFIG_RESOURCE_KUNIT_TEST=m
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-# CONFIG_RH_DISABLE_DEPRECATED is not set
-CONFIG_RH_FEDORA=y
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RICHTEK_RTQ6056=m
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
@@ -5678,6 +5725,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5753,6 +5801,7 @@ CONFIG_SENSORS_GL520SM=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
CONFIG_SENSORS_HP_WMI=m
+CONFIG_SENSORS_HS3001=m
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBM_CFFPS=m
@@ -5840,6 +5889,7 @@ CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_MLXREG_FAN=m
CONFIG_SENSORS_MP2888=m
CONFIG_SENSORS_MP2975=m
+CONFIG_SENSORS_MP2975_REGULATOR=y
CONFIG_SENSORS_MP5023=m
CONFIG_SENSORS_MPQ7932=m
CONFIG_SENSORS_MPQ7932_REGULATOR=y
@@ -6148,6 +6198,9 @@ CONFIG_SND_HDA_PREALLOC_SIZE=2048
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
+CONFIG_SND_HDA_SCODEC_CS35L56_I2C=m
+CONFIG_SND_HDA_SCODEC_CS35L56_SPI=m
+CONFIG_SND_HDA_SCODEC_TAS2781_I2C=m
# CONFIG_SND_HDA_TEGRA is not set
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
@@ -6261,7 +6314,9 @@ CONFIG_SND_SOC_AK5558=m
# CONFIG_SND_SOC_AMD_YC_MACH is not set
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+CONFIG_SND_SOC_AUDIO_IIO_AUX=m
CONFIG_SND_SOC_AW8738=m
+CONFIG_SND_SOC_AW88261=m
CONFIG_SND_SOC_AW88395=m
CONFIG_SND_SOC_BD28623=m
CONFIG_SND_SOC_BT_SCO=m
@@ -6278,7 +6333,6 @@ CONFIG_SND_SOC_CS35L36=m
CONFIG_SND_SOC_CS35L45_I2C=m
CONFIG_SND_SOC_CS35L45_SPI=m
CONFIG_SND_SOC_CS35L56_I2C=m
-CONFIG_SND_SOC_CS35L56_SDW=m
CONFIG_SND_SOC_CS35L56_SPI=m
CONFIG_SND_SOC_CS4234=m
# CONFIG_SND_SOC_CS4265 is not set
@@ -6287,6 +6341,8 @@ CONFIG_SND_SOC_CS4234=m
# CONFIG_SND_SOC_CS4271_SPI is not set
CONFIG_SND_SOC_CS42L42=m
CONFIG_SND_SOC_CS42L42_SDW=m
+CONFIG_SND_SOC_CS42L43=m
+CONFIG_SND_SOC_CS42L43_SDW=m
# CONFIG_SND_SOC_CS42L51_I2C is not set
# CONFIG_SND_SOC_CS42L52 is not set
# CONFIG_SND_SOC_CS42L56 is not set
@@ -6472,6 +6528,7 @@ CONFIG_SND_SOC_RL6231=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+CONFIG_SND_SOC_RT1017_SDCA_SDW=m
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -6603,6 +6660,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TOPOLOGY_BUILD is not set
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
@@ -6730,6 +6788,7 @@ CONFIG_SPI_AX88796C=m
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_CADENCE_QUADSPI is not set
# CONFIG_SPI_CADENCE_XSPI is not set
+# CONFIG_SPI_CS42L43 is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_DLN2=m
@@ -6861,6 +6920,7 @@ CONFIG_SUSPEND_FREEZER=y
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_SUSPEND=y
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_SWIOTLB=y
# CONFIG_SW_SYNC is not set
CONFIG_SX9310=m
@@ -6971,6 +7031,7 @@ CONFIG_TEST_FPU=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=m
@@ -7046,6 +7107,8 @@ CONFIG_TIFM_7XX1=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+# CONFIG_TI_ICSSG_PRUETH is not set
+CONFIG_TI_ICSS_IEP=m
CONFIG_TI_LMP92064=m
CONFIG_TIME_KUNIT_TEST=m
CONFIG_TIME_NS=y
@@ -7078,6 +7141,7 @@ CONFIG_TLS=m
CONFIG_TMP117=m
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_QUOTA=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_TOOLCHAIN_DEFAULT_CPU is not set
@@ -7124,6 +7188,7 @@ CONFIG_TOUCHSCREEN_IMAGIS=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
CONFIG_TOUCHSCREEN_IQS5XX=m
+CONFIG_TOUCHSCREEN_IQS7211=m
# CONFIG_TOUCHSCREEN_MAX11801 is not set
CONFIG_TOUCHSCREEN_MCS5000=m
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -7322,6 +7387,7 @@ CONFIG_USB_CHIPIDEA_IMX=m
# CONFIG_USB_CHIPIDEA is not set
CONFIG_USB_CHIPIDEA_MSM=m
CONFIG_USB_CHIPIDEA_PCI=m
+CONFIG_USB_CONFIGFS_F_MIDI2=y
# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set
# CONFIG_USB_CONN_GPIO is not set
CONFIG_USB_CXACRU=m
@@ -7658,6 +7724,8 @@ CONFIG_VETH=m
# CONFIG_VF610_DAC is not set
CONFIG_VFAT_FS=m
CONFIG_VFIO_CONTAINER=y
+# CONFIG_VFIO_DEVICE_CDEV is not set
+CONFIG_VFIO_GROUP=y
# CONFIG_VFIO_IOMMU_TYPE1 is not set
CONFIG_VFIO=m
CONFIG_VFIO_MDEV=m
@@ -7726,8 +7794,12 @@ CONFIG_VIDEO_CX88_ENABLE_VP3054=y
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_VP3054=m
CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_DS90UB913=m
+CONFIG_VIDEO_DS90UB953=m
+CONFIG_VIDEO_DS90UB960=m
# CONFIG_VIDEO_DT3155 is not set
CONFIG_VIDEO_DW9714=m
+CONFIG_VIDEO_DW9719=m
CONFIG_VIDEO_DW9768=m
CONFIG_VIDEO_DW9807_VCM=m
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -8067,6 +8139,7 @@ CONFIG_XDP_SOCKETS_DIAG=m
CONFIG_XDP_SOCKETS=y
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
+CONFIG_XEN_PRIVCMD_IRQFD=y
CONFIG_XEN_PRIVCMD=m
# CONFIG_XEN_PVCALLS_FRONTEND is not set
CONFIG_XEN_PVHVM_GUEST=y
@@ -8084,6 +8157,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -8173,7 +8247,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-ppc64le-debug-rhel.config b/SOURCES/kernel-ppc64le-debug-rhel.config
index addec32..2f56c33 100644
--- a/SOURCES/kernel-ppc64le-debug-rhel.config
+++ b/SOURCES/kernel-ppc64le-debug-rhel.config
@@ -206,7 +206,6 @@ CONFIG_AMD_HSMP=m
# CONFIG_AMD_IOMMU_DEBUGFS is not set
CONFIG_AMD_PHY=m
CONFIG_AMD_PMC=m
-# CONFIG_AMD_PMF is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_AMDTEE is not set
# CONFIG_AMIGA_PARTITION is not set
@@ -812,6 +811,7 @@ CONFIG_COMMON_CLK_HI3798CV200=y
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
@@ -829,6 +829,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -911,6 +912,7 @@ CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CHACHA20=m
+# CONFIG_CRYPTO_CHACHA20_P10 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=y
# CONFIG_CRYPTO_CRC32C_VPMSUM is not set
@@ -1000,6 +1002,7 @@ CONFIG_CRYPTO_OFB=y
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_POLY1305=m
+# CONFIG_CRYPTO_POLY1305_P10 is not set
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RSA=y
@@ -1206,6 +1209,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1228,6 +1232,7 @@ CONFIG_DMIID=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=m
@@ -1348,6 +1353,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MALI_DISPLAY is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
@@ -1421,6 +1427,7 @@ CONFIG_DRM_SIMPLEDRM=y
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1669,6 +1676,7 @@ CONFIG_FAULT_INJECTION=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -1855,6 +1863,7 @@ CONFIG_GNSS=m
# CONFIG_GPIO_CADENCE is not set
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
+# CONFIG_GPIO_DS4520 is not set
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_EXAR is not set
@@ -1975,6 +1984,7 @@ CONFIG_HID_GENERIC=y
# CONFIG_HID_GFRM is not set
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_GOOGLE_HAMMER is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
CONFIG_HID_GREENASIA=m
# CONFIG_HID_GT683R is not set
CONFIG_HID_GYRATION=m
@@ -2126,7 +2136,6 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
# CONFIG_HW_RANDOM_BA431 is not set
# CONFIG_HW_RANDOM_CCTRNG is not set
-CONFIG_HW_RANDOM_HISI=y
# CONFIG_HW_RANDOM_HISTB is not set
CONFIG_HW_RANDOM_POWERNV=m
CONFIG_HW_RANDOM_PSERIES=m
@@ -2163,6 +2172,7 @@ CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_ATR is not set
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_CHARDEV=m
@@ -2478,6 +2488,7 @@ CONFIG_INTEL_SDSI=m
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
+# CONFIG_INTEL_VSC is not set
# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
CONFIG_INTEL_WMI_THUNDERBOLT=m
CONFIG_INTEL_XWAY_PHY=m
@@ -2507,7 +2518,7 @@ CONFIG_IOSCHED_BFQ=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_IOSM=m
# CONFIG_IO_STRICT_DEVMEM is not set
-# CONFIG_IO_URING is not set
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2594,6 +2605,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+# CONFIG_IPU_BRIDGE is not set
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
@@ -2671,6 +2683,7 @@ CONFIG_IR_RC6_DECODER=m
# CONFIG_IR_RCMM_DECODER is not set
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
# CONFIG_IR_SERIAL is not set
CONFIG_IR_SERIAL_TRANSMITTER=y
# CONFIG_IR_SHARP_DECODER is not set
@@ -2816,10 +2829,11 @@ CONFIG_KPROBES=y
CONFIG_KSM=y
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KVM_AMD_SEV=y
CONFIG_KVM_BOOK3S_64_HV=m
CONFIG_KVM_BOOK3S_64=m
@@ -2830,6 +2844,7 @@ CONFIG_KVM_BOOK3S_HV_NESTED_PMU_WORKAROUND=y
# CONFIG_KVM_BOOK3S_HV_P9_TIMING is not set
CONFIG_KVM_BOOK3S_PR_POSSIBLE=y
CONFIG_KVM_GUEST=y
+CONFIG_KVM_PROVE_MMU=y
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
# CONFIG_KVM_XEN is not set
@@ -2903,6 +2918,7 @@ CONFIG_LEDS_MLXCPLD=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
CONFIG_LEDS_POWERNV=m
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_REGULATOR is not set
@@ -3045,7 +3061,9 @@ CONFIG_MAGIC_SYSRQ=y
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
+CONFIG_MARVELL_GTI_WDT=y
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -3085,9 +3103,11 @@ CONFIG_MAX_SKB_FRAGS=17
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
# CONFIG_MCP4922 is not set
# CONFIG_MCTP is not set
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -3141,6 +3161,7 @@ CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
CONFIG_MEMCPY_KUNIT_TEST=m
CONFIG_MEMCPY_SLOW_KUNIT_TEST=y
+CONFIG_MEMFD_CREATE=y
CONFIG_MEMORY_FAILURE=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTPLUG=y
@@ -3175,6 +3196,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_CS42L43_SDW is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9055 is not set
@@ -3321,6 +3344,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_FPGA=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -3604,6 +3628,7 @@ CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4024,6 +4049,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4070,6 +4096,7 @@ CONFIG_NVME_FC=m
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_QCOM_QFPROM is not set
+# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_NVMEM_RMEM is not set
CONFIG_NVMEM_SYSFS=y
@@ -4114,6 +4141,7 @@ CONFIG_OPENVSWITCH_VXLAN=m
CONFIG_OSF_PARTITION=y
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+CONFIG_OVERLAY_FS_DEBUG=y
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4190,6 +4218,7 @@ CONFIG_PATA_PLATFORM=m
# CONFIG_PCI200SYN is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
@@ -4281,6 +4310,7 @@ CONFIG_PHYLIB=y
# CONFIG_PHY_QCOM_EUSB2_REPEATER is not set
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
# CONFIG_PHY_QCOM_QMP is not set
# CONFIG_PHY_QCOM_QUSB2 is not set
# CONFIG_PHY_QCOM_SGMII_ETH is not set
@@ -4290,6 +4320,8 @@ CONFIG_PHYLIB=y
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+# CONFIG_PHY_RTK_RTD_USB2PHY is not set
+# CONFIG_PHY_RTK_RTD_USB3PHY is not set
CONFIG_PHYSICAL_ALIGN=0x200000
# CONFIG_PHY_TUSB1210 is not set
# CONFIG_PI433 is not set
@@ -4487,6 +4519,7 @@ CONFIG_PSI_DEFAULT_DISABLED=y
CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS is not set
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -4505,6 +4538,7 @@ CONFIG_PTE_MARKER_UFFD_WP=y
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK=y
# CONFIG_PUNIT_ATOM_DEBUG is not set
@@ -4599,6 +4633,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MEMORY=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -4643,12 +4678,14 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
+# CONFIG_REGULATOR_AW37503 is not set
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_DEBUG is not set
@@ -4665,6 +4702,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_LTC3589 is not set
# CONFIG_REGULATOR_LTC3676 is not set
# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
@@ -4677,9 +4715,11 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_PWM is not set
+# CONFIG_REGULATOR_QCOM_REFGEN is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RT4803 is not set
# CONFIG_REGULATOR_RT5739 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_SY8106A is not set
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
@@ -4713,7 +4753,6 @@ CONFIG_RETPOLINE=y
# CONFIG_RFKILL_GPIO is not set
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RH_DISABLE_DEPRECATED=y
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RICHTEK_RTQ6056 is not set
CONFIG_RING_BUFFER_BENCHMARK=m
@@ -5081,6 +5120,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5090,6 +5130,7 @@ CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_YAMA=y
+# CONFIG_SEL3350_PLATFORM is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
@@ -5165,6 +5206,7 @@ CONFIG_SENSORS_GL520SM=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_HP_WMI is not set
+# CONFIG_SENSORS_HS3001 is not set
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
# CONFIG_SENSORS_IBM_CFFPS is not set
@@ -5655,7 +5697,9 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_AMD_YC_MACH is not set
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set
# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88261 is not set
# CONFIG_SND_SOC_AW88395 is not set
# CONFIG_SND_SOC_BD28623 is not set
# CONFIG_SND_SOC_BT_SCO is not set
@@ -5672,7 +5716,6 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_CS35L45_I2C is not set
# CONFIG_SND_SOC_CS35L45_SPI is not set
# CONFIG_SND_SOC_CS35L56_I2C is not set
-# CONFIG_SND_SOC_CS35L56_SDW is not set
# CONFIG_SND_SOC_CS35L56_SPI is not set
# CONFIG_SND_SOC_CS4234 is not set
# CONFIG_SND_SOC_CS4265 is not set
@@ -5737,6 +5780,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_ES8336 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A is not set
@@ -5747,6 +5791,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT274 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT286 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT298 is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567 is not set
# CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH is not set
@@ -5866,6 +5911,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+# CONFIG_SND_SOC_RT1017_SDCA_SDW is not set
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -5925,6 +5971,7 @@ CONFIG_SND_SOC_SOF_HDA_PROBES=m
# CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL is not set
# CONFIG_SND_SOC_SOF_JASPERLAKE is not set
# CONFIG_SND_SOC_SOF_KABYLAKE is not set
+CONFIG_SND_SOC_SOF_LUNARLAKE=m
# CONFIG_SND_SOC_SOF_MERRIFIELD is not set
# CONFIG_SND_SOC_SOF_METEORLAKE is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -5995,6 +6042,7 @@ CONFIG_SND_SOC_SOF_TOPLEVEL=y
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+CONFIG_SND_SOC_TOPOLOGY_BUILD=y
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
@@ -6217,6 +6265,7 @@ CONFIG_SUSPEND_FREEZER=y
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_SUSPEND=y
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
# CONFIG_SW_SYNC is not set
# CONFIG_SX9310 is not set
# CONFIG_SX9324 is not set
@@ -6323,6 +6372,7 @@ CONFIG_TEST_FPU=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=m
@@ -6428,6 +6478,7 @@ CONFIG_TLS=m
# CONFIG_TMP117 is not set
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_TMPFS_QUOTA is not set
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_TOOLCHAIN_DEFAULT_CPU is not set
@@ -6473,6 +6524,7 @@ CONFIG_TORTURE_TEST=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -6976,8 +7028,12 @@ CONFIG_VIDEO_CX88_DVB=m
# CONFIG_VIDEO_CX88_ENABLE_VP3054 is not set
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_DEV=m
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
# CONFIG_VIDEO_DT3155 is not set
# CONFIG_VIDEO_DW9714 is not set
+CONFIG_VIDEO_DW9719=m
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -7275,6 +7331,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -7360,7 +7417,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-ppc64le-fedora.config b/SOURCES/kernel-ppc64le-fedora.config
index eaec938..5ed305c 100644
--- a/SOURCES/kernel-ppc64le-fedora.config
+++ b/SOURCES/kernel-ppc64le-fedora.config
@@ -136,6 +136,7 @@ CONFIG_AD7949=m
# CONFIG_AD9834 is not set
# CONFIG_ADA4250 is not set
CONFIG_ADAPTEC_STARFIRE=m
+# CONFIG_ADDRESS_MASKING is not set
# CONFIG_ADE7854 is not set
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
@@ -950,6 +951,7 @@ CONFIG_COMMON_CLK_SI521XX=y
# CONFIG_COMMON_CLK_SI5351 is not set
CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_SI570 is not set
+CONFIG_COMMON_CLK_VC3=m
# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VC7=m
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
@@ -966,6 +968,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -1005,6 +1008,8 @@ CONFIG_CPUSETS=y
# CONFIG_CRAMFS is not set
# CONFIG_CRAMFS_MTD is not set
CONFIG_CRASH_DUMP=y
+CONFIG_CRASH_HOTPLUG=y
+CONFIG_CRASH_MAX_MEMORY_RANGES=8192
CONFIG_CRC16=y
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC32_SARWATE is not set
@@ -1054,6 +1059,7 @@ CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CHACHA20=m
+# CONFIG_CRYPTO_CHACHA20_P10 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_CRC32C_VPMSUM=m
@@ -1142,6 +1148,7 @@ CONFIG_CRYPTO_OFB=y
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_POLY1305=m
+# CONFIG_CRYPTO_POLY1305_P10 is not set
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RSA=y
CONFIG_CRYPTO_SEQIV=y
@@ -1342,6 +1349,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1366,6 +1374,7 @@ CONFIG_DM_INIT=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=y
@@ -1477,6 +1486,7 @@ CONFIG_DRM_LONTIUM_LT8912B=m
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
CONFIG_DRM_LONTIUM_LT9611UXC=m
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
CONFIG_DRM_MGAG200=m
@@ -1563,11 +1573,13 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521=m
+CONFIG_DRM_PANEL_STARTEK_KD070FHFID015=m
# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+CONFIG_DRM_PANEL_VISIONOX_R66451=m
CONFIG_DRM_PANEL_VISIONOX_RM69299=m
# CONFIG_DRM_PANEL_VISIONOX_VTDR6130 is not set
CONFIG_DRM_PANEL_WIDECHIPS_WS2401=m
@@ -1604,6 +1616,7 @@ CONFIG_DRM_TOSHIBA_TC358764=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_TOSHIBA_TC358775=m
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1786,6 +1799,7 @@ CONFIG_EROFS_FS=m
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP_DEFLATE=y
CONFIG_EROFS_FS_ZIP_LZMA=y
CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
@@ -1865,6 +1879,7 @@ CONFIG_FAT_KUNIT_TEST=m
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -1977,6 +1992,7 @@ CONFIG_FSI=m
CONFIG_FSI_MASTER_ASPEED=m
CONFIG_FSI_MASTER_GPIO=m
CONFIG_FSI_MASTER_HUB=m
+# CONFIG_FSI_MASTER_I2CR is not set
# CONFIG_FSI_NEW_DEV_NODE is not set
CONFIG_FSI_OCC=m
CONFIG_FSI_SBEFIFO=m
@@ -2086,6 +2102,7 @@ CONFIG_GPIO_CADENCE=m
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
CONFIG_GPIO_DLN2=m
+CONFIG_GPIO_DS4520=m
# CONFIG_GPIO_DWAPB is not set
CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_FTGPIO010 is not set
@@ -2200,6 +2217,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
+CONFIG_HID_GOOGLE_STADIA_FF=m
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2394,6 +2412,7 @@ CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_AMD8111 is not set
CONFIG_I2C_AMD_MP2=m
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+CONFIG_I2C_ATR=m
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_CHARDEV=m
@@ -2747,6 +2766,7 @@ CONFIG_IONIC=m
CONFIG_IOSCHED_BFQ=y
CONFIG_IOSM=m
CONFIG_IO_STRICT_DEVMEM=y
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2835,6 +2855,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+CONFIG_IPU_BRIDGE=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_ILA=m
CONFIG_IPV6_IOAM6_LWTUNNEL=y
@@ -2911,6 +2932,7 @@ CONFIG_IR_RC6_DECODER=m
CONFIG_IR_RCMM_DECODER=m
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
@@ -3108,7 +3130,7 @@ CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
@@ -3120,6 +3142,7 @@ CONFIG_KVM_BOOK3S_HV_NESTED_PMU_WORKAROUND=y
# CONFIG_KVM_BOOK3S_HV_P8_TIMING is not set
# CONFIG_KVM_BOOK3S_HV_P9_TIMING is not set
CONFIG_KVM_GUEST=y
+# CONFIG_KVM_PROVE_MMU is not set
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
CONFIG_KVM_XEN=y
@@ -3173,6 +3196,7 @@ CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GROUP_MULTICOLOR=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
# CONFIG_LEDS_KTD2692 is not set
@@ -3200,6 +3224,7 @@ CONFIG_LEDS_PCA9532_GPIO=y
CONFIG_LEDS_PCA9532=m
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+CONFIG_LEDS_PCA995X=m
CONFIG_LEDS_POWERNV=m
# CONFIG_LEDS_PWM is not set
CONFIG_LEDS_PWM_MULTICOLOR=m
@@ -3352,6 +3377,7 @@ CONFIG_MAGIC_SYSRQ=y
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+CONFIG_MARVELL_88Q2XXX_PHY=m
CONFIG_MARVELL_88X2222_PHY=m
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
@@ -3394,11 +3420,13 @@ CONFIG_MCP41010=m
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+CONFIG_MCP4728=m
# CONFIG_MCP4922 is not set
CONFIG_MCTP_SERIAL=m
# CONFIG_MCTP_TRANSPORT_I2C is not set
CONFIG_MCTP=y
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -3497,6 +3525,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=m
# CONFIG_MFD_CPCAP is not set
+CONFIG_MFD_CS42L43_I2C=m
+CONFIG_MFD_CS42L43_SDW=m
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
@@ -3648,6 +3678,7 @@ CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -3974,6 +4005,7 @@ CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4485,6 +4517,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4577,6 +4610,7 @@ CONFIG_ORINOCO_USB=m
CONFIG_OSF_PARTITION=y
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+# CONFIG_OVERLAY_FS_DEBUG is not set
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4661,6 +4695,7 @@ CONFIG_PATA_WINBOND=m
# CONFIG_PCH_GBE is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
@@ -4716,6 +4751,7 @@ CONFIG_PCS_XPCS=m
CONFIG_PDC_ADMA=m
CONFIG_PDS_CORE=m
CONFIG_PDS_VDPA=m
+CONFIG_PDS_VFIO_PCI=m
# CONFIG_PECI is not set
# CONFIG_PERCPU_STATS is not set
# CONFIG_PERCPU_TEST is not set
@@ -4753,6 +4789,8 @@ CONFIG_PHYLINK=m
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+CONFIG_PHY_RTK_RTD_USB2PHY=m
+CONFIG_PHY_RTK_RTD_USB3PHY=m
# CONFIG_PHY_TUSB1210 is not set
# CONFIG_PI433 is not set
CONFIG_PID_NS=y
@@ -4760,6 +4798,7 @@ CONFIG_PID_NS=y
CONFIG_PINCTRL_ALDERLAKE=m
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
+CONFIG_PINCTRL_CS42L43=m
CONFIG_PINCTRL_CY8C95X0=m
CONFIG_PINCTRL_ELKHARTLAKE=m
CONFIG_PINCTRL_EMMITSBURG=m
@@ -4787,6 +4826,7 @@ CONFIG_PINCTRL_RK805=m
# CONFIG_PINCTRL_SM8150 is not set
# CONFIG_PINCTRL_SM8250 is not set
# CONFIG_PINCTRL_SM8350 is not set
+CONFIG_PINCTRL_SM8350_LPASS_LPI=m
# CONFIG_PINCTRL_SM8450 is not set
# CONFIG_PINCTRL_STMFX is not set
# CONFIG_PINCTRL_SUN4I_A10 is not set
@@ -4973,6 +5013,7 @@ CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS_DEFAULT is not set
CONFIG_PSTORE_842_COMPRESS=y
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -4994,6 +5035,7 @@ CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
@@ -5075,6 +5117,7 @@ CONFIG_RAID_ATTRS=m
CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -5134,12 +5177,14 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
+CONFIG_REGULATOR_AW37503=m
CONFIG_REGULATOR_BD9571MWV=m
# CONFIG_REGULATOR_DA9121 is not set
# CONFIG_REGULATOR_DA9210 is not set
@@ -5160,9 +5205,11 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_MAX1586 is not set
# CONFIG_REGULATOR_MAX20086 is not set
CONFIG_REGULATOR_MAX20411=m
+CONFIG_REGULATOR_MAX5970=m
CONFIG_REGULATOR_MAX597X=m
CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX77826 is not set
+CONFIG_REGULATOR_MAX77857=m
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
CONFIG_REGULATOR_MAX8893=m
@@ -5195,6 +5242,7 @@ CONFIG_REGULATOR_RT6190=m
CONFIG_REGULATOR_RT6245=m
CONFIG_REGULATOR_RTMV20=m
CONFIG_REGULATOR_RTQ2134=m
+CONFIG_REGULATOR_RTQ2208=m
CONFIG_REGULATOR_RTQ6752=m
# CONFIG_REGULATOR_SLG51000 is not set
CONFIG_REGULATOR_SY7636A=m
@@ -5240,8 +5288,7 @@ CONFIG_RESOURCE_KUNIT_TEST=m
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-# CONFIG_RH_DISABLE_DEPRECATED is not set
-CONFIG_RH_FEDORA=y
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RICHTEK_RTQ6056=m
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
@@ -5649,6 +5696,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5724,6 +5772,7 @@ CONFIG_SENSORS_GL520SM=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
CONFIG_SENSORS_HP_WMI=m
+CONFIG_SENSORS_HS3001=m
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBM_CFFPS=m
@@ -5811,6 +5860,7 @@ CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_MLXREG_FAN=m
CONFIG_SENSORS_MP2888=m
CONFIG_SENSORS_MP2975=m
+CONFIG_SENSORS_MP2975_REGULATOR=y
CONFIG_SENSORS_MP5023=m
CONFIG_SENSORS_MPQ7932=m
CONFIG_SENSORS_MPQ7932_REGULATOR=y
@@ -6119,6 +6169,9 @@ CONFIG_SND_HDA_PREALLOC_SIZE=2048
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
+CONFIG_SND_HDA_SCODEC_CS35L56_I2C=m
+CONFIG_SND_HDA_SCODEC_CS35L56_SPI=m
+CONFIG_SND_HDA_SCODEC_TAS2781_I2C=m
# CONFIG_SND_HDA_TEGRA is not set
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
@@ -6231,7 +6284,9 @@ CONFIG_SND_SOC_AK5558=m
# CONFIG_SND_SOC_AMD_YC_MACH is not set
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+CONFIG_SND_SOC_AUDIO_IIO_AUX=m
CONFIG_SND_SOC_AW8738=m
+CONFIG_SND_SOC_AW88261=m
CONFIG_SND_SOC_AW88395=m
CONFIG_SND_SOC_BD28623=m
CONFIG_SND_SOC_BT_SCO=m
@@ -6248,7 +6303,6 @@ CONFIG_SND_SOC_CS35L36=m
CONFIG_SND_SOC_CS35L45_I2C=m
CONFIG_SND_SOC_CS35L45_SPI=m
CONFIG_SND_SOC_CS35L56_I2C=m
-CONFIG_SND_SOC_CS35L56_SDW=m
CONFIG_SND_SOC_CS35L56_SPI=m
CONFIG_SND_SOC_CS4234=m
# CONFIG_SND_SOC_CS4265 is not set
@@ -6257,6 +6311,8 @@ CONFIG_SND_SOC_CS4234=m
# CONFIG_SND_SOC_CS4271_SPI is not set
CONFIG_SND_SOC_CS42L42=m
CONFIG_SND_SOC_CS42L42_SDW=m
+CONFIG_SND_SOC_CS42L43=m
+CONFIG_SND_SOC_CS42L43_SDW=m
# CONFIG_SND_SOC_CS42L51_I2C is not set
# CONFIG_SND_SOC_CS42L52 is not set
# CONFIG_SND_SOC_CS42L56 is not set
@@ -6442,6 +6498,7 @@ CONFIG_SND_SOC_RL6231=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+CONFIG_SND_SOC_RT1017_SDCA_SDW=m
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -6572,6 +6629,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TOPOLOGY_BUILD is not set
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
@@ -6699,6 +6757,7 @@ CONFIG_SPI_AX88796C=m
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_CADENCE_QUADSPI is not set
# CONFIG_SPI_CADENCE_XSPI is not set
+# CONFIG_SPI_CS42L43 is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_DLN2=m
@@ -6830,6 +6889,7 @@ CONFIG_SUSPEND_FREEZER=y
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_SUSPEND=y
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_SWIOTLB=y
# CONFIG_SW_SYNC is not set
CONFIG_SX9310=m
@@ -6940,6 +7000,7 @@ CONFIG_TEST_CPUMASK=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
@@ -7015,6 +7076,8 @@ CONFIG_TIFM_7XX1=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+# CONFIG_TI_ICSSG_PRUETH is not set
+CONFIG_TI_ICSS_IEP=m
CONFIG_TI_LMP92064=m
CONFIG_TIME_KUNIT_TEST=m
CONFIG_TIME_NS=y
@@ -7047,6 +7110,7 @@ CONFIG_TLS=m
CONFIG_TMP117=m
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_QUOTA=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_TOOLCHAIN_DEFAULT_CPU is not set
@@ -7093,6 +7157,7 @@ CONFIG_TOUCHSCREEN_IMAGIS=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
CONFIG_TOUCHSCREEN_IQS5XX=m
+CONFIG_TOUCHSCREEN_IQS7211=m
# CONFIG_TOUCHSCREEN_MAX11801 is not set
CONFIG_TOUCHSCREEN_MCS5000=m
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -7291,6 +7356,7 @@ CONFIG_USB_CHIPIDEA_IMX=m
# CONFIG_USB_CHIPIDEA is not set
CONFIG_USB_CHIPIDEA_MSM=m
CONFIG_USB_CHIPIDEA_PCI=m
+CONFIG_USB_CONFIGFS_F_MIDI2=y
# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set
# CONFIG_USB_CONN_GPIO is not set
CONFIG_USB_CXACRU=m
@@ -7627,6 +7693,8 @@ CONFIG_VETH=m
# CONFIG_VF610_DAC is not set
CONFIG_VFAT_FS=m
CONFIG_VFIO_CONTAINER=y
+# CONFIG_VFIO_DEVICE_CDEV is not set
+CONFIG_VFIO_GROUP=y
# CONFIG_VFIO_IOMMU_TYPE1 is not set
CONFIG_VFIO=m
CONFIG_VFIO_MDEV=m
@@ -7695,8 +7763,12 @@ CONFIG_VIDEO_CX88_ENABLE_VP3054=y
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_VP3054=m
CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_DS90UB913=m
+CONFIG_VIDEO_DS90UB953=m
+CONFIG_VIDEO_DS90UB960=m
# CONFIG_VIDEO_DT3155 is not set
CONFIG_VIDEO_DW9714=m
+CONFIG_VIDEO_DW9719=m
CONFIG_VIDEO_DW9768=m
CONFIG_VIDEO_DW9807_VCM=m
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -8036,6 +8108,7 @@ CONFIG_XDP_SOCKETS_DIAG=m
CONFIG_XDP_SOCKETS=y
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
+CONFIG_XEN_PRIVCMD_IRQFD=y
CONFIG_XEN_PRIVCMD=m
# CONFIG_XEN_PVCALLS_FRONTEND is not set
CONFIG_XEN_PVHVM_GUEST=y
@@ -8053,6 +8126,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -8142,7 +8216,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-ppc64le-rhel.config b/SOURCES/kernel-ppc64le-rhel.config
index 33a9c43..8409878 100644
--- a/SOURCES/kernel-ppc64le-rhel.config
+++ b/SOURCES/kernel-ppc64le-rhel.config
@@ -206,7 +206,6 @@ CONFIG_AMD_HSMP=m
# CONFIG_AMD_IOMMU_DEBUGFS is not set
CONFIG_AMD_PHY=m
CONFIG_AMD_PMC=m
-# CONFIG_AMD_PMF is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_AMDTEE is not set
# CONFIG_AMIGA_PARTITION is not set
@@ -812,6 +811,7 @@ CONFIG_COMMON_CLK_HI3798CV200=y
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
@@ -829,6 +829,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -911,6 +912,7 @@ CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CHACHA20=m
+# CONFIG_CRYPTO_CHACHA20_P10 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CMAC=y
# CONFIG_CRYPTO_CRC32C_VPMSUM is not set
@@ -1000,6 +1002,7 @@ CONFIG_CRYPTO_OFB=y
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_POLY1305=m
+# CONFIG_CRYPTO_POLY1305_P10 is not set
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RSA=y
@@ -1198,6 +1201,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1220,6 +1224,7 @@ CONFIG_DMIID=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=m
@@ -1340,6 +1345,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MALI_DISPLAY is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
@@ -1413,6 +1419,7 @@ CONFIG_DRM_SIMPLEDRM=y
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1653,6 +1660,7 @@ CONFIG_FAT_KUNIT_TEST=m
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -1839,6 +1847,7 @@ CONFIG_GNSS=m
# CONFIG_GPIO_CADENCE is not set
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
+# CONFIG_GPIO_DS4520 is not set
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_EXAR is not set
@@ -1959,6 +1968,7 @@ CONFIG_HID_GENERIC=y
# CONFIG_HID_GFRM is not set
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_GOOGLE_HAMMER is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
CONFIG_HID_GREENASIA=m
# CONFIG_HID_GT683R is not set
CONFIG_HID_GYRATION=m
@@ -2110,7 +2120,6 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
# CONFIG_HW_RANDOM_BA431 is not set
# CONFIG_HW_RANDOM_CCTRNG is not set
-CONFIG_HW_RANDOM_HISI=y
# CONFIG_HW_RANDOM_HISTB is not set
CONFIG_HW_RANDOM_POWERNV=m
CONFIG_HW_RANDOM_PSERIES=m
@@ -2147,6 +2156,7 @@ CONFIG_I2C_ALGOPCF=m
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_ATR is not set
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_CHARDEV=m
@@ -2462,6 +2472,7 @@ CONFIG_INTEL_SDSI=m
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
+# CONFIG_INTEL_VSC is not set
# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
CONFIG_INTEL_WMI_THUNDERBOLT=m
CONFIG_INTEL_XWAY_PHY=m
@@ -2491,7 +2502,7 @@ CONFIG_IOSCHED_BFQ=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_IOSM=m
# CONFIG_IO_STRICT_DEVMEM is not set
-# CONFIG_IO_URING is not set
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2578,6 +2589,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+# CONFIG_IPU_BRIDGE is not set
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
@@ -2655,6 +2667,7 @@ CONFIG_IR_RC6_DECODER=m
# CONFIG_IR_RCMM_DECODER is not set
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
# CONFIG_IR_SERIAL is not set
CONFIG_IR_SERIAL_TRANSMITTER=y
# CONFIG_IR_SHARP_DECODER is not set
@@ -2796,10 +2809,11 @@ CONFIG_KPROBES=y
CONFIG_KSM=y
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KVM_AMD_SEV=y
CONFIG_KVM_BOOK3S_64_HV=m
CONFIG_KVM_BOOK3S_64=m
@@ -2810,6 +2824,7 @@ CONFIG_KVM_BOOK3S_HV_NESTED_PMU_WORKAROUND=y
# CONFIG_KVM_BOOK3S_HV_P9_TIMING is not set
CONFIG_KVM_BOOK3S_PR_POSSIBLE=y
CONFIG_KVM_GUEST=y
+# CONFIG_KVM_PROVE_MMU is not set
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
# CONFIG_KVM_XEN is not set
@@ -2883,6 +2898,7 @@ CONFIG_LEDS_MLXCPLD=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
CONFIG_LEDS_POWERNV=m
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_REGULATOR is not set
@@ -3025,7 +3041,9 @@ CONFIG_MAGIC_SYSRQ=y
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
+CONFIG_MARVELL_GTI_WDT=y
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -3065,9 +3083,11 @@ CONFIG_MAX_SKB_FRAGS=17
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
# CONFIG_MCP4922 is not set
# CONFIG_MCTP is not set
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -3121,6 +3141,7 @@ CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
CONFIG_MEMCPY_KUNIT_TEST=m
CONFIG_MEMCPY_SLOW_KUNIT_TEST=y
+CONFIG_MEMFD_CREATE=y
CONFIG_MEMORY_FAILURE=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTPLUG=y
@@ -3155,6 +3176,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_CS42L43_SDW is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9055 is not set
@@ -3301,6 +3324,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_FPGA=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -3584,6 +3608,7 @@ CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4004,6 +4029,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4050,6 +4076,7 @@ CONFIG_NVME_FC=m
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_QCOM_QFPROM is not set
+# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_NVMEM_RMEM is not set
CONFIG_NVMEM_SYSFS=y
@@ -4094,6 +4121,7 @@ CONFIG_OPENVSWITCH_VXLAN=m
CONFIG_OSF_PARTITION=y
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+# CONFIG_OVERLAY_FS_DEBUG is not set
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4169,6 +4197,7 @@ CONFIG_PATA_PLATFORM=m
# CONFIG_PCI200SYN is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
@@ -4260,6 +4289,7 @@ CONFIG_PHYLIB=y
# CONFIG_PHY_QCOM_EUSB2_REPEATER is not set
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
# CONFIG_PHY_QCOM_QMP is not set
# CONFIG_PHY_QCOM_QUSB2 is not set
# CONFIG_PHY_QCOM_SGMII_ETH is not set
@@ -4269,6 +4299,8 @@ CONFIG_PHYLIB=y
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+# CONFIG_PHY_RTK_RTD_USB2PHY is not set
+# CONFIG_PHY_RTK_RTD_USB3PHY is not set
CONFIG_PHYSICAL_ALIGN=0x200000
# CONFIG_PHY_TUSB1210 is not set
# CONFIG_PI433 is not set
@@ -4466,6 +4498,7 @@ CONFIG_PSI_DEFAULT_DISABLED=y
CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS is not set
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -4484,6 +4517,7 @@ CONFIG_PTE_MARKER_UFFD_WP=y
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK=y
# CONFIG_PUNIT_ATOM_DEBUG is not set
@@ -4578,6 +4612,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MEMORY=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -4622,12 +4657,14 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
+# CONFIG_REGULATOR_AW37503 is not set
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_DEBUG is not set
@@ -4644,6 +4681,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_LTC3589 is not set
# CONFIG_REGULATOR_LTC3676 is not set
# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
@@ -4656,9 +4694,11 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_PWM is not set
+# CONFIG_REGULATOR_QCOM_REFGEN is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RT4803 is not set
# CONFIG_REGULATOR_RT5739 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_SY8106A is not set
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
@@ -4692,7 +4732,6 @@ CONFIG_RETPOLINE=y
# CONFIG_RFKILL_GPIO is not set
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RH_DISABLE_DEPRECATED=y
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RICHTEK_RTQ6056 is not set
CONFIG_RING_BUFFER_BENCHMARK=m
@@ -5060,6 +5099,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5069,6 +5109,7 @@ CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_YAMA=y
+# CONFIG_SEL3350_PLATFORM is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
@@ -5144,6 +5185,7 @@ CONFIG_SENSORS_GL520SM=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_HP_WMI is not set
+# CONFIG_SENSORS_HS3001 is not set
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
# CONFIG_SENSORS_IBM_CFFPS is not set
@@ -5633,7 +5675,9 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_AMD_YC_MACH is not set
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set
# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88261 is not set
# CONFIG_SND_SOC_AW88395 is not set
# CONFIG_SND_SOC_BD28623 is not set
# CONFIG_SND_SOC_BT_SCO is not set
@@ -5650,7 +5694,6 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_CS35L45_I2C is not set
# CONFIG_SND_SOC_CS35L45_SPI is not set
# CONFIG_SND_SOC_CS35L56_I2C is not set
-# CONFIG_SND_SOC_CS35L56_SDW is not set
# CONFIG_SND_SOC_CS35L56_SPI is not set
# CONFIG_SND_SOC_CS4234 is not set
# CONFIG_SND_SOC_CS4265 is not set
@@ -5715,6 +5758,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_ES8336 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A is not set
@@ -5725,6 +5769,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT274 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT286 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT298 is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567 is not set
# CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH is not set
@@ -5844,6 +5889,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+# CONFIG_SND_SOC_RT1017_SDCA_SDW is not set
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -5902,6 +5948,7 @@ CONFIG_SND_SOC_SOF_ACPI=m
# CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL is not set
# CONFIG_SND_SOC_SOF_JASPERLAKE is not set
# CONFIG_SND_SOC_SOF_KABYLAKE is not set
+CONFIG_SND_SOC_SOF_LUNARLAKE=m
# CONFIG_SND_SOC_SOF_MERRIFIELD is not set
# CONFIG_SND_SOC_SOF_METEORLAKE is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -5972,6 +6019,7 @@ CONFIG_SND_SOC_SOF_TOPLEVEL=y
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TOPOLOGY_BUILD is not set
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
@@ -6194,6 +6242,7 @@ CONFIG_SUSPEND_FREEZER=y
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_SUSPEND=y
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
# CONFIG_SW_SYNC is not set
# CONFIG_SX9310 is not set
# CONFIG_SX9324 is not set
@@ -6300,6 +6349,7 @@ CONFIG_TEST_CPUMASK=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
@@ -6405,6 +6455,7 @@ CONFIG_TLS=m
# CONFIG_TMP117 is not set
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_TMPFS_QUOTA is not set
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_TOOLCHAIN_DEFAULT_CPU is not set
@@ -6450,6 +6501,7 @@ CONFIG_TORTURE_TEST=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -6953,8 +7005,12 @@ CONFIG_VIDEO_CX88_DVB=m
# CONFIG_VIDEO_CX88_ENABLE_VP3054 is not set
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_DEV=m
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
# CONFIG_VIDEO_DT3155 is not set
# CONFIG_VIDEO_DW9714 is not set
+CONFIG_VIDEO_DW9719=m
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -7252,6 +7308,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -7337,7 +7394,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-s390x-debug-fedora.config b/SOURCES/kernel-s390x-debug-fedora.config
index 12185b2..c7b92d3 100644
--- a/SOURCES/kernel-s390x-debug-fedora.config
+++ b/SOURCES/kernel-s390x-debug-fedora.config
@@ -137,6 +137,7 @@ CONFIG_AD7949=m
# CONFIG_AD9834 is not set
# CONFIG_ADA4250 is not set
CONFIG_ADAPTEC_STARFIRE=m
+# CONFIG_ADDRESS_MASKING is not set
# CONFIG_ADE7854 is not set
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
@@ -806,6 +807,7 @@ CONFIG_CEPH_FS_SECURITY_LABEL=y
CONFIG_CEPH_LIB=m
CONFIG_CEPH_LIB_PRETTYDEBUG=y
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
+CONFIG_CERT_STORE=y
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
@@ -957,6 +959,7 @@ CONFIG_COMMON_CLK_SI521XX=y
# CONFIG_COMMON_CLK_SI5351 is not set
CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_SI570 is not set
+CONFIG_COMMON_CLK_VC3=m
# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VC7=m
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
@@ -973,6 +976,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -1012,6 +1016,8 @@ CONFIG_CPUSETS=y
# CONFIG_CRAMFS is not set
# CONFIG_CRAMFS_MTD is not set
CONFIG_CRASH_DUMP=y
+CONFIG_CRASH_HOTPLUG=y
+CONFIG_CRASH_MAX_MEMORY_RANGES=8192
CONFIG_CRC16=y
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC32_SARWATE is not set
@@ -1359,6 +1365,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1383,6 +1390,7 @@ CONFIG_DM_INIT=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=y
@@ -1494,6 +1502,7 @@ CONFIG_DRM_LONTIUM_LT8912B=m
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
CONFIG_DRM_LONTIUM_LT9611UXC=m
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
# CONFIG_DRM_MGAG200 is not set
@@ -1579,11 +1588,13 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521=m
+CONFIG_DRM_PANEL_STARTEK_KD070FHFID015=m
# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+CONFIG_DRM_PANEL_VISIONOX_R66451=m
CONFIG_DRM_PANEL_VISIONOX_RM69299=m
# CONFIG_DRM_PANEL_VISIONOX_VTDR6130 is not set
CONFIG_DRM_PANEL_WIDECHIPS_WS2401=m
@@ -1620,6 +1631,7 @@ CONFIG_DRM_TOSHIBA_TC358764=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_TOSHIBA_TC358775=m
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1798,6 +1810,7 @@ CONFIG_EROFS_FS=m
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP_DEFLATE=y
CONFIG_EROFS_FS_ZIP_LZMA=y
CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
@@ -1887,6 +1900,7 @@ CONFIG_FAULT_INJECTION=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -2098,6 +2112,7 @@ CONFIG_GPIO_CADENCE=m
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
CONFIG_GPIO_DLN2=m
+CONFIG_GPIO_DS4520=m
# CONFIG_GPIO_DWAPB is not set
CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_FTGPIO010 is not set
@@ -2210,6 +2225,7 @@ CONFIG_HID_GENERIC=m
CONFIG_HID_GFRM=m
CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
+CONFIG_HID_GOOGLE_STADIA_FF=m
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2394,6 +2410,7 @@ CONFIG_I2C_ALGOBIT=m
# CONFIG_I2C_AMD8111 is not set
CONFIG_I2C_AMD_MP2=m
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+CONFIG_I2C_ATR=m
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
# CONFIG_I2C_CHARDEV is not set
@@ -2740,6 +2757,7 @@ CONFIG_IONIC=m
CONFIG_IOSCHED_BFQ=y
CONFIG_IOSM=m
CONFIG_IO_STRICT_DEVMEM=y
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2827,6 +2845,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+CONFIG_IPU_BRIDGE=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_ILA=m
CONFIG_IPV6_IOAM6_LWTUNNEL=y
@@ -2902,6 +2921,7 @@ CONFIG_IR_RC6_DECODER=m
CONFIG_IR_RCMM_DECODER=m
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
@@ -3108,11 +3128,12 @@ CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
CONFIG_KVM=m
+CONFIG_KVM_PROVE_MMU=y
# CONFIG_KVM_S390_UCONTROL is not set
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
@@ -3165,6 +3186,7 @@ CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GROUP_MULTICOLOR=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
# CONFIG_LEDS_KTD2692 is not set
@@ -3192,6 +3214,7 @@ CONFIG_LEDS_PCA9532_GPIO=y
CONFIG_LEDS_PCA9532=m
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+CONFIG_LEDS_PCA995X=m
# CONFIG_LEDS_PWM is not set
CONFIG_LEDS_PWM_MULTICOLOR=m
CONFIG_LEDS_QCOM_FLASH=m
@@ -3351,6 +3374,7 @@ CONFIG_MARCH_Z13=y
# CONFIG_MARCH_Z990 is not set
# CONFIG_MARCH_ZEC12 is not set
CONFIG_MARVELL_10G_PHY=m
+CONFIG_MARVELL_88Q2XXX_PHY=m
CONFIG_MARVELL_88X2222_PHY=m
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
@@ -3395,11 +3419,13 @@ CONFIG_MCP41010=m
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+CONFIG_MCP4728=m
# CONFIG_MCP4922 is not set
CONFIG_MCTP_SERIAL=m
# CONFIG_MCTP_TRANSPORT_I2C is not set
CONFIG_MCTP=y
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -3498,6 +3524,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_BD9571MWV is not set
CONFIG_MFD_CORE=m
# CONFIG_MFD_CPCAP is not set
+CONFIG_MFD_CS42L43_I2C=m
+CONFIG_MFD_CS42L43_SDW=m
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
@@ -3649,6 +3677,7 @@ CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -3973,6 +4002,7 @@ CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4484,6 +4514,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4570,6 +4601,7 @@ CONFIG_ORINOCO_USB=m
# CONFIG_OSF_PARTITION is not set
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+# CONFIG_OVERLAY_FS_DEBUG is not set
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4654,6 +4686,7 @@ CONFIG_PATA_WINBOND=m
# CONFIG_PCH_GBE is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
@@ -4710,6 +4743,7 @@ CONFIG_PCS_XPCS=m
CONFIG_PDC_ADMA=m
CONFIG_PDS_CORE=m
CONFIG_PDS_VDPA=m
+CONFIG_PDS_VFIO_PCI=m
# CONFIG_PECI is not set
CONFIG_PERCPU_STATS=y
# CONFIG_PERCPU_TEST is not set
@@ -4748,6 +4782,8 @@ CONFIG_PHYLINK=m
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+CONFIG_PHY_RTK_RTD_USB2PHY=m
+CONFIG_PHY_RTK_RTD_USB3PHY=m
# CONFIG_PHY_TUSB1210 is not set
# CONFIG_PI433 is not set
CONFIG_PID_NS=y
@@ -4755,6 +4791,7 @@ CONFIG_PID_NS=y
CONFIG_PINCTRL_ALDERLAKE=m
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
+CONFIG_PINCTRL_CS42L43=m
CONFIG_PINCTRL_CY8C95X0=m
CONFIG_PINCTRL_ELKHARTLAKE=m
CONFIG_PINCTRL_EMMITSBURG=m
@@ -4782,6 +4819,7 @@ CONFIG_PINCTRL_RK805=m
# CONFIG_PINCTRL_SM8150 is not set
# CONFIG_PINCTRL_SM8250 is not set
# CONFIG_PINCTRL_SM8350 is not set
+CONFIG_PINCTRL_SM8350_LPASS_LPI=m
# CONFIG_PINCTRL_SM8450 is not set
# CONFIG_PINCTRL_STMFX is not set
# CONFIG_PINCTRL_SUN4I_A10 is not set
@@ -4920,6 +4958,7 @@ CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS_DEFAULT is not set
CONFIG_PSTORE_842_COMPRESS=y
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -4941,6 +4980,7 @@ CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
@@ -5028,6 +5068,7 @@ CONFIG_RANDOMIZE_BASE=y
CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -5087,12 +5128,14 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
+CONFIG_REGULATOR_AW37503=m
CONFIG_REGULATOR_BD9571MWV=m
# CONFIG_REGULATOR_DA9121 is not set
# CONFIG_REGULATOR_DA9210 is not set
@@ -5113,9 +5156,11 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_MAX1586 is not set
# CONFIG_REGULATOR_MAX20086 is not set
CONFIG_REGULATOR_MAX20411=m
+CONFIG_REGULATOR_MAX5970=m
CONFIG_REGULATOR_MAX597X=m
CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX77826 is not set
+CONFIG_REGULATOR_MAX77857=m
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
CONFIG_REGULATOR_MAX8893=m
@@ -5148,6 +5193,7 @@ CONFIG_REGULATOR_RT6190=m
CONFIG_REGULATOR_RT6245=m
CONFIG_REGULATOR_RTMV20=m
CONFIG_REGULATOR_RTQ2134=m
+CONFIG_REGULATOR_RTQ2208=m
CONFIG_REGULATOR_RTQ6752=m
# CONFIG_REGULATOR_SLG51000 is not set
CONFIG_REGULATOR_SY7636A=m
@@ -5194,8 +5240,7 @@ CONFIG_RESOURCE_KUNIT_TEST=m
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
# CONFIG_RFKILL is not set
-# CONFIG_RH_DISABLE_DEPRECATED is not set
-CONFIG_RH_FEDORA=y
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RICHTEK_RTQ6056=m
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
@@ -5418,10 +5463,9 @@ CONFIG_RV=y
CONFIG_RXKAD=y
# CONFIG_RXPERF is not set
CONFIG_S2IO=m
-CONFIG_S390_AP_IOMMU=y
-CONFIG_S390_CCW_IOMMU=y
CONFIG_S390_GUEST=y
CONFIG_S390_HYPFS_FS=y
+CONFIG_S390_HYPFS=y
# CONFIG_S390_KPROBES_SANITY_TEST is not set
# CONFIG_S390_MODULES_SANITY_TEST is not set
CONFIG_S390_PRNG=m
@@ -5613,6 +5657,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5688,6 +5733,7 @@ CONFIG_SENSORS_GL520SM=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
CONFIG_SENSORS_HP_WMI=m
+CONFIG_SENSORS_HS3001=m
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
# CONFIG_SENSORS_IBM_CFFPS is not set
@@ -5774,6 +5820,7 @@ CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_MLXREG_FAN=m
CONFIG_SENSORS_MP2888=m
CONFIG_SENSORS_MP2975=m
+CONFIG_SENSORS_MP2975_REGULATOR=y
CONFIG_SENSORS_MP5023=m
CONFIG_SENSORS_MPQ7932=m
CONFIG_SENSORS_MPQ7932_REGULATOR=y
@@ -6081,6 +6128,9 @@ CONFIG_SND_HDA_PREALLOC_SIZE=2048
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
+CONFIG_SND_HDA_SCODEC_CS35L56_I2C=m
+CONFIG_SND_HDA_SCODEC_CS35L56_SPI=m
+CONFIG_SND_HDA_SCODEC_TAS2781_I2C=m
# CONFIG_SND_HDA_TEGRA is not set
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
@@ -6194,7 +6244,9 @@ CONFIG_SND_SOC_AK5558=m
# CONFIG_SND_SOC_AMD_YC_MACH is not set
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+CONFIG_SND_SOC_AUDIO_IIO_AUX=m
CONFIG_SND_SOC_AW8738=m
+CONFIG_SND_SOC_AW88261=m
CONFIG_SND_SOC_AW88395=m
CONFIG_SND_SOC_BD28623=m
CONFIG_SND_SOC_BT_SCO=m
@@ -6211,7 +6263,6 @@ CONFIG_SND_SOC_CS35L36=m
CONFIG_SND_SOC_CS35L45_I2C=m
CONFIG_SND_SOC_CS35L45_SPI=m
CONFIG_SND_SOC_CS35L56_I2C=m
-CONFIG_SND_SOC_CS35L56_SDW=m
CONFIG_SND_SOC_CS35L56_SPI=m
CONFIG_SND_SOC_CS4234=m
# CONFIG_SND_SOC_CS4265 is not set
@@ -6220,6 +6271,8 @@ CONFIG_SND_SOC_CS4234=m
# CONFIG_SND_SOC_CS4271_SPI is not set
CONFIG_SND_SOC_CS42L42=m
CONFIG_SND_SOC_CS42L42_SDW=m
+CONFIG_SND_SOC_CS42L43=m
+CONFIG_SND_SOC_CS42L43_SDW=m
# CONFIG_SND_SOC_CS42L51_I2C is not set
# CONFIG_SND_SOC_CS42L52 is not set
# CONFIG_SND_SOC_CS42L56 is not set
@@ -6405,6 +6458,7 @@ CONFIG_SND_SOC_RL6231=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+CONFIG_SND_SOC_RT1017_SDCA_SDW=m
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -6536,6 +6590,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TOPOLOGY_BUILD is not set
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
@@ -6660,6 +6715,7 @@ CONFIG_SPI_AX88796C=m
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_CADENCE_QUADSPI is not set
# CONFIG_SPI_CADENCE_XSPI is not set
+# CONFIG_SPI_CS42L43 is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_DLN2=m
@@ -6790,6 +6846,7 @@ CONFIG_SURFACE_PRO3_BUTTON=m
# CONFIG_SUSPEND is not set
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
# CONFIG_SW_SYNC is not set
CONFIG_SX9310=m
CONFIG_SX9324=m
@@ -6900,6 +6957,7 @@ CONFIG_TEST_FPU=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=m
@@ -6974,6 +7032,8 @@ CONFIG_TIFM_7XX1=m
# CONFIG_TIFM_CORE is not set
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+# CONFIG_TI_ICSSG_PRUETH is not set
+CONFIG_TI_ICSS_IEP=m
CONFIG_TI_LMP92064=m
CONFIG_TIME_KUNIT_TEST=m
CONFIG_TIME_NS=y
@@ -7006,6 +7066,7 @@ CONFIG_TLS=m
CONFIG_TMP117=m
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_QUOTA=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
CONFIG_TN3215_CONSOLE=y
@@ -7057,6 +7118,7 @@ CONFIG_TOUCHSCREEN_IMAGIS=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
CONFIG_TOUCHSCREEN_IQS5XX=m
+CONFIG_TOUCHSCREEN_IQS7211=m
# CONFIG_TOUCHSCREEN_MAX11801 is not set
CONFIG_TOUCHSCREEN_MCS5000=m
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -7264,6 +7326,7 @@ CONFIG_USB_CHIPIDEA_IMX=m
# CONFIG_USB_CHIPIDEA is not set
CONFIG_USB_CHIPIDEA_MSM=m
CONFIG_USB_CHIPIDEA_PCI=m
+CONFIG_USB_CONFIGFS_F_MIDI2=y
# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set
# CONFIG_USB_CONN_GPIO is not set
CONFIG_USB_CXACRU=m
@@ -7598,6 +7661,8 @@ CONFIG_VFAT_FS=m
CONFIG_VFIO_AP=m
CONFIG_VFIO_CCW=m
CONFIG_VFIO_CONTAINER=y
+# CONFIG_VFIO_DEVICE_CDEV is not set
+CONFIG_VFIO_GROUP=y
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO=m
CONFIG_VFIO_MDEV=m
@@ -7666,8 +7731,12 @@ CONFIG_VIDEO_CX88_ENABLE_VP3054=y
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_VP3054=m
CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_DS90UB913=m
+CONFIG_VIDEO_DS90UB953=m
+CONFIG_VIDEO_DS90UB960=m
# CONFIG_VIDEO_DT3155 is not set
CONFIG_VIDEO_DW9714=m
+CONFIG_VIDEO_DW9719=m
CONFIG_VIDEO_DW9768=m
CONFIG_VIDEO_DW9807_VCM=m
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -8008,6 +8077,7 @@ CONFIG_XDP_SOCKETS_DIAG=m
CONFIG_XDP_SOCKETS=y
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
+CONFIG_XEN_PRIVCMD_IRQFD=y
CONFIG_XEN_PRIVCMD=m
# CONFIG_XEN_PVCALLS_FRONTEND is not set
CONFIG_XEN_PVHVM_GUEST=y
@@ -8025,6 +8095,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -8113,7 +8184,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-s390x-debug-rhel.config b/SOURCES/kernel-s390x-debug-rhel.config
index 735cf51..56012a1 100644
--- a/SOURCES/kernel-s390x-debug-rhel.config
+++ b/SOURCES/kernel-s390x-debug-rhel.config
@@ -203,7 +203,6 @@ CONFIG_AMD_HSMP=m
# CONFIG_AMD_IOMMU_DEBUGFS is not set
# CONFIG_AMD_PHY is not set
CONFIG_AMD_PMC=m
-# CONFIG_AMD_PMF is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_AMDTEE is not set
# CONFIG_AMIGA_PARTITION is not set
@@ -677,6 +676,7 @@ CONFIG_CEPH_FS_SECURITY_LABEL=y
CONFIG_CEPH_LIB=m
CONFIG_CEPH_LIB_PRETTYDEBUG=y
CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
+CONFIG_CERT_STORE=y
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_DEBUGFS=y
@@ -812,6 +812,7 @@ CONFIG_COMMON_CLK_HI3798CV200=y
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
@@ -829,6 +830,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -910,6 +912,7 @@ CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CHACHA20=m
+# CONFIG_CRYPTO_CHACHA20_P10 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CHACHA_S390=y
CONFIG_CRYPTO_CMAC=y
@@ -997,6 +1000,7 @@ CONFIG_CRYPTO_PAES_S390=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_POLY1305=m
+# CONFIG_CRYPTO_POLY1305_P10 is not set
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RSA=y
@@ -1211,6 +1215,7 @@ CONFIG_DMADEVICES_VDEBUG=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1233,6 +1238,7 @@ CONFIG_DMIID=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=m
@@ -1353,6 +1359,7 @@ CONFIG_DRM_KUNIT_TEST=m
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM=m
# CONFIG_DRM_MALI_DISPLAY is not set
@@ -1427,6 +1434,7 @@ CONFIG_DRM_RADEON_USERPTR=y
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1675,6 +1683,7 @@ CONFIG_FAULT_INJECTION=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -1857,6 +1866,7 @@ CONFIG_GNSS=m
# CONFIG_GPIO_CADENCE is not set
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
+# CONFIG_GPIO_DS4520 is not set
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_EXAR is not set
@@ -1976,6 +1986,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_GOOGLE_HAMMER is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2119,7 +2130,6 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
# CONFIG_HW_RANDOM_BA431 is not set
# CONFIG_HW_RANDOM_CCTRNG is not set
-CONFIG_HW_RANDOM_HISI=y
# CONFIG_HW_RANDOM_HISTB is not set
CONFIG_HW_RANDOM_S390=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
@@ -2155,6 +2165,7 @@ CONFIG_I2C_ALGOBIT=m
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_ATR is not set
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
# CONFIG_I2C_CHARDEV is not set
@@ -2464,6 +2475,7 @@ CONFIG_INTEL_SDSI=m
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
+# CONFIG_INTEL_VSC is not set
# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
CONFIG_INTEL_WMI_THUNDERBOLT=m
CONFIG_INTEL_XWAY_PHY=m
@@ -2492,7 +2504,7 @@ CONFIG_IOSCHED_BFQ=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_IOSM=m
# CONFIG_IO_STRICT_DEVMEM is not set
-# CONFIG_IO_URING is not set
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2578,6 +2590,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+# CONFIG_IPU_BRIDGE is not set
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
@@ -2654,6 +2667,7 @@ CONFIG_IR_RC6_DECODER=m
# CONFIG_IR_RCMM_DECODER is not set
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
# CONFIG_IR_SERIAL is not set
CONFIG_IR_SERIAL_TRANSMITTER=y
# CONFIG_IR_SHARP_DECODER is not set
@@ -2801,14 +2815,16 @@ CONFIG_KPROBES=y
CONFIG_KSM=y
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KVM_AMD_SEV=y
# CONFIG_KVM_BOOK3S_HV_P8_TIMING is not set
# CONFIG_KVM_BOOK3S_HV_P9_TIMING is not set
CONFIG_KVM=m
+CONFIG_KVM_PROVE_MMU=y
# CONFIG_KVM_S390_UCONTROL is not set
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
@@ -2881,6 +2897,7 @@ CONFIG_LEDS_MLXCPLD=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_RT4505 is not set
@@ -3030,7 +3047,9 @@ CONFIG_MARCH_Z14=y
# CONFIG_MARCH_Z990 is not set
# CONFIG_MARCH_ZEC12 is not set
CONFIG_MARVELL_10G_PHY=m
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
+CONFIG_MARVELL_GTI_WDT=y
# CONFIG_MARVELL_PHY is not set
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -3071,9 +3090,11 @@ CONFIG_MAX_SKB_FRAGS=17
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
# CONFIG_MCP4922 is not set
# CONFIG_MCTP is not set
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -3125,6 +3146,7 @@ CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
CONFIG_MEMCPY_KUNIT_TEST=m
CONFIG_MEMCPY_SLOW_KUNIT_TEST=y
+CONFIG_MEMFD_CREATE=y
CONFIG_MEMORY_FAILURE=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTPLUG=y
@@ -3159,6 +3181,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_CS42L43_SDW is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9055 is not set
@@ -3305,6 +3329,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_FPGA=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -3586,6 +3611,7 @@ CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4006,6 +4032,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4052,6 +4079,7 @@ CONFIG_NVME_FC=m
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_QCOM_QFPROM is not set
+# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_NVMEM_RMEM is not set
CONFIG_NVMEM_SYSFS=y
@@ -4095,6 +4123,7 @@ CONFIG_OPENVSWITCH_VXLAN=m
# CONFIG_OSF_PARTITION is not set
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+CONFIG_OVERLAY_FS_DEBUG=y
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4170,6 +4199,7 @@ CONFIG_PARTITION_ADVANCED=y
# CONFIG_PCI200SYN is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
CONFIG_PCI_DEBUG=y
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
@@ -4263,6 +4293,7 @@ CONFIG_PHY_BCM_SR_USB=m
# CONFIG_PHY_QCOM_EUSB2_REPEATER is not set
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
# CONFIG_PHY_QCOM_QMP is not set
# CONFIG_PHY_QCOM_QUSB2 is not set
# CONFIG_PHY_QCOM_SGMII_ETH is not set
@@ -4272,6 +4303,8 @@ CONFIG_PHY_BCM_SR_USB=m
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+# CONFIG_PHY_RTK_RTD_USB2PHY is not set
+# CONFIG_PHY_RTK_RTD_USB3PHY is not set
# CONFIG_PHY_TUSB1210 is not set
# CONFIG_PI433 is not set
CONFIG_PID_NS=y
@@ -4423,6 +4456,7 @@ CONFIG_PSI_DEFAULT_DISABLED=y
CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS is not set
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -4441,6 +4475,7 @@ CONFIG_PTE_MARKER_UFFD_WP=y
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK=y
# CONFIG_PUNIT_ATOM_DEBUG is not set
@@ -4540,6 +4575,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MEMORY=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -4584,12 +4620,14 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
# CONFIG_REALTEK_PHY is not set
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
# CONFIG_REGMAP is not set
CONFIG_REGMAP_KUNIT=m
# CONFIG_REGULATOR_88PG86X is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
+# CONFIG_REGULATOR_AW37503 is not set
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_DEBUG is not set
@@ -4606,6 +4644,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_LTC3589 is not set
# CONFIG_REGULATOR_LTC3676 is not set
# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
@@ -4618,9 +4657,11 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_PWM is not set
+# CONFIG_REGULATOR_QCOM_REFGEN is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RT4803 is not set
# CONFIG_REGULATOR_RT5739 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_SY8106A is not set
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
@@ -4653,7 +4694,6 @@ CONFIG_RETPOLINE=y
# CONFIG_RFKILL_GPIO is not set
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RH_DISABLE_DEPRECATED=y
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RICHTEK_RTQ6056 is not set
CONFIG_RING_BUFFER_BENCHMARK=m
@@ -4856,10 +4896,9 @@ CONFIG_RV_REACT_PRINTK=y
CONFIG_RV=y
CONFIG_RXKAD=y
CONFIG_RXPERF=m
-CONFIG_S390_AP_IOMMU=y
-CONFIG_S390_CCW_IOMMU=y
CONFIG_S390_GUEST=y
CONFIG_S390_HYPFS_FS=y
+CONFIG_S390_HYPFS=y
# CONFIG_S390_KPROBES_SANITY_TEST is not set
# CONFIG_S390_MODULES_SANITY_TEST is not set
CONFIG_S390_PRNG=m
@@ -5063,6 +5102,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5072,6 +5112,7 @@ CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_YAMA=y
+# CONFIG_SEL3350_PLATFORM is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
@@ -5147,6 +5188,7 @@ CONFIG_SENSORS_GL520SM=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_HP_WMI is not set
+# CONFIG_SENSORS_HS3001 is not set
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
# CONFIG_SENSORS_IBM_CFFPS is not set
@@ -5630,7 +5672,9 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_AMD_YC_MACH is not set
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set
# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88261 is not set
# CONFIG_SND_SOC_AW88395 is not set
# CONFIG_SND_SOC_BD28623 is not set
# CONFIG_SND_SOC_BT_SCO is not set
@@ -5647,7 +5691,6 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_CS35L45_I2C is not set
# CONFIG_SND_SOC_CS35L45_SPI is not set
# CONFIG_SND_SOC_CS35L56_I2C is not set
-# CONFIG_SND_SOC_CS35L56_SDW is not set
# CONFIG_SND_SOC_CS35L56_SPI is not set
# CONFIG_SND_SOC_CS4234 is not set
# CONFIG_SND_SOC_CS4265 is not set
@@ -5712,6 +5755,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_ES8336 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A is not set
@@ -5722,6 +5766,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT274 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT286 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT298 is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567 is not set
# CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH is not set
@@ -5841,6 +5886,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+# CONFIG_SND_SOC_RT1017_SDCA_SDW is not set
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -5900,6 +5946,7 @@ CONFIG_SND_SOC_SOF_HDA_PROBES=m
# CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL is not set
# CONFIG_SND_SOC_SOF_JASPERLAKE is not set
# CONFIG_SND_SOC_SOF_KABYLAKE is not set
+CONFIG_SND_SOC_SOF_LUNARLAKE=m
# CONFIG_SND_SOC_SOF_MERRIFIELD is not set
# CONFIG_SND_SOC_SOF_METEORLAKE is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -5970,6 +6017,7 @@ CONFIG_SND_SOC_SOF_TOPLEVEL=y
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+CONFIG_SND_SOC_TOPOLOGY_BUILD=y
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
@@ -6190,6 +6238,7 @@ CONFIG_SUNRPC_XPRT_RDMA=m
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_SUSPEND=y
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
# CONFIG_SW_SYNC is not set
# CONFIG_SX9310 is not set
# CONFIG_SX9324 is not set
@@ -6295,6 +6344,7 @@ CONFIG_TEST_FPU=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=m
@@ -6399,6 +6449,7 @@ CONFIG_TLS=m
# CONFIG_TMP117 is not set
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_TMPFS_QUOTA is not set
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
CONFIG_TN3215_CONSOLE=y
@@ -6449,6 +6500,7 @@ CONFIG_TORTURE_TEST=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -6960,8 +7012,12 @@ CONFIG_VIDEO_CX88_DVB=m
# CONFIG_VIDEO_CX88_ENABLE_VP3054 is not set
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_DEV=m
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
# CONFIG_VIDEO_DT3155 is not set
# CONFIG_VIDEO_DW9714 is not set
+CONFIG_VIDEO_DW9719=m
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -7260,6 +7316,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -7346,7 +7403,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-s390x-fedora.config b/SOURCES/kernel-s390x-fedora.config
index edf2b05..5fb78a9 100644
--- a/SOURCES/kernel-s390x-fedora.config
+++ b/SOURCES/kernel-s390x-fedora.config
@@ -137,6 +137,7 @@ CONFIG_AD7949=m
# CONFIG_AD9834 is not set
# CONFIG_ADA4250 is not set
CONFIG_ADAPTEC_STARFIRE=m
+# CONFIG_ADDRESS_MASKING is not set
# CONFIG_ADE7854 is not set
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
@@ -804,6 +805,7 @@ CONFIG_CEPH_FS_SECURITY_LABEL=y
CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
+CONFIG_CERT_STORE=y
CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
@@ -955,6 +957,7 @@ CONFIG_COMMON_CLK_SI521XX=y
# CONFIG_COMMON_CLK_SI5351 is not set
CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_SI570 is not set
+CONFIG_COMMON_CLK_VC3=m
# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VC7=m
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
@@ -971,6 +974,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -1010,6 +1014,8 @@ CONFIG_CPUSETS=y
# CONFIG_CRAMFS is not set
# CONFIG_CRAMFS_MTD is not set
CONFIG_CRASH_DUMP=y
+CONFIG_CRASH_HOTPLUG=y
+CONFIG_CRASH_MAX_MEMORY_RANGES=8192
CONFIG_CRC16=y
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC32_SARWATE is not set
@@ -1348,6 +1354,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1372,6 +1379,7 @@ CONFIG_DM_INIT=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=y
@@ -1483,6 +1491,7 @@ CONFIG_DRM_LONTIUM_LT8912B=m
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
CONFIG_DRM_LONTIUM_LT9611UXC=m
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
# CONFIG_DRM_MGAG200 is not set
@@ -1568,11 +1577,13 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521=m
+CONFIG_DRM_PANEL_STARTEK_KD070FHFID015=m
# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+CONFIG_DRM_PANEL_VISIONOX_R66451=m
CONFIG_DRM_PANEL_VISIONOX_RM69299=m
# CONFIG_DRM_PANEL_VISIONOX_VTDR6130 is not set
CONFIG_DRM_PANEL_WIDECHIPS_WS2401=m
@@ -1609,6 +1620,7 @@ CONFIG_DRM_TOSHIBA_TC358764=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_TOSHIBA_TC358775=m
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1787,6 +1799,7 @@ CONFIG_EROFS_FS=m
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP_DEFLATE=y
CONFIG_EROFS_FS_ZIP_LZMA=y
CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
@@ -1868,6 +1881,7 @@ CONFIG_FAT_KUNIT_TEST=m
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -2079,6 +2093,7 @@ CONFIG_GPIO_CADENCE=m
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
CONFIG_GPIO_DLN2=m
+CONFIG_GPIO_DS4520=m
# CONFIG_GPIO_DWAPB is not set
CONFIG_GPIO_EXAR=m
# CONFIG_GPIO_FTGPIO010 is not set
@@ -2191,6 +2206,7 @@ CONFIG_HID_GENERIC=m
CONFIG_HID_GFRM=m
CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
+CONFIG_HID_GOOGLE_STADIA_FF=m
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2375,6 +2391,7 @@ CONFIG_I2C_ALGOBIT=m
# CONFIG_I2C_AMD8111 is not set
CONFIG_I2C_AMD_MP2=m
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+CONFIG_I2C_ATR=m
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
# CONFIG_I2C_CHARDEV is not set
@@ -2720,6 +2737,7 @@ CONFIG_IONIC=m
CONFIG_IOSCHED_BFQ=y
CONFIG_IOSM=m
CONFIG_IO_STRICT_DEVMEM=y
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2807,6 +2825,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+CONFIG_IPU_BRIDGE=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_ILA=m
CONFIG_IPV6_IOAM6_LWTUNNEL=y
@@ -2882,6 +2901,7 @@ CONFIG_IR_RC6_DECODER=m
CONFIG_IR_RCMM_DECODER=m
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
@@ -3082,11 +3102,12 @@ CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
CONFIG_KVM=m
+# CONFIG_KVM_PROVE_MMU is not set
# CONFIG_KVM_S390_UCONTROL is not set
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
@@ -3139,6 +3160,7 @@ CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GROUP_MULTICOLOR=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
# CONFIG_LEDS_KTD2692 is not set
@@ -3166,6 +3188,7 @@ CONFIG_LEDS_PCA9532_GPIO=y
CONFIG_LEDS_PCA9532=m
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+CONFIG_LEDS_PCA995X=m
# CONFIG_LEDS_PWM is not set
CONFIG_LEDS_PWM_MULTICOLOR=m
CONFIG_LEDS_QCOM_FLASH=m
@@ -3325,6 +3348,7 @@ CONFIG_MARCH_Z13=y
# CONFIG_MARCH_Z990 is not set
# CONFIG_MARCH_ZEC12 is not set
CONFIG_MARVELL_10G_PHY=m
+CONFIG_MARVELL_88Q2XXX_PHY=m
CONFIG_MARVELL_88X2222_PHY=m
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
@@ -3368,11 +3392,13 @@ CONFIG_MCP41010=m
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+CONFIG_MCP4728=m
# CONFIG_MCP4922 is not set
CONFIG_MCTP_SERIAL=m
# CONFIG_MCTP_TRANSPORT_I2C is not set
CONFIG_MCTP=y
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -3471,6 +3497,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_BD9571MWV is not set
CONFIG_MFD_CORE=m
# CONFIG_MFD_CPCAP is not set
+CONFIG_MFD_CS42L43_I2C=m
+CONFIG_MFD_CS42L43_SDW=m
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
@@ -3622,6 +3650,7 @@ CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -3945,6 +3974,7 @@ CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4456,6 +4486,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4542,6 +4573,7 @@ CONFIG_ORINOCO_USB=m
# CONFIG_OSF_PARTITION is not set
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+# CONFIG_OVERLAY_FS_DEBUG is not set
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4625,6 +4657,7 @@ CONFIG_PATA_WINBOND=m
# CONFIG_PCH_GBE is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
@@ -4681,6 +4714,7 @@ CONFIG_PCS_XPCS=m
CONFIG_PDC_ADMA=m
CONFIG_PDS_CORE=m
CONFIG_PDS_VDPA=m
+CONFIG_PDS_VFIO_PCI=m
# CONFIG_PECI is not set
# CONFIG_PERCPU_STATS is not set
# CONFIG_PERCPU_TEST is not set
@@ -4719,6 +4753,8 @@ CONFIG_PHYLINK=m
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+CONFIG_PHY_RTK_RTD_USB2PHY=m
+CONFIG_PHY_RTK_RTD_USB3PHY=m
# CONFIG_PHY_TUSB1210 is not set
# CONFIG_PI433 is not set
CONFIG_PID_NS=y
@@ -4726,6 +4762,7 @@ CONFIG_PID_NS=y
CONFIG_PINCTRL_ALDERLAKE=m
# CONFIG_PINCTRL_CANNONLAKE is not set
CONFIG_PINCTRL_CEDARFORK=m
+CONFIG_PINCTRL_CS42L43=m
CONFIG_PINCTRL_CY8C95X0=m
CONFIG_PINCTRL_ELKHARTLAKE=m
CONFIG_PINCTRL_EMMITSBURG=m
@@ -4753,6 +4790,7 @@ CONFIG_PINCTRL_RK805=m
# CONFIG_PINCTRL_SM8150 is not set
# CONFIG_PINCTRL_SM8250 is not set
# CONFIG_PINCTRL_SM8350 is not set
+CONFIG_PINCTRL_SM8350_LPASS_LPI=m
# CONFIG_PINCTRL_SM8450 is not set
# CONFIG_PINCTRL_STMFX is not set
# CONFIG_PINCTRL_SUN4I_A10 is not set
@@ -4891,6 +4929,7 @@ CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS_DEFAULT is not set
CONFIG_PSTORE_842_COMPRESS=y
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -4912,6 +4951,7 @@ CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK=y
@@ -4999,6 +5039,7 @@ CONFIG_RANDOMIZE_BASE=y
CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -5058,12 +5099,14 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
+CONFIG_REGULATOR_AW37503=m
CONFIG_REGULATOR_BD9571MWV=m
# CONFIG_REGULATOR_DA9121 is not set
# CONFIG_REGULATOR_DA9210 is not set
@@ -5084,9 +5127,11 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_MAX1586 is not set
# CONFIG_REGULATOR_MAX20086 is not set
CONFIG_REGULATOR_MAX20411=m
+CONFIG_REGULATOR_MAX5970=m
CONFIG_REGULATOR_MAX597X=m
CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX77826 is not set
+CONFIG_REGULATOR_MAX77857=m
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
CONFIG_REGULATOR_MAX8893=m
@@ -5119,6 +5164,7 @@ CONFIG_REGULATOR_RT6190=m
CONFIG_REGULATOR_RT6245=m
CONFIG_REGULATOR_RTMV20=m
CONFIG_REGULATOR_RTQ2134=m
+CONFIG_REGULATOR_RTQ2208=m
CONFIG_REGULATOR_RTQ6752=m
# CONFIG_REGULATOR_SLG51000 is not set
CONFIG_REGULATOR_SY7636A=m
@@ -5165,8 +5211,7 @@ CONFIG_RESOURCE_KUNIT_TEST=m
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
# CONFIG_RFKILL is not set
-# CONFIG_RH_DISABLE_DEPRECATED is not set
-CONFIG_RH_FEDORA=y
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RICHTEK_RTQ6056=m
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
@@ -5389,10 +5434,9 @@ CONFIG_RV=y
CONFIG_RXKAD=y
# CONFIG_RXPERF is not set
CONFIG_S2IO=m
-CONFIG_S390_AP_IOMMU=y
-CONFIG_S390_CCW_IOMMU=y
CONFIG_S390_GUEST=y
CONFIG_S390_HYPFS_FS=y
+CONFIG_S390_HYPFS=y
# CONFIG_S390_KPROBES_SANITY_TEST is not set
# CONFIG_S390_MODULES_SANITY_TEST is not set
CONFIG_S390_PRNG=m
@@ -5584,6 +5628,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5659,6 +5704,7 @@ CONFIG_SENSORS_GL520SM=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
CONFIG_SENSORS_HP_WMI=m
+CONFIG_SENSORS_HS3001=m
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
# CONFIG_SENSORS_IBM_CFFPS is not set
@@ -5745,6 +5791,7 @@ CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_MLXREG_FAN=m
CONFIG_SENSORS_MP2888=m
CONFIG_SENSORS_MP2975=m
+CONFIG_SENSORS_MP2975_REGULATOR=y
CONFIG_SENSORS_MP5023=m
CONFIG_SENSORS_MPQ7932=m
CONFIG_SENSORS_MPQ7932_REGULATOR=y
@@ -6052,6 +6099,9 @@ CONFIG_SND_HDA_PREALLOC_SIZE=2048
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
+CONFIG_SND_HDA_SCODEC_CS35L56_I2C=m
+CONFIG_SND_HDA_SCODEC_CS35L56_SPI=m
+CONFIG_SND_HDA_SCODEC_TAS2781_I2C=m
# CONFIG_SND_HDA_TEGRA is not set
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
@@ -6164,7 +6214,9 @@ CONFIG_SND_SOC_AK5558=m
# CONFIG_SND_SOC_AMD_YC_MACH is not set
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+CONFIG_SND_SOC_AUDIO_IIO_AUX=m
CONFIG_SND_SOC_AW8738=m
+CONFIG_SND_SOC_AW88261=m
CONFIG_SND_SOC_AW88395=m
CONFIG_SND_SOC_BD28623=m
CONFIG_SND_SOC_BT_SCO=m
@@ -6181,7 +6233,6 @@ CONFIG_SND_SOC_CS35L36=m
CONFIG_SND_SOC_CS35L45_I2C=m
CONFIG_SND_SOC_CS35L45_SPI=m
CONFIG_SND_SOC_CS35L56_I2C=m
-CONFIG_SND_SOC_CS35L56_SDW=m
CONFIG_SND_SOC_CS35L56_SPI=m
CONFIG_SND_SOC_CS4234=m
# CONFIG_SND_SOC_CS4265 is not set
@@ -6190,6 +6241,8 @@ CONFIG_SND_SOC_CS4234=m
# CONFIG_SND_SOC_CS4271_SPI is not set
CONFIG_SND_SOC_CS42L42=m
CONFIG_SND_SOC_CS42L42_SDW=m
+CONFIG_SND_SOC_CS42L43=m
+CONFIG_SND_SOC_CS42L43_SDW=m
# CONFIG_SND_SOC_CS42L51_I2C is not set
# CONFIG_SND_SOC_CS42L52 is not set
# CONFIG_SND_SOC_CS42L56 is not set
@@ -6375,6 +6428,7 @@ CONFIG_SND_SOC_RL6231=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+CONFIG_SND_SOC_RT1017_SDCA_SDW=m
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -6505,6 +6559,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TOPOLOGY_BUILD is not set
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
@@ -6629,6 +6684,7 @@ CONFIG_SPI_AX88796C=m
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_CADENCE_QUADSPI is not set
# CONFIG_SPI_CADENCE_XSPI is not set
+# CONFIG_SPI_CS42L43 is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_DLN2=m
@@ -6759,6 +6815,7 @@ CONFIG_SURFACE_PRO3_BUTTON=m
# CONFIG_SUSPEND is not set
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
# CONFIG_SW_SYNC is not set
CONFIG_SX9310=m
CONFIG_SX9324=m
@@ -6869,6 +6926,7 @@ CONFIG_TEST_CPUMASK=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
@@ -6943,6 +7001,8 @@ CONFIG_TIFM_7XX1=m
# CONFIG_TIFM_CORE is not set
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+# CONFIG_TI_ICSSG_PRUETH is not set
+CONFIG_TI_ICSS_IEP=m
CONFIG_TI_LMP92064=m
CONFIG_TIME_KUNIT_TEST=m
CONFIG_TIME_NS=y
@@ -6975,6 +7035,7 @@ CONFIG_TLS=m
CONFIG_TMP117=m
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_QUOTA=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
CONFIG_TN3215_CONSOLE=y
@@ -7026,6 +7087,7 @@ CONFIG_TOUCHSCREEN_IMAGIS=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
CONFIG_TOUCHSCREEN_IQS5XX=m
+CONFIG_TOUCHSCREEN_IQS7211=m
# CONFIG_TOUCHSCREEN_MAX11801 is not set
CONFIG_TOUCHSCREEN_MCS5000=m
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -7233,6 +7295,7 @@ CONFIG_USB_CHIPIDEA_IMX=m
# CONFIG_USB_CHIPIDEA is not set
CONFIG_USB_CHIPIDEA_MSM=m
CONFIG_USB_CHIPIDEA_PCI=m
+CONFIG_USB_CONFIGFS_F_MIDI2=y
# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set
# CONFIG_USB_CONN_GPIO is not set
CONFIG_USB_CXACRU=m
@@ -7567,6 +7630,8 @@ CONFIG_VFAT_FS=m
CONFIG_VFIO_AP=m
CONFIG_VFIO_CCW=m
CONFIG_VFIO_CONTAINER=y
+# CONFIG_VFIO_DEVICE_CDEV is not set
+CONFIG_VFIO_GROUP=y
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO=m
CONFIG_VFIO_MDEV=m
@@ -7635,8 +7700,12 @@ CONFIG_VIDEO_CX88_ENABLE_VP3054=y
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_VP3054=m
CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_DS90UB913=m
+CONFIG_VIDEO_DS90UB953=m
+CONFIG_VIDEO_DS90UB960=m
# CONFIG_VIDEO_DT3155 is not set
CONFIG_VIDEO_DW9714=m
+CONFIG_VIDEO_DW9719=m
CONFIG_VIDEO_DW9768=m
CONFIG_VIDEO_DW9807_VCM=m
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -7977,6 +8046,7 @@ CONFIG_XDP_SOCKETS_DIAG=m
CONFIG_XDP_SOCKETS=y
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
+CONFIG_XEN_PRIVCMD_IRQFD=y
CONFIG_XEN_PRIVCMD=m
# CONFIG_XEN_PVCALLS_FRONTEND is not set
CONFIG_XEN_PVHVM_GUEST=y
@@ -7994,6 +8064,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -8082,7 +8153,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-s390x-rhel.config b/SOURCES/kernel-s390x-rhel.config
index c6a07ce..2782394 100644
--- a/SOURCES/kernel-s390x-rhel.config
+++ b/SOURCES/kernel-s390x-rhel.config
@@ -203,7 +203,6 @@ CONFIG_AMD_HSMP=m
# CONFIG_AMD_IOMMU_DEBUGFS is not set
# CONFIG_AMD_PHY is not set
CONFIG_AMD_PMC=m
-# CONFIG_AMD_PMF is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_AMDTEE is not set
# CONFIG_AMIGA_PARTITION is not set
@@ -677,6 +676,7 @@ CONFIG_CEPH_FS_SECURITY_LABEL=y
CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
+CONFIG_CERT_STORE=y
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
CONFIG_CFG80211_CRDA_SUPPORT=y
# CONFIG_CFG80211_DEBUGFS is not set
@@ -812,6 +812,7 @@ CONFIG_COMMON_CLK_HI3798CV200=y
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
@@ -829,6 +830,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -910,6 +912,7 @@ CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CHACHA20=m
+# CONFIG_CRYPTO_CHACHA20_P10 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CHACHA_S390=y
CONFIG_CRYPTO_CMAC=y
@@ -997,6 +1000,7 @@ CONFIG_CRYPTO_PAES_S390=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_POLY1305=m
+# CONFIG_CRYPTO_POLY1305_P10 is not set
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RSA=y
@@ -1203,6 +1207,7 @@ CONFIG_DMABUF_MOVE_NOTIFY=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1225,6 +1230,7 @@ CONFIG_DMIID=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=m
@@ -1345,6 +1351,7 @@ CONFIG_DRM_KUNIT_TEST=m
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM=m
# CONFIG_DRM_MALI_DISPLAY is not set
@@ -1419,6 +1426,7 @@ CONFIG_DRM_RADEON_USERPTR=y
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1659,6 +1667,7 @@ CONFIG_FAT_KUNIT_TEST=m
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -1841,6 +1850,7 @@ CONFIG_GNSS=m
# CONFIG_GPIO_CADENCE is not set
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
+# CONFIG_GPIO_DS4520 is not set
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_EXAR is not set
@@ -1960,6 +1970,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_GOOGLE_HAMMER is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2103,7 +2114,6 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
# CONFIG_HW_RANDOM_BA431 is not set
# CONFIG_HW_RANDOM_CCTRNG is not set
-CONFIG_HW_RANDOM_HISI=y
# CONFIG_HW_RANDOM_HISTB is not set
CONFIG_HW_RANDOM_S390=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
@@ -2139,6 +2149,7 @@ CONFIG_I2C_ALGOBIT=m
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_ATR is not set
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
# CONFIG_I2C_CHARDEV is not set
@@ -2448,6 +2459,7 @@ CONFIG_INTEL_SDSI=m
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
+# CONFIG_INTEL_VSC is not set
# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
CONFIG_INTEL_WMI_THUNDERBOLT=m
CONFIG_INTEL_XWAY_PHY=m
@@ -2476,7 +2488,7 @@ CONFIG_IOSCHED_BFQ=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_IOSM=m
# CONFIG_IO_STRICT_DEVMEM is not set
-# CONFIG_IO_URING is not set
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2562,6 +2574,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+# CONFIG_IPU_BRIDGE is not set
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
@@ -2638,6 +2651,7 @@ CONFIG_IR_RC6_DECODER=m
# CONFIG_IR_RCMM_DECODER is not set
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
# CONFIG_IR_SERIAL is not set
CONFIG_IR_SERIAL_TRANSMITTER=y
# CONFIG_IR_SHARP_DECODER is not set
@@ -2781,14 +2795,16 @@ CONFIG_KPROBES=y
CONFIG_KSM=y
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KVM_AMD_SEV=y
# CONFIG_KVM_BOOK3S_HV_P8_TIMING is not set
# CONFIG_KVM_BOOK3S_HV_P9_TIMING is not set
CONFIG_KVM=m
+# CONFIG_KVM_PROVE_MMU is not set
# CONFIG_KVM_S390_UCONTROL is not set
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
@@ -2861,6 +2877,7 @@ CONFIG_LEDS_MLXCPLD=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_RT4505 is not set
@@ -3010,7 +3027,9 @@ CONFIG_MARCH_Z14=y
# CONFIG_MARCH_Z990 is not set
# CONFIG_MARCH_ZEC12 is not set
CONFIG_MARVELL_10G_PHY=m
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
+CONFIG_MARVELL_GTI_WDT=y
# CONFIG_MARVELL_PHY is not set
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -3051,9 +3070,11 @@ CONFIG_MAX_SKB_FRAGS=17
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
# CONFIG_MCP4922 is not set
# CONFIG_MCTP is not set
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -3105,6 +3126,7 @@ CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
CONFIG_MEMCPY_KUNIT_TEST=m
CONFIG_MEMCPY_SLOW_KUNIT_TEST=y
+CONFIG_MEMFD_CREATE=y
CONFIG_MEMORY_FAILURE=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTPLUG=y
@@ -3139,6 +3161,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_CS42L43_SDW is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9055 is not set
@@ -3285,6 +3309,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_FPGA=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -3566,6 +3591,7 @@ CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -3986,6 +4012,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4032,6 +4059,7 @@ CONFIG_NVME_FC=m
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_QCOM_QFPROM is not set
+# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_NVMEM_RMEM is not set
CONFIG_NVMEM_SYSFS=y
@@ -4075,6 +4103,7 @@ CONFIG_OPENVSWITCH_VXLAN=m
# CONFIG_OSF_PARTITION is not set
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+# CONFIG_OVERLAY_FS_DEBUG is not set
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4149,6 +4178,7 @@ CONFIG_PARTITION_ADVANCED=y
# CONFIG_PCI200SYN is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
@@ -4242,6 +4272,7 @@ CONFIG_PHY_BCM_SR_USB=m
# CONFIG_PHY_QCOM_EUSB2_REPEATER is not set
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
# CONFIG_PHY_QCOM_QMP is not set
# CONFIG_PHY_QCOM_QUSB2 is not set
# CONFIG_PHY_QCOM_SGMII_ETH is not set
@@ -4251,6 +4282,8 @@ CONFIG_PHY_BCM_SR_USB=m
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+# CONFIG_PHY_RTK_RTD_USB2PHY is not set
+# CONFIG_PHY_RTK_RTD_USB3PHY is not set
# CONFIG_PHY_TUSB1210 is not set
# CONFIG_PI433 is not set
CONFIG_PID_NS=y
@@ -4402,6 +4435,7 @@ CONFIG_PSI_DEFAULT_DISABLED=y
CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS is not set
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -4420,6 +4454,7 @@ CONFIG_PTE_MARKER_UFFD_WP=y
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK=y
# CONFIG_PUNIT_ATOM_DEBUG is not set
@@ -4519,6 +4554,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MEMORY=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -4563,12 +4599,14 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
# CONFIG_REALTEK_PHY is not set
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
# CONFIG_REGMAP is not set
CONFIG_REGMAP_KUNIT=m
# CONFIG_REGULATOR_88PG86X is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
+# CONFIG_REGULATOR_AW37503 is not set
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_DEBUG is not set
@@ -4585,6 +4623,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_LTC3589 is not set
# CONFIG_REGULATOR_LTC3676 is not set
# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
@@ -4597,9 +4636,11 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_PWM is not set
+# CONFIG_REGULATOR_QCOM_REFGEN is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RT4803 is not set
# CONFIG_REGULATOR_RT5739 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_SY8106A is not set
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
@@ -4632,7 +4673,6 @@ CONFIG_RETPOLINE=y
# CONFIG_RFKILL_GPIO is not set
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RH_DISABLE_DEPRECATED=y
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RICHTEK_RTQ6056 is not set
CONFIG_RING_BUFFER_BENCHMARK=m
@@ -4835,10 +4875,9 @@ CONFIG_RV_REACT_PRINTK=y
CONFIG_RV=y
CONFIG_RXKAD=y
CONFIG_RXPERF=m
-CONFIG_S390_AP_IOMMU=y
-CONFIG_S390_CCW_IOMMU=y
CONFIG_S390_GUEST=y
CONFIG_S390_HYPFS_FS=y
+CONFIG_S390_HYPFS=y
# CONFIG_S390_KPROBES_SANITY_TEST is not set
# CONFIG_S390_MODULES_SANITY_TEST is not set
CONFIG_S390_PRNG=m
@@ -5042,6 +5081,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5051,6 +5091,7 @@ CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_YAMA=y
+# CONFIG_SEL3350_PLATFORM is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
@@ -5126,6 +5167,7 @@ CONFIG_SENSORS_GL520SM=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_HP_WMI is not set
+# CONFIG_SENSORS_HS3001 is not set
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
# CONFIG_SENSORS_IBM_CFFPS is not set
@@ -5608,7 +5650,9 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_AMD_YC_MACH is not set
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set
# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88261 is not set
# CONFIG_SND_SOC_AW88395 is not set
# CONFIG_SND_SOC_BD28623 is not set
# CONFIG_SND_SOC_BT_SCO is not set
@@ -5625,7 +5669,6 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_CS35L45_I2C is not set
# CONFIG_SND_SOC_CS35L45_SPI is not set
# CONFIG_SND_SOC_CS35L56_I2C is not set
-# CONFIG_SND_SOC_CS35L56_SDW is not set
# CONFIG_SND_SOC_CS35L56_SPI is not set
# CONFIG_SND_SOC_CS4234 is not set
# CONFIG_SND_SOC_CS4265 is not set
@@ -5690,6 +5733,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_ES8336 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A is not set
@@ -5700,6 +5744,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT274 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT286 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT298 is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567 is not set
# CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH is not set
@@ -5819,6 +5864,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+# CONFIG_SND_SOC_RT1017_SDCA_SDW is not set
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -5877,6 +5923,7 @@ CONFIG_SND_SOC_SOF_ACPI=m
# CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL is not set
# CONFIG_SND_SOC_SOF_JASPERLAKE is not set
# CONFIG_SND_SOC_SOF_KABYLAKE is not set
+CONFIG_SND_SOC_SOF_LUNARLAKE=m
# CONFIG_SND_SOC_SOF_MERRIFIELD is not set
# CONFIG_SND_SOC_SOF_METEORLAKE is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -5947,6 +5994,7 @@ CONFIG_SND_SOC_SOF_TOPLEVEL=y
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TOPOLOGY_BUILD is not set
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
@@ -6167,6 +6215,7 @@ CONFIG_SUNRPC_XPRT_RDMA=m
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_SUSPEND=y
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
# CONFIG_SW_SYNC is not set
# CONFIG_SX9310 is not set
# CONFIG_SX9324 is not set
@@ -6272,6 +6321,7 @@ CONFIG_TEST_CPUMASK=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
@@ -6376,6 +6426,7 @@ CONFIG_TLS=m
# CONFIG_TMP117 is not set
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_TMPFS_QUOTA is not set
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
CONFIG_TN3215_CONSOLE=y
@@ -6426,6 +6477,7 @@ CONFIG_TORTURE_TEST=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -6937,8 +6989,12 @@ CONFIG_VIDEO_CX88_DVB=m
# CONFIG_VIDEO_CX88_ENABLE_VP3054 is not set
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_DEV=m
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
# CONFIG_VIDEO_DT3155 is not set
# CONFIG_VIDEO_DW9714 is not set
+CONFIG_VIDEO_DW9719=m
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -7237,6 +7293,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -7323,7 +7380,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-s390x-zfcpdump-rhel.config b/SOURCES/kernel-s390x-zfcpdump-rhel.config
index 959c976..a3cb80d 100644
--- a/SOURCES/kernel-s390x-zfcpdump-rhel.config
+++ b/SOURCES/kernel-s390x-zfcpdump-rhel.config
@@ -203,7 +203,6 @@ CONFIG_AMD_HSMP=m
# CONFIG_AMD_IOMMU_DEBUGFS is not set
# CONFIG_AMD_PHY is not set
CONFIG_AMD_PMC=m
-# CONFIG_AMD_PMF is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_AMDTEE is not set
# CONFIG_AMIGA_PARTITION is not set
@@ -679,6 +678,7 @@ CONFIG_CEPH_FS_SECURITY_LABEL=y
CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
+CONFIG_CERT_STORE=y
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
CONFIG_CFG80211_CRDA_SUPPORT=y
# CONFIG_CFG80211_DEBUGFS is not set
@@ -814,6 +814,7 @@ CONFIG_COMMON_CLK_HI3798CV200=y
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
@@ -831,6 +832,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -911,6 +913,7 @@ CONFIG_CRYPTO_CAST6=y
CONFIG_CRYPTO_CBC=y
# CONFIG_CRYPTO_CCM is not set
CONFIG_CRYPTO_CFB=y
+# CONFIG_CRYPTO_CHACHA20_P10 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=y
CONFIG_CRYPTO_CHACHA20=y
CONFIG_CRYPTO_CHACHA_S390=y
@@ -998,6 +1001,7 @@ CONFIG_CRYPTO_OFB=y
CONFIG_CRYPTO_PAES_S390=m
CONFIG_CRYPTO_PCBC=y
CONFIG_CRYPTO_PCRYPT=y
+# CONFIG_CRYPTO_POLY1305_P10 is not set
CONFIG_CRYPTO_POLY1305=y
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
CONFIG_CRYPTO_RMD160=y
@@ -1205,6 +1209,7 @@ CONFIG_DMABUF_MOVE_NOTIFY=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1227,6 +1232,7 @@ CONFIG_DMIID=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=m
@@ -1347,6 +1353,7 @@ CONFIG_DRM_KUNIT_TEST=m
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
CONFIG_DRM=m
# CONFIG_DRM_MALI_DISPLAY is not set
@@ -1421,6 +1428,7 @@ CONFIG_DRM_RADEON_USERPTR=y
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1662,6 +1670,7 @@ CONFIG_FAT_KUNIT_TEST=m
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -1847,6 +1856,7 @@ CONFIG_GLOB=y
# CONFIG_GPIO_CADENCE is not set
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
+# CONFIG_GPIO_DS4520 is not set
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_EXAR is not set
@@ -1966,6 +1976,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_GOOGLE_HAMMER is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2110,7 +2121,6 @@ CONFIG_HWPOISON_INJECT=m
CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
# CONFIG_HW_RANDOM_BA431 is not set
# CONFIG_HW_RANDOM_CCTRNG is not set
-CONFIG_HW_RANDOM_HISI=y
# CONFIG_HW_RANDOM_HISTB is not set
CONFIG_HW_RANDOM_S390=y
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
@@ -2146,6 +2156,7 @@ CONFIG_I2C_ALGOBIT=m
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_ATR is not set
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
# CONFIG_I2C_CHARDEV is not set
@@ -2456,6 +2467,7 @@ CONFIG_INTEL_SDSI=m
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_TH is not set
CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
+# CONFIG_INTEL_VSC is not set
# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
CONFIG_INTEL_WMI_THUNDERBOLT=m
CONFIG_INTEL_XWAY_PHY=m
@@ -2484,7 +2496,7 @@ CONFIG_IOSCHED_BFQ=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_IOSM=m
# CONFIG_IO_STRICT_DEVMEM is not set
-# CONFIG_IO_URING is not set
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2570,6 +2582,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+# CONFIG_IPU_BRIDGE is not set
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
@@ -2646,6 +2659,7 @@ CONFIG_IR_RC6_DECODER=m
# CONFIG_IR_RCMM_DECODER is not set
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
# CONFIG_IR_SERIAL is not set
CONFIG_IR_SERIAL_TRANSMITTER=y
# CONFIG_IR_SHARP_DECODER is not set
@@ -2790,14 +2804,16 @@ CONFIG_KPROBES=y
# CONFIG_KSM is not set
# CONFIG_KUNIT_ALL_TESTS is not set
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
# CONFIG_KUNIT is not set
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KVM_AMD_SEV=y
# CONFIG_KVM_BOOK3S_HV_P8_TIMING is not set
# CONFIG_KVM_BOOK3S_HV_P9_TIMING is not set
# CONFIG_KVM is not set
+# CONFIG_KVM_PROVE_MMU is not set
# CONFIG_KVM_S390_UCONTROL is not set
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
@@ -2870,6 +2886,7 @@ CONFIG_LEDS_MLXCPLD=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_RT4505 is not set
@@ -3020,7 +3037,9 @@ CONFIG_MARCH_Z14=y
# CONFIG_MARCH_Z990 is not set
# CONFIG_MARCH_ZEC12 is not set
CONFIG_MARVELL_10G_PHY=m
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
+CONFIG_MARVELL_GTI_WDT=y
# CONFIG_MARVELL_PHY is not set
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -3061,9 +3080,11 @@ CONFIG_MAX_SKB_FRAGS=17
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
# CONFIG_MCP4922 is not set
# CONFIG_MCTP is not set
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -3115,6 +3136,7 @@ CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
CONFIG_MEMCPY_KUNIT_TEST=m
CONFIG_MEMCPY_SLOW_KUNIT_TEST=y
+CONFIG_MEMFD_CREATE=y
CONFIG_MEMORY_FAILURE=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
# CONFIG_MEMORY_HOTPLUG is not set
@@ -3149,6 +3171,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_CS42L43_SDW is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9055 is not set
@@ -3295,6 +3319,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_FPGA=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -3576,6 +3601,7 @@ CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -3999,6 +4025,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
# CONFIG_NMI_CHECK_CPU is not set
# CONFIG_NOA1305 is not set
@@ -4044,6 +4071,7 @@ CONFIG_NVME_AUTH=y
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_QCOM_QFPROM is not set
+# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_NVMEM_RMEM is not set
CONFIG_NVMEM_SYSFS=y
@@ -4087,6 +4115,7 @@ CONFIG_OPENVSWITCH_GENEVE=m
# CONFIG_OSF_PARTITION is not set
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+# CONFIG_OVERLAY_FS_DEBUG is not set
# CONFIG_OVERLAY_FS_INDEX is not set
# CONFIG_OVERLAY_FS is not set
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4161,6 +4190,7 @@ CONFIG_PARTITION_ADVANCED=y
# CONFIG_PCI200SYN is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
@@ -4254,6 +4284,7 @@ CONFIG_PHY_BCM_SR_USB=m
# CONFIG_PHY_QCOM_EUSB2_REPEATER is not set
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
# CONFIG_PHY_QCOM_QMP is not set
# CONFIG_PHY_QCOM_QUSB2 is not set
# CONFIG_PHY_QCOM_SGMII_ETH is not set
@@ -4263,6 +4294,8 @@ CONFIG_PHY_BCM_SR_USB=m
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+# CONFIG_PHY_RTK_RTD_USB2PHY is not set
+# CONFIG_PHY_RTK_RTD_USB3PHY is not set
# CONFIG_PHY_TUSB1210 is not set
# CONFIG_PI433 is not set
CONFIG_PID_NS=y
@@ -4415,6 +4448,7 @@ CONFIG_PSI_DEFAULT_DISABLED=y
CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS is not set
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -4433,6 +4467,7 @@ CONFIG_PTE_MARKER_UFFD_WP=y
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK=y
# CONFIG_PUNIT_ATOM_DEBUG is not set
@@ -4532,6 +4567,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MEMORY=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -4576,12 +4612,14 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
# CONFIG_REALTEK_PHY is not set
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
# CONFIG_REGMAP is not set
CONFIG_REGMAP_KUNIT=m
# CONFIG_REGULATOR_88PG86X is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
+# CONFIG_REGULATOR_AW37503 is not set
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_DEBUG is not set
@@ -4598,6 +4636,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_LTC3589 is not set
# CONFIG_REGULATOR_LTC3676 is not set
# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
@@ -4610,9 +4649,11 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_PWM is not set
+# CONFIG_REGULATOR_QCOM_REFGEN is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RT4803 is not set
# CONFIG_REGULATOR_RT5739 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_SY8106A is not set
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
@@ -4645,7 +4686,6 @@ CONFIG_RETPOLINE=y
# CONFIG_RFKILL_GPIO is not set
CONFIG_RFKILL_INPUT=y
# CONFIG_RFKILL is not set
-CONFIG_RH_DISABLE_DEPRECATED=y
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RICHTEK_RTQ6056 is not set
CONFIG_RING_BUFFER_BENCHMARK=m
@@ -4849,10 +4889,9 @@ CONFIG_RV_REACT_PRINTK=y
CONFIG_RV=y
CONFIG_RXKAD=y
CONFIG_RXPERF=m
-CONFIG_S390_AP_IOMMU=y
-CONFIG_S390_CCW_IOMMU=y
# CONFIG_S390_GUEST is not set
# CONFIG_S390_HYPFS_FS is not set
+CONFIG_S390_HYPFS=y
# CONFIG_S390_KPROBES_SANITY_TEST is not set
# CONFIG_S390_MODULES_SANITY_TEST is not set
CONFIG_S390_PRNG=y
@@ -5060,6 +5099,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5068,6 +5108,7 @@ CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY_YAMA=y
+# CONFIG_SEL3350_PLATFORM is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
@@ -5143,6 +5184,7 @@ CONFIG_SENSORS_GL520SM=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_HP_WMI is not set
+# CONFIG_SENSORS_HS3001 is not set
# CONFIG_SENSORS_I5K_AMB is not set
CONFIG_SENSORS_IBMAEM=m
# CONFIG_SENSORS_IBM_CFFPS is not set
@@ -5625,7 +5667,9 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_AMD_YC_MACH is not set
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set
# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88261 is not set
# CONFIG_SND_SOC_AW88395 is not set
# CONFIG_SND_SOC_BD28623 is not set
# CONFIG_SND_SOC_BT_SCO is not set
@@ -5642,7 +5686,6 @@ CONFIG_SND_SEQ_UMP=y
# CONFIG_SND_SOC_CS35L45_I2C is not set
# CONFIG_SND_SOC_CS35L45_SPI is not set
# CONFIG_SND_SOC_CS35L56_I2C is not set
-# CONFIG_SND_SOC_CS35L56_SDW is not set
# CONFIG_SND_SOC_CS35L56_SPI is not set
# CONFIG_SND_SOC_CS4234 is not set
# CONFIG_SND_SOC_CS4265 is not set
@@ -5707,6 +5750,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_ES8336 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A is not set
@@ -5717,6 +5761,7 @@ CONFIG_SND_SOC_CX2072X=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT274 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT286 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT298 is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567 is not set
# CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH is not set
@@ -5836,6 +5881,7 @@ CONFIG_SND_SOC_MAX98927=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+# CONFIG_SND_SOC_RT1017_SDCA_SDW is not set
# CONFIG_SND_SOC_RT1308 is not set
# CONFIG_SND_SOC_RT1308_SDW is not set
# CONFIG_SND_SOC_RT1316_SDW is not set
@@ -5894,6 +5940,7 @@ CONFIG_SND_SOC_SOF_ACPI=m
# CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL is not set
# CONFIG_SND_SOC_SOF_JASPERLAKE is not set
# CONFIG_SND_SOC_SOF_KABYLAKE is not set
+CONFIG_SND_SOC_SOF_LUNARLAKE=m
# CONFIG_SND_SOC_SOF_MERRIFIELD is not set
# CONFIG_SND_SOC_SOF_METEORLAKE is not set
# CONFIG_SND_SOC_SOF_OF is not set
@@ -5964,6 +6011,7 @@ CONFIG_SND_SOC_SOF_TOPLEVEL=y
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TOPOLOGY_BUILD is not set
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
# CONFIG_SND_SOC_TS3A227E is not set
@@ -6187,6 +6235,7 @@ CONFIG_SUNRPC_XPRT_RDMA=m
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_SUSPEND=y
# CONFIG_SWAP is not set
+# CONFIG_SWIOTLB_DYNAMIC is not set
# CONFIG_SW_SYNC is not set
# CONFIG_SX9310 is not set
# CONFIG_SX9324 is not set
@@ -6294,6 +6343,7 @@ CONFIG_TEST_CPUMASK=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
@@ -6399,6 +6449,7 @@ CONFIG_TLS=m
CONFIG_TMPFS_INODE64=y
# CONFIG_TMPFS is not set
CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_TMPFS_QUOTA is not set
CONFIG_TMPFS_XATTR=y
CONFIG_TN3215_CONSOLE=y
CONFIG_TN3215=y
@@ -6448,6 +6499,7 @@ CONFIG_TN3270=y
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -6960,8 +7012,12 @@ CONFIG_VIDEO_CX88_DVB=m
# CONFIG_VIDEO_CX88_ENABLE_VP3054 is not set
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_DEV=m
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
# CONFIG_VIDEO_DT3155 is not set
# CONFIG_VIDEO_DW9714 is not set
+CONFIG_VIDEO_DW9719=m
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -7260,6 +7316,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
# CONFIG_XFS_FS is not set
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -7346,7 +7403,7 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-x86_64-debug-fedora.config b/SOURCES/kernel-x86_64-debug-fedora.config
index cfa48ae..6eab1bd 100644
--- a/SOURCES/kernel-x86_64-debug-fedora.config
+++ b/SOURCES/kernel-x86_64-debug-fedora.config
@@ -154,7 +154,7 @@ CONFIG_AD7949=m
# CONFIG_AD9834 is not set
# CONFIG_ADA4250 is not set
CONFIG_ADAPTEC_STARFIRE=m
-# CONFIG_ADDRESS_MASKING is not set
+CONFIG_ADDRESS_MASKING=y
# CONFIG_ADE7854 is not set
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
@@ -1021,6 +1021,7 @@ CONFIG_COMMON_CLK_SI521XX=y
CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_SI570 is not set
CONFIG_COMMON_CLK_TPS68470=m
+CONFIG_COMMON_CLK_VC3=m
# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VC7=m
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
@@ -1038,6 +1039,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -1082,6 +1084,8 @@ CONFIG_CPU_UNRET_ENTRY=y
# CONFIG_CRAMFS is not set
# CONFIG_CRAMFS_MTD is not set
CONFIG_CRASH_DUMP=y
+CONFIG_CRASH_HOTPLUG=y
+CONFIG_CRASH_MAX_MEMORY_RANGES=8192
CONFIG_CRC16=y
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC32_SARWATE is not set
@@ -1486,6 +1490,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1510,6 +1515,7 @@ CONFIG_DM_INIT=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=y
@@ -1634,6 +1640,7 @@ CONFIG_DRM_LONTIUM_LT8912B=m
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
CONFIG_DRM_LONTIUM_LT9611UXC=m
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
CONFIG_DRM_MGAG200=m
@@ -1719,11 +1726,13 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521=m
+CONFIG_DRM_PANEL_STARTEK_KD070FHFID015=m
# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+CONFIG_DRM_PANEL_VISIONOX_R66451=m
CONFIG_DRM_PANEL_VISIONOX_RM69299=m
# CONFIG_DRM_PANEL_VISIONOX_VTDR6130 is not set
CONFIG_DRM_PANEL_WIDECHIPS_WS2401=m
@@ -1760,6 +1769,7 @@ CONFIG_DRM_TOSHIBA_TC358764=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_TOSHIBA_TC358775=m
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
CONFIG_DRM_VBOXVIDEO=m
@@ -1973,6 +1983,7 @@ CONFIG_EROFS_FS=m
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP_DEFLATE=y
CONFIG_EROFS_FS_ZIP_LZMA=y
CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
@@ -2064,6 +2075,7 @@ CONFIG_FAULT_INJECTION=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -2293,6 +2305,7 @@ CONFIG_GPIO_CDEV=y
CONFIG_GPIO_CRYSTAL_COVE=y
# CONFIG_GPIO_CS5535 is not set
CONFIG_GPIO_DLN2=m
+CONFIG_GPIO_DS4520=m
# CONFIG_GPIO_DWAPB is not set
CONFIG_GPIO_ELKHARTLAKE=m
CONFIG_GPIO_EXAR=m
@@ -2416,6 +2429,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
+CONFIG_HID_GOOGLE_STADIA_FF=m
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2541,6 +2555,7 @@ CONFIG_HOTPLUG_PCI=y
# CONFIG_HP03 is not set
# CONFIG_HP206C is not set
CONFIG_HP_ACCEL=m
+CONFIG_HP_BIOSCFG=m
# CONFIG_HPET_MMAP is not set
CONFIG_HPET_TIMER=y
CONFIG_HPET=y
@@ -2615,6 +2630,7 @@ CONFIG_I2C_AMD756_S4882=m
CONFIG_I2C_AMD8111=m
CONFIG_I2C_AMD_MP2=m
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+CONFIG_I2C_ATR=m
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_CHARDEV=m
@@ -3032,6 +3048,7 @@ CONFIG_INTEL_TURBO_MAX_3=y
CONFIG_INTEL_TXT=y
CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
CONFIG_INTEL_VBTN=m
+CONFIG_INTEL_VSC=m
CONFIG_INTEL_VSEC=m
CONFIG_INTEL_WMI_SBL_FW_UPDATE=m
CONFIG_INTEL_WMI_THUNDERBOLT=m
@@ -3062,6 +3079,7 @@ CONFIG_IOSCHED_BFQ=y
CONFIG_IOSF_MBI=y
CONFIG_IOSM=m
CONFIG_IO_STRICT_DEVMEM=y
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -3149,6 +3167,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+CONFIG_IPU_BRIDGE=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_ILA=m
CONFIG_IPV6_IOAM6_LWTUNNEL=y
@@ -3226,6 +3245,7 @@ CONFIG_IR_RC6_DECODER=m
CONFIG_IR_RCMM_DECODER=m
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
@@ -3438,7 +3458,7 @@ CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
@@ -3448,6 +3468,7 @@ CONFIG_KVM_GUEST=y
CONFIG_KVM_INTEL=m
CONFIG_KVM=m
CONFIG_KVM_MMU_AUDIT=y
+CONFIG_KVM_PROVE_MMU=y
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
CONFIG_KVM_XEN=y
@@ -3500,6 +3521,7 @@ CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GROUP_MULTICOLOR=m
CONFIG_LEDS_INTEL_SS4200=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
@@ -3528,6 +3550,7 @@ CONFIG_LEDS_PCA9532_GPIO=y
CONFIG_LEDS_PCA9532=m
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+CONFIG_LEDS_PCA995X=m
# CONFIG_LEDS_PWM is not set
CONFIG_LEDS_PWM_MULTICOLOR=m
CONFIG_LEDS_QCOM_FLASH=m
@@ -3683,6 +3706,7 @@ CONFIG_MANA_INFINIBAND=m
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+CONFIG_MARVELL_88Q2XXX_PHY=m
CONFIG_MARVELL_88X2222_PHY=m
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
@@ -3726,11 +3750,13 @@ CONFIG_MCP41010=m
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+CONFIG_MCP4728=m
# CONFIG_MCP4922 is not set
CONFIG_MCTP_SERIAL=m
# CONFIG_MCTP_TRANSPORT_I2C is not set
CONFIG_MCTP=y
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -3830,6 +3856,8 @@ CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
CONFIG_MFD_CROS_EC_DEV=m
+CONFIG_MFD_CS42L43_I2C=m
+CONFIG_MFD_CS42L43_SDW=m
# CONFIG_MFD_CS47L24 is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
@@ -3996,6 +4024,7 @@ CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -4332,6 +4361,7 @@ CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4847,6 +4877,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4946,6 +4977,7 @@ CONFIG_ORINOCO_USB=m
CONFIG_OSF_PARTITION=y
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+# CONFIG_OVERLAY_FS_DEBUG is not set
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -5049,6 +5081,7 @@ CONFIG_PCH_PHUB=m
CONFIG_PCI_BIOS=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
@@ -5120,6 +5153,7 @@ CONFIG_PD6729=m
CONFIG_PDC_ADMA=m
CONFIG_PDS_CORE=m
CONFIG_PDS_VDPA=m
+CONFIG_PDS_VFIO_PCI=m
CONFIG_PEAQ_WMI=m
# CONFIG_PECI is not set
CONFIG_PERCPU_STATS=y
@@ -5165,6 +5199,8 @@ CONFIG_PHYLINK=m
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+CONFIG_PHY_RTK_RTD_USB2PHY=m
+CONFIG_PHY_RTK_RTD_USB3PHY=m
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_PHY_TUSB1210 is not set
@@ -5178,6 +5214,7 @@ CONFIG_PINCTRL_BROXTON=m
CONFIG_PINCTRL_CANNONLAKE=m
CONFIG_PINCTRL_CEDARFORK=m
CONFIG_PINCTRL_CHERRYVIEW=y
+CONFIG_PINCTRL_CS42L43=m
CONFIG_PINCTRL_CY8C95X0=m
CONFIG_PINCTRL_DENVERTON=m
CONFIG_PINCTRL_ELKHARTLAKE=m
@@ -5209,6 +5246,7 @@ CONFIG_PINCTRL_RK805=m
# CONFIG_PINCTRL_SM8150 is not set
# CONFIG_PINCTRL_SM8250 is not set
# CONFIG_PINCTRL_SM8350 is not set
+CONFIG_PINCTRL_SM8350_LPASS_LPI=m
# CONFIG_PINCTRL_SM8450 is not set
# CONFIG_PINCTRL_STMFX is not set
# CONFIG_PINCTRL_SUN4I_A10 is not set
@@ -5356,6 +5394,7 @@ CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS_DEFAULT is not set
CONFIG_PSTORE_842_COMPRESS=y
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -5377,6 +5416,7 @@ CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK_VMW=m
@@ -5468,6 +5508,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MEMORY=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -5529,6 +5570,7 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP=y
@@ -5537,6 +5579,7 @@ CONFIG_REGMAP=y
# CONFIG_REGULATOR_AD5398 is not set
CONFIG_REGULATOR_ARIZONA_LDO1=m
CONFIG_REGULATOR_ARIZONA_MICSUPP=m
+CONFIG_REGULATOR_AW37503=m
# CONFIG_REGULATOR_AXP20X is not set
# CONFIG_REGULATOR_BD9571MWV is not set
# CONFIG_REGULATOR_DA9121 is not set
@@ -5558,9 +5601,11 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_MAX1586 is not set
# CONFIG_REGULATOR_MAX20086 is not set
CONFIG_REGULATOR_MAX20411=m
+CONFIG_REGULATOR_MAX5970=m
CONFIG_REGULATOR_MAX597X=m
CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX77826 is not set
+CONFIG_REGULATOR_MAX77857=m
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
CONFIG_REGULATOR_MAX8893=m
@@ -5593,6 +5638,7 @@ CONFIG_REGULATOR_RT6190=m
CONFIG_REGULATOR_RT6245=m
CONFIG_REGULATOR_RTMV20=m
CONFIG_REGULATOR_RTQ2134=m
+CONFIG_REGULATOR_RTQ2208=m
CONFIG_REGULATOR_RTQ6752=m
# CONFIG_REGULATOR_SLG51000 is not set
CONFIG_REGULATOR_SY7636A=m
@@ -5641,8 +5687,7 @@ CONFIG_RETPOLINE=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-# CONFIG_RH_DISABLE_DEPRECATED is not set
-CONFIG_RH_FEDORA=y
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RICHTEK_RTQ6056=m
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
@@ -6051,6 +6096,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -6060,6 +6106,7 @@ CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_YAMA=y
+CONFIG_SEL3350_PLATFORM=m
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
@@ -6137,6 +6184,7 @@ CONFIG_SENSORS_HDAPS=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
CONFIG_SENSORS_HP_WMI=m
+CONFIG_SENSORS_HS3001=m
CONFIG_SENSORS_I5500=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_IBMAEM=m
@@ -6226,6 +6274,7 @@ CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_MLXREG_FAN=m
CONFIG_SENSORS_MP2888=m
CONFIG_SENSORS_MP2975=m
+CONFIG_SENSORS_MP2975_REGULATOR=y
CONFIG_SENSORS_MP5023=m
CONFIG_SENSORS_MPQ7932=m
CONFIG_SENSORS_MPQ7932_REGULATOR=y
@@ -6553,6 +6602,9 @@ CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
+CONFIG_SND_HDA_SCODEC_CS35L56_I2C=m
+CONFIG_SND_HDA_SCODEC_CS35L56_SPI=m
+CONFIG_SND_HDA_SCODEC_TAS2781_I2C=m
# CONFIG_SND_HDA_TEGRA is not set
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
@@ -6668,7 +6720,9 @@ CONFIG_SND_SOC_AMD_VANGOGH_MACH=m
CONFIG_SND_SOC_AMD_YC_MACH=m
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+CONFIG_SND_SOC_AUDIO_IIO_AUX=m
CONFIG_SND_SOC_AW8738=m
+CONFIG_SND_SOC_AW88261=m
CONFIG_SND_SOC_AW88395=m
CONFIG_SND_SOC_BD28623=m
CONFIG_SND_SOC_BT_SCO=m
@@ -6694,6 +6748,8 @@ CONFIG_SND_SOC_CS4234=m
# CONFIG_SND_SOC_CS4271_SPI is not set
CONFIG_SND_SOC_CS42L42=m
CONFIG_SND_SOC_CS42L42_SDW=m
+CONFIG_SND_SOC_CS42L43=m
+CONFIG_SND_SOC_CS42L43_SDW=m
# CONFIG_SND_SOC_CS42L51_I2C is not set
# CONFIG_SND_SOC_CS42L52 is not set
# CONFIG_SND_SOC_CS42L56 is not set
@@ -6751,6 +6807,7 @@ CONFIG_SND_SOC_IDT821034=m
CONFIG_SND_SOC_INTEL_AVS=m
CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219=m
CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC=m
+CONFIG_SND_SOC_INTEL_AVS_MACH_ES8336=m
CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO=m
CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST=m
CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A=m
@@ -6761,6 +6818,7 @@ CONFIG_SND_SOC_INTEL_AVS_MACH_PROBE=m
CONFIG_SND_SOC_INTEL_AVS_MACH_RT274=m
CONFIG_SND_SOC_INTEL_AVS_MACH_RT286=m
CONFIG_SND_SOC_INTEL_AVS_MACH_RT298=m
+CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663=m
CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682=m
CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567=m
CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m
@@ -6881,6 +6939,7 @@ CONFIG_SND_SOC_RL6231=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+CONFIG_SND_SOC_RT1017_SDCA_SDW=m
CONFIG_SND_SOC_RT1308=m
CONFIG_SND_SOC_RT1308_SDW=m
CONFIG_SND_SOC_RT1316_SDW=m
@@ -6922,6 +6981,7 @@ CONFIG_SND_SOC_SOF_ALDERLAKE=m
CONFIG_SND_SOC_SOF_AMD_REMBRANDT=m
CONFIG_SND_SOC_SOF_AMD_RENOIR=m
CONFIG_SND_SOC_SOF_AMD_TOPLEVEL=m
+CONFIG_SND_SOC_SOF_AMD_VANGOGH=m
CONFIG_SND_SOC_SOF_APOLLOLAKE=m
CONFIG_SND_SOC_SOF_BAYTRAIL=m
CONFIG_SND_SOC_SOF_BROADWELL=m
@@ -6942,6 +7002,7 @@ CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE=m
CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y
CONFIG_SND_SOC_SOF_JASPERLAKE=m
CONFIG_SND_SOC_SOF_KABYLAKE=m
+CONFIG_SND_SOC_SOF_LUNARLAKE=m
CONFIG_SND_SOC_SOF_MERRIFIELD=m
CONFIG_SND_SOC_SOF_METEORLAKE=m
# CONFIG_SND_SOC_SOF_MT8195 is not set
@@ -7014,6 +7075,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TOPOLOGY_BUILD is not set
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
CONFIG_SND_SOC_TS3A227E=m
@@ -7147,6 +7209,7 @@ CONFIG_SPI_AX88796C=m
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_CADENCE_QUADSPI is not set
# CONFIG_SPI_CADENCE_XSPI is not set
+# CONFIG_SPI_CS42L43 is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_DLN2=m
@@ -7288,6 +7351,7 @@ CONFIG_SURFACE_PRO3_BUTTON=m
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_SUSPEND=y
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_SWIOTLB=y
# CONFIG_SW_SYNC is not set
CONFIG_SX9310=m
@@ -7398,6 +7462,7 @@ CONFIG_TEST_FPU=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=m
@@ -7479,6 +7544,8 @@ CONFIG_TIFM_7XX1=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+# CONFIG_TI_ICSSG_PRUETH is not set
+CONFIG_TI_ICSS_IEP=m
CONFIG_TI_LMP92064=m
CONFIG_TIME_KUNIT_TEST=m
CONFIG_TIME_NS=y
@@ -7511,6 +7578,7 @@ CONFIG_TLS=m
CONFIG_TMP117=m
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_QUOTA=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
CONFIG_TOPSTAR_LAPTOP=m
@@ -7560,6 +7628,7 @@ CONFIG_TOUCHSCREEN_IMAGIS=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
CONFIG_TOUCHSCREEN_INEXIO=m
CONFIG_TOUCHSCREEN_IQS5XX=m
+CONFIG_TOUCHSCREEN_IQS7211=m
# CONFIG_TOUCHSCREEN_MAX11801 is not set
CONFIG_TOUCHSCREEN_MCS5000=m
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -7761,6 +7830,7 @@ CONFIG_USB_CHIPIDEA_IMX=m
CONFIG_USB_CHIPIDEA=m
CONFIG_USB_CHIPIDEA_MSM=m
CONFIG_USB_CHIPIDEA_PCI=m
+CONFIG_USB_CONFIGFS_F_MIDI2=y
# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set
# CONFIG_USB_CONN_GPIO is not set
CONFIG_USB_CXACRU=m
@@ -7776,6 +7846,8 @@ CONFIG_USB_DWC3_HAPS=m
# CONFIG_USB_DWC3_HOST is not set
CONFIG_USB_DWC3=m
# CONFIG_USB_DWC3_OF_SIMPLE is not set
+CONFIG_USB_DWC3_PCI=m
+CONFIG_USB_DWC3_ULPI=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_EHCI_FSL is not set
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
@@ -8100,6 +8172,8 @@ CONFIG_VETH=m
# CONFIG_VF610_DAC is not set
CONFIG_VFAT_FS=m
CONFIG_VFIO_CONTAINER=y
+# CONFIG_VFIO_DEVICE_CDEV is not set
+CONFIG_VFIO_GROUP=y
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO=m
CONFIG_VFIO_MDEV=m
@@ -8172,8 +8246,12 @@ CONFIG_VIDEO_CX88_ENABLE_VP3054=y
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_VP3054=m
CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_DS90UB913=m
+CONFIG_VIDEO_DS90UB953=m
+CONFIG_VIDEO_DS90UB960=m
# CONFIG_VIDEO_DT3155 is not set
CONFIG_VIDEO_DW9714=m
+CONFIG_VIDEO_DW9719=m
CONFIG_VIDEO_DW9768=m
CONFIG_VIDEO_DW9807_VCM=m
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -8571,6 +8649,7 @@ CONFIG_X86_SGX_KVM=y
CONFIG_X86_SGX=y
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
CONFIG_X86_UMIP=y
+CONFIG_X86_USER_SHADOW_STACK=y
CONFIG_X86_UV=y
# CONFIG_X86_VERBOSE_BOOTUP is not set
# CONFIG_X86_VSMP is not set
@@ -8603,6 +8682,7 @@ CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PCIDEV_FRONTEND=m
+CONFIG_XEN_PRIVCMD_IRQFD=y
CONFIG_XEN_PRIVCMD=m
# CONFIG_XEN_PVCALLS_BACKEND is not set
# CONFIG_XEN_PVCALLS_FRONTEND is not set
@@ -8633,6 +8713,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -8727,7 +8808,6 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
@@ -8735,9 +8815,7 @@ CONFIG_MFD_STEAMDECK=m
CONFIG_SENSORS_STEAMDECK=m
CONFIG_LEDS_STEAMDECK=m
CONFIG_EXTCON_STEAMDECK=m
-CONFIG_USB_DWC3_ULPI=y
CONFIG_USB_DWC3_DUAL_ROLE=y
-CONFIG_USB_DWC3_PCI=m
CONFIG_USB_DWC2_DUAL_ROLE=y
CONFIG_USB_DWC2_PCI=m
# CONFIG_USB_DWC2_DEBUG is not set
@@ -8766,3 +8844,4 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
# CONFIG_USB_DUMMY_HCD is not set
# CONFIG_USB_CONFIGFS is not set
# CONFIG_PHY_SAMSUNG_USB2 is not set
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-x86_64-debug-rhel.config b/SOURCES/kernel-x86_64-debug-rhel.config
index 6d8f971..7807bc9 100644
--- a/SOURCES/kernel-x86_64-debug-rhel.config
+++ b/SOURCES/kernel-x86_64-debug-rhel.config
@@ -134,7 +134,7 @@ CONFIG_ACPI=y
# CONFIG_AD9832 is not set
# CONFIG_AD9834 is not set
# CONFIG_ADA4250 is not set
-# CONFIG_ADDRESS_MASKING is not set
+CONFIG_ADDRESS_MASKING=y
# CONFIG_ADE7854 is not set
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
@@ -225,7 +225,8 @@ CONFIG_AMD_MEM_ENCRYPT=y
CONFIG_AMD_NUMA=y
CONFIG_AMD_PHY=m
CONFIG_AMD_PMC=m
-# CONFIG_AMD_PMF is not set
+CONFIG_AMD_PMF_DEBUG=y
+CONFIG_AMD_PMF=m
CONFIG_AMD_PTDMA=m
CONFIG_AMD_SFH_HID=m
# CONFIG_AMDTEE is not set
@@ -842,6 +843,7 @@ CONFIG_COMMON_CLK_HI3798CV200=y
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
@@ -860,6 +862,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -906,6 +909,8 @@ CONFIG_CPU_UNRET_ENTRY=y
# CONFIG_CRAMFS is not set
# CONFIG_CRAMFS_MTD is not set
CONFIG_CRASH_DUMP=y
+CONFIG_CRASH_HOTPLUG=y
+CONFIG_CRASH_MAX_MEMORY_RANGES=8192
CONFIG_CRC16=y
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC32_SARWATE is not set
@@ -958,6 +963,7 @@ CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CHACHA20=m
+# CONFIG_CRYPTO_CHACHA20_P10 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CHACHA20_X86_64=y
CONFIG_CRYPTO_CMAC=y
@@ -1054,6 +1060,7 @@ CONFIG_CRYPTO_OFB=y
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_POLY1305=m
+# CONFIG_CRYPTO_POLY1305_P10 is not set
CONFIG_CRYPTO_POLY1305_X86_64=y
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
CONFIG_CRYPTO_RMD160=m
@@ -1288,6 +1295,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1310,6 +1318,7 @@ CONFIG_DMIID=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=m
@@ -1435,6 +1444,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MALI_DISPLAY is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
@@ -1508,6 +1518,7 @@ CONFIG_DRM_SIMPLEDRM=y
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1781,6 +1792,7 @@ CONFIG_FAULT_INJECTION=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -1970,6 +1982,7 @@ CONFIG_GPIO_AMDPT=m
# CONFIG_GPIO_CADENCE is not set
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
+# CONFIG_GPIO_DS4520 is not set
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_EXAR is not set
@@ -2092,6 +2105,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_GOOGLE_HAMMER is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2256,7 +2270,6 @@ CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
# CONFIG_HW_RANDOM_BA431 is not set
# CONFIG_HW_RANDOM_CCTRNG is not set
-CONFIG_HW_RANDOM_HISI=y
# CONFIG_HW_RANDOM_HISTB is not set
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
@@ -2294,6 +2307,7 @@ CONFIG_I2C_AMD756_S4882=m
CONFIG_I2C_AMD8111=m
# CONFIG_I2C_AMD_MP2 is not set
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_ATR is not set
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_CHARDEV=m
@@ -2653,6 +2667,7 @@ CONFIG_INTEL_TURBO_MAX_3=y
CONFIG_INTEL_TXT=y
CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
CONFIG_INTEL_VBTN=m
+# CONFIG_INTEL_VSC is not set
CONFIG_INTEL_VSEC=m
# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
CONFIG_INTEL_WMI_THUNDERBOLT=m
@@ -2684,7 +2699,7 @@ CONFIG_IOSCHED_BFQ=y
CONFIG_IOSF_MBI=y
CONFIG_IOSM=m
# CONFIG_IO_STRICT_DEVMEM is not set
-# CONFIG_IO_URING is not set
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2770,6 +2785,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+# CONFIG_IPU_BRIDGE is not set
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
@@ -2847,6 +2863,7 @@ CONFIG_IR_RC6_DECODER=m
# CONFIG_IR_RCMM_DECODER is not set
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
# CONFIG_IR_SERIAL is not set
CONFIG_IR_SERIAL_TRANSMITTER=y
# CONFIG_IR_SHARP_DECODER is not set
@@ -2994,10 +3011,11 @@ CONFIG_KPROBES=y
CONFIG_KSM=y
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KVM_AMD=m
CONFIG_KVM_AMD_SEV=y
# CONFIG_KVM_BOOK3S_HV_P8_TIMING is not set
@@ -3006,6 +3024,7 @@ CONFIG_KVM_GUEST=y
CONFIG_KVM_INTEL=m
CONFIG_KVM=m
CONFIG_KVM_MMU_AUDIT=y
+CONFIG_KVM_PROVE_MMU=y
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
# CONFIG_KVM_XEN is not set
@@ -3076,6 +3095,7 @@ CONFIG_LEDS_MLXCPLD=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_RT4505 is not set
@@ -3219,7 +3239,9 @@ CONFIG_MANA_INFINIBAND=m
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
+CONFIG_MARVELL_GTI_WDT=y
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -3261,9 +3283,11 @@ CONFIG_MAXSMP=y
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
# CONFIG_MCP4922 is not set
# CONFIG_MCTP is not set
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -3315,6 +3339,7 @@ CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
CONFIG_MEMCPY_KUNIT_TEST=m
CONFIG_MEMCPY_SLOW_KUNIT_TEST=y
+CONFIG_MEMFD_CREATE=y
CONFIG_MEMORY_FAILURE=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTPLUG=y
@@ -3349,6 +3374,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_CS42L43_SDW is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9055 is not set
@@ -3504,6 +3531,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_FPGA=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -3794,6 +3822,7 @@ CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4213,6 +4242,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4262,6 +4292,7 @@ CONFIG_NVME_FC=m
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_QCOM_QFPROM is not set
+# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_NVMEM_RMEM is not set
CONFIG_NVMEM_SYSFS=y
@@ -4306,6 +4337,7 @@ CONFIG_OPENVSWITCH_VXLAN=m
CONFIG_OSF_PARTITION=y
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+CONFIG_OVERLAY_FS_DEBUG=y
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4391,6 +4423,7 @@ CONFIG_PARTITION_ADVANCED=y
# CONFIG_PCI200SYN is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
@@ -4490,6 +4523,7 @@ CONFIG_PHYLINK=m
# CONFIG_PHY_QCOM_EUSB2_REPEATER is not set
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
# CONFIG_PHY_QCOM_QMP is not set
# CONFIG_PHY_QCOM_QUSB2 is not set
# CONFIG_PHY_QCOM_SGMII_ETH is not set
@@ -4499,6 +4533,8 @@ CONFIG_PHYLINK=m
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+# CONFIG_PHY_RTK_RTD_USB2PHY is not set
+# CONFIG_PHY_RTK_RTD_USB3PHY is not set
CONFIG_PHYSICAL_ALIGN=0x200000
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_PHY_TUSB1210 is not set
@@ -4667,6 +4703,7 @@ CONFIG_PSI_DEFAULT_DISABLED=y
CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS is not set
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -4685,6 +4722,7 @@ CONFIG_PTE_MARKER_UFFD_WP=y
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_VMW=m
CONFIG_PTP_1588_CLOCK=y
@@ -4783,6 +4821,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MEMORY=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -4827,12 +4866,14 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
+# CONFIG_REGULATOR_AW37503 is not set
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_DEBUG is not set
@@ -4849,6 +4890,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_LTC3589 is not set
# CONFIG_REGULATOR_LTC3676 is not set
# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
@@ -4861,9 +4903,11 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_PWM is not set
+# CONFIG_REGULATOR_QCOM_REFGEN is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RT4803 is not set
# CONFIG_REGULATOR_RT5739 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_SY8106A is not set
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
@@ -4897,7 +4941,6 @@ CONFIG_RETPOLINE=y
# CONFIG_RFKILL_GPIO is not set
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RH_DISABLE_DEPRECATED=y
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RICHTEK_RTQ6056 is not set
CONFIG_RING_BUFFER_BENCHMARK=m
@@ -5291,6 +5334,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5300,6 +5344,7 @@ CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_YAMA=y
+# CONFIG_SEL3350_PLATFORM is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
@@ -5377,6 +5422,7 @@ CONFIG_SENSORS_HDAPS=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_HP_WMI is not set
+# CONFIG_SENSORS_HS3001 is not set
CONFIG_SENSORS_I5500=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_IBMAEM=m
@@ -5761,6 +5807,9 @@ CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
+CONFIG_SND_HDA_SCODEC_CS35L56_I2C=m
+CONFIG_SND_HDA_SCODEC_CS35L56_SPI=m
+CONFIG_SND_HDA_SCODEC_TAS2781_I2C=m
# CONFIG_SND_HDA_TEGRA is not set
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
@@ -5872,7 +5921,9 @@ CONFIG_SND_SOC_AMD_VANGOGH_MACH=m
CONFIG_SND_SOC_AMD_YC_MACH=m
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set
# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88261 is not set
# CONFIG_SND_SOC_AW88395 is not set
# CONFIG_SND_SOC_BD28623 is not set
# CONFIG_SND_SOC_BT_SCO is not set
@@ -5889,7 +5940,7 @@ CONFIG_SND_SOC_CS35L41_SPI=m
# CONFIG_SND_SOC_CS35L45_I2C is not set
# CONFIG_SND_SOC_CS35L45_SPI is not set
# CONFIG_SND_SOC_CS35L56_I2C is not set
-# CONFIG_SND_SOC_CS35L56_SDW is not set
+CONFIG_SND_SOC_CS35L56_SDW=m
# CONFIG_SND_SOC_CS35L56_SPI is not set
# CONFIG_SND_SOC_CS4234 is not set
# CONFIG_SND_SOC_CS4265 is not set
@@ -5954,6 +6005,7 @@ CONFIG_SND_SOC_HDAC_HDMI=m
CONFIG_SND_SOC_INTEL_AVS=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_ES8336 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A is not set
@@ -5964,6 +6016,7 @@ CONFIG_SND_SOC_INTEL_AVS=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT274 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT286 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT298 is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567 is not set
CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m
@@ -6084,6 +6137,7 @@ CONFIG_SND_SOC_RL6231=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+# CONFIG_SND_SOC_RT1017_SDCA_SDW is not set
CONFIG_SND_SOC_RT1308=m
CONFIG_SND_SOC_RT1308_SDW=m
CONFIG_SND_SOC_RT1316_SDW=m
@@ -6144,6 +6198,7 @@ CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE=m
CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y
CONFIG_SND_SOC_SOF_JASPERLAKE=m
# CONFIG_SND_SOC_SOF_KABYLAKE is not set
+CONFIG_SND_SOC_SOF_LUNARLAKE=m
CONFIG_SND_SOC_SOF_MERRIFIELD=m
CONFIG_SND_SOC_SOF_METEORLAKE=m
# CONFIG_SND_SOC_SOF_OF is not set
@@ -6214,6 +6269,7 @@ CONFIG_SND_SOC_SSM4567=m
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+CONFIG_SND_SOC_TOPOLOGY_BUILD=y
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
CONFIG_SND_SOC_TS3A227E=m
@@ -6453,6 +6509,7 @@ CONFIG_SUNRPC_XPRT_RDMA=m
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_SUSPEND=y
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_SWIOTLB=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9310 is not set
@@ -6558,6 +6615,7 @@ CONFIG_TEST_FPU=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=m
@@ -6669,6 +6727,7 @@ CONFIG_TLS=m
# CONFIG_TMP117 is not set
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_TMPFS_QUOTA is not set
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_TOOLCHAIN_DEFAULT_CPU is not set
@@ -6717,6 +6776,7 @@ CONFIG_TOUCHSCREEN_ELO=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -7223,8 +7283,12 @@ CONFIG_VIDEO_CX88_DVB=m
# CONFIG_VIDEO_CX88_ENABLE_VP3054 is not set
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_DEV=m
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
# CONFIG_VIDEO_DT3155 is not set
# CONFIG_VIDEO_DW9714 is not set
+CONFIG_VIDEO_DW9719=m
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -7554,6 +7618,7 @@ CONFIG_X86_SGX_KVM=y
CONFIG_X86_SGX=y
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
CONFIG_X86_UMIP=y
+CONFIG_X86_USER_SHADOW_STACK=y
CONFIG_X86_UV=y
# CONFIG_X86_VERBOSE_BOOTUP is not set
# CONFIG_X86_VSMP is not set
@@ -7603,6 +7668,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -7686,7 +7752,6 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
@@ -7728,3 +7793,4 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
# CONFIG_USB_DUMMY_HCD is not set
# CONFIG_USB_CONFIGFS is not set
# CONFIG_PHY_SAMSUNG_USB2 is not set
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-x86_64-fedora.config b/SOURCES/kernel-x86_64-fedora.config
index ed65762..065fece 100644
--- a/SOURCES/kernel-x86_64-fedora.config
+++ b/SOURCES/kernel-x86_64-fedora.config
@@ -154,7 +154,7 @@ CONFIG_AD7949=m
# CONFIG_AD9834 is not set
# CONFIG_ADA4250 is not set
CONFIG_ADAPTEC_STARFIRE=m
-# CONFIG_ADDRESS_MASKING is not set
+CONFIG_ADDRESS_MASKING=y
# CONFIG_ADE7854 is not set
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
@@ -1019,6 +1019,7 @@ CONFIG_COMMON_CLK_SI521XX=y
CONFIG_COMMON_CLK_SI544=m
# CONFIG_COMMON_CLK_SI570 is not set
CONFIG_COMMON_CLK_TPS68470=m
+CONFIG_COMMON_CLK_VC3=m
# CONFIG_COMMON_CLK_VC5 is not set
CONFIG_COMMON_CLK_VC7=m
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
@@ -1036,6 +1037,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=3
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -1080,6 +1082,8 @@ CONFIG_CPU_UNRET_ENTRY=y
# CONFIG_CRAMFS is not set
# CONFIG_CRAMFS_MTD is not set
CONFIG_CRASH_DUMP=y
+CONFIG_CRASH_HOTPLUG=y
+CONFIG_CRASH_MAX_MEMORY_RANGES=8192
CONFIG_CRC16=y
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC32_SARWATE is not set
@@ -1475,6 +1479,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1499,6 +1504,7 @@ CONFIG_DM_INIT=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=y
@@ -1623,6 +1629,7 @@ CONFIG_DRM_LONTIUM_LT8912B=m
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
CONFIG_DRM_LONTIUM_LT9611UXC=m
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
CONFIG_DRM_MGAG200=m
@@ -1708,11 +1715,13 @@ CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521=m
+CONFIG_DRM_PANEL_STARTEK_KD070FHFID015=m
# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
# CONFIG_DRM_PANEL_TPO_TPG110 is not set
# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+CONFIG_DRM_PANEL_VISIONOX_R66451=m
CONFIG_DRM_PANEL_VISIONOX_RM69299=m
# CONFIG_DRM_PANEL_VISIONOX_VTDR6130 is not set
CONFIG_DRM_PANEL_WIDECHIPS_WS2401=m
@@ -1749,6 +1758,7 @@ CONFIG_DRM_TOSHIBA_TC358764=m
# CONFIG_DRM_TOSHIBA_TC358767 is not set
CONFIG_DRM_TOSHIBA_TC358768=m
CONFIG_DRM_TOSHIBA_TC358775=m
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
CONFIG_DRM_VBOXVIDEO=m
@@ -1962,6 +1972,7 @@ CONFIG_EROFS_FS=m
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_ZIP_DEFLATE=y
CONFIG_EROFS_FS_ZIP_LZMA=y
CONFIG_EROFS_FS_ZIP=y
CONFIG_ET131X=m
@@ -2045,6 +2056,7 @@ CONFIG_FAT_KUNIT_TEST=m
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -2274,6 +2286,7 @@ CONFIG_GPIO_CDEV=y
CONFIG_GPIO_CRYSTAL_COVE=y
# CONFIG_GPIO_CS5535 is not set
CONFIG_GPIO_DLN2=m
+CONFIG_GPIO_DS4520=m
# CONFIG_GPIO_DWAPB is not set
CONFIG_GPIO_ELKHARTLAKE=m
CONFIG_GPIO_EXAR=m
@@ -2397,6 +2410,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
CONFIG_HID_GLORIOUS=m
# CONFIG_HID_GOOGLE_HAMMER is not set
+CONFIG_HID_GOOGLE_STADIA_FF=m
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2522,6 +2536,7 @@ CONFIG_HOTPLUG_PCI=y
# CONFIG_HP03 is not set
# CONFIG_HP206C is not set
CONFIG_HP_ACCEL=m
+CONFIG_HP_BIOSCFG=m
# CONFIG_HPET_MMAP is not set
CONFIG_HPET_TIMER=y
CONFIG_HPET=y
@@ -2596,6 +2611,7 @@ CONFIG_I2C_AMD756_S4882=m
CONFIG_I2C_AMD8111=m
CONFIG_I2C_AMD_MP2=m
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+CONFIG_I2C_ATR=m
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_CHARDEV=m
@@ -3012,6 +3028,7 @@ CONFIG_INTEL_TURBO_MAX_3=y
CONFIG_INTEL_TXT=y
CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
CONFIG_INTEL_VBTN=m
+CONFIG_INTEL_VSC=m
CONFIG_INTEL_VSEC=m
CONFIG_INTEL_WMI_SBL_FW_UPDATE=m
CONFIG_INTEL_WMI_THUNDERBOLT=m
@@ -3042,6 +3059,7 @@ CONFIG_IOSCHED_BFQ=y
CONFIG_IOSF_MBI=y
CONFIG_IOSM=m
CONFIG_IO_STRICT_DEVMEM=y
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -3129,6 +3147,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+CONFIG_IPU_BRIDGE=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_ILA=m
CONFIG_IPV6_IOAM6_LWTUNNEL=y
@@ -3206,6 +3225,7 @@ CONFIG_IR_RC6_DECODER=m
CONFIG_IR_RCMM_DECODER=m
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SHARP_DECODER=m
@@ -3412,7 +3432,7 @@ CONFIG_KSM=y
CONFIG_KSZ884X_PCI=m
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
@@ -3422,6 +3442,7 @@ CONFIG_KVM_GUEST=y
CONFIG_KVM_INTEL=m
CONFIG_KVM=m
CONFIG_KVM_MMU_AUDIT=y
+# CONFIG_KVM_PROVE_MMU is not set
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
CONFIG_KVM_XEN=y
@@ -3474,6 +3495,7 @@ CONFIG_LEDS_CR0014114=m
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_GPIO=m
+CONFIG_LEDS_GROUP_MULTICOLOR=m
CONFIG_LEDS_INTEL_SS4200=m
# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=m
@@ -3502,6 +3524,7 @@ CONFIG_LEDS_PCA9532_GPIO=y
CONFIG_LEDS_PCA9532=m
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+CONFIG_LEDS_PCA995X=m
# CONFIG_LEDS_PWM is not set
CONFIG_LEDS_PWM_MULTICOLOR=m
CONFIG_LEDS_QCOM_FLASH=m
@@ -3657,6 +3680,7 @@ CONFIG_MANA_INFINIBAND=m
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+CONFIG_MARVELL_88Q2XXX_PHY=m
CONFIG_MARVELL_88X2222_PHY=m
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
@@ -3700,11 +3724,13 @@ CONFIG_MCP41010=m
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+CONFIG_MCP4728=m
# CONFIG_MCP4922 is not set
CONFIG_MCTP_SERIAL=m
# CONFIG_MCTP_TRANSPORT_I2C is not set
CONFIG_MCTP=y
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -3804,6 +3830,8 @@ CONFIG_MFD_BD9571MWV=m
CONFIG_MFD_CORE=y
# CONFIG_MFD_CPCAP is not set
CONFIG_MFD_CROS_EC_DEV=m
+CONFIG_MFD_CS42L43_I2C=m
+CONFIG_MFD_CS42L43_SDW=m
# CONFIG_MFD_CS47L24 is not set
# CONFIG_MFD_CS5535 is not set
# CONFIG_MFD_DA9052_I2C is not set
@@ -3970,6 +3998,7 @@ CONFIG_MLX5_ESWITCH=y
# CONFIG_MLX5_FPGA is not set
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -4306,6 +4335,7 @@ CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4821,6 +4851,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4920,6 +4951,7 @@ CONFIG_ORINOCO_USB=m
CONFIG_OSF_PARTITION=y
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+# CONFIG_OVERLAY_FS_DEBUG is not set
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -5022,6 +5054,7 @@ CONFIG_PCH_PHUB=m
CONFIG_PCI_BIOS=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
@@ -5093,6 +5126,7 @@ CONFIG_PD6729=m
CONFIG_PDC_ADMA=m
CONFIG_PDS_CORE=m
CONFIG_PDS_VDPA=m
+CONFIG_PDS_VFIO_PCI=m
CONFIG_PEAQ_WMI=m
# CONFIG_PECI is not set
# CONFIG_PERCPU_STATS is not set
@@ -5138,6 +5172,8 @@ CONFIG_PHYLINK=m
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+CONFIG_PHY_RTK_RTD_USB2PHY=m
+CONFIG_PHY_RTK_RTD_USB3PHY=m
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_PHY_TUSB1210 is not set
@@ -5151,6 +5187,7 @@ CONFIG_PINCTRL_BROXTON=m
CONFIG_PINCTRL_CANNONLAKE=m
CONFIG_PINCTRL_CEDARFORK=m
CONFIG_PINCTRL_CHERRYVIEW=y
+CONFIG_PINCTRL_CS42L43=m
CONFIG_PINCTRL_CY8C95X0=m
CONFIG_PINCTRL_DENVERTON=m
CONFIG_PINCTRL_ELKHARTLAKE=m
@@ -5182,6 +5219,7 @@ CONFIG_PINCTRL_RK805=m
# CONFIG_PINCTRL_SM8150 is not set
# CONFIG_PINCTRL_SM8250 is not set
# CONFIG_PINCTRL_SM8350 is not set
+CONFIG_PINCTRL_SM8350_LPASS_LPI=m
# CONFIG_PINCTRL_SM8450 is not set
# CONFIG_PINCTRL_STMFX is not set
# CONFIG_PINCTRL_SUN4I_A10 is not set
@@ -5328,6 +5366,7 @@ CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS_DEFAULT is not set
CONFIG_PSTORE_842_COMPRESS=y
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -5349,6 +5388,7 @@ CONFIG_PTP_1588_CLOCK_IDT82P33=m
CONFIG_PTP_1588_CLOCK_IDTCM=m
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK_VMW=m
@@ -5440,6 +5480,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MEMORY=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -5501,6 +5542,7 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=y
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP=y
@@ -5509,6 +5551,7 @@ CONFIG_REGMAP=y
# CONFIG_REGULATOR_AD5398 is not set
CONFIG_REGULATOR_ARIZONA_LDO1=m
CONFIG_REGULATOR_ARIZONA_MICSUPP=m
+CONFIG_REGULATOR_AW37503=m
# CONFIG_REGULATOR_AXP20X is not set
# CONFIG_REGULATOR_BD9571MWV is not set
# CONFIG_REGULATOR_DA9121 is not set
@@ -5530,9 +5573,11 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_MAX1586 is not set
# CONFIG_REGULATOR_MAX20086 is not set
CONFIG_REGULATOR_MAX20411=m
+CONFIG_REGULATOR_MAX5970=m
CONFIG_REGULATOR_MAX597X=m
CONFIG_REGULATOR_MAX77650=m
# CONFIG_REGULATOR_MAX77826 is not set
+CONFIG_REGULATOR_MAX77857=m
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
CONFIG_REGULATOR_MAX8893=m
@@ -5565,6 +5610,7 @@ CONFIG_REGULATOR_RT6190=m
CONFIG_REGULATOR_RT6245=m
CONFIG_REGULATOR_RTMV20=m
CONFIG_REGULATOR_RTQ2134=m
+CONFIG_REGULATOR_RTQ2208=m
CONFIG_REGULATOR_RTQ6752=m
# CONFIG_REGULATOR_SLG51000 is not set
CONFIG_REGULATOR_SY7636A=m
@@ -5613,8 +5659,7 @@ CONFIG_RETPOLINE=y
CONFIG_RFKILL_GPIO=m
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-# CONFIG_RH_DISABLE_DEPRECATED is not set
-CONFIG_RH_FEDORA=y
+# CONFIG_RHEL_DIFFERENCES is not set
CONFIG_RICHTEK_RTQ6056=m
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
@@ -6023,6 +6068,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -6032,6 +6078,7 @@ CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_YAMA=y
+CONFIG_SEL3350_PLATFORM=m
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
@@ -6109,6 +6156,7 @@ CONFIG_SENSORS_HDAPS=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
CONFIG_SENSORS_HP_WMI=m
+CONFIG_SENSORS_HS3001=m
CONFIG_SENSORS_I5500=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_IBMAEM=m
@@ -6198,6 +6246,7 @@ CONFIG_SENSORS_MCP3021=m
CONFIG_SENSORS_MLXREG_FAN=m
CONFIG_SENSORS_MP2888=m
CONFIG_SENSORS_MP2975=m
+CONFIG_SENSORS_MP2975_REGULATOR=y
CONFIG_SENSORS_MP5023=m
CONFIG_SENSORS_MPQ7932=m
CONFIG_SENSORS_MPQ7932_REGULATOR=y
@@ -6525,6 +6574,9 @@ CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
+CONFIG_SND_HDA_SCODEC_CS35L56_I2C=m
+CONFIG_SND_HDA_SCODEC_CS35L56_SPI=m
+CONFIG_SND_HDA_SCODEC_TAS2781_I2C=m
# CONFIG_SND_HDA_TEGRA is not set
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
@@ -6639,7 +6691,9 @@ CONFIG_SND_SOC_AMD_VANGOGH_MACH=m
CONFIG_SND_SOC_AMD_YC_MACH=m
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+CONFIG_SND_SOC_AUDIO_IIO_AUX=m
CONFIG_SND_SOC_AW8738=m
+CONFIG_SND_SOC_AW88261=m
CONFIG_SND_SOC_AW88395=m
CONFIG_SND_SOC_BD28623=m
CONFIG_SND_SOC_BT_SCO=m
@@ -6665,6 +6719,8 @@ CONFIG_SND_SOC_CS4234=m
# CONFIG_SND_SOC_CS4271_SPI is not set
CONFIG_SND_SOC_CS42L42=m
CONFIG_SND_SOC_CS42L42_SDW=m
+CONFIG_SND_SOC_CS42L43=m
+CONFIG_SND_SOC_CS42L43_SDW=m
# CONFIG_SND_SOC_CS42L51_I2C is not set
# CONFIG_SND_SOC_CS42L52 is not set
# CONFIG_SND_SOC_CS42L56 is not set
@@ -6722,6 +6778,7 @@ CONFIG_SND_SOC_IDT821034=m
CONFIG_SND_SOC_INTEL_AVS=m
CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219=m
CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC=m
+CONFIG_SND_SOC_INTEL_AVS_MACH_ES8336=m
CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO=m
CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST=m
CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A=m
@@ -6732,6 +6789,7 @@ CONFIG_SND_SOC_INTEL_AVS_MACH_PROBE=m
CONFIG_SND_SOC_INTEL_AVS_MACH_RT274=m
CONFIG_SND_SOC_INTEL_AVS_MACH_RT286=m
CONFIG_SND_SOC_INTEL_AVS_MACH_RT298=m
+CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663=m
CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682=m
CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567=m
CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m
@@ -6852,6 +6910,7 @@ CONFIG_SND_SOC_RL6231=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+CONFIG_SND_SOC_RT1017_SDCA_SDW=m
CONFIG_SND_SOC_RT1308=m
CONFIG_SND_SOC_RT1308_SDW=m
CONFIG_SND_SOC_RT1316_SDW=m
@@ -6893,6 +6952,7 @@ CONFIG_SND_SOC_SOF_ALDERLAKE=m
CONFIG_SND_SOC_SOF_AMD_REMBRANDT=m
CONFIG_SND_SOC_SOF_AMD_RENOIR=m
CONFIG_SND_SOC_SOF_AMD_TOPLEVEL=m
+CONFIG_SND_SOC_SOF_AMD_VANGOGH=m
CONFIG_SND_SOC_SOF_APOLLOLAKE=m
CONFIG_SND_SOC_SOF_BAYTRAIL=m
CONFIG_SND_SOC_SOF_BROADWELL=m
@@ -6912,6 +6972,7 @@ CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE=m
CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y
CONFIG_SND_SOC_SOF_JASPERLAKE=m
CONFIG_SND_SOC_SOF_KABYLAKE=m
+CONFIG_SND_SOC_SOF_LUNARLAKE=m
CONFIG_SND_SOC_SOF_MERRIFIELD=m
CONFIG_SND_SOC_SOF_METEORLAKE=m
# CONFIG_SND_SOC_SOF_MT8195 is not set
@@ -6984,6 +7045,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_SPI=m
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TOPOLOGY_BUILD is not set
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
CONFIG_SND_SOC_TS3A227E=m
@@ -7117,6 +7179,7 @@ CONFIG_SPI_AX88796C=m
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_CADENCE_QUADSPI is not set
# CONFIG_SPI_CADENCE_XSPI is not set
+# CONFIG_SPI_CS42L43 is not set
# CONFIG_SPI_DEBUG is not set
# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_DLN2=m
@@ -7258,6 +7321,7 @@ CONFIG_SURFACE_PRO3_BUTTON=m
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_SUSPEND=y
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_SWIOTLB=y
# CONFIG_SW_SYNC is not set
CONFIG_SX9310=m
@@ -7368,6 +7432,7 @@ CONFIG_TEST_CPUMASK=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
@@ -7449,6 +7514,8 @@ CONFIG_TIFM_7XX1=m
CONFIG_TIFM_CORE=m
CONFIG_TIGON3_HWMON=y
CONFIG_TIGON3=m
+# CONFIG_TI_ICSSG_PRUETH is not set
+CONFIG_TI_ICSS_IEP=m
CONFIG_TI_LMP92064=m
CONFIG_TIME_KUNIT_TEST=m
CONFIG_TIME_NS=y
@@ -7481,6 +7548,7 @@ CONFIG_TLS=m
CONFIG_TMP117=m
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_QUOTA=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
CONFIG_TOPSTAR_LAPTOP=m
@@ -7530,6 +7598,7 @@ CONFIG_TOUCHSCREEN_IMAGIS=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
CONFIG_TOUCHSCREEN_INEXIO=m
CONFIG_TOUCHSCREEN_IQS5XX=m
+CONFIG_TOUCHSCREEN_IQS7211=m
# CONFIG_TOUCHSCREEN_MAX11801 is not set
CONFIG_TOUCHSCREEN_MCS5000=m
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -7731,6 +7800,7 @@ CONFIG_USB_CHIPIDEA_IMX=m
CONFIG_USB_CHIPIDEA=m
CONFIG_USB_CHIPIDEA_MSM=m
CONFIG_USB_CHIPIDEA_PCI=m
+CONFIG_USB_CONFIGFS_F_MIDI2=y
# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set
# CONFIG_USB_CONN_GPIO is not set
CONFIG_USB_CXACRU=m
@@ -7746,6 +7816,8 @@ CONFIG_USB_DWC3_HAPS=m
# CONFIG_USB_DWC3_HOST is not set
CONFIG_USB_DWC3=m
# CONFIG_USB_DWC3_OF_SIMPLE is not set
+CONFIG_USB_DWC3_PCI=m
+CONFIG_USB_DWC3_ULPI=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_EHCI_FSL is not set
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
@@ -8070,6 +8142,8 @@ CONFIG_VETH=m
# CONFIG_VF610_DAC is not set
CONFIG_VFAT_FS=m
CONFIG_VFIO_CONTAINER=y
+# CONFIG_VFIO_DEVICE_CDEV is not set
+CONFIG_VFIO_GROUP=y
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO=m
CONFIG_VFIO_MDEV=m
@@ -8142,8 +8216,12 @@ CONFIG_VIDEO_CX88_ENABLE_VP3054=y
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_CX88_VP3054=m
CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_DS90UB913=m
+CONFIG_VIDEO_DS90UB953=m
+CONFIG_VIDEO_DS90UB960=m
# CONFIG_VIDEO_DT3155 is not set
CONFIG_VIDEO_DW9714=m
+CONFIG_VIDEO_DW9719=m
CONFIG_VIDEO_DW9768=m
CONFIG_VIDEO_DW9807_VCM=m
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -8541,6 +8619,7 @@ CONFIG_X86_SGX_KVM=y
CONFIG_X86_SGX=y
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
CONFIG_X86_UMIP=y
+CONFIG_X86_USER_SHADOW_STACK=y
CONFIG_X86_UV=y
# CONFIG_X86_VERBOSE_BOOTUP is not set
# CONFIG_X86_VSMP is not set
@@ -8573,6 +8652,7 @@ CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_PCIDEV_BACKEND=m
CONFIG_XEN_PCIDEV_FRONTEND=m
+CONFIG_XEN_PRIVCMD_IRQFD=y
CONFIG_XEN_PRIVCMD=m
# CONFIG_XEN_PVCALLS_BACKEND is not set
# CONFIG_XEN_PVCALLS_FRONTEND is not set
@@ -8603,6 +8683,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -8697,7 +8778,6 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
@@ -8705,9 +8785,7 @@ CONFIG_MFD_STEAMDECK=m
CONFIG_SENSORS_STEAMDECK=m
CONFIG_LEDS_STEAMDECK=m
CONFIG_EXTCON_STEAMDECK=m
-CONFIG_USB_DWC3_ULPI=y
CONFIG_USB_DWC3_DUAL_ROLE=y
-CONFIG_USB_DWC3_PCI=m
CONFIG_USB_DWC2_DUAL_ROLE=y
CONFIG_USB_DWC2_PCI=m
# CONFIG_USB_DWC2_DEBUG is not set
@@ -8736,3 +8814,4 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
# CONFIG_USB_DUMMY_HCD is not set
# CONFIG_USB_CONFIGFS is not set
# CONFIG_PHY_SAMSUNG_USB2 is not set
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-x86_64-rhel.config b/SOURCES/kernel-x86_64-rhel.config
index c529b4c..9115001 100644
--- a/SOURCES/kernel-x86_64-rhel.config
+++ b/SOURCES/kernel-x86_64-rhel.config
@@ -134,7 +134,7 @@ CONFIG_ACPI=y
# CONFIG_AD9832 is not set
# CONFIG_AD9834 is not set
# CONFIG_ADA4250 is not set
-# CONFIG_ADDRESS_MASKING is not set
+CONFIG_ADDRESS_MASKING=y
# CONFIG_ADE7854 is not set
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
@@ -225,7 +225,8 @@ CONFIG_AMD_MEM_ENCRYPT=y
CONFIG_AMD_NUMA=y
CONFIG_AMD_PHY=m
CONFIG_AMD_PMC=m
-# CONFIG_AMD_PMF is not set
+# CONFIG_AMD_PMF_DEBUG is not set
+CONFIG_AMD_PMF=m
CONFIG_AMD_PTDMA=m
CONFIG_AMD_SFH_HID=m
# CONFIG_AMDTEE is not set
@@ -842,6 +843,7 @@ CONFIG_COMMON_CLK_HI3798CV200=y
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
@@ -860,6 +862,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -906,6 +909,8 @@ CONFIG_CPU_UNRET_ENTRY=y
# CONFIG_CRAMFS is not set
# CONFIG_CRAMFS_MTD is not set
CONFIG_CRASH_DUMP=y
+CONFIG_CRASH_HOTPLUG=y
+CONFIG_CRASH_MAX_MEMORY_RANGES=8192
CONFIG_CRC16=y
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC32_SARWATE is not set
@@ -958,6 +963,7 @@ CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CHACHA20=m
+# CONFIG_CRYPTO_CHACHA20_P10 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CHACHA20_X86_64=y
CONFIG_CRYPTO_CMAC=y
@@ -1054,6 +1060,7 @@ CONFIG_CRYPTO_OFB=y
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_POLY1305=m
+# CONFIG_CRYPTO_POLY1305_P10 is not set
CONFIG_CRYPTO_POLY1305_X86_64=y
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
CONFIG_CRYPTO_RMD160=m
@@ -1280,6 +1287,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1302,6 +1310,7 @@ CONFIG_DMIID=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=m
@@ -1427,6 +1436,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MALI_DISPLAY is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
@@ -1500,6 +1510,7 @@ CONFIG_DRM_SIMPLEDRM=y
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1765,6 +1776,7 @@ CONFIG_FAT_KUNIT_TEST=m
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -1954,6 +1966,7 @@ CONFIG_GPIO_AMDPT=m
# CONFIG_GPIO_CADENCE is not set
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
+# CONFIG_GPIO_DS4520 is not set
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_EXAR is not set
@@ -2076,6 +2089,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_GOOGLE_HAMMER is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2240,7 +2254,6 @@ CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
# CONFIG_HW_RANDOM_BA431 is not set
# CONFIG_HW_RANDOM_CCTRNG is not set
-CONFIG_HW_RANDOM_HISI=y
# CONFIG_HW_RANDOM_HISTB is not set
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
@@ -2278,6 +2291,7 @@ CONFIG_I2C_AMD756_S4882=m
CONFIG_I2C_AMD8111=m
# CONFIG_I2C_AMD_MP2 is not set
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_ATR is not set
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_CHARDEV=m
@@ -2637,6 +2651,7 @@ CONFIG_INTEL_TURBO_MAX_3=y
CONFIG_INTEL_TXT=y
CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
CONFIG_INTEL_VBTN=m
+# CONFIG_INTEL_VSC is not set
CONFIG_INTEL_VSEC=m
# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
CONFIG_INTEL_WMI_THUNDERBOLT=m
@@ -2668,7 +2683,7 @@ CONFIG_IOSCHED_BFQ=y
CONFIG_IOSF_MBI=y
CONFIG_IOSM=m
# CONFIG_IO_STRICT_DEVMEM is not set
-# CONFIG_IO_URING is not set
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2754,6 +2769,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+# CONFIG_IPU_BRIDGE is not set
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
@@ -2831,6 +2847,7 @@ CONFIG_IR_RC6_DECODER=m
# CONFIG_IR_RCMM_DECODER is not set
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
# CONFIG_IR_SERIAL is not set
CONFIG_IR_SERIAL_TRANSMITTER=y
# CONFIG_IR_SHARP_DECODER is not set
@@ -2974,10 +2991,11 @@ CONFIG_KPROBES=y
CONFIG_KSM=y
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KVM_AMD=m
CONFIG_KVM_AMD_SEV=y
# CONFIG_KVM_BOOK3S_HV_P8_TIMING is not set
@@ -2986,6 +3004,7 @@ CONFIG_KVM_GUEST=y
CONFIG_KVM_INTEL=m
CONFIG_KVM=m
CONFIG_KVM_MMU_AUDIT=y
+# CONFIG_KVM_PROVE_MMU is not set
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
# CONFIG_KVM_XEN is not set
@@ -3056,6 +3075,7 @@ CONFIG_LEDS_MLXCPLD=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_RT4505 is not set
@@ -3199,7 +3219,9 @@ CONFIG_MANA_INFINIBAND=m
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
+CONFIG_MARVELL_GTI_WDT=y
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -3241,9 +3263,11 @@ CONFIG_MAXSMP=y
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
# CONFIG_MCP4922 is not set
# CONFIG_MCTP is not set
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -3295,6 +3319,7 @@ CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
CONFIG_MEMCPY_KUNIT_TEST=m
CONFIG_MEMCPY_SLOW_KUNIT_TEST=y
+CONFIG_MEMFD_CREATE=y
CONFIG_MEMORY_FAILURE=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTPLUG=y
@@ -3329,6 +3354,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_CS42L43_SDW is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9055 is not set
@@ -3484,6 +3511,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_FPGA=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -3774,6 +3802,7 @@ CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4193,6 +4222,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4242,6 +4272,7 @@ CONFIG_NVME_FC=m
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_QCOM_QFPROM is not set
+# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_NVMEM_RMEM is not set
CONFIG_NVMEM_SYSFS=y
@@ -4286,6 +4317,7 @@ CONFIG_OPENVSWITCH_VXLAN=m
CONFIG_OSF_PARTITION=y
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+# CONFIG_OVERLAY_FS_DEBUG is not set
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4370,6 +4402,7 @@ CONFIG_PARTITION_ADVANCED=y
# CONFIG_PCI200SYN is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
@@ -4469,6 +4502,7 @@ CONFIG_PHYLINK=m
# CONFIG_PHY_QCOM_EUSB2_REPEATER is not set
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
# CONFIG_PHY_QCOM_QMP is not set
# CONFIG_PHY_QCOM_QUSB2 is not set
# CONFIG_PHY_QCOM_SGMII_ETH is not set
@@ -4478,6 +4512,8 @@ CONFIG_PHYLINK=m
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+# CONFIG_PHY_RTK_RTD_USB2PHY is not set
+# CONFIG_PHY_RTK_RTD_USB3PHY is not set
CONFIG_PHYSICAL_ALIGN=0x200000
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_PHY_TUSB1210 is not set
@@ -4645,6 +4681,7 @@ CONFIG_PSI_DEFAULT_DISABLED=y
CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS is not set
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -4663,6 +4700,7 @@ CONFIG_PTE_MARKER_UFFD_WP=y
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_VMW=m
CONFIG_PTP_1588_CLOCK=y
@@ -4761,6 +4799,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MEMORY=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -4805,12 +4844,14 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
+# CONFIG_REGULATOR_AW37503 is not set
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_DEBUG is not set
@@ -4827,6 +4868,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_LTC3589 is not set
# CONFIG_REGULATOR_LTC3676 is not set
# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
@@ -4839,9 +4881,11 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_PWM is not set
+# CONFIG_REGULATOR_QCOM_REFGEN is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RT4803 is not set
# CONFIG_REGULATOR_RT5739 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_SY8106A is not set
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
@@ -4875,7 +4919,6 @@ CONFIG_RETPOLINE=y
# CONFIG_RFKILL_GPIO is not set
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RH_DISABLE_DEPRECATED=y
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RICHTEK_RTQ6056 is not set
CONFIG_RING_BUFFER_BENCHMARK=m
@@ -5269,6 +5312,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5278,6 +5322,7 @@ CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_YAMA=y
+# CONFIG_SEL3350_PLATFORM is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
@@ -5355,6 +5400,7 @@ CONFIG_SENSORS_HDAPS=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_HP_WMI is not set
+# CONFIG_SENSORS_HS3001 is not set
CONFIG_SENSORS_I5500=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_IBMAEM=m
@@ -5739,6 +5785,9 @@ CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
+CONFIG_SND_HDA_SCODEC_CS35L56_I2C=m
+CONFIG_SND_HDA_SCODEC_CS35L56_SPI=m
+CONFIG_SND_HDA_SCODEC_TAS2781_I2C=m
# CONFIG_SND_HDA_TEGRA is not set
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
@@ -5849,7 +5898,9 @@ CONFIG_SND_SOC_AMD_VANGOGH_MACH=m
CONFIG_SND_SOC_AMD_YC_MACH=m
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set
# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88261 is not set
# CONFIG_SND_SOC_AW88395 is not set
# CONFIG_SND_SOC_BD28623 is not set
# CONFIG_SND_SOC_BT_SCO is not set
@@ -5866,7 +5917,7 @@ CONFIG_SND_SOC_CS35L41_SPI=m
# CONFIG_SND_SOC_CS35L45_I2C is not set
# CONFIG_SND_SOC_CS35L45_SPI is not set
# CONFIG_SND_SOC_CS35L56_I2C is not set
-# CONFIG_SND_SOC_CS35L56_SDW is not set
+CONFIG_SND_SOC_CS35L56_SDW=m
# CONFIG_SND_SOC_CS35L56_SPI is not set
# CONFIG_SND_SOC_CS4234 is not set
# CONFIG_SND_SOC_CS4265 is not set
@@ -5931,6 +5982,7 @@ CONFIG_SND_SOC_HDAC_HDMI=m
CONFIG_SND_SOC_INTEL_AVS=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_ES8336 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A is not set
@@ -5941,6 +5993,7 @@ CONFIG_SND_SOC_INTEL_AVS=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT274 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT286 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT298 is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567 is not set
CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m
@@ -6061,6 +6114,7 @@ CONFIG_SND_SOC_RL6231=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+# CONFIG_SND_SOC_RT1017_SDCA_SDW is not set
CONFIG_SND_SOC_RT1308=m
CONFIG_SND_SOC_RT1308_SDW=m
CONFIG_SND_SOC_RT1316_SDW=m
@@ -6120,6 +6174,7 @@ CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE=m
CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y
CONFIG_SND_SOC_SOF_JASPERLAKE=m
# CONFIG_SND_SOC_SOF_KABYLAKE is not set
+CONFIG_SND_SOC_SOF_LUNARLAKE=m
CONFIG_SND_SOC_SOF_MERRIFIELD=m
CONFIG_SND_SOC_SOF_METEORLAKE=m
# CONFIG_SND_SOC_SOF_OF is not set
@@ -6190,6 +6245,7 @@ CONFIG_SND_SOC_SSM4567=m
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TOPOLOGY_BUILD is not set
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
CONFIG_SND_SOC_TS3A227E=m
@@ -6429,6 +6485,7 @@ CONFIG_SUNRPC_XPRT_RDMA=m
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_SUSPEND=y
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_SWIOTLB=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9310 is not set
@@ -6534,6 +6591,7 @@ CONFIG_TEST_CPUMASK=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
@@ -6645,6 +6703,7 @@ CONFIG_TLS=m
# CONFIG_TMP117 is not set
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_TMPFS_QUOTA is not set
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_TOOLCHAIN_DEFAULT_CPU is not set
@@ -6693,6 +6752,7 @@ CONFIG_TOUCHSCREEN_ELO=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -7199,8 +7259,12 @@ CONFIG_VIDEO_CX88_DVB=m
# CONFIG_VIDEO_CX88_ENABLE_VP3054 is not set
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_DEV=m
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
# CONFIG_VIDEO_DT3155 is not set
# CONFIG_VIDEO_DW9714 is not set
+CONFIG_VIDEO_DW9719=m
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -7530,6 +7594,7 @@ CONFIG_X86_SGX_KVM=y
CONFIG_X86_SGX=y
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
CONFIG_X86_UMIP=y
+CONFIG_X86_USER_SHADOW_STACK=y
CONFIG_X86_UV=y
# CONFIG_X86_VERBOSE_BOOTUP is not set
# CONFIG_X86_VSMP is not set
@@ -7579,6 +7644,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -7662,7 +7728,6 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
@@ -7704,3 +7769,4 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
# CONFIG_USB_DUMMY_HCD is not set
# CONFIG_USB_CONFIGFS is not set
# CONFIG_PHY_SAMSUNG_USB2 is not set
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-x86_64-rt-debug-rhel.config b/SOURCES/kernel-x86_64-rt-debug-rhel.config
index 3a7fbfc..a9ec149 100644
--- a/SOURCES/kernel-x86_64-rt-debug-rhel.config
+++ b/SOURCES/kernel-x86_64-rt-debug-rhel.config
@@ -134,7 +134,7 @@ CONFIG_ACPI=y
# CONFIG_AD9832 is not set
# CONFIG_AD9834 is not set
# CONFIG_ADA4250 is not set
-# CONFIG_ADDRESS_MASKING is not set
+CONFIG_ADDRESS_MASKING=y
# CONFIG_ADE7854 is not set
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
@@ -225,7 +225,8 @@ CONFIG_AMD_MEM_ENCRYPT=y
CONFIG_AMD_NUMA=y
CONFIG_AMD_PHY=m
CONFIG_AMD_PMC=m
-# CONFIG_AMD_PMF is not set
+CONFIG_AMD_PMF_DEBUG=y
+CONFIG_AMD_PMF=m
CONFIG_AMD_PTDMA=m
CONFIG_AMD_SFH_HID=m
# CONFIG_AMDTEE is not set
@@ -842,6 +843,7 @@ CONFIG_COMMON_CLK_HI3798CV200=y
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
@@ -860,6 +862,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -907,6 +910,8 @@ CONFIG_CRAMFS_BLOCKDEV=y
# CONFIG_CRAMFS is not set
# CONFIG_CRAMFS_MTD is not set
CONFIG_CRASH_DUMP=y
+CONFIG_CRASH_HOTPLUG=y
+CONFIG_CRASH_MAX_MEMORY_RANGES=8192
CONFIG_CRC16=y
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC32_SARWATE is not set
@@ -959,6 +964,7 @@ CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CHACHA20=m
+# CONFIG_CRYPTO_CHACHA20_P10 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CHACHA20_X86_64=y
CONFIG_CRYPTO_CMAC=y
@@ -1055,6 +1061,7 @@ CONFIG_CRYPTO_OFB=y
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_POLY1305=m
+# CONFIG_CRYPTO_POLY1305_P10 is not set
CONFIG_CRYPTO_POLY1305_X86_64=y
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
CONFIG_CRYPTO_RMD160=m
@@ -1290,6 +1297,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1312,6 +1320,7 @@ CONFIG_DMIID=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=m
@@ -1437,6 +1446,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MALI_DISPLAY is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
@@ -1510,6 +1520,7 @@ CONFIG_DRM_SIMPLEDRM=y
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1819,6 +1830,7 @@ CONFIG_FAULT_INJECTION=y
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -2009,6 +2021,7 @@ CONFIG_GPIO_AMDPT=m
# CONFIG_GPIO_CADENCE is not set
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
+# CONFIG_GPIO_DS4520 is not set
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_EXAR is not set
@@ -2132,6 +2145,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_GOOGLE_HAMMER is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2296,7 +2310,6 @@ CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
# CONFIG_HW_RANDOM_BA431 is not set
# CONFIG_HW_RANDOM_CCTRNG is not set
-CONFIG_HW_RANDOM_HISI=y
# CONFIG_HW_RANDOM_HISTB is not set
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
@@ -2334,6 +2347,7 @@ CONFIG_I2C_AMD756_S4882=m
CONFIG_I2C_AMD8111=m
# CONFIG_I2C_AMD_MP2 is not set
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_ATR is not set
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_CHARDEV=m
@@ -2693,6 +2707,7 @@ CONFIG_INTEL_TURBO_MAX_3=y
CONFIG_INTEL_TXT=y
CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
CONFIG_INTEL_VBTN=m
+# CONFIG_INTEL_VSC is not set
CONFIG_INTEL_VSEC=m
# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
CONFIG_INTEL_WMI_THUNDERBOLT=m
@@ -2724,7 +2739,7 @@ CONFIG_IOSCHED_BFQ=y
CONFIG_IOSF_MBI=y
CONFIG_IOSM=m
# CONFIG_IO_STRICT_DEVMEM is not set
-# CONFIG_IO_URING is not set
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2810,6 +2825,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+# CONFIG_IPU_BRIDGE is not set
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
@@ -2887,6 +2903,7 @@ CONFIG_IR_RC6_DECODER=m
# CONFIG_IR_RCMM_DECODER is not set
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
# CONFIG_IR_SERIAL is not set
CONFIG_IR_SERIAL_TRANSMITTER=y
# CONFIG_IR_SHARP_DECODER is not set
@@ -3034,10 +3051,11 @@ CONFIG_KPROBES=y
CONFIG_KSM=y
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KVM_AMD=m
CONFIG_KVM_AMD_SEV=y
# CONFIG_KVM_BOOK3S_HV_P8_TIMING is not set
@@ -3046,6 +3064,7 @@ CONFIG_KVM_GUEST=y
CONFIG_KVM_INTEL=m
CONFIG_KVM=m
CONFIG_KVM_MMU_AUDIT=y
+CONFIG_KVM_PROVE_MMU=y
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
# CONFIG_KVM_XEN is not set
@@ -3116,6 +3135,7 @@ CONFIG_LEDS_MLXCPLD=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_RT4505 is not set
@@ -3259,7 +3279,9 @@ CONFIG_MANA_INFINIBAND=m
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
+CONFIG_MARVELL_GTI_WDT=y
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -3301,9 +3323,11 @@ CONFIG_MAXSMP=y
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
# CONFIG_MCP4922 is not set
# CONFIG_MCTP is not set
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -3360,6 +3384,7 @@ CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
CONFIG_MEMCPY_KUNIT_TEST=m
CONFIG_MEMCPY_SLOW_KUNIT_TEST=y
+CONFIG_MEMFD_CREATE=y
CONFIG_MEMORY_FAILURE=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTPLUG=y
@@ -3394,6 +3419,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_CS42L43_SDW is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9055 is not set
@@ -3549,6 +3576,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_FPGA=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -3839,6 +3867,7 @@ CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4258,6 +4287,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4307,6 +4337,7 @@ CONFIG_NVME_FC=m
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_QCOM_QFPROM is not set
+# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_NVMEM_RMEM is not set
CONFIG_NVMEM_SYSFS=y
@@ -4351,6 +4382,7 @@ CONFIG_OPENVSWITCH_VXLAN=m
CONFIG_OSF_PARTITION=y
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+CONFIG_OVERLAY_FS_DEBUG=y
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4436,6 +4468,7 @@ CONFIG_PARTITION_ADVANCED=y
# CONFIG_PCI200SYN is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
@@ -4535,6 +4568,7 @@ CONFIG_PHYLINK=m
# CONFIG_PHY_QCOM_EUSB2_REPEATER is not set
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
# CONFIG_PHY_QCOM_QMP is not set
# CONFIG_PHY_QCOM_QUSB2 is not set
# CONFIG_PHY_QCOM_SGMII_ETH is not set
@@ -4544,6 +4578,8 @@ CONFIG_PHYLINK=m
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+# CONFIG_PHY_RTK_RTD_USB2PHY is not set
+# CONFIG_PHY_RTK_RTD_USB3PHY is not set
CONFIG_PHYSICAL_ALIGN=0x200000
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_PHY_TUSB1210 is not set
@@ -4716,6 +4752,7 @@ CONFIG_PSI_DEFAULT_DISABLED=y
CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS is not set
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -4734,6 +4771,7 @@ CONFIG_PTE_MARKER_UFFD_WP=y
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_VMW=m
CONFIG_PTP_1588_CLOCK=y
@@ -4832,6 +4870,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MEMORY=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -4879,12 +4918,14 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
+# CONFIG_REGULATOR_AW37503 is not set
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_DEBUG is not set
@@ -4901,6 +4942,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_LTC3589 is not set
# CONFIG_REGULATOR_LTC3676 is not set
# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
@@ -4913,9 +4955,11 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_PWM is not set
+# CONFIG_REGULATOR_QCOM_REFGEN is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RT4803 is not set
# CONFIG_REGULATOR_RT5739 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_SY8106A is not set
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
@@ -4949,7 +4993,6 @@ CONFIG_RETPOLINE=y
# CONFIG_RFKILL_GPIO is not set
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RH_DISABLE_DEPRECATED=y
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RICHTEK_RTQ6056 is not set
CONFIG_RING_BUFFER_BENCHMARK=m
@@ -5343,6 +5386,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5352,6 +5396,7 @@ CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_YAMA=y
+# CONFIG_SEL3350_PLATFORM is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
@@ -5429,6 +5474,7 @@ CONFIG_SENSORS_HDAPS=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_HP_WMI is not set
+# CONFIG_SENSORS_HS3001 is not set
CONFIG_SENSORS_I5500=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_IBMAEM=m
@@ -5815,6 +5861,9 @@ CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
+CONFIG_SND_HDA_SCODEC_CS35L56_I2C=m
+CONFIG_SND_HDA_SCODEC_CS35L56_SPI=m
+CONFIG_SND_HDA_SCODEC_TAS2781_I2C=m
# CONFIG_SND_HDA_TEGRA is not set
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
@@ -5926,7 +5975,9 @@ CONFIG_SND_SOC_AMD_VANGOGH_MACH=m
CONFIG_SND_SOC_AMD_YC_MACH=m
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set
# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88261 is not set
# CONFIG_SND_SOC_AW88395 is not set
# CONFIG_SND_SOC_BD28623 is not set
# CONFIG_SND_SOC_BT_SCO is not set
@@ -5943,7 +5994,7 @@ CONFIG_SND_SOC_CS35L41_SPI=m
# CONFIG_SND_SOC_CS35L45_I2C is not set
# CONFIG_SND_SOC_CS35L45_SPI is not set
# CONFIG_SND_SOC_CS35L56_I2C is not set
-# CONFIG_SND_SOC_CS35L56_SDW is not set
+CONFIG_SND_SOC_CS35L56_SDW=m
# CONFIG_SND_SOC_CS35L56_SPI is not set
# CONFIG_SND_SOC_CS4234 is not set
# CONFIG_SND_SOC_CS4265 is not set
@@ -6008,6 +6059,7 @@ CONFIG_SND_SOC_HDAC_HDMI=m
CONFIG_SND_SOC_INTEL_AVS=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_ES8336 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A is not set
@@ -6018,6 +6070,7 @@ CONFIG_SND_SOC_INTEL_AVS=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT274 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT286 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT298 is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567 is not set
CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m
@@ -6138,6 +6191,7 @@ CONFIG_SND_SOC_RL6231=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+# CONFIG_SND_SOC_RT1017_SDCA_SDW is not set
CONFIG_SND_SOC_RT1308=m
CONFIG_SND_SOC_RT1308_SDW=m
CONFIG_SND_SOC_RT1316_SDW=m
@@ -6198,6 +6252,7 @@ CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE=m
CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y
CONFIG_SND_SOC_SOF_JASPERLAKE=m
# CONFIG_SND_SOC_SOF_KABYLAKE is not set
+CONFIG_SND_SOC_SOF_LUNARLAKE=m
CONFIG_SND_SOC_SOF_MERRIFIELD=m
CONFIG_SND_SOC_SOF_METEORLAKE=m
# CONFIG_SND_SOC_SOF_OF is not set
@@ -6268,6 +6323,7 @@ CONFIG_SND_SOC_SSM4567=m
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+CONFIG_SND_SOC_TOPOLOGY_BUILD=y
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
CONFIG_SND_SOC_TS3A227E=m
@@ -6507,6 +6563,7 @@ CONFIG_SUNRPC_XPRT_RDMA=m
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_SUSPEND=y
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_SWIOTLB=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9310 is not set
@@ -6612,6 +6669,7 @@ CONFIG_TEST_FPU=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_LIST_SORT=m
@@ -6723,6 +6781,7 @@ CONFIG_TLS=m
# CONFIG_TMP117 is not set
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_TMPFS_QUOTA is not set
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_TOOLCHAIN_DEFAULT_CPU is not set
@@ -6771,6 +6830,7 @@ CONFIG_TOUCHSCREEN_ELO=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -7278,8 +7338,12 @@ CONFIG_VIDEO_CX88_DVB=m
# CONFIG_VIDEO_CX88_ENABLE_VP3054 is not set
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_DEV=m
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
# CONFIG_VIDEO_DT3155 is not set
# CONFIG_VIDEO_DW9714 is not set
+CONFIG_VIDEO_DW9719=m
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -7611,6 +7675,7 @@ CONFIG_X86_SGX=y
CONFIG_X86_SMAP=y
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
CONFIG_X86_UMIP=y
+CONFIG_X86_USER_SHADOW_STACK=y
CONFIG_X86_UV=y
# CONFIG_X86_VERBOSE_BOOTUP is not set
# CONFIG_X86_VSMP is not set
@@ -7660,6 +7725,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -7748,7 +7814,6 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
@@ -7790,3 +7855,4 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
# CONFIG_USB_DUMMY_HCD is not set
# CONFIG_USB_CONFIGFS is not set
# CONFIG_PHY_SAMSUNG_USB2 is not set
+CONFIG_WINESYNC=y
diff --git a/SOURCES/kernel-x86_64-rt-rhel.config b/SOURCES/kernel-x86_64-rt-rhel.config
index a8cdfb8..741d909 100644
--- a/SOURCES/kernel-x86_64-rt-rhel.config
+++ b/SOURCES/kernel-x86_64-rt-rhel.config
@@ -134,7 +134,7 @@ CONFIG_ACPI=y
# CONFIG_AD9832 is not set
# CONFIG_AD9834 is not set
# CONFIG_ADA4250 is not set
-# CONFIG_ADDRESS_MASKING is not set
+CONFIG_ADDRESS_MASKING=y
# CONFIG_ADE7854 is not set
# CONFIG_ADF4350 is not set
# CONFIG_ADF4371 is not set
@@ -225,7 +225,8 @@ CONFIG_AMD_MEM_ENCRYPT=y
CONFIG_AMD_NUMA=y
CONFIG_AMD_PHY=m
CONFIG_AMD_PMC=m
-# CONFIG_AMD_PMF is not set
+# CONFIG_AMD_PMF_DEBUG is not set
+CONFIG_AMD_PMF=m
CONFIG_AMD_PTDMA=m
CONFIG_AMD_SFH_HID=m
# CONFIG_AMDTEE is not set
@@ -842,6 +843,7 @@ CONFIG_COMMON_CLK_HI3798CV200=y
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_VC3 is not set
# CONFIG_COMMON_CLK_VC5 is not set
# CONFIG_COMMON_CLK_VC7 is not set
# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
@@ -860,6 +862,7 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_COPS is not set
CONFIG_CORDIC=m
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_COREDUMP=y
@@ -907,6 +910,8 @@ CONFIG_CRAMFS_BLOCKDEV=y
# CONFIG_CRAMFS is not set
# CONFIG_CRAMFS_MTD is not set
CONFIG_CRASH_DUMP=y
+CONFIG_CRASH_HOTPLUG=y
+CONFIG_CRASH_MAX_MEMORY_RANGES=8192
CONFIG_CRC16=y
# CONFIG_CRC32_BIT is not set
# CONFIG_CRC32_SARWATE is not set
@@ -959,6 +964,7 @@ CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CHACHA20=m
+# CONFIG_CRYPTO_CHACHA20_P10 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_CHACHA20_X86_64=y
CONFIG_CRYPTO_CMAC=y
@@ -1055,6 +1061,7 @@ CONFIG_CRYPTO_OFB=y
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_POLY1305=m
+# CONFIG_CRYPTO_POLY1305_P10 is not set
CONFIG_CRYPTO_POLY1305_X86_64=y
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
CONFIG_CRYPTO_RMD160=m
@@ -1282,6 +1289,7 @@ CONFIG_DMADEVICES=y
CONFIG_DMA_ENGINE=y
# CONFIG_DMA_FENCE_TRACE is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_DMA_NUMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set
# CONFIG_DMAPOOL_TEST is not set
# CONFIG_DMARD06 is not set
@@ -1304,6 +1312,7 @@ CONFIG_DMIID=y
CONFIG_DM_INTEGRITY=m
CONFIG_DMI_SYSFS=y
CONFIG_DMI=y
+# CONFIG_DM_KUNIT_TEST is not set
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_MIRROR=m
@@ -1429,6 +1438,7 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE=y
# CONFIG_DRM_LONTIUM_LT9211 is not set
# CONFIG_DRM_LONTIUM_LT9611 is not set
# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_LOONGSON is not set
# CONFIG_DRM_LVDS_CODEC is not set
# CONFIG_DRM_MALI_DISPLAY is not set
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
@@ -1502,6 +1512,7 @@ CONFIG_DRM_SIMPLEDRM=y
# CONFIG_DRM_TOSHIBA_TC358767 is not set
# CONFIG_DRM_TOSHIBA_TC358768 is not set
# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TTM_KUNIT_TEST is not set
CONFIG_DRM_UDL=m
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
# CONFIG_DRM_VBOXVIDEO is not set
@@ -1803,6 +1814,7 @@ CONFIG_FAT_KUNIT_TEST=m
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_DA8XX is not set
+CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
@@ -1993,6 +2005,7 @@ CONFIG_GPIO_AMDPT=m
# CONFIG_GPIO_CADENCE is not set
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_CDEV=y
+# CONFIG_GPIO_DS4520 is not set
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_ELKHARTLAKE is not set
# CONFIG_GPIO_EXAR is not set
@@ -2116,6 +2129,7 @@ CONFIG_HID_GENERIC=y
CONFIG_HID_GFRM=m
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_GOOGLE_HAMMER is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
CONFIG_HID_GREENASIA=m
CONFIG_HID_GT683R=m
CONFIG_HID_GYRATION=m
@@ -2280,7 +2294,6 @@ CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
# CONFIG_HW_RANDOM_BA431 is not set
# CONFIG_HW_RANDOM_CCTRNG is not set
-CONFIG_HW_RANDOM_HISI=y
# CONFIG_HW_RANDOM_HISTB is not set
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_TIMERIOMEM=m
@@ -2318,6 +2331,7 @@ CONFIG_I2C_AMD756_S4882=m
CONFIG_I2C_AMD8111=m
# CONFIG_I2C_AMD_MP2 is not set
# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_ATR is not set
# CONFIG_I2C_CADENCE is not set
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_CHARDEV=m
@@ -2677,6 +2691,7 @@ CONFIG_INTEL_TURBO_MAX_3=y
CONFIG_INTEL_TXT=y
CONFIG_INTEL_UNCORE_FREQ_CONTROL=m
CONFIG_INTEL_VBTN=m
+# CONFIG_INTEL_VSC is not set
CONFIG_INTEL_VSEC=m
# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
CONFIG_INTEL_WMI_THUNDERBOLT=m
@@ -2708,7 +2723,7 @@ CONFIG_IOSCHED_BFQ=y
CONFIG_IOSF_MBI=y
CONFIG_IOSM=m
# CONFIG_IO_STRICT_DEVMEM is not set
-# CONFIG_IO_URING is not set
+CONFIG_IO_URING=y
# CONFIG_IP5XXX_POWER is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_IPTABLES=m
@@ -2794,6 +2809,7 @@ CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
+# CONFIG_IPU_BRIDGE is not set
CONFIG_IPV6_GRE=m
# CONFIG_IPV6_ILA is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
@@ -2871,6 +2887,7 @@ CONFIG_IR_RC6_DECODER=m
# CONFIG_IR_RCMM_DECODER is not set
CONFIG_IR_REDRAT3=m
CONFIG_IR_SANYO_DECODER=m
+# CONFIG_IRSD200 is not set
# CONFIG_IR_SERIAL is not set
CONFIG_IR_SERIAL_TRANSMITTER=y
# CONFIG_IR_SHARP_DECODER is not set
@@ -3014,10 +3031,11 @@ CONFIG_KPROBES=y
CONFIG_KSM=y
CONFIG_KUNIT_ALL_TESTS=m
CONFIG_KUNIT_DEBUGFS=y
-CONFIG_KUNIT_DEFAULT_ENABLED=y
+# CONFIG_KUNIT_DEFAULT_ENABLED is not set
CONFIG_KUNIT_EXAMPLE_TEST=m
CONFIG_KUNIT=m
CONFIG_KUNIT_TEST=m
+# CONFIG_KUNPENG_HCCS is not set
CONFIG_KVM_AMD=m
CONFIG_KVM_AMD_SEV=y
# CONFIG_KVM_BOOK3S_HV_P8_TIMING is not set
@@ -3026,6 +3044,7 @@ CONFIG_KVM_GUEST=y
CONFIG_KVM_INTEL=m
CONFIG_KVM=m
CONFIG_KVM_MMU_AUDIT=y
+# CONFIG_KVM_PROVE_MMU is not set
CONFIG_KVM_SMM=y
# CONFIG_KVM_WERROR is not set
# CONFIG_KVM_XEN is not set
@@ -3096,6 +3115,7 @@ CONFIG_LEDS_MLXCPLD=m
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_REGULATOR is not set
# CONFIG_LEDS_RT4505 is not set
@@ -3239,7 +3259,9 @@ CONFIG_MANA_INFINIBAND=m
CONFIG_MANTIS_CORE=m
# CONFIG_MARCH_Z16 is not set
CONFIG_MARVELL_10G_PHY=m
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
+CONFIG_MARVELL_GTI_WDT=y
CONFIG_MARVELL_PHY=m
# CONFIG_MATOM is not set
# CONFIG_MAX1027 is not set
@@ -3281,9 +3303,11 @@ CONFIG_MAXSMP=y
# CONFIG_MCP4131 is not set
# CONFIG_MCP4531 is not set
# CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
# CONFIG_MCP4922 is not set
# CONFIG_MCTP is not set
CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
# CONFIG_MD_CLUSTER is not set
CONFIG_MD_FAULTY=m
CONFIG_MDIO_BCM_UNIMAC=m
@@ -3340,6 +3364,7 @@ CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG=y
CONFIG_MEMCPY_KUNIT_TEST=m
CONFIG_MEMCPY_SLOW_KUNIT_TEST=y
+CONFIG_MEMFD_CREATE=y
CONFIG_MEMORY_FAILURE=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTPLUG=y
@@ -3374,6 +3399,8 @@ CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_CS42L43_SDW is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9055 is not set
@@ -3529,6 +3556,7 @@ CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_FPGA=y
CONFIG_MLX5_INFINIBAND=m
CONFIG_MLX5_IPSEC=y
+CONFIG_MLX5_MACSEC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SW_STEERING=y
@@ -3819,6 +3847,7 @@ CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS=y
CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
CONFIG_NETCONSOLE=m
CONFIG_NET_CORE=y
CONFIG_NETDEV_ADDR_LIST_TEST=m
@@ -4238,6 +4267,7 @@ CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UCS2_UTILS=m
CONFIG_NLS_UTF8=m
CONFIG_NLS=y
# CONFIG_NMI_CHECK_CPU is not set
@@ -4287,6 +4317,7 @@ CONFIG_NVME_FC=m
# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
# CONFIG_NVMEM_QCOM_QFPROM is not set
+# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set
# CONFIG_NVMEM_REBOOT_MODE is not set
# CONFIG_NVMEM_RMEM is not set
CONFIG_NVMEM_SYSFS=y
@@ -4331,6 +4362,7 @@ CONFIG_OPENVSWITCH_VXLAN=m
CONFIG_OSF_PARTITION=y
CONFIG_OSNOISE_TRACER=y
CONFIG_OVERFLOW_KUNIT_TEST=m
+# CONFIG_OVERLAY_FS_DEBUG is not set
# CONFIG_OVERLAY_FS_INDEX is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_METACOPY is not set
@@ -4415,6 +4447,7 @@ CONFIG_PARTITION_ADVANCED=y
# CONFIG_PCI200SYN is not set
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIEAER=y
# CONFIG_PCIE_ALTERA is not set
@@ -4514,6 +4547,7 @@ CONFIG_PHYLINK=m
# CONFIG_PHY_QCOM_EUSB2_REPEATER is not set
# CONFIG_PHY_QCOM_IPQ4019_USB is not set
# CONFIG_PHY_QCOM_IPQ806X_USB is not set
+# CONFIG_PHY_QCOM_M31_USB is not set
# CONFIG_PHY_QCOM_QMP is not set
# CONFIG_PHY_QCOM_QUSB2 is not set
# CONFIG_PHY_QCOM_SGMII_ETH is not set
@@ -4523,6 +4557,8 @@ CONFIG_PHYLINK=m
# CONFIG_PHY_QCOM_USB_HS is not set
# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set
# CONFIG_PHY_QCOM_USB_SS is not set
+# CONFIG_PHY_RTK_RTD_USB2PHY is not set
+# CONFIG_PHY_RTK_RTD_USB3PHY is not set
CONFIG_PHYSICAL_ALIGN=0x200000
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_PHY_TUSB1210 is not set
@@ -4694,6 +4730,7 @@ CONFIG_PSI_DEFAULT_DISABLED=y
CONFIG_PSI=y
# CONFIG_PSTORE_842_COMPRESS is not set
# CONFIG_PSTORE_BLK is not set
+CONFIG_PSTORE_COMPRESS=y
# CONFIG_PSTORE_CONSOLE is not set
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
@@ -4712,6 +4749,7 @@ CONFIG_PTE_MARKER_UFFD_WP=y
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
# CONFIG_PTP_1588_CLOCK_OCP is not set
CONFIG_PTP_1588_CLOCK_VMW=m
CONFIG_PTP_1588_CLOCK=y
@@ -4810,6 +4848,7 @@ CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa
CONFIG_RANDOMIZE_MEMORY=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
CONFIG_RANDOM_TRUST_BOOTLOADER=y
CONFIG_RANDOM_TRUST_CPU=y
# CONFIG_RANDSTRUCT_FULL is not set
@@ -4857,12 +4896,14 @@ CONFIG_RD_ZSTD=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_REALTEK_PHY=m
# CONFIG_REED_SOLOMON_TEST is not set
+# CONFIG_REGMAP_BUILD is not set
CONFIG_REGMAP_KUNIT=m
CONFIG_REGMAP=y
# CONFIG_REGULATOR_88PG86X is not set
# CONFIG_REGULATOR_ACT8865 is not set
# CONFIG_REGULATOR_AD5398 is not set
# CONFIG_REGULATOR_ANATOP is not set
+# CONFIG_REGULATOR_AW37503 is not set
# CONFIG_REGULATOR_DA9210 is not set
# CONFIG_REGULATOR_DA9211 is not set
# CONFIG_REGULATOR_DEBUG is not set
@@ -4879,6 +4920,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_LTC3589 is not set
# CONFIG_REGULATOR_LTC3676 is not set
# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
# CONFIG_REGULATOR_MAX8649 is not set
# CONFIG_REGULATOR_MAX8660 is not set
# CONFIG_REGULATOR_MAX8952 is not set
@@ -4891,9 +4933,11 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m
# CONFIG_REGULATOR_PV88080 is not set
# CONFIG_REGULATOR_PV88090 is not set
# CONFIG_REGULATOR_PWM is not set
+# CONFIG_REGULATOR_QCOM_REFGEN is not set
# CONFIG_REGULATOR_RAA215300 is not set
# CONFIG_REGULATOR_RT4803 is not set
# CONFIG_REGULATOR_RT5739 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
# CONFIG_REGULATOR_SY8106A is not set
# CONFIG_REGULATOR_TPS51632 is not set
# CONFIG_REGULATOR_TPS62360 is not set
@@ -4927,7 +4971,6 @@ CONFIG_RETPOLINE=y
# CONFIG_RFKILL_GPIO is not set
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL=m
-CONFIG_RH_DISABLE_DEPRECATED=y
CONFIG_RHEL_DIFFERENCES=y
# CONFIG_RICHTEK_RTQ6056 is not set
CONFIG_RING_BUFFER_BENCHMARK=m
@@ -5321,6 +5364,7 @@ CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
+# CONFIG_SECURITY_SELINUX_DEBUG is not set
CONFIG_SECURITY_SELINUX_DEVELOP=y
# CONFIG_SECURITY_SELINUX_DISABLE is not set
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
@@ -5330,6 +5374,7 @@ CONFIG_SECURITY_SELINUX=y
# CONFIG_SECURITY_TOMOYO is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_YAMA=y
+# CONFIG_SEL3350_PLATFORM is not set
# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
# CONFIG_SENSIRION_SGP30 is not set
# CONFIG_SENSIRION_SGP40 is not set
@@ -5407,6 +5452,7 @@ CONFIG_SENSORS_HDAPS=m
# CONFIG_SENSORS_HMC5843_I2C is not set
# CONFIG_SENSORS_HMC5843_SPI is not set
# CONFIG_SENSORS_HP_WMI is not set
+# CONFIG_SENSORS_HS3001 is not set
CONFIG_SENSORS_I5500=m
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_IBMAEM=m
@@ -5793,6 +5839,9 @@ CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m
CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m
+CONFIG_SND_HDA_SCODEC_CS35L56_I2C=m
+CONFIG_SND_HDA_SCODEC_CS35L56_SPI=m
+CONFIG_SND_HDA_SCODEC_TAS2781_I2C=m
# CONFIG_SND_HDA_TEGRA is not set
CONFIG_SND_HDSP=m
CONFIG_SND_HDSPM=m
@@ -5903,7 +5952,9 @@ CONFIG_SND_SOC_AMD_VANGOGH_MACH=m
CONFIG_SND_SOC_AMD_YC_MACH=m
# CONFIG_SND_SOC_APQ8016_SBC is not set
# CONFIG_SND_SOC_ARNDALE is not set
+# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set
# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88261 is not set
# CONFIG_SND_SOC_AW88395 is not set
# CONFIG_SND_SOC_BD28623 is not set
# CONFIG_SND_SOC_BT_SCO is not set
@@ -5920,7 +5971,7 @@ CONFIG_SND_SOC_CS35L41_SPI=m
# CONFIG_SND_SOC_CS35L45_I2C is not set
# CONFIG_SND_SOC_CS35L45_SPI is not set
# CONFIG_SND_SOC_CS35L56_I2C is not set
-# CONFIG_SND_SOC_CS35L56_SDW is not set
+CONFIG_SND_SOC_CS35L56_SDW=m
# CONFIG_SND_SOC_CS35L56_SPI is not set
# CONFIG_SND_SOC_CS4234 is not set
# CONFIG_SND_SOC_CS4265 is not set
@@ -5985,6 +6036,7 @@ CONFIG_SND_SOC_HDAC_HDMI=m
CONFIG_SND_SOC_INTEL_AVS=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_ES8336 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A is not set
@@ -5995,6 +6047,7 @@ CONFIG_SND_SOC_INTEL_AVS=m
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT274 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT286 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT298 is not set
+# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5663 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682 is not set
# CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567 is not set
CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m
@@ -6115,6 +6168,7 @@ CONFIG_SND_SOC_RL6231=m
# CONFIG_SND_SOC_ROCKCHIP_PDM is not set
# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
# CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set
+# CONFIG_SND_SOC_RT1017_SDCA_SDW is not set
CONFIG_SND_SOC_RT1308=m
CONFIG_SND_SOC_RT1308_SDW=m
CONFIG_SND_SOC_RT1316_SDW=m
@@ -6174,6 +6228,7 @@ CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE=m
CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y
CONFIG_SND_SOC_SOF_JASPERLAKE=m
# CONFIG_SND_SOC_SOF_KABYLAKE is not set
+CONFIG_SND_SOC_SOF_LUNARLAKE=m
CONFIG_SND_SOC_SOF_MERRIFIELD=m
CONFIG_SND_SOC_SOF_METEORLAKE=m
# CONFIG_SND_SOC_SOF_OF is not set
@@ -6244,6 +6299,7 @@ CONFIG_SND_SOC_SSM4567=m
# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
# CONFIG_SND_SOC_TLV320AIC3X is not set
# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TOPOLOGY_BUILD is not set
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m
# CONFIG_SND_SOC_TPA6130A2 is not set
CONFIG_SND_SOC_TS3A227E=m
@@ -6483,6 +6539,7 @@ CONFIG_SUNRPC_XPRT_RDMA=m
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_SUSPEND=y
CONFIG_SWAP=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
CONFIG_SWIOTLB=y
# CONFIG_SW_SYNC is not set
# CONFIG_SX9310 is not set
@@ -6588,6 +6645,7 @@ CONFIG_TEST_CPUMASK=m
# CONFIG_TEST_HEXDUMP is not set
CONFIG_TEST_HMM=m
# CONFIG_TEST_IDA is not set
+CONFIG_TEST_IOV_ITER=m
# CONFIG_TEST_KMOD is not set
CONFIG_TEST_KSTRTOX=y
# CONFIG_TEST_LIST_SORT is not set
@@ -6699,6 +6757,7 @@ CONFIG_TLS=m
# CONFIG_TMP117 is not set
CONFIG_TMPFS_INODE64=y
CONFIG_TMPFS_POSIX_ACL=y
+# CONFIG_TMPFS_QUOTA is not set
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS=y
# CONFIG_TOOLCHAIN_DEFAULT_CPU is not set
@@ -6747,6 +6806,7 @@ CONFIG_TOUCHSCREEN_ELO=m
# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
# CONFIG_TOUCHSCREEN_INEXIO is not set
# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
# CONFIG_TOUCHSCREEN_MAX11801 is not set
# CONFIG_TOUCHSCREEN_MCS5000 is not set
# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
@@ -7254,8 +7314,12 @@ CONFIG_VIDEO_CX88_DVB=m
# CONFIG_VIDEO_CX88_ENABLE_VP3054 is not set
CONFIG_VIDEO_CX88=m
CONFIG_VIDEO_DEV=m
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
# CONFIG_VIDEO_DT3155 is not set
# CONFIG_VIDEO_DW9714 is not set
+CONFIG_VIDEO_DW9719=m
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
CONFIG_VIDEO_EM28XX_ALSA=m
@@ -7587,6 +7651,7 @@ CONFIG_X86_SGX=y
CONFIG_X86_SMAP=y
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
CONFIG_X86_UMIP=y
+CONFIG_X86_USER_SHADOW_STACK=y
CONFIG_X86_UV=y
# CONFIG_X86_VERBOSE_BOOTUP is not set
# CONFIG_X86_VSMP is not set
@@ -7636,6 +7701,7 @@ CONFIG_XFRM=y
# CONFIG_XFS_DEBUG is not set
CONFIG_XFS_FS=m
# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_ONLINE_SCRUB_STATS is not set
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_QUOTA=y
@@ -7724,7 +7790,6 @@ CONFIG_ZENIFY=y
CONFIG_HID_IPTS=m
CONFIG_HID_ITHC=m
CONFIG_SURFACE_BOOK1_DGPU_SWITCH=m
-CONFIG_VIDEO_DW9719=m
CONFIG_IPC_CLASSES=y
CONFIG_LEDS_TPS68470=m
CONFIG_LEGION_LAPTOP=m
@@ -7766,3 +7831,4 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
# CONFIG_USB_DUMMY_HCD is not set
# CONFIG_USB_CONFIGFS is not set
# CONFIG_PHY_SAMSUNG_USB2 is not set
+CONFIG_WINESYNC=y
diff --git a/SOURCES/linux-surface.patch b/SOURCES/linux-surface.patch
index ac6bcf5..68a1525 100644
--- a/SOURCES/linux-surface.patch
+++ b/SOURCES/linux-surface.patch
@@ -1,4 +1,4 @@
-From 38f9bee60e9c7c742358e862c6c9422964f1d41a Mon Sep 17 00:00:00 2001
+From da55b6ffe4a98a4af6ced4074317ba9d026f84dd Mon Sep 17 00:00:00 2001
From: Tsuchiya Yuto <kitakar@gmail.com>
Date: Sun, 18 Oct 2020 16:42:44 +0900
Subject: [PATCH] (surface3-oemb) add DMI matches for Surface 3 with broken DMI
@@ -40,7 +40,7 @@ Patchset: surface3-oemb
3 files changed, 24 insertions(+)
diff --git a/drivers/platform/surface/surface3-wmi.c b/drivers/platform/surface/surface3-wmi.c
-index ca4602bcc7de..490b9731068a 100644
+index ca4602bcc7dea..490b9731068ae 100644
--- a/drivers/platform/surface/surface3-wmi.c
+++ b/drivers/platform/surface/surface3-wmi.c
@@ -37,6 +37,13 @@ static const struct dmi_system_id surface3_dmi_table[] = {
@@ -58,10 +58,10 @@ index ca4602bcc7de..490b9731068a 100644
{ }
};
diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c
-index a506d940a2ea..2766484b8d2c 100644
+index 7938b52d741d8..2d5f83b0cdb0b 100644
--- a/sound/soc/codecs/rt5645.c
+++ b/sound/soc/codecs/rt5645.c
-@@ -3717,6 +3717,15 @@ static const struct dmi_system_id dmi_platform_data[] = {
+@@ -3746,6 +3746,15 @@ static const struct dmi_system_id dmi_platform_data[] = {
},
.driver_data = (void *)&intel_braswell_platform_data,
},
@@ -78,7 +78,7 @@ index a506d940a2ea..2766484b8d2c 100644
/*
* 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
-index cdcbf04b8832..958305779b12 100644
+index cdcbf04b8832f..958305779b125 100644
--- a/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[] = {
@@ -99,7 +99,7 @@ index cdcbf04b8832..958305779b12 100644
--
2.42.0
-From b8dec23a399dc5deb88ac30d71dd6270c1794ba0 Mon Sep 17 00:00:00 2001
+From 35b3c5195c9fc191de6b5a6e4361762aa37edad2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
Date: Tue, 3 Nov 2020 13:28:04 +0100
Subject: [PATCH] mwifiex: Add quirk resetting the PCI bridge on MS Surface
@@ -133,7 +133,7 @@ Patchset: mwifiex
3 files changed, 31 insertions(+), 8 deletions(-)
diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c
-index 6697132ecc97..f06b4ebc5bd8 100644
+index 6697132ecc977..f06b4ebc5bd8e 100644
--- a/drivers/net/wireless/marvell/mwifiex/pcie.c
+++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
@@ -1771,9 +1771,21 @@ mwifiex_pcie_send_boot_cmd(struct mwifiex_adapter *adapter, struct sk_buff *skb)
@@ -159,7 +159,7 @@ index 6697132ecc97..f06b4ebc5bd8 100644
if (mwifiex_write_reg(adapter, reg->rx_rdptr, card->rxbd_rdptr |
tx_wrap)) {
diff --git a/drivers/net/wireless/marvell/mwifiex/pcie_quirks.c b/drivers/net/wireless/marvell/mwifiex/pcie_quirks.c
-index dd6d21f1dbfd..f46b06f8d643 100644
+index dd6d21f1dbfd7..f46b06f8d6435 100644
--- a/drivers/net/wireless/marvell/mwifiex/pcie_quirks.c
+++ b/drivers/net/wireless/marvell/mwifiex/pcie_quirks.c
@@ -13,7 +13,8 @@ static const struct dmi_system_id mwifiex_quirk_table[] = {
@@ -252,7 +252,7 @@ index dd6d21f1dbfd..f46b06f8d643 100644
static void mwifiex_pcie_set_power_d3cold(struct pci_dev *pdev)
diff --git a/drivers/net/wireless/marvell/mwifiex/pcie_quirks.h b/drivers/net/wireless/marvell/mwifiex/pcie_quirks.h
-index d6ff964aec5b..5d30ae39d65e 100644
+index d6ff964aec5bf..5d30ae39d65ec 100644
--- a/drivers/net/wireless/marvell/mwifiex/pcie_quirks.h
+++ b/drivers/net/wireless/marvell/mwifiex/pcie_quirks.h
@@ -4,6 +4,7 @@
@@ -266,7 +266,7 @@ index d6ff964aec5b..5d30ae39d65e 100644
--
2.42.0
-From 44360e255e0cfebd6e0584e75e13c2cc69c7d41a Mon Sep 17 00:00:00 2001
+From 241da24644ea2f5b8119019448b638aa8df6ab26 Mon Sep 17 00:00:00 2001
From: Tsuchiya Yuto <kitakar@gmail.com>
Date: Sun, 4 Oct 2020 00:11:49 +0900
Subject: [PATCH] mwifiex: pcie: disable bridge_d3 for Surface gen4+
@@ -288,7 +288,7 @@ Patchset: mwifiex
3 files changed, 27 insertions(+), 8 deletions(-)
diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c
-index f06b4ebc5bd8..07f13b52ddb9 100644
+index f06b4ebc5bd8e..07f13b52ddb92 100644
--- a/drivers/net/wireless/marvell/mwifiex/pcie.c
+++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
@@ -370,6 +370,7 @@ static int mwifiex_pcie_probe(struct pci_dev *pdev,
@@ -313,7 +313,7 @@ index f06b4ebc5bd8..07f13b52ddb9 100644
}
diff --git a/drivers/net/wireless/marvell/mwifiex/pcie_quirks.c b/drivers/net/wireless/marvell/mwifiex/pcie_quirks.c
-index f46b06f8d643..99b024ecbade 100644
+index f46b06f8d6435..99b024ecbadea 100644
--- a/drivers/net/wireless/marvell/mwifiex/pcie_quirks.c
+++ b/drivers/net/wireless/marvell/mwifiex/pcie_quirks.c
@@ -14,7 +14,8 @@ static const struct dmi_system_id mwifiex_quirk_table[] = {
@@ -407,7 +407,7 @@ index f46b06f8d643..99b024ecbade 100644
static void mwifiex_pcie_set_power_d3cold(struct pci_dev *pdev)
diff --git a/drivers/net/wireless/marvell/mwifiex/pcie_quirks.h b/drivers/net/wireless/marvell/mwifiex/pcie_quirks.h
-index 5d30ae39d65e..c14eb56eb911 100644
+index 5d30ae39d65ec..c14eb56eb9118 100644
--- a/drivers/net/wireless/marvell/mwifiex/pcie_quirks.h
+++ b/drivers/net/wireless/marvell/mwifiex/pcie_quirks.h
@@ -5,6 +5,7 @@
@@ -421,7 +421,7 @@ index 5d30ae39d65e..c14eb56eb911 100644
--
2.42.0
-From 9203ef88e0067699c993d4715c48ff9deaea92be Mon Sep 17 00:00:00 2001
+From d20b58f9e2ccec57c66864e79c291c2618ab2dbe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
Date: Thu, 25 Mar 2021 11:33:02 +0100
Subject: [PATCH] Bluetooth: btusb: Lower passive lescan interval on Marvell
@@ -457,7 +457,7 @@ Patchset: mwifiex
1 file changed, 15 insertions(+)
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
-index dfdfb72d350f..44ef02efba46 100644
+index 499f4809fcdf3..2d442e080ca28 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -65,6 +65,7 @@ static struct usb_driver btusb_driver;
@@ -468,7 +468,7 @@ index dfdfb72d350f..44ef02efba46 100644
static const struct usb_device_id btusb_table[] = {
/* Generic Bluetooth USB device */
-@@ -468,6 +469,7 @@ static const struct usb_device_id blacklist_table[] = {
+@@ -468,6 +469,7 @@ static const struct usb_device_id quirks_table[] = {
{ USB_DEVICE(0x1286, 0x2044), .driver_info = BTUSB_MARVELL },
{ USB_DEVICE(0x1286, 0x2046), .driver_info = BTUSB_MARVELL },
{ USB_DEVICE(0x1286, 0x204e), .driver_info = BTUSB_MARVELL },
@@ -476,7 +476,7 @@ index dfdfb72d350f..44ef02efba46 100644
/* Intel Bluetooth devices */
{ USB_DEVICE(0x8087, 0x0025), .driver_info = BTUSB_INTEL_COMBINED },
-@@ -4317,6 +4319,19 @@ static int btusb_probe(struct usb_interface *intf,
+@@ -4388,6 +4390,19 @@ static int btusb_probe(struct usb_interface *intf,
if (id->driver_info & BTUSB_MARVELL)
hdev->set_bdaddr = btusb_set_bdaddr_marvell;
@@ -499,7 +499,7 @@ index dfdfb72d350f..44ef02efba46 100644
--
2.42.0
-From 4ec07cef92d6b7ce42ccc5e1b0e73678cf023dcb Mon Sep 17 00:00:00 2001
+From c6f0985fae241ed43ea1245c9e5861e2c728e21e Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sat, 27 Feb 2021 00:45:52 +0100
Subject: [PATCH] ath10k: Add module parameters to override board files
@@ -521,7 +521,7 @@ Patchset: ath10k
1 file changed, 58 insertions(+)
diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
-index 6cdb225b7eac..19c036751fb1 100644
+index 6cdb225b7eacc..19c036751fb16 100644
--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -38,6 +38,9 @@ static bool fw_diag_log;
@@ -620,7 +620,7 @@ index 6cdb225b7eac..19c036751fb1 100644
--
2.42.0
-From 6e7929685df7d87379ad03942e364d7e22122624 Mon Sep 17 00:00:00 2001
+From 986fe56f682f93925b2964f59fe78c7043758e47 Mon Sep 17 00:00:00 2001
From: Dorian Stoll <dorian.stoll@tmsp.io>
Date: Thu, 30 Jul 2020 13:21:53 +0200
Subject: [PATCH] misc: mei: Add missing IPTS device IDs
@@ -632,7 +632,7 @@ Patchset: ipts
2 files changed, 2 insertions(+)
diff --git a/drivers/misc/mei/hw-me-regs.h b/drivers/misc/mei/hw-me-regs.h
-index bdc65d50b945..08723c01d727 100644
+index bdc65d50b945f..08723c01d7275 100644
--- a/drivers/misc/mei/hw-me-regs.h
+++ b/drivers/misc/mei/hw-me-regs.h
@@ -92,6 +92,7 @@
@@ -644,7 +644,7 @@ index bdc65d50b945..08723c01d727 100644
#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
-index 676d566f38dd..6b37dd1f8b2a 100644
+index 676d566f38ddf..6b37dd1f8b2a3 100644
--- a/drivers/misc/mei/pci-me.c
+++ b/drivers/misc/mei/pci-me.c
@@ -97,6 +97,7 @@ static const struct pci_device_id mei_me_pci_tbl[] = {
@@ -658,7 +658,7 @@ index 676d566f38dd..6b37dd1f8b2a 100644
--
2.42.0
-From 390bee34de9e6382d9a0e0af9e515cb1f114b210 Mon Sep 17 00:00:00 2001
+From 72ee1cbf26ccc575dbfbaee5e7305ab13e1aeb1e Mon Sep 17 00:00:00 2001
From: Liban Hannan <liban.p@gmail.com>
Date: Tue, 12 Apr 2022 23:31:12 +0100
Subject: [PATCH] iommu: ipts: use IOMMU passthrough mode for IPTS
@@ -680,10 +680,10 @@ Patchset: ipts
1 file changed, 24 insertions(+)
diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
-index 4a9d9e82847d..6387f3a6eccf 100644
+index 3685ba90ec88e..5a627e081797c 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
-@@ -37,6 +37,8 @@
+@@ -38,6 +38,8 @@
#define IS_GFX_DEVICE(pdev) ((pdev->class >> 16) == PCI_BASE_CLASS_DISPLAY)
#define IS_USB_DEVICE(pdev) ((pdev->class >> 8) == PCI_CLASS_SERIAL_USB)
#define IS_ISA_DEVICE(pdev) ((pdev->class >> 8) == PCI_CLASS_BRIDGE_ISA)
@@ -692,7 +692,7 @@ index 4a9d9e82847d..6387f3a6eccf 100644
#define IS_AZALIA(pdev) ((pdev)->vendor == 0x8086 && (pdev)->device == 0x3a3e)
#define IOAPIC_RANGE_START (0xfee00000)
-@@ -287,12 +289,14 @@ int intel_iommu_enabled = 0;
+@@ -292,12 +294,14 @@ int intel_iommu_enabled = 0;
EXPORT_SYMBOL_GPL(intel_iommu_enabled);
static int dmar_map_gfx = 1;
@@ -707,7 +707,7 @@ index 4a9d9e82847d..6387f3a6eccf 100644
const struct iommu_ops intel_iommu_ops;
-@@ -2548,6 +2552,9 @@ static int device_def_domain_type(struct device *dev)
+@@ -2542,6 +2546,9 @@ static int device_def_domain_type(struct device *dev)
if ((iommu_identity_mapping & IDENTMAP_GFX) && IS_GFX_DEVICE(pdev))
return IOMMU_DOMAIN_IDENTITY;
@@ -717,7 +717,7 @@ index 4a9d9e82847d..6387f3a6eccf 100644
}
return 0;
-@@ -2855,6 +2862,9 @@ static int __init init_dmars(void)
+@@ -2849,6 +2856,9 @@ static int __init init_dmars(void)
if (!dmar_map_gfx)
iommu_identity_mapping |= IDENTMAP_GFX;
@@ -727,7 +727,7 @@ index 4a9d9e82847d..6387f3a6eccf 100644
check_tylersburg_isoch();
ret = si_domain_init(hw_pass_through);
-@@ -4755,6 +4765,17 @@ static void quirk_iommu_igfx(struct pci_dev *dev)
+@@ -4828,6 +4838,17 @@ static void quirk_iommu_igfx(struct pci_dev *dev)
dmar_map_gfx = 0;
}
@@ -745,7 +745,7 @@ index 4a9d9e82847d..6387f3a6eccf 100644
/* G4x/GM45 integrated gfx dmar support is totally busted. */
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2a40, quirk_iommu_igfx);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2e00, quirk_iommu_igfx);
-@@ -4790,6 +4811,9 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x1632, quirk_iommu_igfx);
+@@ -4863,6 +4884,9 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x1632, quirk_iommu_igfx);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x163A, quirk_iommu_igfx);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x163D, quirk_iommu_igfx);
@@ -758,7 +758,7 @@ index 4a9d9e82847d..6387f3a6eccf 100644
--
2.42.0
-From 13b6ad2c284cf321144851a527dda96e6d4b9064 Mon Sep 17 00:00:00 2001
+From 8330f9f39ce8c9796259a8aeffe919fa950e18f5 Mon Sep 17 00:00:00 2001
From: Dorian Stoll <dorian.stoll@tmsp.io>
Date: Sun, 11 Dec 2022 12:00:59 +0100
Subject: [PATCH] hid: Add support for Intel Precise Touch and Stylus
@@ -825,10 +825,10 @@ Patchset: ipts
create mode 100644 drivers/hid/ipts/thread.h
diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
-index dc456c86e956..b35203b9a7d8 100644
+index 790aa908e2a78..0b9d245d10e54 100644
--- a/drivers/hid/Kconfig
+++ b/drivers/hid/Kconfig
-@@ -1335,4 +1335,6 @@ source "drivers/hid/amd-sfh-hid/Kconfig"
+@@ -1345,4 +1345,6 @@ source "drivers/hid/amd-sfh-hid/Kconfig"
source "drivers/hid/surface-hid/Kconfig"
@@ -836,10 +836,10 @@ index dc456c86e956..b35203b9a7d8 100644
+
endif # HID_SUPPORT
diff --git a/drivers/hid/Makefile b/drivers/hid/Makefile
-index 7a9e160158f7..f58610f27216 100644
+index 8a06d0f840bcb..2ef21b257d0b5 100644
--- a/drivers/hid/Makefile
+++ b/drivers/hid/Makefile
-@@ -168,3 +168,5 @@ obj-$(INTEL_ISH_FIRMWARE_DOWNLOADER) += intel-ish-hid/
+@@ -169,3 +169,5 @@ obj-$(INTEL_ISH_FIRMWARE_DOWNLOADER) += intel-ish-hid/
obj-$(CONFIG_AMD_SFH_HID) += amd-sfh-hid/
obj-$(CONFIG_SURFACE_HID_CORE) += surface-hid/
@@ -847,7 +847,7 @@ index 7a9e160158f7..f58610f27216 100644
+obj-$(CONFIG_HID_IPTS) += ipts/
diff --git a/drivers/hid/ipts/Kconfig b/drivers/hid/ipts/Kconfig
new file mode 100644
-index 000000000000..297401bd388d
+index 0000000000000..297401bd388dd
--- /dev/null
+++ b/drivers/hid/ipts/Kconfig
@@ -0,0 +1,14 @@
@@ -867,7 +867,7 @@ index 000000000000..297401bd388d
+ module will be called ipts.
diff --git a/drivers/hid/ipts/Makefile b/drivers/hid/ipts/Makefile
new file mode 100644
-index 000000000000..883896f68e6a
+index 0000000000000..883896f68e6ad
--- /dev/null
+++ b/drivers/hid/ipts/Makefile
@@ -0,0 +1,16 @@
@@ -889,7 +889,7 @@ index 000000000000..883896f68e6a
+ipts-objs += thread.o
diff --git a/drivers/hid/ipts/cmd.c b/drivers/hid/ipts/cmd.c
new file mode 100644
-index 000000000000..63a4934bbc5f
+index 0000000000000..63a4934bbc5fa
--- /dev/null
+++ b/drivers/hid/ipts/cmd.c
@@ -0,0 +1,61 @@
@@ -956,7 +956,7 @@ index 000000000000..63a4934bbc5f
+}
diff --git a/drivers/hid/ipts/cmd.h b/drivers/hid/ipts/cmd.h
new file mode 100644
-index 000000000000..2b4079075b64
+index 0000000000000..2b4079075b642
--- /dev/null
+++ b/drivers/hid/ipts/cmd.h
@@ -0,0 +1,60 @@
@@ -1022,7 +1022,7 @@ index 000000000000..2b4079075b64
+#endif /* IPTS_CMD_H */
diff --git a/drivers/hid/ipts/context.h b/drivers/hid/ipts/context.h
new file mode 100644
-index 000000000000..ba33259f1f7c
+index 0000000000000..ba33259f1f7c5
--- /dev/null
+++ b/drivers/hid/ipts/context.h
@@ -0,0 +1,52 @@
@@ -1080,7 +1080,7 @@ index 000000000000..ba33259f1f7c
+#endif /* IPTS_CONTEXT_H */
diff --git a/drivers/hid/ipts/control.c b/drivers/hid/ipts/control.c
new file mode 100644
-index 000000000000..5360842d260b
+index 0000000000000..5360842d260ba
--- /dev/null
+++ b/drivers/hid/ipts/control.c
@@ -0,0 +1,486 @@
@@ -1572,7 +1572,7 @@ index 000000000000..5360842d260b
+}
diff --git a/drivers/hid/ipts/control.h b/drivers/hid/ipts/control.h
new file mode 100644
-index 000000000000..26629c5144ed
+index 0000000000000..26629c5144edb
--- /dev/null
+++ b/drivers/hid/ipts/control.h
@@ -0,0 +1,126 @@
@@ -1704,7 +1704,7 @@ index 000000000000..26629c5144ed
+#endif /* IPTS_CONTROL_H */
diff --git a/drivers/hid/ipts/desc.h b/drivers/hid/ipts/desc.h
new file mode 100644
-index 000000000000..307438c7c80c
+index 0000000000000..307438c7c80cd
--- /dev/null
+++ b/drivers/hid/ipts/desc.h
@@ -0,0 +1,80 @@
@@ -1790,7 +1790,7 @@ index 000000000000..307438c7c80c
+#endif /* IPTS_DESC_H */
diff --git a/drivers/hid/ipts/eds1.c b/drivers/hid/ipts/eds1.c
new file mode 100644
-index 000000000000..ecbb3a8bdaf6
+index 0000000000000..ecbb3a8bdaf60
--- /dev/null
+++ b/drivers/hid/ipts/eds1.c
@@ -0,0 +1,103 @@
@@ -1899,7 +1899,7 @@ index 000000000000..ecbb3a8bdaf6
+}
diff --git a/drivers/hid/ipts/eds1.h b/drivers/hid/ipts/eds1.h
new file mode 100644
-index 000000000000..eeeb6575e3e8
+index 0000000000000..eeeb6575e3e89
--- /dev/null
+++ b/drivers/hid/ipts/eds1.h
@@ -0,0 +1,35 @@
@@ -1940,7 +1940,7 @@ index 000000000000..eeeb6575e3e8
+ enum hid_report_type report_type, enum hid_class_request request_type);
diff --git a/drivers/hid/ipts/eds2.c b/drivers/hid/ipts/eds2.c
new file mode 100644
-index 000000000000..198dc65d7887
+index 0000000000000..198dc65d78876
--- /dev/null
+++ b/drivers/hid/ipts/eds2.c
@@ -0,0 +1,144 @@
@@ -2090,7 +2090,7 @@ index 000000000000..198dc65d7887
+}
diff --git a/drivers/hid/ipts/eds2.h b/drivers/hid/ipts/eds2.h
new file mode 100644
-index 000000000000..064e3716907a
+index 0000000000000..064e3716907ab
--- /dev/null
+++ b/drivers/hid/ipts/eds2.h
@@ -0,0 +1,35 @@
@@ -2131,7 +2131,7 @@ index 000000000000..064e3716907a
+ enum hid_report_type report_type, enum hid_class_request request_type);
diff --git a/drivers/hid/ipts/hid.c b/drivers/hid/ipts/hid.c
new file mode 100644
-index 000000000000..e34a1a4f9fa7
+index 0000000000000..e34a1a4f9fa77
--- /dev/null
+++ b/drivers/hid/ipts/hid.c
@@ -0,0 +1,225 @@
@@ -2362,7 +2362,7 @@ index 000000000000..e34a1a4f9fa7
+}
diff --git a/drivers/hid/ipts/hid.h b/drivers/hid/ipts/hid.h
new file mode 100644
-index 000000000000..1ebe77447903
+index 0000000000000..1ebe77447903a
--- /dev/null
+++ b/drivers/hid/ipts/hid.h
@@ -0,0 +1,24 @@
@@ -2392,7 +2392,7 @@ index 000000000000..1ebe77447903
+#endif /* IPTS_HID_H */
diff --git a/drivers/hid/ipts/main.c b/drivers/hid/ipts/main.c
new file mode 100644
-index 000000000000..fb5b5c13ee3e
+index 0000000000000..fb5b5c13ee3ea
--- /dev/null
+++ b/drivers/hid/ipts/main.c
@@ -0,0 +1,126 @@
@@ -2524,7 +2524,7 @@ index 000000000000..fb5b5c13ee3e
+MODULE_LICENSE("GPL");
diff --git a/drivers/hid/ipts/mei.c b/drivers/hid/ipts/mei.c
new file mode 100644
-index 000000000000..1e0395ceae4a
+index 0000000000000..1e0395ceae4a4
--- /dev/null
+++ b/drivers/hid/ipts/mei.c
@@ -0,0 +1,188 @@
@@ -2718,7 +2718,7 @@ index 000000000000..1e0395ceae4a
+}
diff --git a/drivers/hid/ipts/mei.h b/drivers/hid/ipts/mei.h
new file mode 100644
-index 000000000000..973bade6b0fd
+index 0000000000000..973bade6b0fdd
--- /dev/null
+++ b/drivers/hid/ipts/mei.h
@@ -0,0 +1,66 @@
@@ -2790,7 +2790,7 @@ index 000000000000..973bade6b0fd
+#endif /* IPTS_MEI_H */
diff --git a/drivers/hid/ipts/receiver.c b/drivers/hid/ipts/receiver.c
new file mode 100644
-index 000000000000..ef66c3c9db80
+index 0000000000000..ef66c3c9db807
--- /dev/null
+++ b/drivers/hid/ipts/receiver.c
@@ -0,0 +1,250 @@
@@ -3046,7 +3046,7 @@ index 000000000000..ef66c3c9db80
+}
diff --git a/drivers/hid/ipts/receiver.h b/drivers/hid/ipts/receiver.h
new file mode 100644
-index 000000000000..3de7da62d40c
+index 0000000000000..3de7da62d40c1
--- /dev/null
+++ b/drivers/hid/ipts/receiver.h
@@ -0,0 +1,16 @@
@@ -3068,7 +3068,7 @@ index 000000000000..3de7da62d40c
+#endif /* IPTS_RECEIVER_H */
diff --git a/drivers/hid/ipts/resources.c b/drivers/hid/ipts/resources.c
new file mode 100644
-index 000000000000..cc14653b2a9f
+index 0000000000000..cc14653b2a9f5
--- /dev/null
+++ b/drivers/hid/ipts/resources.c
@@ -0,0 +1,131 @@
@@ -3205,7 +3205,7 @@ index 000000000000..cc14653b2a9f
+}
diff --git a/drivers/hid/ipts/resources.h b/drivers/hid/ipts/resources.h
new file mode 100644
-index 000000000000..2068e13285f0
+index 0000000000000..2068e13285f0e
--- /dev/null
+++ b/drivers/hid/ipts/resources.h
@@ -0,0 +1,41 @@
@@ -3252,7 +3252,7 @@ index 000000000000..2068e13285f0
+#endif /* IPTS_RESOURCES_H */
diff --git a/drivers/hid/ipts/spec-data.h b/drivers/hid/ipts/spec-data.h
new file mode 100644
-index 000000000000..e8dd98895a7e
+index 0000000000000..e8dd98895a7ee
--- /dev/null
+++ b/drivers/hid/ipts/spec-data.h
@@ -0,0 +1,100 @@
@@ -3358,7 +3358,7 @@ index 000000000000..e8dd98895a7e
+#endif /* IPTS_SPEC_DATA_H */
diff --git a/drivers/hid/ipts/spec-device.h b/drivers/hid/ipts/spec-device.h
new file mode 100644
-index 000000000000..41845f9d9025
+index 0000000000000..41845f9d90257
--- /dev/null
+++ b/drivers/hid/ipts/spec-device.h
@@ -0,0 +1,290 @@
@@ -3654,7 +3654,7 @@ index 000000000000..41845f9d9025
+#endif /* IPTS_SPEC_DEVICE_H */
diff --git a/drivers/hid/ipts/spec-hid.h b/drivers/hid/ipts/spec-hid.h
new file mode 100644
-index 000000000000..5a58d4a0a610
+index 0000000000000..5a58d4a0a610f
--- /dev/null
+++ b/drivers/hid/ipts/spec-hid.h
@@ -0,0 +1,34 @@
@@ -3694,7 +3694,7 @@ index 000000000000..5a58d4a0a610
+#endif /* IPTS_SPEC_HID_H */
diff --git a/drivers/hid/ipts/thread.c b/drivers/hid/ipts/thread.c
new file mode 100644
-index 000000000000..355e92bea26f
+index 0000000000000..355e92bea26f8
--- /dev/null
+++ b/drivers/hid/ipts/thread.c
@@ -0,0 +1,84 @@
@@ -3784,7 +3784,7 @@ index 000000000000..355e92bea26f
+}
diff --git a/drivers/hid/ipts/thread.h b/drivers/hid/ipts/thread.h
new file mode 100644
-index 000000000000..1f966b8b32c4
+index 0000000000000..1f966b8b32c45
--- /dev/null
+++ b/drivers/hid/ipts/thread.h
@@ -0,0 +1,59 @@
@@ -3850,7 +3850,7 @@ index 000000000000..1f966b8b32c4
--
2.42.0
-From cc8157a9538ba31fb72482b9fa52803241f0887d Mon Sep 17 00:00:00 2001
+From 033de13abc9653b2d773f06182465e03d5d6463b Mon Sep 17 00:00:00 2001
From: Dorian Stoll <dorian.stoll@tmsp.io>
Date: Sun, 11 Dec 2022 12:03:38 +0100
Subject: [PATCH] iommu: intel: Disable source id verification for ITHC
@@ -3862,7 +3862,7 @@ Patchset: ithc
1 file changed, 16 insertions(+)
diff --git a/drivers/iommu/intel/irq_remapping.c b/drivers/iommu/intel/irq_remapping.c
-index 08f56326e2f8..75218b38995c 100644
+index 29b9e55dcf26c..986e91c813ae1 100644
--- a/drivers/iommu/intel/irq_remapping.c
+++ b/drivers/iommu/intel/irq_remapping.c
@@ -386,6 +386,22 @@ static int set_msi_sid(struct irte *irte, struct pci_dev *dev)
@@ -3891,7 +3891,7 @@ index 08f56326e2f8..75218b38995c 100644
--
2.42.0
-From b835496e4ba0bc567b8e83fe1fcb5c4da34c1289 Mon Sep 17 00:00:00 2001
+From 0dd32bcfb70f9e36cfa009d94cd6c86a4839cff3 Mon Sep 17 00:00:00 2001
From: Dorian Stoll <dorian.stoll@tmsp.io>
Date: Sun, 11 Dec 2022 12:10:54 +0100
Subject: [PATCH] hid: Add support for Intel Touch Host Controller
@@ -3924,10 +3924,10 @@ Patchset: ithc
create mode 100644 drivers/hid/ithc/ithc.h
diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
-index b35203b9a7d8..3259f2764dc4 100644
+index 0b9d245d10e54..8ba1c309228be 100644
--- a/drivers/hid/Kconfig
+++ b/drivers/hid/Kconfig
-@@ -1337,4 +1337,6 @@ source "drivers/hid/surface-hid/Kconfig"
+@@ -1347,4 +1347,6 @@ source "drivers/hid/surface-hid/Kconfig"
source "drivers/hid/ipts/Kconfig"
@@ -3935,17 +3935,17 @@ index b35203b9a7d8..3259f2764dc4 100644
+
endif # HID_SUPPORT
diff --git a/drivers/hid/Makefile b/drivers/hid/Makefile
-index f58610f27216..656a0783c709 100644
+index 2ef21b257d0b5..e94b79727b489 100644
--- a/drivers/hid/Makefile
+++ b/drivers/hid/Makefile
-@@ -170,3 +170,4 @@ obj-$(CONFIG_AMD_SFH_HID) += amd-sfh-hid/
+@@ -171,3 +171,4 @@ obj-$(CONFIG_AMD_SFH_HID) += amd-sfh-hid/
obj-$(CONFIG_SURFACE_HID_CORE) += surface-hid/
obj-$(CONFIG_HID_IPTS) += ipts/
+obj-$(CONFIG_HID_ITHC) += ithc/
diff --git a/drivers/hid/ithc/Kbuild b/drivers/hid/ithc/Kbuild
new file mode 100644
-index 000000000000..aea83f2ac07b
+index 0000000000000..aea83f2ac07b4
--- /dev/null
+++ b/drivers/hid/ithc/Kbuild
@@ -0,0 +1,6 @@
@@ -3957,7 +3957,7 @@ index 000000000000..aea83f2ac07b
+
diff --git a/drivers/hid/ithc/Kconfig b/drivers/hid/ithc/Kconfig
new file mode 100644
-index 000000000000..ede713023609
+index 0000000000000..ede7130236096
--- /dev/null
+++ b/drivers/hid/ithc/Kconfig
@@ -0,0 +1,12 @@
@@ -3975,7 +3975,7 @@ index 000000000000..ede713023609
+ module will be called ithc.
diff --git a/drivers/hid/ithc/ithc-debug.c b/drivers/hid/ithc/ithc-debug.c
new file mode 100644
-index 000000000000..57bf125c45bd
+index 0000000000000..57bf125c45bd5
--- /dev/null
+++ b/drivers/hid/ithc/ithc-debug.c
@@ -0,0 +1,96 @@
@@ -4077,7 +4077,7 @@ index 000000000000..57bf125c45bd
+
diff --git a/drivers/hid/ithc/ithc-dma.c b/drivers/hid/ithc/ithc-dma.c
new file mode 100644
-index 000000000000..7e89b3496918
+index 0000000000000..7e89b3496918d
--- /dev/null
+++ b/drivers/hid/ithc/ithc-dma.c
@@ -0,0 +1,258 @@
@@ -4341,7 +4341,7 @@ index 000000000000..7e89b3496918
+
diff --git a/drivers/hid/ithc/ithc-dma.h b/drivers/hid/ithc/ithc-dma.h
new file mode 100644
-index 000000000000..d9f2c19a13f3
+index 0000000000000..d9f2c19a13f3a
--- /dev/null
+++ b/drivers/hid/ithc/ithc-dma.h
@@ -0,0 +1,67 @@
@@ -4414,7 +4414,7 @@ index 000000000000..d9f2c19a13f3
+
diff --git a/drivers/hid/ithc/ithc-main.c b/drivers/hid/ithc/ithc-main.c
new file mode 100644
-index 000000000000..09512b9cb4d3
+index 0000000000000..09512b9cb4d31
--- /dev/null
+++ b/drivers/hid/ithc/ithc-main.c
@@ -0,0 +1,534 @@
@@ -4954,7 +4954,7 @@ index 000000000000..09512b9cb4d3
+
diff --git a/drivers/hid/ithc/ithc-regs.c b/drivers/hid/ithc/ithc-regs.c
new file mode 100644
-index 000000000000..85d567b05761
+index 0000000000000..85d567b05761f
--- /dev/null
+++ b/drivers/hid/ithc/ithc-regs.c
@@ -0,0 +1,64 @@
@@ -5024,7 +5024,7 @@ index 000000000000..85d567b05761
+
diff --git a/drivers/hid/ithc/ithc-regs.h b/drivers/hid/ithc/ithc-regs.h
new file mode 100644
-index 000000000000..1a96092ed7ee
+index 0000000000000..1a96092ed7eed
--- /dev/null
+++ b/drivers/hid/ithc/ithc-regs.h
@@ -0,0 +1,186 @@
@@ -5216,7 +5216,7 @@ index 000000000000..1a96092ed7ee
+
diff --git a/drivers/hid/ithc/ithc.h b/drivers/hid/ithc/ithc.h
new file mode 100644
-index 000000000000..6a9b0d480bc1
+index 0000000000000..6a9b0d480bc15
--- /dev/null
+++ b/drivers/hid/ithc/ithc.h
@@ -0,0 +1,60 @@
@@ -5283,7 +5283,7 @@ index 000000000000..6a9b0d480bc1
--
2.42.0
-From 7edaa4190fe42f701948b6320b82dce4bf0e0a42 Mon Sep 17 00:00:00 2001
+From 9f8d2a0f4012644f56ed8dfd322e575b57e1c208 Mon Sep 17 00:00:00 2001
From: quo <tuple@list.ru>
Date: Mon, 23 Oct 2023 10:15:29 +0200
Subject: [PATCH] Update ITHC from module repo
@@ -5308,7 +5308,7 @@ Patchset: ithc
7 files changed, 623 insertions(+), 236 deletions(-)
diff --git a/drivers/hid/ithc/ithc-debug.c b/drivers/hid/ithc/ithc-debug.c
-index 57bf125c45bd..1f1f1e33f2e5 100644
+index 57bf125c45bd5..1f1f1e33f2e5a 100644
--- a/drivers/hid/ithc/ithc-debug.c
+++ b/drivers/hid/ithc/ithc-debug.c
@@ -1,10 +1,14 @@
@@ -5465,7 +5465,7 @@ index 57bf125c45bd..1f1f1e33f2e5 100644
return 0;
}
diff --git a/drivers/hid/ithc/ithc-dma.c b/drivers/hid/ithc/ithc-dma.c
-index 7e89b3496918..ffb8689b8a78 100644
+index 7e89b3496918d..ffb8689b8a780 100644
--- a/drivers/hid/ithc/ithc-dma.c
+++ b/drivers/hid/ithc/ithc-dma.c
@@ -1,59 +1,91 @@
@@ -5883,7 +5883,7 @@ index 7e89b3496918..ffb8689b8a78 100644
int ret = ithc_dma_tx_unlocked(ithc, cmdcode, datasize, data);
mutex_unlock(&ithc->dma_tx.mutex);
diff --git a/drivers/hid/ithc/ithc-dma.h b/drivers/hid/ithc/ithc-dma.h
-index d9f2c19a13f3..93652e4476bf 100644
+index d9f2c19a13f3a..93652e4476bf8 100644
--- a/drivers/hid/ithc/ithc-dma.h
+++ b/drivers/hid/ithc/ithc-dma.h
@@ -1,3 +1,5 @@
@@ -5902,7 +5902,7 @@ index d9f2c19a13f3..93652e4476bf 100644
int ithc_dma_tx_init(struct ithc *ithc);
int ithc_dma_rx(struct ithc *ithc, u8 channel);
diff --git a/drivers/hid/ithc/ithc-main.c b/drivers/hid/ithc/ithc-main.c
-index 09512b9cb4d3..87ed4aa70fda 100644
+index 09512b9cb4d31..87ed4aa70fda0 100644
--- a/drivers/hid/ithc/ithc-main.c
+++ b/drivers/hid/ithc/ithc-main.c
@@ -1,3 +1,5 @@
@@ -6651,7 +6651,7 @@ index 09512b9cb4d3..87ed4aa70fda 100644
}
diff --git a/drivers/hid/ithc/ithc-regs.c b/drivers/hid/ithc/ithc-regs.c
-index 85d567b05761..e058721886e3 100644
+index 85d567b05761f..e058721886e37 100644
--- a/drivers/hid/ithc/ithc-regs.c
+++ b/drivers/hid/ithc/ithc-regs.c
@@ -1,63 +1,95 @@
@@ -6769,7 +6769,7 @@ index 85d567b05761..e058721886e3 100644
return 0;
}
diff --git a/drivers/hid/ithc/ithc-regs.h b/drivers/hid/ithc/ithc-regs.h
-index 1a96092ed7ee..d4007d9e2bac 100644
+index 1a96092ed7eed..d4007d9e2bacc 100644
--- a/drivers/hid/ithc/ithc-regs.h
+++ b/drivers/hid/ithc/ithc-regs.h
@@ -1,3 +1,5 @@
@@ -6829,7 +6829,7 @@ index 1a96092ed7ee..d4007d9e2bac 100644
u32 _unknown_34; // 34 = 0x0404035e (u8,u8,u8,u8 = version?)
u32 _unknown_38; // 38 = 0x000001c0 (0x000001c1 after DMA_RX_CODE_RESET)
diff --git a/drivers/hid/ithc/ithc.h b/drivers/hid/ithc/ithc.h
-index 6a9b0d480bc1..028e55a4ec53 100644
+index 6a9b0d480bc15..028e55a4ec53e 100644
--- a/drivers/hid/ithc/ithc.h
+++ b/drivers/hid/ithc/ithc.h
@@ -1,3 +1,5 @@
@@ -6874,7 +6874,7 @@ index 6a9b0d480bc1..028e55a4ec53 100644
--
2.42.0
-From 1528e0fe127f03118f593fc1db51a4d4b5a20341 Mon Sep 17 00:00:00 2001
+From c4cbbcd24ea10e6558753174ae6dabcc9b54e438 Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sun, 22 Oct 2023 14:57:11 +0200
Subject: [PATCH] platform/surface: aggregator_registry: Add support for
@@ -6891,7 +6891,7 @@ Patchset: surface-sam
1 file changed, 3 insertions(+)
diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
-index 0fe5be539652..0d8c8395c588 100644
+index 0fe5be5396525..0d8c8395c5886 100644
--- a/drivers/platform/surface/surface_aggregator_registry.c
+++ b/drivers/platform/surface/surface_aggregator_registry.c
@@ -367,6 +367,9 @@ static const struct acpi_device_id ssam_platform_hub_match[] = {
@@ -6907,7 +6907,77 @@ index 0fe5be539652..0d8c8395c588 100644
--
2.42.0
-From 2ba1a8bceb51c41accd3416aa85d86e58ae86d5d Mon Sep 17 00:00:00 2001
+From 0bb0adce3efad7a43fc3811f6cc24148c8c75253 Mon Sep 17 00:00:00 2001
+From: Maximilian Luz <luzmaximilian@gmail.com>
+Date: Mon, 20 Nov 2023 19:47:00 +0100
+Subject: [PATCH] platform/surface: aggregator_registry: Add support for
+ Surface Laptop Studio 2
+
+Add SAM client device nodes for the Surface Laptop Studio 2 (SLS2). The
+SLS2 is quite similar to the SLS1, but it does not provide the touchpad
+as a SAM-HID device. Therefore, add a new node group for the SLS2 and
+update the comments accordingly
+
+Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
+Patchset: surface-sam
+---
+ .../surface/surface_aggregator_registry.c | 25 ++++++++++++++++---
+ 1 file changed, 21 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
+index 0d8c8395c5886..530db4db71aba 100644
+--- a/drivers/platform/surface/surface_aggregator_registry.c
++++ b/drivers/platform/surface/surface_aggregator_registry.c
+@@ -247,8 +247,8 @@ static const struct software_node *ssam_node_group_sl5[] = {
+ NULL,
+ };
+
+-/* Devices for Surface Laptop Studio. */
+-static const struct software_node *ssam_node_group_sls[] = {
++/* Devices for Surface Laptop Studio 1. */
++static const struct software_node *ssam_node_group_sls1[] = {
+ &ssam_node_root,
+ &ssam_node_bat_ac,
+ &ssam_node_bat_main,
+@@ -263,6 +263,20 @@ static const struct software_node *ssam_node_group_sls[] = {
+ NULL,
+ };
+
++/* Devices for Surface Laptop Studio 2. */
++static const struct software_node *ssam_node_group_sls2[] = {
++ &ssam_node_root,
++ &ssam_node_bat_ac,
++ &ssam_node_bat_main,
++ &ssam_node_tmp_pprof,
++ &ssam_node_pos_tablet_switch,
++ &ssam_node_hid_sam_keyboard,
++ &ssam_node_hid_sam_penstash,
++ &ssam_node_hid_sam_sensors,
++ &ssam_node_hid_sam_ucm_ucsi,
++ NULL,
++};
++
+ /* Devices for Surface Laptop Go. */
+ static const struct software_node *ssam_node_group_slg1[] = {
+ &ssam_node_root,
+@@ -370,8 +384,11 @@ static const struct acpi_device_id ssam_platform_hub_match[] = {
+ /* Surface Laptop Go 3 */
+ { "MSHW0440", (unsigned long)ssam_node_group_slg1 },
+
+- /* Surface Laptop Studio */
+- { "MSHW0123", (unsigned long)ssam_node_group_sls },
++ /* Surface Laptop Studio 1 */
++ { "MSHW0123", (unsigned long)ssam_node_group_sls1 },
++
++ /* Surface Laptop Studio 2 */
++ { "MSHW0360", (unsigned long)ssam_node_group_sls2 },
+
+ { },
+ };
+--
+2.42.0
+
+From 3772b511c710c369b737fd0a111fbda63b028f1d Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sat, 25 Jul 2020 17:19:53 +0200
Subject: [PATCH] i2c: acpi: Implement RawBytes read access
@@ -6964,7 +7034,7 @@ Patchset: surface-sam-over-hid
1 file changed, 35 insertions(+)
diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c
-index d6037a328669..a290ebc77aea 100644
+index d6037a3286690..a290ebc77aea2 100644
--- a/drivers/i2c/i2c-core-acpi.c
+++ b/drivers/i2c/i2c-core-acpi.c
@@ -628,6 +628,28 @@ static int acpi_gsb_i2c_write_bytes(struct i2c_client *client,
@@ -7019,7 +7089,7 @@ index d6037a328669..a290ebc77aea 100644
--
2.42.0
-From 646e55b10dd11dcabcb886a39c8d3b63ec16d867 Mon Sep 17 00:00:00 2001
+From f45a16750118da615fca44e7214204c83631ee7f Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sat, 13 Feb 2021 16:41:18 +0100
Subject: [PATCH] platform/surface: Add driver for Surface Book 1 dGPU switch
@@ -7042,7 +7112,7 @@ Patchset: surface-sam-over-hid
create mode 100644 drivers/platform/surface/surfacebook1_dgpu_switch.c
diff --git a/drivers/platform/surface/Kconfig b/drivers/platform/surface/Kconfig
-index b629e82af97c..68656e8f309e 100644
+index b629e82af97c0..68656e8f309ed 100644
--- a/drivers/platform/surface/Kconfig
+++ b/drivers/platform/surface/Kconfig
@@ -149,6 +149,13 @@ config SURFACE_AGGREGATOR_TABLET_SWITCH
@@ -7060,7 +7130,7 @@ index b629e82af97c..68656e8f309e 100644
tristate "Surface DTX (Detachment System) Driver"
depends on SURFACE_AGGREGATOR
diff --git a/drivers/platform/surface/Makefile b/drivers/platform/surface/Makefile
-index 53344330939b..7efcd0cdb532 100644
+index 53344330939bf..7efcd0cdb5329 100644
--- a/drivers/platform/surface/Makefile
+++ b/drivers/platform/surface/Makefile
@@ -12,6 +12,7 @@ obj-$(CONFIG_SURFACE_AGGREGATOR_CDEV) += surface_aggregator_cdev.o
@@ -7073,7 +7143,7 @@ index 53344330939b..7efcd0cdb532 100644
obj-$(CONFIG_SURFACE_HOTPLUG) += surface_hotplug.o
diff --git a/drivers/platform/surface/surfacebook1_dgpu_switch.c b/drivers/platform/surface/surfacebook1_dgpu_switch.c
new file mode 100644
-index 000000000000..8b816ed8f35c
+index 0000000000000..8b816ed8f35c6
--- /dev/null
+++ b/drivers/platform/surface/surfacebook1_dgpu_switch.c
@@ -0,0 +1,162 @@
@@ -7242,7 +7312,7 @@ index 000000000000..8b816ed8f35c
--
2.42.0
-From f7519ec63734ab71e46bf03b6a38573788dfa29d Mon Sep 17 00:00:00 2001
+From a5d9cf4762a27e2bf7f38c0d5a223b9df8b4ba8a Mon Sep 17 00:00:00 2001
From: Sachi King <nakato@nakato.io>
Date: Tue, 5 Oct 2021 00:05:09 +1100
Subject: [PATCH] Input: soc_button_array - support AMD variant Surface devices
@@ -7264,7 +7334,7 @@ Patchset: surface-button
1 file changed, 8 insertions(+), 25 deletions(-)
diff --git a/drivers/input/misc/soc_button_array.c b/drivers/input/misc/soc_button_array.c
-index e79f5497948b..2bddbe6e9ea4 100644
+index e79f5497948b8..2bddbe6e9ea4d 100644
--- a/drivers/input/misc/soc_button_array.c
+++ b/drivers/input/misc/soc_button_array.c
@@ -537,8 +537,8 @@ static const struct soc_device_data soc_device_MSHW0028 = {
@@ -7319,7 +7389,7 @@ index e79f5497948b..2bddbe6e9ea4 100644
--
2.42.0
-From 500ba0980d1e89041a9c83a3e937df0a2119f4af Mon Sep 17 00:00:00 2001
+From 66f0a34801ad81ff08cc3ae0e175e0958959c461 Mon Sep 17 00:00:00 2001
From: Sachi King <nakato@nakato.io>
Date: Tue, 5 Oct 2021 00:22:57 +1100
Subject: [PATCH] platform/surface: surfacepro3_button: don't load on amd
@@ -7340,7 +7410,7 @@ Patchset: surface-button
1 file changed, 6 insertions(+), 24 deletions(-)
diff --git a/drivers/platform/surface/surfacepro3_button.c b/drivers/platform/surface/surfacepro3_button.c
-index 2755601f979c..4240c98ca226 100644
+index 2755601f979cd..4240c98ca2265 100644
--- a/drivers/platform/surface/surfacepro3_button.c
+++ b/drivers/platform/surface/surfacepro3_button.c
@@ -149,7 +149,8 @@ static int surface_button_resume(struct device *dev)
@@ -7391,7 +7461,7 @@ index 2755601f979c..4240c98ca226 100644
--
2.42.0
-From b478d859ace437e33ae34ff41d639566d877fff5 Mon Sep 17 00:00:00 2001
+From a55587ce4f5065bedb604f9031082ad47612a163 Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sat, 18 Feb 2023 01:02:49 +0100
Subject: [PATCH] USB: quirks: Add USB_QUIRK_DELAY_INIT for Surface Go 3
@@ -7416,7 +7486,7 @@ Patchset: surface-typecover
1 file changed, 3 insertions(+)
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
-index 15e9bd180a1d..0d70461d01e1 100644
+index 15e9bd180a1d2..0d70461d01e16 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -220,6 +220,9 @@ static const struct usb_device_id usb_quirk_list[] = {
@@ -7432,7 +7502,7 @@ index 15e9bd180a1d..0d70461d01e1 100644
--
2.42.0
-From edb9e1949c6164b318183b3796eab9bbd5e3297e Mon Sep 17 00:00:00 2001
+From 678999792d6b1c72e56c6b63fc3909b93db47b32 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
Date: Thu, 5 Nov 2020 13:09:45 +0100
Subject: [PATCH] hid/multitouch: Turn off Type Cover keyboard backlight when
@@ -7468,7 +7538,7 @@ Patchset: surface-typecover
1 file changed, 98 insertions(+), 2 deletions(-)
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index 521b2ffb4244..c8f3d05c8866 100644
+index 8db4ae05febc8..99a5efef45258 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -34,7 +34,10 @@
@@ -7650,7 +7720,7 @@ index 521b2ffb4244..c8f3d05c8866 100644
del_timer_sync(&td->release_timer);
sysfs_remove_group(&hdev->dev.kobj, &mt_attribute_group);
-@@ -2219,6 +2310,11 @@ static const struct hid_device_id mt_devices[] = {
+@@ -2223,6 +2314,11 @@ static const struct hid_device_id mt_devices[] = {
MT_USB_DEVICE(USB_VENDOR_ID_XIROKU,
USB_DEVICE_ID_XIROKU_CSR2) },
@@ -7665,7 +7735,7 @@ index 521b2ffb4244..c8f3d05c8866 100644
--
2.42.0
-From 687dbad7b7d5da3923289f28fb576231ffe79f99 Mon Sep 17 00:00:00 2001
+From 12427f01e38ebf653ccf44faefdcb92110c43c20 Mon Sep 17 00:00:00 2001
From: PJungkamp <p.jungkamp@gmail.com>
Date: Fri, 25 Feb 2022 12:04:25 +0100
Subject: [PATCH] hid/multitouch: Add support for surface pro type cover tablet
@@ -7694,7 +7764,7 @@ Patchset: surface-typecover
1 file changed, 122 insertions(+), 26 deletions(-)
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index c8f3d05c8866..1c6e4d66e762 100644
+index 99a5efef45258..6ae43ea90bcd5 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -77,6 +77,7 @@ MODULE_LICENSE("GPL");
@@ -7965,7 +8035,7 @@ index c8f3d05c8866..1c6e4d66e762 100644
--
2.42.0
-From 9349467c1adee5875fe9b6664f280a2d1ff77fb6 Mon Sep 17 00:00:00 2001
+From 151f9dba2f3d6d066d160128da109a0173a3ff4c Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sun, 19 Feb 2023 22:12:24 +0100
Subject: [PATCH] PCI: Add quirk to prevent calling shutdown mehtod
@@ -7990,7 +8060,7 @@ Patchset: surface-shutdown
3 files changed, 40 insertions(+)
diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
-index 41ee3dd8cecb..0bc473c2c187 100644
+index 51ec9e7e784f0..40554890d7211 100644
--- a/drivers/pci/pci-driver.c
+++ b/drivers/pci/pci-driver.c
@@ -507,6 +507,9 @@ static void pci_device_shutdown(struct device *dev)
@@ -8004,13 +8074,13 @@ index 41ee3dd8cecb..0bc473c2c187 100644
if (drv && drv->shutdown)
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
-index 321156ca273d..37e06e778ce2 100644
+index e3e915329510f..666ff1e9b6d7b 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
-@@ -6138,3 +6138,39 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x9a2d, dpc_log_size);
- DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x9a2f, dpc_log_size);
- DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x9a31, dpc_log_size);
- #endif
+@@ -6190,3 +6190,39 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x9a31, dpc_log_size);
+ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_XILINX, 0x5020, of_pci_make_dev_node);
+ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_XILINX, 0x5021, of_pci_make_dev_node);
+ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_REDHAT, 0x0005, of_pci_make_dev_node);
+
+static const struct dmi_system_id no_shutdown_dmi_table[] = {
+ /*
@@ -8048,13 +8118,13 @@ index 321156ca273d..37e06e778ce2 100644
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x466d, quirk_no_shutdown); // Thunderbolt 4 NHI
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x46a8, quirk_no_shutdown); // GPU
diff --git a/include/linux/pci.h b/include/linux/pci.h
-index 7ee498cd1f37..740049a82343 100644
+index 8c7c2c3c6c652..0c223b04dff91 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
-@@ -464,6 +464,7 @@ struct pci_dev {
- unsigned int no_vf_scan:1; /* Don't scan for VFs after IOV enablement */
+@@ -465,6 +465,7 @@ struct pci_dev {
unsigned int no_command_memory:1; /* No PCI_COMMAND_MEMORY */
unsigned int rom_bar_overlap:1; /* ROM BAR disable broken */
+ unsigned int rom_attr_enabled:1; /* Display of ROM attribute enabled? */
+ unsigned int no_shutdown:1; /* Do not touch device on shutdown */
pci_dev_flags_t dev_flags;
atomic_t enable_cnt; /* pci_enable_device has been called */
@@ -8062,7 +8132,7 @@ index 7ee498cd1f37..740049a82343 100644
--
2.42.0
-From cc9f1aa3808d704ee8cbdb971ff2395d8db57b6d Mon Sep 17 00:00:00 2001
+From 912e956823b3cadd7203d3ce94418d162ff701be Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sun, 12 Mar 2023 01:41:57 +0100
Subject: [PATCH] platform/surface: gpe: Add support for Surface Pro 9
@@ -8076,7 +8146,7 @@ Patchset: surface-gpe
1 file changed, 17 insertions(+)
diff --git a/drivers/platform/surface/surface_gpe.c b/drivers/platform/surface/surface_gpe.c
-index c219b840d491..69c4352e8406 100644
+index c219b840d491a..69c4352e8406b 100644
--- a/drivers/platform/surface/surface_gpe.c
+++ b/drivers/platform/surface/surface_gpe.c
@@ -41,6 +41,11 @@ static const struct property_entry lid_device_props_l4F[] = {
@@ -8113,7 +8183,7 @@ index c219b840d491..69c4352e8406 100644
--
2.42.0
-From 6d04b8ab365775a6b1ab7b7c560b5d50e78bb783 Mon Sep 17 00:00:00 2001
+From df083025f8c63824279c19de8ec3339440f819c9 Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Sun, 10 Oct 2021 20:56:57 +0200
Subject: [PATCH] ACPI: delay enumeration of devices with a _DEP pointing to an
@@ -8173,10 +8243,10 @@ Patchset: cameras
1 file changed, 3 insertions(+)
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
-index 87e385542576..1183d09c13a6 100644
+index 691d4b7686ee7..9283217689279 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
-@@ -2105,6 +2105,9 @@ static acpi_status acpi_bus_check_add_2(acpi_handle handle, u32 lvl_not_used,
+@@ -2108,6 +2108,9 @@ static acpi_status acpi_bus_check_add_2(acpi_handle handle, u32 lvl_not_used,
static void acpi_default_enumeration(struct acpi_device *device)
{
@@ -8189,7 +8259,7 @@ index 87e385542576..1183d09c13a6 100644
--
2.42.0
-From df1aa869818d56d8153223c60d74fb307cf3ff81 Mon Sep 17 00:00:00 2001
+From 87650a001d3068a8b614fd688e21bb87c2d3a3e6 Mon Sep 17 00:00:00 2001
From: zouxiaoh <xiaohong.zou@intel.com>
Date: Fri, 25 Jun 2021 08:52:59 +0800
Subject: [PATCH] iommu: intel-ipu: use IOMMU passthrough mode for Intel IPUs
@@ -8215,10 +8285,10 @@ Patchset: cameras
1 file changed, 30 insertions(+)
diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
-index 6387f3a6eccf..d75107c47de0 100644
+index 5a627e081797c..da866ac6b30ba 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
-@@ -37,6 +37,12 @@
+@@ -38,6 +38,12 @@
#define IS_GFX_DEVICE(pdev) ((pdev->class >> 16) == PCI_BASE_CLASS_DISPLAY)
#define IS_USB_DEVICE(pdev) ((pdev->class >> 8) == PCI_CLASS_SERIAL_USB)
#define IS_ISA_DEVICE(pdev) ((pdev->class >> 8) == PCI_CLASS_BRIDGE_ISA)
@@ -8231,7 +8301,7 @@ index 6387f3a6eccf..d75107c47de0 100644
#define IS_IPTS(pdev) ((pdev)->vendor == PCI_VENDOR_ID_INTEL && \
((pdev)->device == 0x9d3e))
#define IS_AZALIA(pdev) ((pdev)->vendor == 0x8086 && (pdev)->device == 0x3a3e)
-@@ -290,12 +296,14 @@ EXPORT_SYMBOL_GPL(intel_iommu_enabled);
+@@ -295,12 +301,14 @@ EXPORT_SYMBOL_GPL(intel_iommu_enabled);
static int dmar_map_gfx = 1;
static int dmar_map_ipts = 1;
@@ -8246,7 +8316,7 @@ index 6387f3a6eccf..d75107c47de0 100644
#define IDENTMAP_IPTS 16
const struct iommu_ops intel_iommu_ops;
-@@ -2553,6 +2561,9 @@ static int device_def_domain_type(struct device *dev)
+@@ -2547,6 +2555,9 @@ static int device_def_domain_type(struct device *dev)
if ((iommu_identity_mapping & IDENTMAP_GFX) && IS_GFX_DEVICE(pdev))
return IOMMU_DOMAIN_IDENTITY;
@@ -8256,7 +8326,7 @@ index 6387f3a6eccf..d75107c47de0 100644
if ((iommu_identity_mapping & IDENTMAP_IPTS) && IS_IPTS(pdev))
return IOMMU_DOMAIN_IDENTITY;
}
-@@ -2862,6 +2873,9 @@ static int __init init_dmars(void)
+@@ -2856,6 +2867,9 @@ static int __init init_dmars(void)
if (!dmar_map_gfx)
iommu_identity_mapping |= IDENTMAP_GFX;
@@ -8266,7 +8336,7 @@ index 6387f3a6eccf..d75107c47de0 100644
if (!dmar_map_ipts)
iommu_identity_mapping |= IDENTMAP_IPTS;
-@@ -4765,6 +4779,18 @@ static void quirk_iommu_igfx(struct pci_dev *dev)
+@@ -4838,6 +4852,18 @@ static void quirk_iommu_igfx(struct pci_dev *dev)
dmar_map_gfx = 0;
}
@@ -8285,7 +8355,7 @@ index 6387f3a6eccf..d75107c47de0 100644
static void quirk_iommu_ipts(struct pci_dev *dev)
{
if (!IS_IPTS(dev))
-@@ -4776,6 +4802,7 @@ static void quirk_iommu_ipts(struct pci_dev *dev)
+@@ -4849,6 +4875,7 @@ static void quirk_iommu_ipts(struct pci_dev *dev)
pci_info(dev, "Passthrough IOMMU for IPTS\n");
dmar_map_ipts = 0;
}
@@ -8293,7 +8363,7 @@ index 6387f3a6eccf..d75107c47de0 100644
/* G4x/GM45 integrated gfx dmar support is totally busted. */
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2a40, quirk_iommu_igfx);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2e00, quirk_iommu_igfx);
-@@ -4811,6 +4838,9 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x1632, quirk_iommu_igfx);
+@@ -4884,6 +4911,9 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x1632, quirk_iommu_igfx);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x163A, quirk_iommu_igfx);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x163D, quirk_iommu_igfx);
@@ -8306,7 +8376,7 @@ index 6387f3a6eccf..d75107c47de0 100644
--
2.42.0
-From 58f403707b4b56371254100412f325a30ef1707d Mon Sep 17 00:00:00 2001
+From 76fec27d978bf7708a60862d4aab2e1fe7ec3f27 Mon Sep 17 00:00:00 2001
From: Daniel Scally <djrscally@gmail.com>
Date: Sun, 10 Oct 2021 20:57:02 +0200
Subject: [PATCH] platform/x86: int3472: Enable I2c daisy chain
@@ -8323,7 +8393,7 @@ Patchset: cameras
1 file changed, 7 insertions(+)
diff --git a/drivers/platform/x86/intel/int3472/tps68470.c b/drivers/platform/x86/intel/int3472/tps68470.c
-index 1e107fd49f82..e3e1696e7f0e 100644
+index 1e107fd49f828..e3e1696e7f0ee 100644
--- a/drivers/platform/x86/intel/int3472/tps68470.c
+++ b/drivers/platform/x86/intel/int3472/tps68470.c
@@ -46,6 +46,13 @@ static int tps68470_chip_init(struct device *dev, struct regmap *regmap)
@@ -8343,692 +8413,7 @@ index 1e107fd49f82..e3e1696e7f0e 100644
--
2.42.0
-From 60a2d404d65225351612a7d3d3d5a1d1a382ca82 Mon Sep 17 00:00:00 2001
-From: Daniel Scally <djrscally@gmail.com>
-Date: Wed, 4 May 2022 23:21:45 +0100
-Subject: [PATCH] media: ipu3-cio2: Move functionality from .complete() to
- .bound()
-
-Creating links and registering subdev nodes during the .complete()
-callback has the unfortunate effect of preventing all cameras that
-connect to a notifier from working if any one of their drivers fails
-to probe. Moving the functionality from .complete() to .bound() allows
-those camera sensor drivers that did probe correctly to work regardless.
-
-Signed-off-by: Daniel Scally <djrscally@gmail.com>
-Patchset: cameras
----
- drivers/media/pci/intel/ipu3/ipu3-cio2-main.c | 59 +++++++------------
- 1 file changed, 21 insertions(+), 38 deletions(-)
-
-diff --git a/drivers/media/pci/intel/ipu3/ipu3-cio2-main.c b/drivers/media/pci/intel/ipu3/ipu3-cio2-main.c
-index ca51776a961f..c027b2bfd851 100644
---- a/drivers/media/pci/intel/ipu3/ipu3-cio2-main.c
-+++ b/drivers/media/pci/intel/ipu3/ipu3-cio2-main.c
-@@ -1386,7 +1386,10 @@ static int cio2_notifier_bound(struct v4l2_async_notifier *notifier,
- {
- struct cio2_device *cio2 = to_cio2_device(notifier);
- struct sensor_async_subdev *s_asd = to_sensor_asd(asd);
-+ struct device *dev = &cio2->pci_dev->dev;
- struct cio2_queue *q;
-+ unsigned int pad;
-+ int ret;
-
- if (cio2->queue[s_asd->csi2.port].sensor)
- return -EBUSY;
-@@ -1397,7 +1400,24 @@ static int cio2_notifier_bound(struct v4l2_async_notifier *notifier,
- q->sensor = sd;
- q->csi_rx_base = cio2->base + CIO2_REG_PIPE_BASE(q->csi2.port);
-
-- return 0;
-+ ret = media_entity_get_fwnode_pad(&q->sensor->entity,
-+ s_asd->asd.match.fwnode,
-+ MEDIA_PAD_FL_SOURCE);
-+ if (ret < 0) {
-+ dev_err(dev, "no pad for endpoint %pfw (%d)\n",
-+ s_asd->asd.match.fwnode, ret);
-+ return ret;
-+ }
-+
-+ ret = media_create_pad_link(&q->sensor->entity, ret, &q->subdev.entity,
-+ CIO2_PAD_SINK, 0);
-+ if (ret) {
-+ dev_err(dev, "failed to create link for %s\n",
-+ q->sensor->name);
-+ return ret;
-+ }
-+
-+ return v4l2_device_register_subdev_nodes(&cio2->v4l2_dev);
- }
-
- /* The .unbind callback */
-@@ -1411,46 +1431,9 @@ static void cio2_notifier_unbind(struct v4l2_async_notifier *notifier,
- cio2->queue[s_asd->csi2.port].sensor = NULL;
- }
-
--/* .complete() is called after all subdevices have been located */
--static int cio2_notifier_complete(struct v4l2_async_notifier *notifier)
--{
-- struct cio2_device *cio2 = to_cio2_device(notifier);
-- struct device *dev = &cio2->pci_dev->dev;
-- struct sensor_async_subdev *s_asd;
-- struct v4l2_async_subdev *asd;
-- struct cio2_queue *q;
-- int ret;
--
-- list_for_each_entry(asd, &cio2->notifier.asd_list, asd_list) {
-- s_asd = to_sensor_asd(asd);
-- q = &cio2->queue[s_asd->csi2.port];
--
-- ret = media_entity_get_fwnode_pad(&q->sensor->entity,
-- s_asd->asd.match.fwnode,
-- MEDIA_PAD_FL_SOURCE);
-- if (ret < 0) {
-- dev_err(dev, "no pad for endpoint %pfw (%d)\n",
-- s_asd->asd.match.fwnode, ret);
-- return ret;
-- }
--
-- ret = media_create_pad_link(&q->sensor->entity, ret,
-- &q->subdev.entity, CIO2_PAD_SINK,
-- 0);
-- if (ret) {
-- dev_err(dev, "failed to create link for %s (endpoint %pfw, error %d)\n",
-- q->sensor->name, s_asd->asd.match.fwnode, ret);
-- return ret;
-- }
-- }
--
-- return v4l2_device_register_subdev_nodes(&cio2->v4l2_dev);
--}
--
- static const struct v4l2_async_notifier_operations cio2_async_ops = {
- .bound = cio2_notifier_bound,
- .unbind = cio2_notifier_unbind,
-- .complete = cio2_notifier_complete,
- };
-
- static int cio2_parse_firmware(struct cio2_device *cio2)
---
-2.42.0
-
-From e9b59c24855f146141b665efed05b7455aeb5fd4 Mon Sep 17 00:00:00 2001
-From: Daniel Scally <djrscally@gmail.com>
-Date: Thu, 2 Jun 2022 22:15:56 +0100
-Subject: [PATCH] media: ipu3-cio2: Re-add .complete() to ipu3-cio2
-
-Removing the .complete() callback had some unintended consequences.
-Because the VCM driver is not directly linked to the ipu3-cio2
-driver .bound() never gets called for it, which means its devnode
-is never created if it probes late. Because .complete() waits for
-any sub-notifiers to also be complete it is captured in that call.
-
-Signed-off-by: Daniel Scally <djrscally@gmail.com>
-Patchset: cameras
----
- drivers/media/pci/intel/ipu3/ipu3-cio2-main.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/drivers/media/pci/intel/ipu3/ipu3-cio2-main.c b/drivers/media/pci/intel/ipu3/ipu3-cio2-main.c
-index c027b2bfd851..031acee26553 100644
---- a/drivers/media/pci/intel/ipu3/ipu3-cio2-main.c
-+++ b/drivers/media/pci/intel/ipu3/ipu3-cio2-main.c
-@@ -1431,9 +1431,18 @@ static void cio2_notifier_unbind(struct v4l2_async_notifier *notifier,
- cio2->queue[s_asd->csi2.port].sensor = NULL;
- }
-
-+/* .complete() is called after all subdevices have been located */
-+static int cio2_notifier_complete(struct v4l2_async_notifier *notifier)
-+{
-+ struct cio2_device *cio2 = to_cio2_device(notifier);
-+
-+ return v4l2_device_register_subdev_nodes(&cio2->v4l2_dev);
-+}
-+
- static const struct v4l2_async_notifier_operations cio2_async_ops = {
- .bound = cio2_notifier_bound,
- .unbind = cio2_notifier_unbind,
-+ .complete = cio2_notifier_complete,
- };
-
- static int cio2_parse_firmware(struct cio2_device *cio2)
---
-2.42.0
-
-From 0926490302f353661c1a454f27611f5c94d928f0 Mon Sep 17 00:00:00 2001
-From: Daniel Scally <djrscally@gmail.com>
-Date: Thu, 28 Oct 2021 21:55:16 +0100
-Subject: [PATCH] media: i2c: Add driver for DW9719 VCM
-
-Add a driver for the DW9719 VCM. The driver creates a v4l2 subdevice
-and registers a control to set the desired focus.
-
-Signed-off-by: Daniel Scally <djrscally@gmail.com>
-Patchset: cameras
----
- MAINTAINERS | 7 +
- drivers/media/i2c/Kconfig | 11 +
- drivers/media/i2c/Makefile | 1 +
- drivers/media/i2c/dw9719.c | 425 +++++++++++++++++++++++++++++++++++++
- 4 files changed, 444 insertions(+)
- create mode 100644 drivers/media/i2c/dw9719.c
-
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 4cc6bf79fdd8..439cf523b80e 100644
---- a/MAINTAINERS
-+++ b/MAINTAINERS
-@@ -6251,6 +6251,13 @@ T: git git://linuxtv.org/media_tree.git
- F: Documentation/devicetree/bindings/media/i2c/dongwoon,dw9714.yaml
- F: drivers/media/i2c/dw9714.c
-
-+DONGWOON DW9719 LENS VOICE COIL DRIVER
-+M: Daniel Scally <djrscally@gmail.com>
-+L: linux-media@vger.kernel.org
-+S: Maintained
-+T: git git://linuxtv.org/media_tree.git
-+F: drivers/media/i2c/dw9719.c
-+
- DONGWOON DW9768 LENS VOICE COIL DRIVER
- M: Dongchun Zhu <dongchun.zhu@mediatek.com>
- L: linux-media@vger.kernel.org
-diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig
-index 0669aea3eba3..6959ee1a89fb 100644
---- a/drivers/media/i2c/Kconfig
-+++ b/drivers/media/i2c/Kconfig
-@@ -855,6 +855,17 @@ config VIDEO_DW9714
- capability. This is designed for linear control of
- voice coil motors, controlled via I2C serial interface.
-
-+config VIDEO_DW9719
-+ tristate "DW9719 lens voice coil support"
-+ depends on I2C && VIDEO_V4L2
-+ select MEDIA_CONTROLLER
-+ select VIDEO_V4L2_SUBDEV_API
-+ select V4L2_ASYNC
-+ help
-+ This is a driver for the DW9719 camera lens voice coil.
-+ This is designed for linear control of voice coil motors,
-+ controlled via I2C serial interface.
-+
- config VIDEO_DW9768
- tristate "DW9768 lens voice coil support"
- depends on I2C && VIDEO_DEV
-diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile
-index c743aeb5d1ad..db1ebf5cadfe 100644
---- a/drivers/media/i2c/Makefile
-+++ b/drivers/media/i2c/Makefile
-@@ -29,6 +29,7 @@ obj-$(CONFIG_VIDEO_CS5345) += cs5345.o
- obj-$(CONFIG_VIDEO_CS53L32A) += cs53l32a.o
- obj-$(CONFIG_VIDEO_CX25840) += cx25840/
- obj-$(CONFIG_VIDEO_DW9714) += dw9714.o
-+obj-$(CONFIG_VIDEO_DW9719) += dw9719.o
- obj-$(CONFIG_VIDEO_DW9768) += dw9768.o
- obj-$(CONFIG_VIDEO_DW9807_VCM) += dw9807-vcm.o
- obj-$(CONFIG_VIDEO_ET8EK8) += et8ek8/
-diff --git a/drivers/media/i2c/dw9719.c b/drivers/media/i2c/dw9719.c
-new file mode 100644
-index 000000000000..180b04d2a6b3
---- /dev/null
-+++ b/drivers/media/i2c/dw9719.c
-@@ -0,0 +1,425 @@
-+// SPDX-License-Identifier: GPL-2.0
-+// Copyright (c) 2012 Intel Corporation
-+
-+/*
-+ * Based on linux/modules/camera/drivers/media/i2c/imx/dw9719.c in this repo:
-+ * https://github.com/ZenfoneArea/android_kernel_asus_zenfone5
-+ */
-+
-+#include <asm/unaligned.h>
-+
-+#include <linux/delay.h>
-+#include <linux/i2c.h>
-+#include <linux/pm_runtime.h>
-+#include <linux/regulator/consumer.h>
-+#include <linux/types.h>
-+
-+#include <media/v4l2-common.h>
-+#include <media/v4l2-ctrls.h>
-+#include <media/v4l2-subdev.h>
-+
-+#define DW9719_MAX_FOCUS_POS 1023
-+#define DW9719_CTRL_STEPS 16
-+#define DW9719_CTRL_DELAY_US 1000
-+#define DELAY_MAX_PER_STEP_NS (1000000 * 1023)
-+
-+#define DW9719_INFO 0
-+#define DW9719_ID 0xF1
-+#define DW9719_CONTROL 2
-+#define DW9719_VCM_CURRENT 3
-+
-+#define DW9719_MODE 6
-+#define DW9719_VCM_FREQ 7
-+
-+#define DW9719_MODE_SAC3 0x40
-+#define DW9719_DEFAULT_VCM_FREQ 0x60
-+#define DW9719_ENABLE_RINGING 0x02
-+
-+#define NUM_REGULATORS 2
-+
-+#define to_dw9719_device(x) container_of(x, struct dw9719_device, sd)
-+
-+struct dw9719_device {
-+ struct device *dev;
-+ struct i2c_client *client;
-+ struct regulator_bulk_data regulators[NUM_REGULATORS];
-+ struct v4l2_subdev sd;
-+
-+ struct dw9719_v4l2_ctrls {
-+ struct v4l2_ctrl_handler handler;
-+ struct v4l2_ctrl *focus;
-+ } ctrls;
-+};
-+
-+static int dw9719_i2c_rd8(struct i2c_client *client, u8 reg, u8 *val)
-+{
-+ struct i2c_msg msg[2];
-+ u8 buf[2] = { reg };
-+ int ret;
-+
-+ msg[0].addr = client->addr;
-+ msg[0].flags = 0;
-+ msg[0].len = 1;
-+ msg[0].buf = buf;
-+
-+ msg[1].addr = client->addr;
-+ msg[1].flags = I2C_M_RD;
-+ msg[1].len = 1;
-+ msg[1].buf = &buf[1];
-+ *val = 0;
-+
-+ ret = i2c_transfer(client->adapter, msg, 2);
-+ if (ret < 0)
-+ return ret;
-+
-+ *val = buf[1];
-+
-+ return 0;
-+}
-+
-+static int dw9719_i2c_wr8(struct i2c_client *client, u8 reg, u8 val)
-+{
-+ struct i2c_msg msg;
-+ int ret;
-+
-+ u8 buf[2] = { reg, val };
-+
-+ msg.addr = client->addr;
-+ msg.flags = 0;
-+ msg.len = sizeof(buf);
-+ msg.buf = buf;
-+
-+ ret = i2c_transfer(client->adapter, &msg, 1);
-+
-+ return ret < 0 ? ret : 0;
-+}
-+
-+static int dw9719_i2c_wr16(struct i2c_client *client, u8 reg, u16 val)
-+{
-+ struct i2c_msg msg;
-+ u8 buf[3] = { reg };
-+ int ret;
-+
-+ put_unaligned_be16(val, buf + 1);
-+
-+ msg.addr = client->addr;
-+ msg.flags = 0;
-+ msg.len = sizeof(buf);
-+ msg.buf = buf;
-+
-+ ret = i2c_transfer(client->adapter, &msg, 1);
-+
-+ return ret < 0 ? ret : 0;
-+}
-+
-+static int dw9719_detect(struct dw9719_device *dw9719)
-+{
-+ int ret;
-+ u8 val;
-+
-+ ret = dw9719_i2c_rd8(dw9719->client, DW9719_INFO, &val);
-+ if (ret < 0)
-+ return ret;
-+
-+ if (val != DW9719_ID) {
-+ dev_err(dw9719->dev, "Failed to detect correct id\n");
-+ ret = -ENXIO;
-+ }
-+
-+ return 0;
-+}
-+
-+static int dw9719_power_down(struct dw9719_device *dw9719)
-+{
-+ return regulator_bulk_disable(NUM_REGULATORS, dw9719->regulators);
-+}
-+
-+static int dw9719_power_up(struct dw9719_device *dw9719)
-+{
-+ int ret;
-+
-+ ret = regulator_bulk_enable(NUM_REGULATORS, dw9719->regulators);
-+ if (ret)
-+ return ret;
-+
-+ /* Jiggle SCL pin to wake up device */
-+ ret = dw9719_i2c_wr8(dw9719->client, DW9719_CONTROL, 1);
-+
-+ /* Need 100us to transit from SHUTDOWN to STANDBY*/
-+ usleep_range(100, 1000);
-+
-+ ret = dw9719_i2c_wr8(dw9719->client, DW9719_CONTROL,
-+ DW9719_ENABLE_RINGING);
-+ if (ret < 0)
-+ goto fail_powerdown;
-+
-+ ret = dw9719_i2c_wr8(dw9719->client, DW9719_MODE, DW9719_MODE_SAC3);
-+ if (ret < 0)
-+ goto fail_powerdown;
-+
-+ ret = dw9719_i2c_wr8(dw9719->client, DW9719_VCM_FREQ,
-+ DW9719_DEFAULT_VCM_FREQ);
-+ if (ret < 0)
-+ goto fail_powerdown;
-+
-+ return 0;
-+
-+fail_powerdown:
-+ dw9719_power_down(dw9719);
-+ return ret;
-+}
-+
-+static int dw9719_t_focus_abs(struct dw9719_device *dw9719, s32 value)
-+{
-+ int ret;
-+
-+ value = clamp(value, 0, DW9719_MAX_FOCUS_POS);
-+ ret = dw9719_i2c_wr16(dw9719->client, DW9719_VCM_CURRENT, value);
-+ if (ret < 0)
-+ return ret;
-+
-+ return 0;
-+}
-+
-+static int dw9719_set_ctrl(struct v4l2_ctrl *ctrl)
-+{
-+ struct dw9719_device *dw9719 = container_of(ctrl->handler,
-+ struct dw9719_device,
-+ ctrls.handler);
-+ int ret;
-+
-+ /* Only apply changes to the controls if the device is powered up */
-+ if (!pm_runtime_get_if_in_use(dw9719->dev))
-+ return 0;
-+
-+ switch (ctrl->id) {
-+ case V4L2_CID_FOCUS_ABSOLUTE:
-+ ret = dw9719_t_focus_abs(dw9719, ctrl->val);
-+ break;
-+ default:
-+ ret = -EINVAL;
-+ }
-+
-+ pm_runtime_put(dw9719->dev);
-+
-+ return ret;
-+}
-+
-+static const struct v4l2_ctrl_ops dw9719_ctrl_ops = {
-+ .s_ctrl = dw9719_set_ctrl,
-+};
-+
-+static int __maybe_unused dw9719_suspend(struct device *dev)
-+{
-+ struct v4l2_subdev *sd = dev_get_drvdata(dev);
-+ struct dw9719_device *dw9719 = to_dw9719_device(sd);
-+ int ret;
-+ int val;
-+
-+ for (val = dw9719->ctrls.focus->val; val >= 0;
-+ val -= DW9719_CTRL_STEPS) {
-+ ret = dw9719_t_focus_abs(dw9719, val);
-+ if (ret)
-+ return ret;
-+
-+ usleep_range(DW9719_CTRL_DELAY_US, DW9719_CTRL_DELAY_US + 10);
-+ }
-+
-+ return dw9719_power_down(dw9719);
-+}
-+
-+static int __maybe_unused dw9719_resume(struct device *dev)
-+{
-+ struct v4l2_subdev *sd = dev_get_drvdata(dev);
-+ struct dw9719_device *dw9719 = to_dw9719_device(sd);
-+ int current_focus = dw9719->ctrls.focus->val;
-+ int ret;
-+ int val;
-+
-+ ret = dw9719_power_up(dw9719);
-+ if (ret)
-+ return ret;
-+
-+ for (val = current_focus % DW9719_CTRL_STEPS; val < current_focus;
-+ val += DW9719_CTRL_STEPS) {
-+ ret = dw9719_t_focus_abs(dw9719, val);
-+ if (ret)
-+ goto err_power_down;
-+
-+ usleep_range(DW9719_CTRL_DELAY_US, DW9719_CTRL_DELAY_US + 10);
-+ }
-+
-+ return 0;
-+
-+err_power_down:
-+ dw9719_power_down(dw9719);
-+ return ret;
-+}
-+
-+static int dw9719_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
-+{
-+ return pm_runtime_resume_and_get(sd->dev);
-+}
-+
-+static int dw9719_close(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
-+{
-+ pm_runtime_put(sd->dev);
-+
-+ return 0;
-+}
-+
-+static const struct v4l2_subdev_internal_ops dw9719_internal_ops = {
-+ .open = dw9719_open,
-+ .close = dw9719_close,
-+};
-+
-+static int dw9719_init_controls(struct dw9719_device *dw9719)
-+{
-+ const struct v4l2_ctrl_ops *ops = &dw9719_ctrl_ops;
-+ int ret;
-+
-+ ret = v4l2_ctrl_handler_init(&dw9719->ctrls.handler, 1);
-+ if (ret)
-+ return ret;
-+
-+ dw9719->ctrls.focus = v4l2_ctrl_new_std(&dw9719->ctrls.handler, ops,
-+ V4L2_CID_FOCUS_ABSOLUTE, 0,
-+ DW9719_MAX_FOCUS_POS, 1, 0);
-+
-+ if (dw9719->ctrls.handler.error) {
-+ dev_err(dw9719->dev, "Error initialising v4l2 ctrls\n");
-+ ret = dw9719->ctrls.handler.error;
-+ goto err_free_handler;
-+ }
-+
-+ dw9719->sd.ctrl_handler = &dw9719->ctrls.handler;
-+
-+ return ret;
-+
-+err_free_handler:
-+ v4l2_ctrl_handler_free(&dw9719->ctrls.handler);
-+ return ret;
-+}
-+
-+static const struct v4l2_subdev_ops dw9719_ops = { };
-+
-+static int dw9719_probe(struct i2c_client *client)
-+{
-+ struct dw9719_device *dw9719;
-+ int ret;
-+
-+ dw9719 = devm_kzalloc(&client->dev, sizeof(*dw9719), GFP_KERNEL);
-+ if (!dw9719)
-+ return -ENOMEM;
-+
-+ dw9719->client = client;
-+ dw9719->dev = &client->dev;
-+
-+ dw9719->regulators[0].supply = "vdd";
-+ /*
-+ * The DW9719 has only the 1 VDD voltage input, but some PMICs such as
-+ * the TPS68470 PMIC have I2C passthrough capability, to disconnect the
-+ * sensor's I2C pins from the I2C bus when the sensors VSIO (Sensor-IO)
-+ * is off, because some sensors then short these pins to ground;
-+ * and the DW9719 might sit behind this passthrough, this it needs to
-+ * enable VSIO as that will also enable the I2C passthrough.
-+ */
-+ dw9719->regulators[1].supply = "vsio";
-+
-+ ret = devm_regulator_bulk_get(&client->dev, NUM_REGULATORS,
-+ dw9719->regulators);
-+ if (ret)
-+ return dev_err_probe(&client->dev, ret, "getting regulators\n");
-+
-+ v4l2_i2c_subdev_init(&dw9719->sd, client, &dw9719_ops);
-+ dw9719->sd.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
-+ dw9719->sd.internal_ops = &dw9719_internal_ops;
-+
-+ ret = dw9719_init_controls(dw9719);
-+ if (ret)
-+ return ret;
-+
-+ ret = media_entity_pads_init(&dw9719->sd.entity, 0, NULL);
-+ if (ret < 0)
-+ goto err_free_ctrl_handler;
-+
-+ dw9719->sd.entity.function = MEDIA_ENT_F_LENS;
-+
-+ /*
-+ * We need the driver to work in the event that pm runtime is disable in
-+ * the kernel, so power up and verify the chip now. In the event that
-+ * runtime pm is disabled this will leave the chip on, so that the lens
-+ * will work.
-+ */
-+
-+ ret = dw9719_power_up(dw9719);
-+ if (ret)
-+ goto err_cleanup_media;
-+
-+ ret = dw9719_detect(dw9719);
-+ if (ret)
-+ goto err_powerdown;
-+
-+ pm_runtime_set_active(&client->dev);
-+ pm_runtime_get_noresume(&client->dev);
-+ pm_runtime_enable(&client->dev);
-+
-+ ret = v4l2_async_register_subdev(&dw9719->sd);
-+ if (ret < 0)
-+ goto err_pm_runtime;
-+
-+ pm_runtime_set_autosuspend_delay(&client->dev, 1000);
-+ pm_runtime_use_autosuspend(&client->dev);
-+ pm_runtime_put_autosuspend(&client->dev);
-+
-+ return ret;
-+
-+err_pm_runtime:
-+ pm_runtime_disable(&client->dev);
-+ pm_runtime_put_noidle(&client->dev);
-+err_powerdown:
-+ dw9719_power_down(dw9719);
-+err_cleanup_media:
-+ media_entity_cleanup(&dw9719->sd.entity);
-+err_free_ctrl_handler:
-+ v4l2_ctrl_handler_free(&dw9719->ctrls.handler);
-+
-+ return ret;
-+}
-+
-+static void dw9719_remove(struct i2c_client *client)
-+{
-+ struct v4l2_subdev *sd = i2c_get_clientdata(client);
-+ struct dw9719_device *dw9719 = container_of(sd, struct dw9719_device,
-+ sd);
-+
-+ pm_runtime_disable(&client->dev);
-+ v4l2_async_unregister_subdev(sd);
-+ v4l2_ctrl_handler_free(&dw9719->ctrls.handler);
-+ media_entity_cleanup(&dw9719->sd.entity);
-+}
-+
-+static const struct i2c_device_id dw9719_id_table[] = {
-+ { "dw9719" },
-+ { }
-+};
-+MODULE_DEVICE_TABLE(i2c, dw9719_id_table);
-+
-+static const struct dev_pm_ops dw9719_pm_ops = {
-+ SET_RUNTIME_PM_OPS(dw9719_suspend, dw9719_resume, NULL)
-+};
-+
-+static struct i2c_driver dw9719_i2c_driver = {
-+ .driver = {
-+ .name = "dw9719",
-+ .pm = &dw9719_pm_ops,
-+ },
-+ .probe_new = dw9719_probe,
-+ .remove = dw9719_remove,
-+ .id_table = dw9719_id_table,
-+};
-+module_i2c_driver(dw9719_i2c_driver);
-+
-+MODULE_AUTHOR("Daniel Scally <djrscally@gmail.com>");
-+MODULE_DESCRIPTION("DW9719 VCM Driver");
-+MODULE_LICENSE("GPL");
---
-2.42.0
-
-From 3a35f5894c7e979357c64bbf198bd35dc3489a0a Mon Sep 17 00:00:00 2001
-From: Maximilian Luz <luzmaximilian@gmail.com>
-Date: Fri, 15 Jul 2022 23:48:00 +0200
-Subject: [PATCH] drivers/media/i2c: Fix DW9719 dependencies
-
-It should depend on VIDEO_DEV instead of VIDEO_V4L2.
-
-Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
-Patchset: cameras
----
- drivers/media/i2c/Kconfig | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig
-index 6959ee1a89fb..1d5082fe9ce3 100644
---- a/drivers/media/i2c/Kconfig
-+++ b/drivers/media/i2c/Kconfig
-@@ -857,7 +857,7 @@ config VIDEO_DW9714
-
- config VIDEO_DW9719
- tristate "DW9719 lens voice coil support"
-- depends on I2C && VIDEO_V4L2
-+ depends on I2C && VIDEO_DEV
- select MEDIA_CONTROLLER
- select VIDEO_V4L2_SUBDEV_API
- select V4L2_ASYNC
---
-2.42.0
-
-From acbd8c1b38ffee270862e8efcf68ae3580b1b82d Mon Sep 17 00:00:00 2001
+From 232a0f88ecc21141c6f0d94cc74eb63c7869c217 Mon Sep 17 00:00:00 2001
From: Daniel Scally <dan.scally@ideasonboard.com>
Date: Thu, 2 Mar 2023 12:59:39 +0000
Subject: [PATCH] platform/x86: int3472: Remap reset GPIO for INT347E
@@ -9050,7 +8435,7 @@ Patchset: cameras
1 file changed, 14 insertions(+)
diff --git a/drivers/platform/x86/intel/int3472/discrete.c b/drivers/platform/x86/intel/int3472/discrete.c
-index e33c2d75975c..c0c90ae66b70 100644
+index e33c2d75975cf..c0c90ae66b705 100644
--- a/drivers/platform/x86/intel/int3472/discrete.c
+++ b/drivers/platform/x86/intel/int3472/discrete.c
@@ -57,6 +57,9 @@ static int skl_int3472_map_gpio_to_sensor(struct int3472_discrete_device *int347
@@ -9084,7 +8469,7 @@ index e33c2d75975c..c0c90ae66b70 100644
--
2.42.0
-From b2ae8fc0aecde894bf6e8f52e515de645f1b4739 Mon Sep 17 00:00:00 2001
+From 0cfd5c05a675388bbb2edfa87423dc5ad931cc97 Mon Sep 17 00:00:00 2001
From: Daniel Scally <dan.scally@ideasonboard.com>
Date: Tue, 21 Mar 2023 13:45:26 +0000
Subject: [PATCH] media: i2c: Clarify that gain is Analogue gain in OV7251
@@ -9099,7 +8484,7 @@ Patchset: cameras
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/media/i2c/ov7251.c b/drivers/media/i2c/ov7251.c
-index 675fb37a6fea..43b30db08c9e 100644
+index 675fb37a6feae..43b30db08c9e4 100644
--- a/drivers/media/i2c/ov7251.c
+++ b/drivers/media/i2c/ov7251.c
@@ -1051,7 +1051,7 @@ static int ov7251_s_ctrl(struct v4l2_ctrl *ctrl)
@@ -9123,7 +8508,7 @@ index 675fb37a6fea..43b30db08c9e 100644
--
2.42.0
-From 590fe333492348f48411fd9c2fc14d4302223266 Mon Sep 17 00:00:00 2001
+From 18fa273c21f1dd86160f18242a81947392272443 Mon Sep 17 00:00:00 2001
From: Daniel Scally <dan.scally@ideasonboard.com>
Date: Wed, 22 Mar 2023 11:01:42 +0000
Subject: [PATCH] media: v4l2-core: Acquire privacy led in
@@ -9142,27 +8527,27 @@ Patchset: cameras
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c
-index b16b5f4cb91e..33739a979cbc 100644
+index 091e8cf4114ba..cca10f5355844 100644
--- a/drivers/media/v4l2-core/v4l2-async.c
+++ b/drivers/media/v4l2-core/v4l2-async.c
-@@ -760,6 +760,10 @@ int v4l2_async_register_subdev(struct v4l2_subdev *sd)
- struct v4l2_async_notifier *notifier;
- int ret;
+@@ -796,6 +796,10 @@ int v4l2_async_register_subdev(struct v4l2_subdev *sd)
+
+ INIT_LIST_HEAD(&sd->asc_list);
+ ret = v4l2_subdev_get_privacy_led(sd);
+ if (ret < 0)
+ return ret;
+
/*
- * No reference taken. The reference is held by the device
- * (struct v4l2_subdev.dev), and async sub-device does not
+ * No reference taken. The reference is held by the device (struct
+ * v4l2_subdev.dev), and async sub-device does not exist independently
diff --git a/drivers/media/v4l2-core/v4l2-fwnode.c b/drivers/media/v4l2-core/v4l2-fwnode.c
-index 4fa9225aa3d9..ed4c75253cbc 100644
+index 7f181fbbb1407..1c0347de4e216 100644
--- a/drivers/media/v4l2-core/v4l2-fwnode.c
+++ b/drivers/media/v4l2-core/v4l2-fwnode.c
-@@ -1314,10 +1314,6 @@ int v4l2_async_register_subdev_sensor(struct v4l2_subdev *sd)
+@@ -1217,10 +1217,6 @@ int v4l2_async_register_subdev_sensor(struct v4l2_subdev *sd)
- v4l2_async_nf_init(notifier);
+ v4l2_async_subdev_nf_init(notifier, sd);
- ret = v4l2_subdev_get_privacy_led(sd);
- if (ret < 0)
@@ -9174,7 +8559,7 @@ index 4fa9225aa3d9..ed4c75253cbc 100644
--
2.42.0
-From cf42b6660ce6a705292e0cd0df8e7d39dcae8f04 Mon Sep 17 00:00:00 2001
+From 07e01113f2641afab78b155d42e9d9d399a9e164 Mon Sep 17 00:00:00 2001
From: Kate Hsuan <hpa@redhat.com>
Date: Tue, 21 Mar 2023 23:37:16 +0800
Subject: [PATCH] platform: x86: int3472: Add MFD cell for tps68470 LED
@@ -9190,7 +8575,7 @@ Patchset: cameras
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/platform/x86/intel/int3472/tps68470.c b/drivers/platform/x86/intel/int3472/tps68470.c
-index e3e1696e7f0e..423dc555093f 100644
+index e3e1696e7f0ee..423dc555093f7 100644
--- a/drivers/platform/x86/intel/int3472/tps68470.c
+++ b/drivers/platform/x86/intel/int3472/tps68470.c
@@ -17,7 +17,7 @@
@@ -9215,7 +8600,7 @@ index e3e1696e7f0e..423dc555093f 100644
--
2.42.0
-From 5ef4b0088658da64a7f39c37e33aad3469b3fb39 Mon Sep 17 00:00:00 2001
+From a704bf822539e09b00015110b48bc997692c92ce Mon Sep 17 00:00:00 2001
From: Kate Hsuan <hpa@redhat.com>
Date: Tue, 21 Mar 2023 23:37:17 +0800
Subject: [PATCH] include: mfd: tps68470: Add masks for LEDA and LEDB
@@ -9233,7 +8618,7 @@ Patchset: cameras
1 file changed, 5 insertions(+)
diff --git a/include/linux/mfd/tps68470.h b/include/linux/mfd/tps68470.h
-index 7807fa329db0..2d2abb25b944 100644
+index 7807fa329db00..2d2abb25b944f 100644
--- a/include/linux/mfd/tps68470.h
+++ b/include/linux/mfd/tps68470.h
@@ -34,6 +34,7 @@
@@ -9256,7 +8641,7 @@ index 7807fa329db0..2d2abb25b944 100644
--
2.42.0
-From 3296fb49f2be7439c31fb45250c403a484107463 Mon Sep 17 00:00:00 2001
+From c8a6ce96be3a4dca7e9e99613b28494d10b4ade0 Mon Sep 17 00:00:00 2001
From: Kate Hsuan <hpa@redhat.com>
Date: Tue, 21 Mar 2023 23:37:18 +0800
Subject: [PATCH] leds: tps68470: Add LED control for tps68470
@@ -9279,10 +8664,10 @@ Patchset: cameras
create mode 100644 drivers/leds/leds-tps68470.c
diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
-index 6046dfeca16f..385c06e4f1d3 100644
+index b92208eccdea9..312c0c21cc5ef 100644
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -864,6 +864,18 @@ config LEDS_TPS6105X
+@@ -873,6 +873,18 @@ config LEDS_TPS6105X
It is a single boost converter primarily for white LEDs and
audio amplifiers.
@@ -9302,10 +8687,10 @@ index 6046dfeca16f..385c06e4f1d3 100644
tristate "LED support for SGI Octane machines"
depends on LEDS_CLASS
diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile
-index d71f1226540c..e2002b535967 100644
+index d7348e8bc019a..10caea4e7c614 100644
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -83,6 +83,7 @@ obj-$(CONFIG_LEDS_TCA6507) += leds-tca6507.o
+@@ -84,6 +84,7 @@ obj-$(CONFIG_LEDS_TCA6507) += leds-tca6507.o
obj-$(CONFIG_LEDS_TI_LMU_COMMON) += leds-ti-lmu-common.o
obj-$(CONFIG_LEDS_TLC591XX) += leds-tlc591xx.o
obj-$(CONFIG_LEDS_TPS6105X) += leds-tps6105x.o
@@ -9315,7 +8700,7 @@ index d71f1226540c..e2002b535967 100644
obj-$(CONFIG_LEDS_WM8350) += leds-wm8350.o
diff --git a/drivers/leds/leds-tps68470.c b/drivers/leds/leds-tps68470.c
new file mode 100644
-index 000000000000..35aeb5db89c8
+index 0000000000000..35aeb5db89c8f
--- /dev/null
+++ b/drivers/leds/leds-tps68470.c
@@ -0,0 +1,185 @@
@@ -9507,7 +8892,7 @@ index 000000000000..35aeb5db89c8
--
2.42.0
-From bc06956985ee377fba5e8a4483d8777373c3d54c Mon Sep 17 00:00:00 2001
+From 82252c3764ecee6c09218077759072f15001f9ee Mon Sep 17 00:00:00 2001
From: Sachi King <nakato@nakato.io>
Date: Sat, 29 May 2021 17:47:38 +1000
Subject: [PATCH] ACPI: Add quirk for Surface Laptop 4 AMD missing irq 7
@@ -9530,7 +8915,7 @@ Patchset: amd-gpio
1 file changed, 17 insertions(+)
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
-index 53369c57751e..1ec1a9015178 100644
+index c55c0ef47a187..f29740cf89ff6 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -22,6 +22,7 @@
@@ -9541,7 +8926,7 @@ index 53369c57751e..1ec1a9015178 100644
#include <asm/e820/api.h>
#include <asm/irqdomain.h>
-@@ -1256,6 +1257,17 @@ static void __init mp_config_acpi_legacy_irqs(void)
+@@ -1255,6 +1256,17 @@ static void __init mp_config_acpi_legacy_irqs(void)
}
}
@@ -9559,7 +8944,7 @@ index 53369c57751e..1ec1a9015178 100644
/*
* Parse IOAPIC related entries in MADT
* returns 0 on success, < 0 on error
-@@ -1311,6 +1323,11 @@ static int __init acpi_parse_madt_ioapic_entries(void)
+@@ -1310,6 +1322,11 @@ static int __init acpi_parse_madt_ioapic_entries(void)
acpi_sci_ioapic_setup(acpi_gbl_FADT.sci_interrupt, 0, 0,
acpi_gbl_FADT.sci_interrupt);
@@ -9574,7 +8959,7 @@ index 53369c57751e..1ec1a9015178 100644
--
2.42.0
-From 221495b0d4fc09a39ddff1ea38a82f621e26f722 Mon Sep 17 00:00:00 2001
+From 52e3f50633128a93bf99ca5c97f98929da66a9ed Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Thu, 3 Jun 2021 14:04:26 +0200
Subject: [PATCH] ACPI: Add AMD 13" Surface Laptop 4 model to irq 7 override
@@ -9589,10 +8974,10 @@ Patchset: amd-gpio
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
-index 1ec1a9015178..a7d40015e46a 100644
+index f29740cf89ff6..247d2a8bcdf4b 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
-@@ -1259,12 +1259,19 @@ static void __init mp_config_acpi_legacy_irqs(void)
+@@ -1258,12 +1258,19 @@ static void __init mp_config_acpi_legacy_irqs(void)
static const struct dmi_system_id surface_quirk[] __initconst = {
{
@@ -9616,7 +9001,7 @@ index 1ec1a9015178..a7d40015e46a 100644
--
2.42.0
-From 709097b5e8cea4cb5296d01c6ba30c2761c1a36c Mon Sep 17 00:00:00 2001
+From 8cd23b1bb3a8b7a3ef7cec2c37e7e46e6397a858 Mon Sep 17 00:00:00 2001
From: "Bart Groeneveld | GPX Solutions B.V" <bart@gpxbv.nl>
Date: Mon, 5 Dec 2022 16:08:46 +0100
Subject: [PATCH] acpi: allow usage of acpi_tad on HW-reduced platforms
@@ -9635,11 +9020,11 @@ but it does have an HW-reduced TAD, which can be used as a RTC instead.
Signed-off-by: Bart Groeneveld | GPX Solutions B.V. <bart@gpxbv.nl>
Patchset: rtc
---
- drivers/acpi/acpi_tad.c | 35 ++++++++++++++++++++++++-----------
- 1 file changed, 24 insertions(+), 11 deletions(-)
+ drivers/acpi/acpi_tad.c | 36 ++++++++++++++++++++++++------------
+ 1 file changed, 24 insertions(+), 12 deletions(-)
diff --git a/drivers/acpi/acpi_tad.c b/drivers/acpi/acpi_tad.c
-index e9b8e8305e23..944276934e7e 100644
+index 33c3b16af556b..900445d06623d 100644
--- a/drivers/acpi/acpi_tad.c
+++ b/drivers/acpi/acpi_tad.c
@@ -432,6 +432,14 @@ static ssize_t caps_show(struct device *dev, struct device_attribute *attr,
@@ -9676,7 +9061,7 @@ index e9b8e8305e23..944276934e7e 100644
};
static ssize_t dc_alarm_store(struct device *dev, struct device_attribute *attr,
-@@ -563,13 +570,18 @@ static int acpi_tad_remove(struct platform_device *pdev)
+@@ -564,13 +571,18 @@ static int acpi_tad_remove(struct platform_device *pdev)
pm_runtime_get_sync(dev);
@@ -9697,19 +9082,20 @@ index e9b8e8305e23..944276934e7e 100644
if (dd->capabilities & ACPI_TAD_DC_WAKE) {
acpi_tad_disable_timer(dev, ACPI_TAD_DC_TIMER);
acpi_tad_clear_status(dev, ACPI_TAD_DC_TIMER);
-@@ -604,11 +616,6 @@ static int acpi_tad_probe(struct platform_device *pdev)
- return -ENODEV;
+@@ -613,12 +625,6 @@ static int acpi_tad_probe(struct platform_device *pdev)
+ goto remove_handler;
}
- if (!acpi_has_method(handle, "_PRW")) {
- dev_info(dev, "Missing _PRW\n");
-- return -ENODEV;
+- ret = -ENODEV;
+- goto remove_handler;
- }
-
dd = devm_kzalloc(dev, sizeof(*dd), GFP_KERNEL);
- if (!dd)
- return -ENOMEM;
-@@ -637,6 +644,12 @@ static int acpi_tad_probe(struct platform_device *pdev)
+ if (!dd) {
+ ret = -ENOMEM;
+@@ -649,6 +655,12 @@ static int acpi_tad_probe(struct platform_device *pdev)
if (ret)
goto fail;
diff --git a/SOURCES/mod-internal.list b/SOURCES/mod-internal.list
index f4c6692..1d535d8 100644
--- a/SOURCES/mod-internal.list
+++ b/SOURCES/mod-internal.list
@@ -12,6 +12,7 @@ drm_cmdline_parser_test
drm_connector_test
drm_damage_helper_test
drm_dp_mst_helper_test
+drm_exec_test
drm_format_helper_test
drm_format_test
drm_framebuffer_test
diff --git a/SOURCES/mt76:-mt7921:-Disable-powersave-features-by-default.patch b/SOURCES/mt76:-mt7921:-Disable-powersave-features-by-default.patch
index 4bb775c..1a0ddc8 100644
--- a/SOURCES/mt76:-mt7921:-Disable-powersave-features-by-default.patch
+++ b/SOURCES/mt76:-mt7921:-Disable-powersave-features-by-default.patch
@@ -1,6 +1,6 @@
-From ca89780690f7492c2d357e0ed2213a1d027341ae Mon Sep 17 00:00:00 2001
-From: Sultan Alsawaf <sultan@kerneltoast.com>
-Date: Sun, 29 May 2022 01:32:19 -0700
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jan200101 <sentrycraft123@gmail.com>
+Date: Mon, 27 Nov 2023 15:25:48 +0100
Subject: [PATCH] mt76: mt7921: Disable powersave features by default
This brings WiFi latency down considerably and makes latency consistent by
@@ -9,27 +9,17 @@ power consumption difference is inconsequential on desktops and laptops,
while the performance difference is monumental. Latencies of 20+ ms are no
longer observed after this change, and the connection is much more stable.
-Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
+Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
---
- drivers/net/wireless/mediatek/mt76/mt7921/init.c | 9 ++-------
- 1 file changed, 2 insertions(+), 7 deletions(-)
+ drivers/net/wireless/mediatek/mt76/mt7921/init.c | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/init.c b/drivers/net/wireless/mediatek/mt76/mt7921/init.c
-index 91fc41922d95..cfa0bb51004d 100644
+index ff63f37f67d9..840b4c606c83 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/init.c
-@@ -99,7 +99,8 @@
- wiphy->n_iface_combinations = ARRAY_SIZE(if_comb);
- }
- wiphy->flags &= ~(WIPHY_FLAG_IBSS_RSN | WIPHY_FLAG_4ADDR_AP |
-- WIPHY_FLAG_4ADDR_STATION);
-+ WIPHY_FLAG_4ADDR_STATION |
-+ WIPHY_FLAG_PS_ON_BY_DEFAULT);
- wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) |
- BIT(NL80211_IFTYPE_AP) |
- BIT(NL80211_IFTYPE_P2P_CLIENT) |
-@@ -408,12 +409,6 @@
- dev->pm.idle_timeout = MT7921_PM_TIMEOUT;
+@@ -220,12 +220,6 @@ int mt7921_register_device(struct mt792x_dev *dev)
+ dev->pm.idle_timeout = MT792x_PM_TIMEOUT;
dev->pm.stats.last_wake_event = jiffies;
dev->pm.stats.last_doze_event = jiffies;
- if (!mt76_is_usb(&dev->mt76)) {
@@ -41,3 +31,12 @@ index 91fc41922d95..cfa0bb51004d 100644
if (!mt76_is_mmio(&dev->mt76))
hw->extra_tx_headroom += MT_SDIO_TXD_SIZE + MT_SDIO_HDR_SIZE;
+@@ -240,6 +234,8 @@ int mt7921_register_device(struct mt792x_dev *dev)
+ if (ret)
+ return ret;
+
++ hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT;
++
+ hw->wiphy->reg_notifier = mt7921_regd_notifier;
+ dev->mphy.sband_2g.sband.ht_cap.cap |=
+ IEEE80211_HT_CAP_LDPC_CODING |
diff --git a/SOURCES/partial-clang-debug-snip.config b/SOURCES/partial-clang-debug-snip.config
new file mode 100644
index 0000000..19fa152
--- /dev/null
+++ b/SOURCES/partial-clang-debug-snip.config
@@ -0,0 +1,3 @@
+# clang
+CONFIG_KASAN_STACK=y
+# CONFIG_KMSAN is not set
diff --git a/SOURCES/partial-clang-snip.config b/SOURCES/partial-clang-snip.config
new file mode 100644
index 0000000..841c19d
--- /dev/null
+++ b/SOURCES/partial-clang-snip.config
@@ -0,0 +1,3 @@
+# clang
+# CONFIG_KASAN_STACK is not set
+# CONFIG_KMSAN is not set
diff --git a/SOURCES/partial-clang_lto-aarch64-debug-snip.config b/SOURCES/partial-clang_lto-aarch64-debug-snip.config
new file mode 100644
index 0000000..0178f37
--- /dev/null
+++ b/SOURCES/partial-clang_lto-aarch64-debug-snip.config
@@ -0,0 +1,3 @@
+# clang_lto
+CONFIG_KASAN_STACK=y
+# CONFIG_KMSAN is not set
diff --git a/SOURCES/partial-clang_lto-aarch64-snip.config b/SOURCES/partial-clang_lto-aarch64-snip.config
new file mode 100644
index 0000000..9e30765
--- /dev/null
+++ b/SOURCES/partial-clang_lto-aarch64-snip.config
@@ -0,0 +1,5 @@
+# clang_lto
+# CONFIG_KASAN_STACK is not set
+# CONFIG_KMSAN is not set
+CONFIG_LTO_CLANG_THIN=y
+# CONFIG_LTO_NONE is not set
diff --git a/SOURCES/partial-clang_lto-x86_64-debug-snip.config b/SOURCES/partial-clang_lto-x86_64-debug-snip.config
new file mode 100644
index 0000000..0178f37
--- /dev/null
+++ b/SOURCES/partial-clang_lto-x86_64-debug-snip.config
@@ -0,0 +1,3 @@
+# clang_lto
+CONFIG_KASAN_STACK=y
+# CONFIG_KMSAN is not set
diff --git a/SOURCES/partial-clang_lto-x86_64-snip.config b/SOURCES/partial-clang_lto-x86_64-snip.config
new file mode 100644
index 0000000..9e30765
--- /dev/null
+++ b/SOURCES/partial-clang_lto-x86_64-snip.config
@@ -0,0 +1,5 @@
+# clang_lto
+# CONFIG_KASAN_STACK is not set
+# CONFIG_KMSAN is not set
+CONFIG_LTO_CLANG_THIN=y
+# CONFIG_LTO_NONE is not set
diff --git a/SOURCES/partial-kgcov-debug-snip.config b/SOURCES/partial-kgcov-debug-snip.config
new file mode 100644
index 0000000..fb37359
--- /dev/null
+++ b/SOURCES/partial-kgcov-debug-snip.config
@@ -0,0 +1,4 @@
+# kgcov
+CONFIG_GCOV_KERNEL=y
+CONFIG_GCOV_PROFILE_ALL=y
+# CONFIG_GCOV_PROFILE_FTRACE is not set
diff --git a/SOURCES/patch-6.5-redhat.patch b/SOURCES/patch-6.6-redhat.patch
index cb273af..50b6ea9 100644
--- a/SOURCES/patch-6.5-redhat.patch
+++ b/SOURCES/patch-6.6-redhat.patch
@@ -1,47 +1,47 @@
- Makefile | 12 ++
+ Makefile | 20 ++-
arch/s390/include/asm/ipl.h | 1 +
arch/s390/kernel/ipl.c | 5 +
arch/s390/kernel/setup.c | 4 +
- arch/x86/kernel/setup.c | 22 ++--
- drivers/acpi/apei/hest.c | 8 ++
- drivers/acpi/irq.c | 17 ++-
+ arch/x86/kernel/setup.c | 22 ++-
+ drivers/acpi/acpi_video.c | 2 +-
+ drivers/acpi/apei/hest.c | 8 +
+ drivers/acpi/device_pm.c | 13 ++
+ drivers/acpi/irq.c | 17 +-
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/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/secureboot.c | 38 +++++++
+ drivers/firmware/efi/efi.c | 124 +++++++++++----
+ drivers/firmware/efi/secureboot.c | 38 +++++
drivers/firmware/sysfb.c | 18 ++-
- drivers/hid/hid-rmi.c | 66 -----------
- drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 ++++
- drivers/input/rmi4/rmi_driver.c | 124 ++++++++++++---------
- drivers/iommu/iommu.c | 22 ++++
- drivers/misc/cardreader/rts5228.c | 6 +
- drivers/misc/cardreader/rts5260.c | 6 +
- drivers/misc/cardreader/rts5261.c | 6 +
- drivers/nvme/host/core.c | 22 +++-
- drivers/nvme/host/multipath.c | 19 ++--
- drivers/nvme/host/nvme.h | 4 +
- drivers/pci/quirks.c | 24 ++++
+ drivers/hid/hid-rmi.c | 66 --------
+ drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 +++
+ drivers/input/rmi4/rmi_driver.c | 124 +++++++++------
+ drivers/iommu/iommu.c | 22 +++
+ drivers/pci/quirks.c | 24 +++
drivers/rtc/rtc-cmos.c | 18 ++-
drivers/scsi/sd.c | 10 ++
- drivers/usb/core/hub.c | 7 ++
- fs/btrfs/space-info.c | 17 +++
- include/linux/efi.h | 22 ++--
+ drivers/usb/core/hub.c | 7 +
+ include/acpi/acpi_bus.h | 1 +
+ include/linux/efi.h | 22 ++-
include/linux/lsm_hook_defs.h | 2 +
+ include/linux/module.h | 1 +
+ include/linux/rh_kabi.h | 172 +++++++++++++++++++++
include/linux/rmi.h | 1 +
include/linux/security.h | 5 +
+ kernel/module/main.c | 2 +
kernel/module/signing.c | 9 +-
+ scripts/mod/modpost.c | 8 +
scripts/tags.sh | 2 +
security/integrity/platform_certs/load_uefi.c | 6 +-
- security/lockdown/Kconfig | 13 +++
+ security/lockdown/Kconfig | 13 ++
security/lockdown/lockdown.c | 1 +
security/security.c | 12 ++
- 40 files changed, 561 insertions(+), 190 deletions(-)
+ 40 files changed, 696 insertions(+), 182 deletions(-)
diff --git a/Makefile b/Makefile
-index a6e152146028..af6bab938da2 100644
+index 03c52108af62..66048c4637d1 100644
--- a/Makefile
+++ b/Makefile
@@ -22,6 +22,18 @@ $(if $(filter __%, $(MAKECMDGOALS)), \
@@ -63,6 +63,21 @@ index a6e152146028..af6bab938da2 100644
# We are using a recursive build, so we need to do a little thinking
# to get the ordering right.
#
+@@ -1250,7 +1262,13 @@ define filechk_version.h
+ ((c) > 255 ? 255 : (c)))'; \
+ echo \#define LINUX_VERSION_MAJOR $(VERSION); \
+ echo \#define LINUX_VERSION_PATCHLEVEL $(PATCHLEVEL); \
+- echo \#define LINUX_VERSION_SUBLEVEL $(SUBLEVEL)
++ echo \#define LINUX_VERSION_SUBLEVEL $(SUBLEVEL); \
++ echo '#define RHEL_MAJOR $(RHEL_MAJOR)'; \
++ echo '#define RHEL_MINOR $(RHEL_MINOR)'; \
++ echo '#define RHEL_RELEASE_VERSION(a,b) (((a) << 8) + (b))'; \
++ echo '#define RHEL_RELEASE_CODE \
++ $(shell expr $(RHEL_MAJOR) \* 256 + $(RHEL_MINOR))'; \
++ echo '#define RHEL_RELEASE "$(RHEL_RELEASE)"'
+ endef
+
+ $(version_h): PATCHLEVEL := $(or $(PATCHLEVEL), 0)
diff --git a/arch/s390/include/asm/ipl.h b/arch/s390/include/asm/ipl.h
index b0d00032479d..afb9544fb007 100644
--- a/arch/s390/include/asm/ipl.h
@@ -76,10 +91,10 @@ index b0d00032479d..afb9544fb007 100644
/*
* DIAG 308 support
diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c
-index dfcb2b563e2b..29e3f1b4bd00 100644
+index 05e51666db03..454a33b77878 100644
--- a/arch/s390/kernel/ipl.c
+++ b/arch/s390/kernel/ipl.c
-@@ -2535,3 +2535,8 @@ int ipl_report_free(struct ipl_report *report)
+@@ -2519,3 +2519,8 @@ int ipl_report_free(struct ipl_report *report)
}
#endif
@@ -89,7 +104,7 @@ index dfcb2b563e2b..29e3f1b4bd00 100644
+ return !!ipl_secure_flag;
+}
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
-index 00d76448319d..e679d13303e3 100644
+index de6ad0fb2328..5cc2758be027 100644
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -49,6 +49,7 @@
@@ -111,7 +126,7 @@ index 00d76448319d..e679d13303e3 100644
/* boot_command_line has been already set up in early.c */
*cmdline_p = boot_command_line;
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index aa0df37c1fe7..04f1de50e058 100644
+index b098b1fa2470..a159419e60df 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -21,6 +21,7 @@
@@ -122,7 +137,7 @@ index aa0df37c1fe7..04f1de50e058 100644
#include <linux/usb/xhci-dbgp.h>
#include <linux/static_call.h>
#include <linux/swiotlb.h>
-@@ -1027,6 +1028,13 @@ void __init setup_arch(char **cmdline_p)
+@@ -1028,6 +1029,13 @@ void __init setup_arch(char **cmdline_p)
if (efi_enabled(EFI_BOOT))
efi_init();
@@ -136,7 +151,7 @@ index aa0df37c1fe7..04f1de50e058 100644
reserve_ibft_region();
dmi_setup();
-@@ -1188,19 +1196,7 @@ void __init setup_arch(char **cmdline_p)
+@@ -1189,19 +1197,7 @@ void __init setup_arch(char **cmdline_p)
/* Allocate bigger log buffer */
setup_log_buf(1);
@@ -157,6 +172,19 @@ index aa0df37c1fe7..04f1de50e058 100644
reserve_initrd();
+diff --git a/drivers/acpi/acpi_video.c b/drivers/acpi/acpi_video.c
+index b411948594ff..4e868454b38d 100644
+--- a/drivers/acpi/acpi_video.c
++++ b/drivers/acpi/acpi_video.c
+@@ -2031,7 +2031,7 @@ static int acpi_video_bus_add(struct acpi_device *device)
+ * HP ZBook Fury 16 G10 requires ACPI video's child devices have _PS0
+ * evaluated to have functional panel brightness control.
+ */
+- acpi_device_fix_up_power_extended(device);
++ acpi_device_fix_up_power_children(device);
+
+ pr_info("%s [%s] (multi-head: %s rom: %s post: %s)\n",
+ ACPI_VIDEO_DEVICE_NAME, acpi_device_bid(device),
diff --git a/drivers/acpi/apei/hest.c b/drivers/acpi/apei/hest.c
index 6aef1ee5e1bd..8f146b1b4972 100644
--- a/drivers/acpi/apei/hest.c
@@ -176,6 +204,30 @@ index 6aef1ee5e1bd..8f146b1b4972 100644
hest_hdr = (struct acpi_hest_header *)(hest_tab + 1);
for (i = 0; i < hest_tab->error_source_count; i++) {
len = hest_esrc_len(hest_hdr);
+diff --git a/drivers/acpi/device_pm.c b/drivers/acpi/device_pm.c
+index f007116a8427..3b4d048c4941 100644
+--- a/drivers/acpi/device_pm.c
++++ b/drivers/acpi/device_pm.c
+@@ -397,6 +397,19 @@ void acpi_device_fix_up_power_extended(struct acpi_device *adev)
+ }
+ EXPORT_SYMBOL_GPL(acpi_device_fix_up_power_extended);
+
++/**
++ * acpi_device_fix_up_power_children - Force a device's children into D0.
++ * @adev: Parent device object whose children's power state is to be fixed up.
++ *
++ * Call acpi_device_fix_up_power() for @adev's children so long as they
++ * are reported as present and enabled.
++ */
++void acpi_device_fix_up_power_children(struct acpi_device *adev)
++{
++ acpi_dev_for_each_child(adev, fix_up_power_if_applicable, NULL);
++}
++EXPORT_SYMBOL_GPL(acpi_device_fix_up_power_children);
++
+ int acpi_device_update_power(struct acpi_device *device, int *state_p)
+ {
+ int state;
diff --git a/drivers/acpi/irq.c b/drivers/acpi/irq.c
index 1687483ff319..390b67f19181 100644
--- a/drivers/acpi/irq.c
@@ -220,10 +272,10 @@ index 1687483ff319..390b67f19181 100644
return ctx.rc;
}
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
-index 87e385542576..7e9de6e3eb9f 100644
+index 691d4b7686ee..433ff7d8a844 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
-@@ -1749,6 +1749,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device)
+@@ -1752,6 +1752,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device)
if (!acpi_match_device_ids(device, ignore_serial_bus_ids))
return false;
@@ -240,7 +292,7 @@ index 87e385542576..7e9de6e3eb9f 100644
acpi_dev_get_resources(device, &resource_list,
acpi_check_serial_bus_slave,
diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c
-index a6212f6d3796..1bd84617d751 100644
+index f1263364fa97..24ac410f4366 100644
--- a/drivers/ata/libahci.c
+++ b/drivers/ata/libahci.c
@@ -729,6 +729,24 @@ int ahci_stop_engine(struct ata_port *ap)
@@ -342,7 +394,7 @@ index e489fefd23da..f2dfae764fb5 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 9cfac61812f6..a8462d3bd33c 100644
+index 1974f0ad32ba..6ba6391494ec 100644
--- a/drivers/firmware/efi/efi.c
+++ b/drivers/firmware/efi/efi.c
@@ -32,6 +32,7 @@
@@ -353,7 +405,7 @@ index 9cfac61812f6..a8462d3bd33c 100644
#include <asm/early_ioremap.h>
-@@ -957,40 +958,101 @@ int efi_mem_type(unsigned long phys_addr)
+@@ -983,40 +984,101 @@ int efi_mem_type(unsigned long phys_addr)
}
#endif
@@ -669,10 +721,10 @@ index 84e7ba5314d3..efc96776f761 100644
data->xport.ops = &hid_rmi_ops;
diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/hwtracing/coresight/coresight-etm4x-core.c
-index 7e307022303a..c68d7da67148 100644
+index 77b0271ce6eb..96f60c139c4a 100644
--- a/drivers/hwtracing/coresight/coresight-etm4x-core.c
+++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c
-@@ -9,6 +9,7 @@
+@@ -10,6 +10,7 @@
#include <linux/init.h>
#include <linux/types.h>
#include <linux/device.h>
@@ -680,7 +732,7 @@ index 7e307022303a..c68d7da67148 100644
#include <linux/io.h>
#include <linux/err.h>
#include <linux/fs.h>
-@@ -2265,6 +2266,16 @@ static const struct amba_id etm4_ids[] = {
+@@ -2303,6 +2304,16 @@ static const struct amba_id etm4_ids[] = {
{},
};
@@ -697,7 +749,7 @@ index 7e307022303a..c68d7da67148 100644
MODULE_DEVICE_TABLE(amba, etm4_ids);
static struct amba_driver etm4x_amba_driver = {
-@@ -2298,6 +2309,11 @@ static int __init etm4x_init(void)
+@@ -2372,6 +2383,11 @@ static int __init etm4x_init(void)
{
int ret;
@@ -709,7 +761,7 @@ index 7e307022303a..c68d7da67148 100644
ret = etm4_pm_setup();
/* etm4_pm_setup() does its own cleanup - exit on error */
-@@ -2324,6 +2340,9 @@ static int __init etm4x_init(void)
+@@ -2398,6 +2414,9 @@ static int __init etm4x_init(void)
static void __exit etm4x_exit(void)
{
@@ -912,7 +964,7 @@ index 258d5fe3d395..f7298e3dc8f3 100644
if (data->f01_container->dev.driver) {
/* Driver already bound, so enable ATTN now. */
diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
-index cabeb5bd3e41..25ef4e9cc34a 100644
+index c146378c7d03..f9e8d35eaccc 100644
--- a/drivers/iommu/iommu.c
+++ b/drivers/iommu/iommu.c
@@ -8,6 +8,7 @@
@@ -923,7 +975,7 @@ index cabeb5bd3e41..25ef4e9cc34a 100644
#include <linux/kernel.h>
#include <linux/bits.h>
#include <linux/bug.h>
-@@ -2819,6 +2820,27 @@ int iommu_dev_disable_feature(struct device *dev, enum iommu_dev_features feat)
+@@ -2931,6 +2932,27 @@ int iommu_dev_disable_feature(struct device *dev, enum iommu_dev_features feat)
}
EXPORT_SYMBOL_GPL(iommu_dev_disable_feature);
@@ -951,198 +1003,11 @@ index cabeb5bd3e41..25ef4e9cc34a 100644
/**
* iommu_setup_default_domain - Set the default_domain for the group
* @group: Group to change
-diff --git a/drivers/misc/cardreader/rts5228.c b/drivers/misc/cardreader/rts5228.c
-index 0c7f10bcf6f1..4ca9da411ebb 100644
---- a/drivers/misc/cardreader/rts5228.c
-+++ b/drivers/misc/cardreader/rts5228.c
-@@ -400,6 +400,12 @@ static void rts5228_init_from_cfg(struct rtsx_pcr *pcr)
- if (option->ltr_enabled)
- rtsx_set_ltr_latency(pcr, option->ltr_active_latency);
- }
-+
-+ if (rtsx_check_dev_flag(pcr, ASPM_L1_1_EN | ASPM_L1_2_EN
-+ | PM_L1_1_EN | PM_L1_2_EN))
-+ option->force_clkreq_0 = false;
-+ else
-+ option->force_clkreq_0 = true;
- }
-
- static int rts5228_extra_init_hw(struct rtsx_pcr *pcr)
-diff --git a/drivers/misc/cardreader/rts5260.c b/drivers/misc/cardreader/rts5260.c
-index d2d3a6ccb8f7..0cef0808b1f1 100644
---- a/drivers/misc/cardreader/rts5260.c
-+++ b/drivers/misc/cardreader/rts5260.c
-@@ -488,6 +488,12 @@ static void rts5260_init_from_cfg(struct rtsx_pcr *pcr)
- if (option->ltr_enabled)
- rtsx_set_ltr_latency(pcr, option->ltr_active_latency);
- }
-+
-+ if (rtsx_check_dev_flag(pcr, ASPM_L1_1_EN | ASPM_L1_2_EN
-+ | PM_L1_1_EN | PM_L1_2_EN))
-+ option->force_clkreq_0 = false;
-+ else
-+ option->force_clkreq_0 = true;
- }
-
- static int rts5260_extra_init_hw(struct rtsx_pcr *pcr)
-diff --git a/drivers/misc/cardreader/rts5261.c b/drivers/misc/cardreader/rts5261.c
-index 67252512a132..3236a82feca5 100644
---- a/drivers/misc/cardreader/rts5261.c
-+++ b/drivers/misc/cardreader/rts5261.c
-@@ -460,6 +460,12 @@ static void rts5261_init_from_cfg(struct rtsx_pcr *pcr)
- if (option->ltr_enabled)
- rtsx_set_ltr_latency(pcr, option->ltr_active_latency);
- }
-+
-+ if (rtsx_check_dev_flag(pcr, ASPM_L1_1_EN | ASPM_L1_2_EN
-+ | PM_L1_1_EN | PM_L1_2_EN))
-+ option->force_clkreq_0 = false;
-+ else
-+ option->force_clkreq_0 = true;
- }
-
- static int rts5261_extra_init_hw(struct rtsx_pcr *pcr)
-diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
-index 21783aa2ee8e..f2f9bdb3e0c8 100644
---- a/drivers/nvme/host/core.c
-+++ b/drivers/nvme/host/core.c
-@@ -251,6 +251,9 @@ void nvme_delete_ctrl_sync(struct nvme_ctrl *ctrl)
-
- static blk_status_t nvme_error_status(u16 status)
- {
-+ if (unlikely(status & NVME_SC_DNR))
-+ return BLK_STS_TARGET;
-+
- switch (status & 0x7ff) {
- case NVME_SC_SUCCESS:
- return BLK_STS_OK;
-@@ -341,6 +344,7 @@ enum nvme_disposition {
- COMPLETE,
- RETRY,
- FAILOVER,
-+ FAILUP,
- AUTHENTICATE,
- };
-
-@@ -352,15 +356,16 @@ static inline enum nvme_disposition nvme_decide_disposition(struct request *req)
- if ((nvme_req(req)->status & 0x7ff) == NVME_SC_AUTH_REQUIRED)
- return AUTHENTICATE;
-
-- if (blk_noretry_request(req) ||
-+ if ((req->cmd_flags & (REQ_FAILFAST_DEV | REQ_FAILFAST_DRIVER)) ||
- (nvme_req(req)->status & NVME_SC_DNR) ||
- nvme_req(req)->retries >= nvme_max_retries)
- return COMPLETE;
-
-- if (req->cmd_flags & REQ_NVME_MPATH) {
-+ if (req->cmd_flags & (REQ_NVME_MPATH | REQ_FAILFAST_TRANSPORT)) {
- if (nvme_is_path_error(nvme_req(req)->status) ||
- blk_queue_dying(req->q))
-- return FAILOVER;
-+ return (req->cmd_flags & REQ_NVME_MPATH) ?
-+ FAILOVER : FAILUP;
- } else {
- if (blk_queue_dying(req->q))
- return COMPLETE;
-@@ -390,6 +395,14 @@ static inline void nvme_end_req(struct request *req)
- blk_mq_end_request(req, status);
- }
-
-+static inline void nvme_failup_req(struct request *req)
-+{
-+ nvme_update_ana(req);
-+
-+ nvme_req(req)->status = NVME_SC_HOST_PATH_ERROR;
-+ nvme_end_req(req);
-+}
-+
- void nvme_complete_rq(struct request *req)
- {
- struct nvme_ctrl *ctrl = nvme_req(req)->ctrl;
-@@ -419,6 +432,9 @@ void nvme_complete_rq(struct request *req)
- case FAILOVER:
- nvme_failover_req(req);
- return;
-+ case FAILUP:
-+ nvme_failup_req(req);
-+ return;
- case AUTHENTICATE:
- #ifdef CONFIG_NVME_AUTH
- queue_work(nvme_wq, &ctrl->dhchap_auth_work);
-diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c
-index 0a88d7bdc5e3..967bb3a85889 100644
---- a/drivers/nvme/host/multipath.c
-+++ b/drivers/nvme/host/multipath.c
-@@ -80,14 +80,10 @@ void nvme_mpath_start_freeze(struct nvme_subsystem *subsys)
- blk_freeze_queue_start(h->disk->queue);
- }
-
--void nvme_failover_req(struct request *req)
-+void nvme_update_ana(struct request *req)
- {
- struct nvme_ns *ns = req->q->queuedata;
- u16 status = nvme_req(req)->status & 0x7ff;
-- unsigned long flags;
-- struct bio *bio;
--
-- nvme_mpath_clear_current_path(ns);
-
- /*
- * If we got back an ANA error, we know the controller is alive but not
-@@ -98,6 +94,16 @@ void nvme_failover_req(struct request *req)
- set_bit(NVME_NS_ANA_PENDING, &ns->flags);
- queue_work(nvme_wq, &ns->ctrl->ana_work);
- }
-+}
-+
-+void nvme_failover_req(struct request *req)
-+{
-+ struct nvme_ns *ns = req->q->queuedata;
-+ unsigned long flags;
-+ struct bio *bio;
-+
-+ nvme_mpath_clear_current_path(ns);
-+ nvme_update_ana(req);
-
- spin_lock_irqsave(&ns->head->requeue_lock, flags);
- for (bio = req->bio; bio; bio = bio->bi_next) {
-@@ -912,8 +918,7 @@ int nvme_mpath_init_identify(struct nvme_ctrl *ctrl, struct nvme_id_ctrl *id)
- int error = 0;
-
- /* check if multipath is enabled and we have the capability */
-- if (!multipath || !ctrl->subsys ||
-- !(ctrl->subsys->cmic & NVME_CTRL_CMIC_ANA))
-+ if (!ctrl->subsys || !(ctrl->subsys->cmic & NVME_CTRL_CMIC_ANA))
- return 0;
-
- if (!ctrl->max_namespaces ||
-diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
-index f35647c470af..e57357f23306 100644
---- a/drivers/nvme/host/nvme.h
-+++ b/drivers/nvme/host/nvme.h
-@@ -885,6 +885,7 @@ void nvme_mpath_wait_freeze(struct nvme_subsystem *subsys);
- void nvme_mpath_start_freeze(struct nvme_subsystem *subsys);
- void nvme_mpath_default_iopolicy(struct nvme_subsystem *subsys);
- void nvme_failover_req(struct request *req);
-+void nvme_update_ana(struct request *req);
- void nvme_kick_requeue_lists(struct nvme_ctrl *ctrl);
- int nvme_mpath_alloc_disk(struct nvme_ctrl *ctrl,struct nvme_ns_head *head);
- void nvme_mpath_add_disk(struct nvme_ns *ns, __le32 anagrpid);
-@@ -923,6 +924,9 @@ static inline bool nvme_ctrl_use_ana(struct nvme_ctrl *ctrl)
- static inline void nvme_failover_req(struct request *req)
- {
- }
-+static inline void nvme_update_ana(struct request *req)
-+{
-+}
- static inline void nvme_kick_requeue_lists(struct nvme_ctrl *ctrl)
- {
- }
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
-index eb65170b97ff..e8b906b6ffbf 100644
+index e3e915329510..929ca9fa61a7 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
-@@ -4408,6 +4408,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9000,
+@@ -4410,6 +4410,30 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9000,
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_BROADCOM, 0x9084,
quirk_bridge_cavm_thrx2_pcie_root);
@@ -1174,7 +1039,7 @@ index eb65170b97ff..e8b906b6ffbf 100644
* Intersil/Techwell TW686[4589]-based video capture cards have an empty (zero)
* class code. Fix it.
diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
-index c9416fe8542d..aafb1efe7915 100644
+index 228fb2d11c70..696cfa7025de 100644
--- a/drivers/rtc/rtc-cmos.c
+++ b/drivers/rtc/rtc-cmos.c
@@ -818,18 +818,24 @@ static void rtc_wake_off(struct device *dev)
@@ -1209,10 +1074,10 @@ index c9416fe8542d..aafb1efe7915 100644
}
#else
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
-index c4babb16dac7..9c9342e0c055 100644
+index 6effa13039f3..fbfbd542b858 100644
--- a/drivers/scsi/sd.c
+++ b/drivers/scsi/sd.c
-@@ -130,6 +130,14 @@ static const char *sd_cache_types[] = {
+@@ -118,6 +118,14 @@ static const char *sd_cache_types[] = {
"write back, no read (daft)"
};
@@ -1227,7 +1092,7 @@ index c4babb16dac7..9c9342e0c055 100644
static void sd_set_flush_flag(struct scsi_disk *sdkp)
{
bool wc = false, fua = false;
-@@ -4057,6 +4065,8 @@ static int __init init_sd(void)
+@@ -4045,6 +4053,8 @@ static int __init init_sd(void)
goto err_out_class;
}
@@ -1237,10 +1102,10 @@ index c4babb16dac7..9c9342e0c055 100644
if (err)
goto err_out_driver;
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
-index f2c561ae4bfe..36805f1c5786 100644
+index 0ff47eeffb49..005b8c595c60 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -5824,6 +5824,13 @@ static void hub_event(struct work_struct *work)
+@@ -5782,6 +5782,13 @@ static void hub_event(struct work_struct *work)
(u16) hub->change_bits[0],
(u16) hub->event_bits[0]);
@@ -1254,39 +1119,23 @@ index f2c561ae4bfe..36805f1c5786 100644
/* Lock the device, then check to see if we were
* disconnected while waiting for the lock to succeed. */
usb_lock_device(hdev);
-diff --git a/fs/btrfs/space-info.c b/fs/btrfs/space-info.c
-index ba5322fe34f5..35d084c52f2d 100644
---- a/fs/btrfs/space-info.c
-+++ b/fs/btrfs/space-info.c
-@@ -365,6 +365,23 @@ static u64 calc_available_free_space(struct btrfs_fs_info *fs_info,
- factor = btrfs_bg_type_to_factor(profile);
- avail = div_u64(avail, factor);
-
-+ /*
-+ * Since data allocations immediately use block groups as part of the
-+ * reservation, because we assume that data reservations will == actual
-+ * usage, we could potentially overcommit and then immediately have that
-+ * available space used by a data allocation, which could put us in a
-+ * bind when we get close to filling the file system.
-+ *
-+ * To handle this simply remove 1G (which is our current maximum chunk
-+ * allocation size) from the available space. If we are relatively
-+ * empty this won't affect our ability to overcommit much, and if we're
-+ * very close to full it'll keep us from getting into a position where
-+ * we've given ourselves very little metadata wiggle room.
-+ */
-+ if (avail < SZ_1G)
-+ return 0;
-+ avail -= SZ_1G;
-+
- /*
- * If we aren't flushing all things, let us overcommit up to
- * 1/2th of the space. If we can flush, don't let us overcommit
+diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
+index 254685085c82..0b7eab0ef7d7 100644
+--- a/include/acpi/acpi_bus.h
++++ b/include/acpi/acpi_bus.h
+@@ -539,6 +539,7 @@ int acpi_device_set_power(struct acpi_device *device, int state);
+ int acpi_bus_init_power(struct acpi_device *device);
+ int acpi_device_fix_up_power(struct acpi_device *device);
+ void acpi_device_fix_up_power_extended(struct acpi_device *adev);
++void acpi_device_fix_up_power_children(struct acpi_device *adev);
+ int acpi_bus_update_power(acpi_handle handle, int *state_p);
+ int acpi_device_update_power(struct acpi_device *device, int *state_p);
+ bool acpi_bus_power_manageable(acpi_handle handle);
diff --git a/include/linux/efi.h b/include/linux/efi.h
-index ab088c662e88..f974f9d9a7c5 100644
+index 80b21d1c6eaf..b66c0683f2fc 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
-@@ -43,6 +43,8 @@
+@@ -44,6 +44,8 @@ struct screen_info;
#define EFI_ABORTED (21 | (1UL << (BITS_PER_LONG-1)))
#define EFI_SECURITY_VIOLATION (26 | (1UL << (BITS_PER_LONG-1)))
@@ -1337,7 +1186,7 @@ index ab088c662e88..f974f9d9a7c5 100644
/*
* Variable Attributes
@@ -1133,13 +1148,6 @@ static inline bool efi_runtime_disabled(void) { return true; }
- extern void efi_call_virt_check_flags(unsigned long flags, const char *call);
+ extern void efi_call_virt_check_flags(unsigned long flags, const void *caller);
extern unsigned long efi_call_virt_save_flags(void);
-enum efi_secureboot_mode {
@@ -1351,7 +1200,7 @@ index ab088c662e88..f974f9d9a7c5 100644
enum efi_secureboot_mode efi_get_secureboot_mode(efi_get_variable_t *get_var)
{
diff --git a/include/linux/lsm_hook_defs.h b/include/linux/lsm_hook_defs.h
-index af796986baee..83e1cb0ca159 100644
+index ac962c4cb44b..d0cedef6859c 100644
--- a/include/linux/lsm_hook_defs.h
+++ b/include/linux/lsm_hook_defs.h
@@ -405,6 +405,8 @@ LSM_HOOK(void, LSM_RET_VOID, bpf_prog_free_security, struct bpf_prog_aux *aux)
@@ -1363,6 +1212,196 @@ index af796986baee..83e1cb0ca159 100644
#ifdef CONFIG_PERF_EVENTS
LSM_HOOK(int, 0, perf_event_open, struct perf_event_attr *attr, int type)
+diff --git a/include/linux/module.h b/include/linux/module.h
+index a98e188cf37b..2eef4246c2c9 100644
+--- a/include/linux/module.h
++++ b/include/linux/module.h
+@@ -418,6 +418,7 @@ struct module {
+ struct module_attribute *modinfo_attrs;
+ const char *version;
+ const char *srcversion;
++ const char *rhelversion;
+ struct kobject *holders_dir;
+
+ /* Exported symbols */
+diff --git a/include/linux/rh_kabi.h b/include/linux/rh_kabi.h
+new file mode 100644
+index 000000000000..e0d3353802bb
+--- /dev/null
++++ b/include/linux/rh_kabi.h
+@@ -0,0 +1,172 @@
++/*
++ * rh_kabi.h - Red Hat kABI abstraction header
++ *
++ * Copyright (c) 2014 Don Zickus
++ * Copyright (c) 2015-2017 Jiri Benc
++ * Copyright (c) 2015 Sabrina Dubroca, Hannes Frederic Sowa
++ * Copyright (c) 2016-2018 Prarit Bhargava
++ * Copyright (c) 2017 Paolo Abeni, Larry Woodman
++ *
++ * This file is released under the GPLv2.
++ * See the file COPYING for more details.
++ *
++ * These kabi macros hide the changes from the kabi checker and from the
++ * process that computes the exported symbols' checksums.
++ * They have 2 variants: one (defined under __GENKSYMS__) used when
++ * generating the checksums, and the other used when building the kernel's
++ * binaries.
++ *
++ * The use of these macros does not guarantee that the usage and modification
++ * of code is correct. As with all Red Hat only changes, an engineer must
++ * explain why the use of the macro is valid in the patch containing the
++ * changes.
++ *
++ */
++
++#ifndef _LINUX_RH_KABI_H
++#define _LINUX_RH_KABI_H
++
++#include <linux/compiler.h>
++#include <linux/stringify.h>
++
++/*
++ * RH_KABI_CONST
++ * Adds a new const modifier to a function parameter preserving the old
++ * checksum.
++ *
++ * RH_KABI_DEPRECATE
++ * Mark the element as deprecated and make it unusable by modules while
++ * preserving kABI checksums.
++ *
++ * RH_KABI_DEPRECATE_FN
++ * Mark the function pointer as deprecated and make it unusable by modules
++ * while preserving kABI checksums.
++ *
++ * RH_KABI_EXTEND
++ * Simple macro for adding a new element to a struct.
++ *
++ * Warning: only use if a hole exists for _all_ arches. Use pahole to verify.
++ *
++ * RH_KABI_FILL_HOLE
++ * Simple macro for filling a hole in a struct.
++ *
++ * RH_KABI_RENAME
++ * Simple macro for renaming an element without changing its type. This
++ * macro can be used in bitfields, for example.
++ *
++ * NOTE: does not include the final ';'
++ *
++ * RH_KABI_REPLACE
++ * Simple replacement of _orig with a union of _orig and _new.
++ *
++ * The RH_KABI_REPLACE* macros attempt to add the ability to use the '_new'
++ * element while preserving size alignment with the '_orig' element.
++ *
++ * The #ifdef __GENKSYMS__ preserves the kABI agreement, while the anonymous
++ * union structure preserves the size alignment (assuming the '_new' element
++ * is not bigger than the '_orig' element).
++ *
++ * RH_KABI_REPLACE_UNSAFE
++ * Unsafe version of RH_KABI_REPLACE. Only use for typedefs.
++ *
++ * RH_KABI_FORCE_CHANGE
++ * Force change of the symbol checksum. The argument of the macro is a
++ * version for cases we need to do this more than once.
++ *
++ * This macro does the opposite: it changes the symbol checksum without
++ * actually changing anything about the exported symbol. It is useful for
++ * symbols that are not whitelisted, we're changing them in an
++ * incompatible way and want to prevent 3rd party modules to silently
++ * corrupt memory. Instead, by changing the symbol checksum, such modules
++ * won't be loaded by the kernel. This macro should only be used as a
++ * last resort when all other KABI workarounds have failed.
++ *
++ * NOTE
++ * Don't use ';' after these macros as it messes up the kABI checker by
++ * changing what the resulting token string looks like. Instead let this
++ * macro add the ';' so it can be properly hidden from the kABI checker
++ * (mainly for RH_KABI_EXTEND, but applied to all macros for uniformity).
++ *
++ */
++#ifdef __GENKSYMS__
++
++# define RH_KABI_CONST
++# define RH_KABI_EXTEND(_new)
++# define RH_KABI_FILL_HOLE(_new)
++# define RH_KABI_FORCE_CHANGE(ver) __attribute__((rh_kabi_change ## ver))
++# define RH_KABI_RENAME(_orig, _new) _orig
++
++# define _RH_KABI_DEPRECATE(_type, _orig) _type _orig
++# define _RH_KABI_DEPRECATE_FN(_type, _orig, _args...) _type (*_orig)(_args)
++# define _RH_KABI_REPLACE(_orig, _new) _orig
++# define _RH_KABI_REPLACE_UNSAFE(_orig, _new) _orig
++
++#else
++
++# define RH_KABI_ALIGN_WARNING ". Disable CONFIG_RH_KABI_SIZE_ALIGN_CHECKS if debugging."
++
++# define RH_KABI_CONST const
++# define RH_KABI_EXTEND(_new) _new;
++# define RH_KABI_FILL_HOLE(_new) _new;
++# define RH_KABI_FORCE_CHANGE(ver)
++# define RH_KABI_RENAME(_orig, _new) _new
++
++
++#if IS_BUILTIN(CONFIG_RH_KABI_SIZE_ALIGN_CHECKS)
++# define __RH_KABI_CHECK_SIZE_ALIGN(_orig, _new) \
++ union { \
++ _Static_assert(sizeof(struct{_new;}) <= sizeof(struct{_orig;}), \
++ __FILE__ ":" __stringify(__LINE__) ": " __stringify(_new) " is larger than " __stringify(_orig) RH_KABI_ALIGN_WARNING); \
++ _Static_assert(__alignof__(struct{_new;}) <= __alignof__(struct{_orig;}), \
++ __FILE__ ":" __stringify(__LINE__) ": " __stringify(_orig) " is not aligned the same as " __stringify(_new) RH_KABI_ALIGN_WARNING); \
++ }
++#else
++# define __RH_KABI_CHECK_SIZE_ALIGN(_orig, _new)
++#endif
++
++# define _RH_KABI_DEPRECATE(_type, _orig) _type rh_reserved_##_orig
++# define _RH_KABI_DEPRECATE_FN(_type, _orig, _args...) \
++ _type (* rh_reserved_##_orig)(_args)
++# define _RH_KABI_REPLACE(_orig, _new) \
++ union { \
++ _new; \
++ struct { \
++ _orig; \
++ } __UNIQUE_ID(rh_kabi_hide); \
++ __RH_KABI_CHECK_SIZE_ALIGN(_orig, _new); \
++ }
++# define _RH_KABI_REPLACE_UNSAFE(_orig, _new) _new
++
++#endif /* __GENKSYMS__ */
++
++/* semicolon added wrappers for the RH_KABI_REPLACE macros */
++# define RH_KABI_DEPRECATE(_type, _orig) _RH_KABI_DEPRECATE(_type, _orig);
++# define RH_KABI_DEPRECATE_FN(_type, _orig, _args...) \
++ _RH_KABI_DEPRECATE_FN(_type, _orig, _args);
++# define RH_KABI_REPLACE(_orig, _new) _RH_KABI_REPLACE(_orig, _new);
++# define RH_KABI_REPLACE_UNSAFE(_orig, _new) _RH_KABI_REPLACE_UNSAFE(_orig, _new);
++/*
++ * Macro for breaking up a random element into two smaller chunks using an
++ * anonymous struct inside an anonymous union.
++ */
++# define RH_KABI_REPLACE2(orig, _new1, _new2) RH_KABI_REPLACE(orig, struct{ _new1; _new2;})
++
++# define RH_KABI_RESERVE(n) _RH_KABI_RESERVE(n);
++/*
++ * Simple wrappers to replace standard Red Hat reserved elements.
++ */
++# define RH_KABI_USE(n, _new) RH_KABI_REPLACE(_RH_KABI_RESERVE(n), _new)
++/*
++ * Macros for breaking up a reserved element into two smaller chunks using
++ * an anonymous struct inside an anonymous union.
++ */
++# define RH_KABI_USE2(n, _new1, _new2) RH_KABI_REPLACE(_RH_KABI_RESERVE(n), struct{ _new1; _new2; })
++
++/*
++ * We tried to standardize on Red Hat reserved names. These wrappers
++ * leverage those common names making it easier to read and find in the
++ * code.
++ */
++# define _RH_KABI_RESERVE(n) unsigned long rh_reserved##n
++
++#endif /* _LINUX_RH_KABI_H */
diff --git a/include/linux/rmi.h b/include/linux/rmi.h
index ab7eea01ab42..fff7c5f737fc 100644
--- a/include/linux/rmi.h
@@ -1376,10 +1415,10 @@ index ab7eea01ab42..fff7c5f737fc 100644
int rmi_register_transport_device(struct rmi_transport_dev *xport);
diff --git a/include/linux/security.h b/include/linux/security.h
-index bac98ea18f78..28abed10b583 100644
+index 5f16eecde00b..974be25cfa70 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
-@@ -483,6 +483,7 @@ int security_inode_notifysecctx(struct inode *inode, void *ctx, u32 ctxlen);
+@@ -484,6 +484,7 @@ int security_inode_notifysecctx(struct inode *inode, void *ctx, u32 ctxlen);
int security_inode_setsecctx(struct dentry *dentry, void *ctx, u32 ctxlen);
int security_inode_getsecctx(struct inode *inode, void **ctx, u32 *ctxlen);
int security_locked_down(enum lockdown_reason what);
@@ -1387,7 +1426,7 @@ index bac98ea18f78..28abed10b583 100644
#else /* CONFIG_SECURITY */
static inline int call_blocking_lsm_notifier(enum lsm_event event, void *data)
-@@ -1394,6 +1395,10 @@ static inline int security_locked_down(enum lockdown_reason what)
+@@ -1395,6 +1396,10 @@ static inline int security_locked_down(enum lockdown_reason what)
{
return 0;
}
@@ -1398,6 +1437,26 @@ index bac98ea18f78..28abed10b583 100644
#endif /* CONFIG_SECURITY */
#if defined(CONFIG_SECURITY) && defined(CONFIG_WATCH_QUEUE)
+diff --git a/kernel/module/main.c b/kernel/module/main.c
+index 98fedfdb8db5..a21921f880e1 100644
+--- a/kernel/module/main.c
++++ b/kernel/module/main.c
+@@ -528,6 +528,7 @@ static struct module_attribute modinfo_##field = { \
+
+ MODINFO_ATTR(version);
+ MODINFO_ATTR(srcversion);
++MODINFO_ATTR(rhelversion);
+
+ static struct {
+ char name[MODULE_NAME_LEN + 1];
+@@ -980,6 +981,7 @@ struct module_attribute *modinfo_attrs[] = {
+ &module_uevent,
+ &modinfo_version,
+ &modinfo_srcversion,
++ &modinfo_rhelversion,
+ &modinfo_initstate,
+ &modinfo_coresize,
+ #ifdef CONFIG_ARCH_WANTS_MODULES_DATA_IN_VMALLOC
diff --git a/kernel/module/signing.c b/kernel/module/signing.c
index a2ff4242e623..f0d2be1ee4f1 100644
--- a/kernel/module/signing.c
@@ -1421,6 +1480,39 @@ index a2ff4242e623..f0d2be1ee4f1 100644
}
int module_sig_check(struct load_info *info, int flags)
+diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
+index b3dee80497cb..3715db3f99d4 100644
+--- a/scripts/mod/modpost.c
++++ b/scripts/mod/modpost.c
+@@ -23,6 +23,7 @@
+ #include "modpost.h"
+ #include "../../include/linux/license.h"
+ #include "../../include/linux/module_symbol.h"
++#include "../../include/generated/uapi/linux/version.h"
+
+ static bool module_enabled;
+ /* Are we using CONFIG_MODVERSIONS? */
+@@ -2088,6 +2089,12 @@ static void write_buf(struct buffer *b, const char *fname)
+ }
+ }
+
++static void add_rhelversion(struct buffer *b, struct module *mod)
++{
++ buf_printf(b, "MODULE_INFO(rhelversion, \"%d.%d\");\n", RHEL_MAJOR,
++ RHEL_MINOR);
++}
++
+ static void write_if_changed(struct buffer *b, const char *fname)
+ {
+ char *tmp;
+@@ -2148,6 +2155,7 @@ static void write_mod_c_file(struct module *mod)
+ add_depends(&buf, mod);
+ add_moddevtable(&buf, mod);
+ add_srcversion(&buf, mod);
++ add_rhelversion(&buf, mod);
+
+ ret = snprintf(fname, sizeof(fname), "%s.mod.c", mod->name);
+ if (ret >= sizeof(fname)) {
diff --git a/scripts/tags.sh b/scripts/tags.sh
index a70d43723146..56d06b04f752 100755
--- a/scripts/tags.sh
@@ -1495,10 +1587,10 @@ index 68d19632aeb7..ef348935b6ff 100644
static int __init lockdown_lsm_init(void)
diff --git a/security/security.c b/security/security.c
-index 549104a447e3..73670798f075 100644
+index 23b129d482a7..55d0fe0d121b 100644
--- a/security/security.c
+++ b/security/security.c
-@@ -5198,6 +5198,18 @@ int security_locked_down(enum lockdown_reason what)
+@@ -5230,6 +5230,18 @@ int security_locked_down(enum lockdown_reason what)
}
EXPORT_SYMBOL(security_locked_down);
diff --git a/SOURCES/rog-ally-alsa.patch b/SOURCES/rog-ally-alsa.patch
index 6cfa703..189b049 100644
--- a/SOURCES/rog-ally-alsa.patch
+++ b/SOURCES/rog-ally-alsa.patch
@@ -4,327 +4,6 @@ From: Cristian Ciocaltea @ 2023-09-07 17:10 UTC (permalink / raw)
Stefan Binding, Charles Keepax, Vitaly Rodionov
Cc: alsa-devel, patches, linux-kernel, kernel
-The return code of regmap_multi_reg_write() call related to "MDSYNC up"
-sequence is shadowed by the subsequent regmap_read_poll_timeout()
-invocation, which will hit a timeout in case the write operation above
-fails.
-
-Make sure cs35l41_global_enable() returns the correct error code instead
-of -ETIMEDOUT.
-
-Additionally, to be able to distinguish between the timeouts of
-wait_for_completion_timeout() and regmap_read_poll_timeout(), print an
-error message for the former and return immediately. This also avoids
-having to wait unnecessarily for the second time.
-
-Fixes: f8264c759208 ("ALSA: cs35l41: Poll for Power Up/Down rather than waiting a fixed delay")
-Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
-Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
----
- sound/soc/codecs/cs35l41-lib.c | 17 ++++++++++-------
- 1 file changed, 10 insertions(+), 7 deletions(-)
-
-diff --git a/sound/soc/codecs/cs35l41-lib.c b/sound/soc/codecs/cs35l41-lib.c
-index a018f1d98428..a6c6bb23b957 100644
---- a/sound/soc/codecs/cs35l41-lib.c
-+++ b/sound/soc/codecs/cs35l41-lib.c
-@@ -1251,15 +1251,18 @@ int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l4
-
- ret = wait_for_completion_timeout(pll_lock, msecs_to_jiffies(1000));
- if (ret == 0) {
-- ret = -ETIMEDOUT;
-- } else {
-- regmap_read(regmap, CS35L41_PWR_CTRL3, &pwr_ctrl3);
-- pwr_ctrl3 |= CS35L41_SYNC_EN_MASK;
-- cs35l41_mdsync_up_seq[0].def = pwr_ctrl3;
-- ret = regmap_multi_reg_write(regmap, cs35l41_mdsync_up_seq,
-- ARRAY_SIZE(cs35l41_mdsync_up_seq));
-+ dev_err(dev, "Timed out waiting for pll_lock\n");
-+ return -ETIMEDOUT;
- }
-
-+ regmap_read(regmap, CS35L41_PWR_CTRL3, &pwr_ctrl3);
-+ pwr_ctrl3 |= CS35L41_SYNC_EN_MASK;
-+ cs35l41_mdsync_up_seq[0].def = pwr_ctrl3;
-+ ret = regmap_multi_reg_write(regmap, cs35l41_mdsync_up_seq,
-+ ARRAY_SIZE(cs35l41_mdsync_up_seq));
-+ if (ret)
-+ return ret;
-+
- ret = regmap_read_poll_timeout(regmap, CS35L41_IRQ1_STATUS1,
- int_status, int_status & pup_pdn_mask,
- 1000, 100000);
---
-2.41.0
-From: Cristian Ciocaltea @ 2023-09-07 17:10 UTC (permalink / raw)
- To: James Schulman, David Rhodes, Richard Fitzgerald,
- Jaroslav Kysela, Takashi Iwai, Liam Girdwood, Mark Brown,
- Stefan Binding, Charles Keepax, Vitaly Rodionov
- Cc: alsa-devel, patches, linux-kernel, kernel
-
-Enabling the active/passive shared boosts requires setting SYNC_EN, but
-*not* before receiving the PLL Lock signal.
-
-Due to improper error handling, it was not obvious that waiting for the
-completion operation times out and, consequently, the shared boost is
-never activated.
-
-Further investigations revealed the signal is triggered while
-snd_pcm_start() is executed, right after receiving the
-SNDRV_PCM_TRIGGER_START command, which happens long after the
-SND_SOC_DAPM_PRE_PMU event handler is invoked as part of
-snd_pcm_prepare(). That is where cs35l41_global_enable() is called
-from.
-
-Increasing the wait duration doesn't help, as it only causes an
-unnecessary delay in the invocation of snd_pcm_start(). Moving the wait
-and the subsequent regmap operations to the SNDRV_PCM_TRIGGER_START
-callback is not a solution either, since they would be executed in an
-IRQ-off atomic context.
-
-Solve the issue by setting the SYNC_EN bit in PWR_CTRL3 register right
-after receiving the PLL Lock interrupt.
-
-Additionally, drop the unnecessary writes to PWR_CTRL1 register, part of
-the original mdsync_up_seq, which would have toggled GLOBAL_EN with
-unwanted consequences on PLL locking behavior.
-
-Fixes: f5030564938b ("ALSA: cs35l41: Add shared boost feature")
-Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
----
- include/sound/cs35l41.h | 4 +--
- sound/pci/hda/cs35l41_hda.c | 4 +--
- sound/soc/codecs/cs35l41-lib.c | 61 ++++++++++++++++++++--------------
- sound/soc/codecs/cs35l41.c | 24 ++++++++-----
- sound/soc/codecs/cs35l41.h | 1 -
- 5 files changed, 55 insertions(+), 39 deletions(-)
-
-diff --git a/include/sound/cs35l41.h b/include/sound/cs35l41.h
-index 1bf757901d02..2fe8c6b0d4cf 100644
---- a/include/sound/cs35l41.h
-+++ b/include/sound/cs35l41.h
-@@ -11,7 +11,6 @@
- #define __CS35L41_H
-
- #include <linux/regmap.h>
--#include <linux/completion.h>
- #include <linux/firmware/cirrus/cs_dsp.h>
-
- #define CS35L41_FIRSTREG 0x00000000
-@@ -902,7 +901,8 @@ int cs35l41_exit_hibernate(struct device *dev, struct regmap *regmap);
- int cs35l41_init_boost(struct device *dev, struct regmap *regmap,
- struct cs35l41_hw_cfg *hw_cfg);
- bool cs35l41_safe_reset(struct regmap *regmap, enum cs35l41_boost_type b_type);
-+int cs35l41_mdsync_up(struct regmap *regmap);
- int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l41_boost_type b_type,
-- int enable, struct completion *pll_lock, bool firmware_running);
-+ int enable, bool firmware_running);
-
- #endif /* __CS35L41_H */
-diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c
-index f9b77353c266..09a9c135d9b6 100644
---- a/sound/pci/hda/cs35l41_hda.c
-+++ b/sound/pci/hda/cs35l41_hda.c
-@@ -527,7 +527,7 @@ static void cs35l41_hda_play_done(struct device *dev)
-
- dev_dbg(dev, "Play (Complete)\n");
-
-- cs35l41_global_enable(dev, reg, cs35l41->hw_cfg.bst_type, 1, NULL,
-+ cs35l41_global_enable(dev, reg, cs35l41->hw_cfg.bst_type, 1,
- cs35l41->firmware_running);
- if (cs35l41->firmware_running) {
- regmap_multi_reg_write(reg, cs35l41_hda_unmute_dsp,
-@@ -546,7 +546,7 @@ static void cs35l41_hda_pause_start(struct device *dev)
- dev_dbg(dev, "Pause (Start)\n");
-
- regmap_multi_reg_write(reg, cs35l41_hda_mute, ARRAY_SIZE(cs35l41_hda_mute));
-- cs35l41_global_enable(dev, reg, cs35l41->hw_cfg.bst_type, 0, NULL,
-+ cs35l41_global_enable(dev, reg, cs35l41->hw_cfg.bst_type, 0,
- cs35l41->firmware_running);
- }
-
-diff --git a/sound/soc/codecs/cs35l41-lib.c b/sound/soc/codecs/cs35l41-lib.c
-index a6c6bb23b957..2ec5fdc875b1 100644
---- a/sound/soc/codecs/cs35l41-lib.c
-+++ b/sound/soc/codecs/cs35l41-lib.c
-@@ -1192,8 +1192,28 @@ bool cs35l41_safe_reset(struct regmap *regmap, enum cs35l41_boost_type b_type)
- }
- EXPORT_SYMBOL_GPL(cs35l41_safe_reset);
-
-+/*
-+ * Enabling the CS35L41_SHD_BOOST_ACTV and CS35L41_SHD_BOOST_PASS shared boosts
-+ * does also require a call to cs35l41_mdsync_up(), but not before getting the
-+ * PLL Lock signal.
-+ *
-+ * PLL Lock seems to be triggered soon after snd_pcm_start() is executed and
-+ * SNDRV_PCM_TRIGGER_START command is processed, which happens (long) after the
-+ * SND_SOC_DAPM_PRE_PMU event handler is invoked as part of snd_pcm_prepare().
-+ *
-+ * This event handler is where cs35l41_global_enable() is normally called from,
-+ * but waiting for PLL Lock here will time out. Increasing the wait duration
-+ * will not help, as the only consequence of it would be to add an unnecessary
-+ * delay in the invocation of snd_pcm_start().
-+ *
-+ * Trying to move the wait in the SNDRV_PCM_TRIGGER_START callback is not a
-+ * solution either, as the trigger is executed in an IRQ-off atomic context.
-+ *
-+ * The current approach is to invoke cs35l41_mdsync_up() right after receiving
-+ * the PLL Lock interrupt, in the IRQ handler.
-+ */
- int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l41_boost_type b_type,
-- int enable, struct completion *pll_lock, bool firmware_running)
-+ int enable, bool firmware_running)
- {
- int ret;
- unsigned int gpio1_func, pad_control, pwr_ctrl1, pwr_ctrl3, int_status, pup_pdn_mask;
-@@ -1203,11 +1223,6 @@ int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l4
- {CS35L41_GPIO_PAD_CONTROL, 0},
- {CS35L41_PWR_CTRL1, 0, 3000},
- };
-- struct reg_sequence cs35l41_mdsync_up_seq[] = {
-- {CS35L41_PWR_CTRL3, 0},
-- {CS35L41_PWR_CTRL1, 0x00000000, 3000},
-- {CS35L41_PWR_CTRL1, 0x00000001, 3000},
-- };
-
- pup_pdn_mask = enable ? CS35L41_PUP_DONE_MASK : CS35L41_PDN_DONE_MASK;
-
-@@ -1241,26 +1256,11 @@ int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l4
- cs35l41_mdsync_down_seq[0].def = pwr_ctrl3;
- cs35l41_mdsync_down_seq[1].def = pad_control;
- cs35l41_mdsync_down_seq[2].def = pwr_ctrl1;
-+
- ret = regmap_multi_reg_write(regmap, cs35l41_mdsync_down_seq,
- ARRAY_SIZE(cs35l41_mdsync_down_seq));
-- if (ret || !enable)
-- break;
--
-- if (!pll_lock)
-- return -EINVAL;
--
-- ret = wait_for_completion_timeout(pll_lock, msecs_to_jiffies(1000));
-- if (ret == 0) {
-- dev_err(dev, "Timed out waiting for pll_lock\n");
-- return -ETIMEDOUT;
-- }
--
-- regmap_read(regmap, CS35L41_PWR_CTRL3, &pwr_ctrl3);
-- pwr_ctrl3 |= CS35L41_SYNC_EN_MASK;
-- cs35l41_mdsync_up_seq[0].def = pwr_ctrl3;
-- ret = regmap_multi_reg_write(regmap, cs35l41_mdsync_up_seq,
-- ARRAY_SIZE(cs35l41_mdsync_up_seq));
-- if (ret)
-+ /* Activation to be completed later via cs35l41_mdsync_up() */
-+ if (ret || enable)
- return ret;
-
- ret = regmap_read_poll_timeout(regmap, CS35L41_IRQ1_STATUS1,
-@@ -1269,7 +1269,7 @@ int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l4
- if (ret)
- dev_err(dev, "Enable(%d) failed: %d\n", enable, ret);
-
-- // Clear PUP/PDN status
-+ /* Clear PUP/PDN status */
- regmap_write(regmap, CS35L41_IRQ1_STATUS1, pup_pdn_mask);
- break;
- case CS35L41_INT_BOOST:
-@@ -1351,6 +1351,17 @@ int cs35l41_global_enable(struct device *dev, struct regmap *regmap, enum cs35l4
- }
- EXPORT_SYMBOL_GPL(cs35l41_global_enable);
-
-+/*
-+ * To be called after receiving the IRQ Lock interrupt, in order to complete
-+ * any shared boost activation initiated by cs35l41_global_enable().
-+ */
-+int cs35l41_mdsync_up(struct regmap *regmap)
-+{
-+ return regmap_update_bits(regmap, CS35L41_PWR_CTRL3,
-+ CS35L41_SYNC_EN_MASK, CS35L41_SYNC_EN_MASK);
-+}
-+EXPORT_SYMBOL_GPL(cs35l41_mdsync_up);
-+
- int cs35l41_gpio_config(struct regmap *regmap, struct cs35l41_hw_cfg *hw_cfg)
- {
- struct cs35l41_gpio_cfg *gpio1 = &hw_cfg->gpio1;
-diff --git a/sound/soc/codecs/cs35l41.c b/sound/soc/codecs/cs35l41.c
-index fe5376b3e01b..12327b4c3d56 100644
---- a/sound/soc/codecs/cs35l41.c
-+++ b/sound/soc/codecs/cs35l41.c
-@@ -459,7 +459,19 @@ static irqreturn_t cs35l41_irq(int irq, void *data)
-
- if (status[2] & CS35L41_PLL_LOCK) {
- regmap_write(cs35l41->regmap, CS35L41_IRQ1_STATUS3, CS35L41_PLL_LOCK);
-- complete(&cs35l41->pll_lock);
-+
-+ if (cs35l41->hw_cfg.bst_type == CS35L41_SHD_BOOST_ACTV ||
-+ cs35l41->hw_cfg.bst_type == CS35L41_SHD_BOOST_PASS) {
-+ ret = cs35l41_mdsync_up(cs35l41->regmap);
-+ if (ret)
-+ dev_err(cs35l41->dev, "MDSYNC-up failed: %d\n", ret);
-+ else
-+ dev_dbg(cs35l41->dev, "MDSYNC-up done\n");
-+
-+ dev_dbg(cs35l41->dev, "PUP-done status: %d\n",
-+ !!(status[0] & CS35L41_PUP_DONE_MASK));
-+ }
-+
- ret = IRQ_HANDLED;
- }
-
-@@ -500,11 +512,11 @@ static int cs35l41_main_amp_event(struct snd_soc_dapm_widget *w,
- ARRAY_SIZE(cs35l41_pup_patch));
-
- ret = cs35l41_global_enable(cs35l41->dev, cs35l41->regmap, cs35l41->hw_cfg.bst_type,
-- 1, &cs35l41->pll_lock, cs35l41->dsp.cs_dsp.running);
-+ 1, cs35l41->dsp.cs_dsp.running);
- break;
- case SND_SOC_DAPM_POST_PMD:
- ret = cs35l41_global_enable(cs35l41->dev, cs35l41->regmap, cs35l41->hw_cfg.bst_type,
-- 0, &cs35l41->pll_lock, cs35l41->dsp.cs_dsp.running);
-+ 0, cs35l41->dsp.cs_dsp.running);
-
- regmap_multi_reg_write_bypassed(cs35l41->regmap,
- cs35l41_pdn_patch,
-@@ -802,10 +814,6 @@ static const struct snd_pcm_hw_constraint_list cs35l41_constraints = {
- static int cs35l41_pcm_startup(struct snd_pcm_substream *substream,
- struct snd_soc_dai *dai)
- {
-- struct cs35l41_private *cs35l41 = snd_soc_component_get_drvdata(dai->component);
--
-- reinit_completion(&cs35l41->pll_lock);
--
- if (substream->runtime)
- return snd_pcm_hw_constraint_list(substream->runtime, 0,
- SNDRV_PCM_HW_PARAM_RATE,
-@@ -1273,8 +1281,6 @@ int cs35l41_probe(struct cs35l41_private *cs35l41, const struct cs35l41_hw_cfg *
- regmap_update_bits(cs35l41->regmap, CS35L41_IRQ1_MASK3, CS35L41_INT3_PLL_LOCK_MASK,
- 0 << CS35L41_INT3_PLL_LOCK_SHIFT);
-
-- init_completion(&cs35l41->pll_lock);
--
- ret = devm_request_threaded_irq(cs35l41->dev, cs35l41->irq, NULL, cs35l41_irq,
- IRQF_ONESHOT | IRQF_SHARED | irq_pol,
- "cs35l41", cs35l41);
-diff --git a/sound/soc/codecs/cs35l41.h b/sound/soc/codecs/cs35l41.h
-index 34d967d4372b..c85cbc1dd333 100644
---- a/sound/soc/codecs/cs35l41.h
-+++ b/sound/soc/codecs/cs35l41.h
-@@ -33,7 +33,6 @@ struct cs35l41_private {
- int irq;
- /* GPIO for /RST */
- struct gpio_desc *reset_gpio;
-- struct completion pll_lock;
- };
-
- int cs35l41_probe(struct cs35l41_private *cs35l41, const struct cs35l41_hw_cfg *hw_cfg);
---
-2.41.0
-From: Cristian Ciocaltea @ 2023-09-07 17:10 UTC (permalink / raw)
- To: James Schulman, David Rhodes, Richard Fitzgerald,
- Jaroslav Kysela, Takashi Iwai, Liam Girdwood, Mark Brown,
- Stefan Binding, Charles Keepax, Vitaly Rodionov
- Cc: alsa-devel, patches, linux-kernel, kernel
-
Use dev_err_probe() helper where possible, to simplify error handling
during probe.
diff --git a/SOURCES/rpminspect.yaml b/SOURCES/rpminspect.yaml
index 8b160a4..b4e599a 100644
--- a/SOURCES/rpminspect.yaml
+++ b/SOURCES/rpminspect.yaml
@@ -23,7 +23,7 @@ emptyrpm:
patches:
ignore_list:
- linux-kernel-test.patch
- - patch-6.5-redhat.patch
+ - patch-6.6-redhat.patch
runpath:
ignore:
diff --git a/SOURCES/steam-deck.patch b/SOURCES/steam-deck.patch
index 696f642..395cdd3 100644
--- a/SOURCES/steam-deck.patch
+++ b/SOURCES/steam-deck.patch
@@ -181,6 +181,7 @@ index 000000000000..0e504b3c2796
+MODULE_AUTHOR("Andrey Smirnov <andrew.smirnov@gmail.com>");
+MODULE_DESCRIPTION("Steam Deck EC MFD core driver");
+MODULE_LICENSE("GPL");
+
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Andrey Smirnov <andrew.smirnov@gmail.com>
Date: Sat, 19 Feb 2022 16:09:45 -0800
@@ -462,6 +463,7 @@ index 000000000000..fab9e9460bd4
+MODULE_AUTHOR("Andrey Smirnov <andrew.smirnov@gmail.com>");
+MODULE_DESCRIPTION("Steam Deck EC sensors driver");
+MODULE_LICENSE("GPL");
+
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Andrey Smirnov <andrew.smirnov@gmail.com>
Date: Sun, 27 Feb 2022 12:58:05 -0800
@@ -587,6 +589,7 @@ index 000000000000..686500b8de73
+MODULE_AUTHOR("Andrey Smirnov <andrew.smirnov@gmail.com>");
+MODULE_DESCRIPTION("Steam Deck LEDs driver");
+MODULE_LICENSE("GPL");
+
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Andrey Smirnov <andrew.smirnov@gmail.com>
Date: Sun, 27 Feb 2022 14:46:08 -0800
@@ -813,6 +816,7 @@ index 000000000000..74f190adc8ea
+MODULE_AUTHOR("Andrey Smirnov <andrew.smirnov@gmail.com>");
+MODULE_DESCRIPTION("Steam Deck extcon driver");
+MODULE_LICENSE("GPL");
+
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Andrey Smirnov <andrew.smirnov@gmail.com>
Date: Sat, 15 Jul 2023 12:58:54 -0700
@@ -919,7 +923,59 @@ index fab9e9460bd4..9d0a5471b181 100644
if (IS_ERR(hwmon)) {
dev_err(dev, "Failed to register HWMON device");
return PTR_ERR(hwmon);
-From b899859fe49cccda9e8739d29d883dbd6dd057f3 Mon Sep 17 00:00:00 2001
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Andrey Smirnov <andrew.smirnov@gmail.com>
+Date: Sun, 24 Sep 2023 15:02:33 -0700
+Subject: [PATCH] mfd: steamdeck: Expose controller board power in sysfs
+
+As of version 118 Deck's BIOS implements "SCBP" method that allows
+gating power of the controller board (VBUS). Add a basic WO method to
+our root MFD device to allow toggling that.
+
+Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
+(cherry picked from commit f97f32718acc10cbb51fef925842392e80904d74)
+Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
+Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
+---
+ drivers/mfd/steamdeck.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/drivers/mfd/steamdeck.c b/drivers/mfd/steamdeck.c
+index 0e504b3c2796..a60fa7db9141 100644
+--- a/drivers/mfd/steamdeck.c
++++ b/drivers/mfd/steamdeck.c
+@@ -41,9 +41,29 @@ struct steamdeck {
+ STEAMDECK_ATTR_RO(firmware_version, "PDFW");
+ STEAMDECK_ATTR_RO(board_id, "BOID");
+
++static ssize_t controller_board_power_store(struct device *dev,
++ struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct steamdeck *sd = dev_get_drvdata(dev);
++ bool enabled;
++ ssize_t ret = kstrtobool(buf, &enabled);
++
++ if (ret)
++ return ret;
++
++ if (ACPI_FAILURE(acpi_execute_simple_method(sd->adev->handle,
++ "SCBP", enabled)))
++ return -EIO;
++
++ return count;
++}
++static DEVICE_ATTR_WO(controller_board_power);
++
+ static struct attribute *steamdeck_attrs[] = {
+ &dev_attr_firmware_version.attr,
+ &dev_attr_board_id.attr,
++ &dev_attr_controller_board_power.attr,
+ NULL
+ };
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Vicki Pfau <vi@endrift.com>
Date: Thu, 30 Jun 2022 18:42:10 -0700
Subject: [PATCH 01/10] USB: gadget: f_hid: Add Get-Feature report
@@ -1219,7 +1275,7 @@ index 835473910a498..9754822b2a409 100644
2.41.0
-From 20ebaf7b44ff03078cf53e43306d6c5a3d0613e6 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Vicki Pfau <vi@endrift.com>
Date: Thu, 30 Jun 2022 18:43:10 -0700
Subject: [PATCH 02/10] USB: gadget: f_hid: Add Set-Feature report
@@ -1485,7 +1541,7 @@ index c6068b4863543..54814c2c68d60 100644
2.41.0
-From 146e98d6f595e3a4e6c09a00ee9ec2d48a6703cb Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Vicki Pfau <vi@endrift.com>
Date: Tue, 29 Nov 2022 18:32:58 -0800
Subject: [PATCH 03/10] HID: hid-steam: Update list of identifiers from SDL
@@ -1752,7 +1808,7 @@ index b110818fc9458..39a9bf3b7f77d 100644
2.41.0
-From 4b1dd1ebfd2d3f123212e1296d304909e5b3a406 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Vicki Pfau <vi@endrift.com>
Date: Wed, 16 Nov 2022 19:54:26 -0800
Subject: [PATCH 04/10] HID: hid-steam: Add gamepad-only mode switched to by
@@ -1906,7 +1962,7 @@ index 39a9bf3b7f77d..0620046b142ef 100644
2.41.0
-From 187582492c359d56865759f120214cfe6fa4ed50 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Vicki Pfau <vi@endrift.com>
Date: Mon, 8 May 2023 20:24:56 -0700
Subject: [PATCH 05/10] HID: hid-steam: Clean up locking
@@ -2313,7 +2369,7 @@ index 0620046b142ef..845ca71b8bd3a 100644
2.41.0
-From d4490c88bed06b4c18af4a6029d67374df5218e1 Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Vicki Pfau <vi@endrift.com>
Date: Wed, 10 May 2023 17:27:12 -0700
Subject: [PATCH 06/10] HID: hid-steam: Make client_opened a counter
@@ -2382,7 +2438,7 @@ index 845ca71b8bd3a..0c2fe51b29bc1 100644
2.41.0
-From 58a8667b251984ecc85a503c5dec3fc8f98028ff Mon Sep 17 00:00:00 2001
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Vicki Pfau <vi@endrift.com>
Date: Thu, 18 May 2023 18:00:35 -0700
Subject: [PATCH 07/10] HID: hid-steam: Better handling of serial number length
@@ -2439,137 +2495,3 @@ index 0c2fe51b29bc1..92e3e1052fa42 100644
return ret;
--
2.41.0
-
-
-From 7460867bd78651a6187ac44c73d1be653c09973b Mon Sep 17 00:00:00 2001
-From: Vicki Pfau <vi@endrift.com>
-Date: Fri, 24 Mar 2023 10:42:27 -0700
-Subject: [PATCH 08/10] Input: xpad - fix support for some third-party
- controllers
-
-Some third-party controllers, such as the HORPIAD FPS for Nintendo Switch and
-Gamesir-G3w, require a specific packet that the first-party XInput driver sends
-before it will start sending reports. It's not currently known what this packet
-does, but since the first-party driver always sends it's unlikely that this
-could cause issues with existing controllers.
-
-Co-authored-by: Andrey Smirnov <andrew.smirnov@gmail.com>
-Signed-off-by: Vicki Pfau <vi@endrift.com>
-Link: https://lore.kernel.org/r/20230324040446.3487725-3-vi@endrift.com
-Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
----
- drivers/input/joystick/xpad.c | 22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)
-
-diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
-index cdb193317c3b6..fc680b45f936e 100644
---- a/drivers/input/joystick/xpad.c
-+++ b/drivers/input/joystick/xpad.c
-@@ -264,6 +264,7 @@ static const struct xpad_device {
- { 0x0f0d, 0x0067, "HORIPAD ONE", 0, XTYPE_XBOXONE },
- { 0x0f0d, 0x0078, "Hori Real Arcade Pro V Kai Xbox One", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE },
- { 0x0f0d, 0x00c5, "Hori Fighting Commander ONE", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE },
-+ { 0x0f0d, 0x00dc, "HORIPAD FPS for Nintendo Switch", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 },
- { 0x0f30, 0x010b, "Philips Recoil", 0, XTYPE_XBOX },
- { 0x0f30, 0x0202, "Joytech Advanced Controller", 0, XTYPE_XBOX },
- { 0x0f30, 0x8888, "BigBen XBMiniPad Controller", 0, XTYPE_XBOX },
-@@ -1720,6 +1721,27 @@ static int xpad_start_input(struct usb_xpad *xpad)
- return error;
- }
- }
-+ if (xpad->xtype == XTYPE_XBOX360) {
-+ /*
-+ * Some third-party controllers Xbox 360-style controllers
-+ * require this message to finish initialization.
-+ */
-+ u8 dummy[20];
-+
-+ error = usb_control_msg_recv(xpad->udev, 0,
-+ /* bRequest */ 0x01,
-+ /* bmRequestType */
-+ USB_TYPE_VENDOR | USB_DIR_IN |
-+ USB_RECIP_INTERFACE,
-+ /* wValue */ 0x100,
-+ /* wIndex */ 0x00,
-+ dummy, sizeof(dummy),
-+ 25, GFP_KERNEL);
-+ if (error)
-+ dev_warn(&xpad->dev->dev,
-+ "unable to receive magic message: %d\n",
-+ error);
-+ }
-
- return 0;
- }
---
-2.41.0
-
-
-From 469ab7efd0383f60e83c086347526273ed1d1a33 Mon Sep 17 00:00:00 2001
-From: Timothee Besset <ttimo@valvesoftware.com>
-Date: Mon, 22 May 2023 20:25:57 -0500
-Subject: [PATCH 09/10] Input: xpad - Add GameSir VID for Xbox One controllers
-
-Co-authored-by: Sam Lantinga <saml@valvesoftware.com>
-Signed-off-by: Sam Lantinga <slouken@libsdl.org>
-Signed-off-by: Vicki Pfau <vi@endrift.com>
----
- drivers/input/joystick/xpad.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
-index fc680b45f936e..bb2f69faa2a81 100644
---- a/drivers/input/joystick/xpad.c
-+++ b/drivers/input/joystick/xpad.c
-@@ -500,6 +500,7 @@ static const struct usb_device_id xpad_table[] = {
- XPAD_XBOX360_VENDOR(0x2f24), /* GameSir controllers */
- XPAD_XBOX360_VENDOR(0x31e3), /* Wooting Keyboards */
- XPAD_XBOX360_VENDOR(0x3285), /* Nacon GC-100 */
-+ XPAD_XBOXONE_VENDOR(0x3537), /* GameSir Controllers */
- { }
- };
-
---
-2.41.0
-
-
-From 4fd74c574f8554056facabd4e36e5e397f2e6b98 Mon Sep 17 00:00:00 2001
-From: Jonathan Frederick <doublej472@gmail.com>
-Date: Fri, 7 Jul 2023 15:11:33 -0700
-Subject: [PATCH 10/10] Input: xpad - add GameSir T4 Kaleid Controller support
-
-Add VID and PID to the xpad_device table to allow driver
-to use the GameSir T4 Kaleid Controller, which is
-XTYPE_XBOX360 compatible in xinput mode.
-
-Signed-off-by: Jonathan Frederick <doublej472@gmail.com>
-Link: https://lore.kernel.org/r/ZKeKSbP3faIPv5jB@dbj-hp-flip
-Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
----
- drivers/input/joystick/xpad.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
-index bb2f69faa2a81..ede380551e55c 100644
---- a/drivers/input/joystick/xpad.c
-+++ b/drivers/input/joystick/xpad.c
-@@ -366,6 +366,7 @@ static const struct xpad_device {
- { 0x31e3, 0x1300, "Wooting 60HE (AVR)", 0, XTYPE_XBOX360 },
- { 0x31e3, 0x1310, "Wooting 60HE (ARM)", 0, XTYPE_XBOX360 },
- { 0x3285, 0x0607, "Nacon GC-100", 0, XTYPE_XBOX360 },
-+ { 0x3537, 0x1004, "GameSir T4 Kaleid", 0, XTYPE_XBOX360 },
- { 0x3767, 0x0101, "Fanatec Speedster 3 Forceshock Wheel", 0, XTYPE_XBOX },
- { 0xffff, 0xffff, "Chinese-made Xbox Controller", 0, XTYPE_XBOX },
- { 0x0000, 0x0000, "Generic X-Box pad", 0, XTYPE_UNKNOWN }
-@@ -500,6 +501,7 @@ static const struct usb_device_id xpad_table[] = {
- XPAD_XBOX360_VENDOR(0x2f24), /* GameSir controllers */
- XPAD_XBOX360_VENDOR(0x31e3), /* Wooting Keyboards */
- XPAD_XBOX360_VENDOR(0x3285), /* Nacon GC-100 */
-+ XPAD_XBOX360_VENDOR(0x3537), /* GameSir Controllers */
- XPAD_XBOXONE_VENDOR(0x3537), /* GameSir Controllers */
- { }
- };
---
-2.41.0
-
-
diff --git a/SOURCES/tkg.patch b/SOURCES/tkg.patch
index 8831829..3c405c8 100644
--- a/SOURCES/tkg.patch
+++ b/SOURCES/tkg.patch
@@ -49,12 +49,10 @@ index f788cd61df21..2bfbb4213707 100644
From f85ed068b4d0e6c31edce8574a95757a60e58b87 Mon Sep 17 00:00:00 2001
From: Etienne Juvigny <Ti3noU@gmail.com>
Date: Mon, 3 Sep 2018 17:36:25 +0200
-Subject: [PATCH 07/17] Zenify & stuff
+Subject: [PATCH 07/17] Add Zenify option
---
init/Kconfig | 32 ++++++++++++++++++++++++++++++++
- kernel/sched/fair.c | 25 +++++++++++++++++++++++++
- mm/page-writeback.c | 8 ++++++++
3 files changed, 65 insertions(+)
diff --git a/init/Kconfig b/init/Kconfig
@@ -99,102 +97,7 @@ index 3ae8678e1145..da708eed0f1e 100644
+
config BROKEN
bool
-
-diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
-index 6b3b59cc51d6..2a0072192c3d 100644
---- a/kernel/sched/fair.c
-+++ b/kernel/sched/fair.c
-@@ -69,8 +69,13 @@
- *
- * (default: 6ms * (1 + ilog(ncpus)), units: nanoseconds)
- */
-+#ifdef CONFIG_ZENIFY
-+unsigned int sysctl_sched_latency = 3000000ULL;
-+static unsigned int normalized_sysctl_sched_latency = 3000000ULL;
-+#else
- unsigned int sysctl_sched_latency = 6000000ULL;
- static unsigned int normalized_sysctl_sched_latency = 6000000ULL;
-+#endif
-
- /*
- * The initial- and re-scaling of tunables is configurable
-@@ -90,8 +95,13 @@
- *
- * (default: 0.75 msec * (1 + ilog(ncpus)), units: nanoseconds)
- */
-+#ifdef CONFIG_ZENIFY
-+unsigned int sysctl_sched_min_granularity = 300000ULL;
-+static unsigned int normalized_sysctl_sched_min_granularity = 300000ULL;
-+#else
- unsigned int sysctl_sched_min_granularity = 750000ULL;
- static unsigned int normalized_sysctl_sched_min_granularity = 750000ULL;
-+#endif
-
- /*
- * Minimal preemption granularity for CPU-bound SCHED_IDLE tasks.
-@@ -99,12 +109,20 @@
- *
- * (default: 0.75 msec)
- */
-+#ifdef CONFIG_ZENIFY
-+unsigned int sysctl_sched_idle_min_granularity = 300000ULL;
-+#else
- unsigned int sysctl_sched_idle_min_granularity = 750000ULL;
-+#endif
- /*
- * This value is kept at sysctl_sched_latency/sysctl_sched_min_granularity
- */
-+#ifdef CONFIG_ZENIFY
-+static unsigned int sched_nr_latency = 10;
-+#else
- static unsigned int sched_nr_latency = 8;
-+#endif
-
- /*
- * After fork, child runs first. If set to 0 (default) then
-@@ -175,8 +193,12 @@
- *
- * (default: 5 msec, units: microseconds)
- */
-+#ifdef CONFIG_ZENIFY
-+static unsigned int sysctl_sched_cfs_bandwidth_slice = 3000UL;
-+#else
- static unsigned int sysctl_sched_cfs_bandwidth_slice = 5000UL;
- #endif
-+#endif
-
- #ifdef CONFIG_NUMA_BALANCING
- /* Restrict the NUMA promotion throughput (MB/s) for each target node. */
-
-diff --git a/mm/page-writeback.c b/mm/page-writeback.c
-index 28b3e7a67565..01a1aef2b9b1 100644
---- a/mm/page-writeback.c
-+++ b/mm/page-writeback.c
-@@ -71,7 +71,11 @@ static long ratelimit_pages = 32;
- /*
- * Start background writeback (via writeback threads) at this percentage
- */
-+#ifdef CONFIG_ZENIFY
-+static int dirty_background_ratio = 20;
-+#else
- static int dirty_background_ratio = 10;
-+#endif
-
- /*
- * dirty_background_bytes starts at 0 (disabled) so that it is a function of
-@@ -88,7 +92,11 @@ int vm_highmem_is_dirtyable;
- /*
- * The generator of dirty data starts writeback at this percentage
- */
-+#ifdef CONFIG_ZENIFY
-+static int vm_dirty_ratio = 50;
-+#else
- static int vm_dirty_ratio = 20;
-+#endif
-
- /*
- * vm_dirty_bytes starts at 0 (disabled) so that it is a function of
--
2.28.0
diff --git a/SOURCES/winesync.patch b/SOURCES/winesync.patch
new file mode 100644
index 0000000..3c72546
--- /dev/null
+++ b/SOURCES/winesync.patch
@@ -0,0 +1,5071 @@
+From 153c94d81f583dfbd9e4e81eefc6a9b8e83ff06d Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 10:50:45 -0600
+Subject: [PATCH 01/34] winesync: Introduce the winesync driver and character
+ device.
+
+---
+ drivers/misc/Kconfig | 11 +++++++
+ drivers/misc/Makefile | 1 +
+ drivers/misc/winesync.c | 64 +++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 76 insertions(+)
+ create mode 100644 drivers/misc/winesync.c
+
+diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
+index 94e9fb4cdd76..4f9e3d80a6e8 100644
+--- a/drivers/misc/Kconfig
++++ b/drivers/misc/Kconfig
+@@ -562,6 +562,17 @@ config VCPU_STALL_DETECTOR
+ This driver can also be built as a module. If so, the module
+ will be called tps6594-pfsm.
+
++config WINESYNC
++ tristate "Synchronization primitives for Wine"
++ help
++ This module provides kernel support for synchronization primitives
++ used by Wine. It is not a hardware driver.
++
++ To compile this driver as a module, choose M here: the
++ module will be called winesync.
++
++ If unsure, say N.
++
+ source "drivers/misc/c2port/Kconfig"
+ source "drivers/misc/eeprom/Kconfig"
+ source "drivers/misc/cb710/Kconfig"
+diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
+index 2be8542616dd..d061fe45407b 100644
+--- a/drivers/misc/Makefile
++++ b/drivers/misc/Makefile
+@@ -59,6 +59,7 @@ obj-$(CONFIG_HABANA_AI) += habanalabs/
+ obj-$(CONFIG_UACCE) += uacce/
+ obj-$(CONFIG_XILINX_SDFEC) += xilinx_sdfec.o
+ obj-$(CONFIG_HISI_HIKEY_USB) += hisi_hikey_usb.o
++obj-$(CONFIG_WINESYNC) += winesync.o
+ obj-$(CONFIG_HI6421V600_IRQ) += hi6421v600-irq.o
+ obj-$(CONFIG_OPEN_DICE) += open-dice.o
+ obj-$(CONFIG_GP_PCI1XXXX) += mchp_pci1xxxx/
+diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
+new file mode 100644
+index 000000000000..111f33c5676e
+--- /dev/null
++++ b/drivers/misc/winesync.c
+@@ -0,0 +1,64 @@
++// SPDX-License-Identifier: GPL-2.0-only
++/*
++ * winesync.c - Kernel driver for Wine synchronization primitives
++ *
++ * Copyright (C) 2021 Zebediah Figura
++ */
++
++#include <linux/fs.h>
++#include <linux/miscdevice.h>
++#include <linux/module.h>
++
++#define WINESYNC_NAME "winesync"
++
++static int winesync_char_open(struct inode *inode, struct file *file)
++{
++ return nonseekable_open(inode, file);
++}
++
++static int winesync_char_release(struct inode *inode, struct file *file)
++{
++ return 0;
++}
++
++static long winesync_char_ioctl(struct file *file, unsigned int cmd,
++ unsigned long parm)
++{
++ switch (cmd) {
++ default:
++ return -ENOSYS;
++ }
++}
++
++static const struct file_operations winesync_fops = {
++ .owner = THIS_MODULE,
++ .open = winesync_char_open,
++ .release = winesync_char_release,
++ .unlocked_ioctl = winesync_char_ioctl,
++ .compat_ioctl = winesync_char_ioctl,
++ .llseek = no_llseek,
++};
++
++static struct miscdevice winesync_misc = {
++ .minor = MISC_DYNAMIC_MINOR,
++ .name = WINESYNC_NAME,
++ .fops = &winesync_fops,
++};
++
++static int __init winesync_init(void)
++{
++ return misc_register(&winesync_misc);
++}
++
++static void __exit winesync_exit(void)
++{
++ misc_deregister(&winesync_misc);
++}
++
++module_init(winesync_init);
++module_exit(winesync_exit);
++
++MODULE_AUTHOR("Zebediah Figura");
++MODULE_DESCRIPTION("Kernel driver for Wine synchronization primitives");
++MODULE_LICENSE("GPL");
++MODULE_ALIAS("devname:" WINESYNC_NAME);
+--
+2.37.3
+
+From 1f142d40cb7537bd936a68cadaf0f2a0d94abd62 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 10:57:06 -0600
+Subject: [PATCH 02/34] winesync: Reserve a minor device number and ioctl
+ range.
+
+---
+ Documentation/admin-guide/devices.txt | 3 ++-
+ Documentation/userspace-api/ioctl/ioctl-number.rst | 2 ++
+ drivers/misc/winesync.c | 3 ++-
+ include/linux/miscdevice.h | 1 +
+ 4 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/Documentation/admin-guide/devices.txt b/Documentation/admin-guide/devices.txt
+index c07dc0ee860e..4e5abe508426 100644
+--- a/Documentation/admin-guide/devices.txt
++++ b/Documentation/admin-guide/devices.txt
+@@ -376,8 +376,9 @@
+ 240 = /dev/userio Serio driver testing device
+ 241 = /dev/vhost-vsock Host kernel driver for virtio vsock
+ 242 = /dev/rfkill Turning off radio transmissions (rfkill)
++ 243 = /dev/winesync Wine synchronization primitive device
+
+- 243-254 Reserved for local use
++ 244-254 Reserved for local use
+ 255 Reserved for MISC_DYNAMIC_MINOR
+
+ 11 char Raw keyboard device (Linux/SPARC only)
+diff --git a/Documentation/userspace-api/ioctl/ioctl-number.rst b/Documentation/userspace-api/ioctl/ioctl-number.rst
+index 3b985b19f39d..3f313fd4338c 100644
+--- a/Documentation/userspace-api/ioctl/ioctl-number.rst
++++ b/Documentation/userspace-api/ioctl/ioctl-number.rst
+@@ -375,6 +375,8 @@ Code Seq# Include File Comments
+ <mailto:thomas@winischhofer.net>
+ 0xF6 all LTTng Linux Trace Toolkit Next Generation
+ <mailto:mathieu.desnoyers@efficios.com>
++0xF7 00-0F uapi/linux/winesync.h Wine synchronization primitives
++ <mailto:wine-devel@winehq.org>
+ 0xF8 all arch/x86/include/uapi/asm/amd_hsmp.h AMD HSMP EPYC system management interface driver
+ <mailto:nchatrad@amd.com>
+ 0xFD all linux/dm-ioctl.h
+diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
+index 111f33c5676e..85cb6ccaa077 100644
+--- a/drivers/misc/winesync.c
++++ b/drivers/misc/winesync.c
+@@ -40,7 +40,7 @@ static const struct file_operations winesync_fops = {
+ };
+
+ static struct miscdevice winesync_misc = {
+- .minor = MISC_DYNAMIC_MINOR,
++ .minor = WINESYNC_MINOR,
+ .name = WINESYNC_NAME,
+ .fops = &winesync_fops,
+ };
+@@ -62,3 +62,4 @@ MODULE_AUTHOR("Zebediah Figura");
+ MODULE_DESCRIPTION("Kernel driver for Wine synchronization primitives");
+ MODULE_LICENSE("GPL");
+ MODULE_ALIAS("devname:" WINESYNC_NAME);
++MODULE_ALIAS_MISCDEV(WINESYNC_MINOR);
+diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h
+index 0676f18093f9..350aecfcfb29 100644
+--- a/include/linux/miscdevice.h
++++ b/include/linux/miscdevice.h
+@@ -71,6 +71,7 @@
+ #define USERIO_MINOR 240
+ #define VHOST_VSOCK_MINOR 241
+ #define RFKILL_MINOR 242
++#define WINESYNC_MINOR 243
+ #define MISC_DYNAMIC_MINOR 255
+
+ struct device;
+--
+2.36.0
+
+From 8ad26f39cb5442d9e17f22ed0cda8d3669bb11b5 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 11:15:39 -0600
+Subject: [PATCH 03/34] winesync: Introduce WINESYNC_IOC_CREATE_SEM and
+ WINESYNC_IOC_DELETE.
+
+---
+ drivers/misc/winesync.c | 117 ++++++++++++++++++++++++++++++++++
+ include/uapi/linux/winesync.h | 25 ++++++++
+ 2 files changed, 142 insertions(+)
+ create mode 100644 include/uapi/linux/winesync.h
+
+diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
+index 85cb6ccaa077..36e31bbe0390 100644
+--- a/drivers/misc/winesync.c
++++ b/drivers/misc/winesync.c
+@@ -8,23 +8,140 @@
+ #include <linux/fs.h>
+ #include <linux/miscdevice.h>
+ #include <linux/module.h>
++#include <linux/slab.h>
++#include <linux/xarray.h>
++#include <uapi/linux/winesync.h>
+
+ #define WINESYNC_NAME "winesync"
+
++enum winesync_type {
++ WINESYNC_TYPE_SEM,
++};
++
++struct winesync_obj {
++ struct rcu_head rhead;
++ struct kref refcount;
++
++ enum winesync_type type;
++
++ union {
++ struct {
++ __u32 count;
++ __u32 max;
++ } sem;
++ } u;
++};
++
++struct winesync_device {
++ struct xarray objects;
++};
++
++static void destroy_obj(struct kref *ref)
++{
++ struct winesync_obj *obj = container_of(ref, struct winesync_obj, refcount);
++
++ kfree_rcu(obj, rhead);
++}
++
++static void put_obj(struct winesync_obj *obj)
++{
++ kref_put(&obj->refcount, destroy_obj);
++}
++
+ static int winesync_char_open(struct inode *inode, struct file *file)
+ {
++ struct winesync_device *dev;
++
++ dev = kzalloc(sizeof(*dev), GFP_KERNEL);
++ if (!dev)
++ return -ENOMEM;
++
++ xa_init_flags(&dev->objects, XA_FLAGS_ALLOC);
++
++ file->private_data = dev;
+ return nonseekable_open(inode, file);
+ }
+
+ static int winesync_char_release(struct inode *inode, struct file *file)
+ {
++ struct winesync_device *dev = file->private_data;
++ struct winesync_obj *obj;
++ unsigned long id;
++
++ xa_for_each(&dev->objects, id, obj)
++ put_obj(obj);
++
++ xa_destroy(&dev->objects);
++
++ kfree(dev);
++
++ return 0;
++}
++
++static void init_obj(struct winesync_obj *obj)
++{
++ kref_init(&obj->refcount);
++}
++
++static int winesync_create_sem(struct winesync_device *dev, void __user *argp)
++{
++ struct winesync_sem_args __user *user_args = argp;
++ struct winesync_sem_args args;
++ struct winesync_obj *sem;
++ __u32 id;
++ int ret;
++
++ if (copy_from_user(&args, argp, sizeof(args)))
++ return -EFAULT;
++
++ if (args.count > args.max)
++ return -EINVAL;
++
++ sem = kzalloc(sizeof(*sem), GFP_KERNEL);
++ if (!sem)
++ return -ENOMEM;
++
++ init_obj(sem);
++ sem->type = WINESYNC_TYPE_SEM;
++ sem->u.sem.count = args.count;
++ sem->u.sem.max = args.max;
++
++ ret = xa_alloc(&dev->objects, &id, sem, xa_limit_32b, GFP_KERNEL);
++ if (ret < 0) {
++ kfree(sem);
++ return ret;
++ }
++
++ return put_user(id, &user_args->sem);
++}
++
++static int winesync_delete(struct winesync_device *dev, void __user *argp)
++{
++ struct winesync_obj *obj;
++ __u32 id;
++
++ if (get_user(id, (__u32 __user *)argp))
++ return -EFAULT;
++
++ obj = xa_erase(&dev->objects, id);
++ if (!obj)
++ return -EINVAL;
++
++ put_obj(obj);
+ return 0;
+ }
+
+ static long winesync_char_ioctl(struct file *file, unsigned int cmd,
+ unsigned long parm)
+ {
++ struct winesync_device *dev = file->private_data;
++ void __user *argp = (void __user *)parm;
++
+ switch (cmd) {
++ case WINESYNC_IOC_CREATE_SEM:
++ return winesync_create_sem(dev, argp);
++ case WINESYNC_IOC_DELETE:
++ return winesync_delete(dev, argp);
+ default:
+ return -ENOSYS;
+ }
+diff --git a/include/uapi/linux/winesync.h b/include/uapi/linux/winesync.h
+new file mode 100644
+index 000000000000..aabb491f39d2
+--- /dev/null
++++ b/include/uapi/linux/winesync.h
+@@ -0,0 +1,25 @@
++/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
++/*
++ * Kernel support for Wine synchronization primitives
++ *
++ * Copyright (C) 2021 Zebediah Figura
++ */
++
++#ifndef __LINUX_WINESYNC_H
++#define __LINUX_WINESYNC_H
++
++#include <linux/types.h>
++
++struct winesync_sem_args {
++ __u32 sem;
++ __u32 count;
++ __u32 max;
++};
++
++#define WINESYNC_IOC_BASE 0xf7
++
++#define WINESYNC_IOC_CREATE_SEM _IOWR(WINESYNC_IOC_BASE, 0, \
++ struct winesync_sem_args)
++#define WINESYNC_IOC_DELETE _IOW (WINESYNC_IOC_BASE, 1, __u32)
++
++#endif
+--
+2.36.0
+
+From 144e223bfd7c5e733a9e7e50a3a8d37dbbedc0b7 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 11:22:42 -0600
+Subject: [PATCH 04/34] winesync: Introduce WINESYNC_IOC_PUT_SEM.
+
+---
+ drivers/misc/winesync.c | 76 +++++++++++++++++++++++++++++++++++
+ include/uapi/linux/winesync.h | 2 +
+ 2 files changed, 78 insertions(+)
+
+diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
+index 36e31bbe0390..84b5a5c9e0ce 100644
+--- a/drivers/misc/winesync.c
++++ b/drivers/misc/winesync.c
+@@ -21,9 +21,11 @@ enum winesync_type {
+ struct winesync_obj {
+ struct rcu_head rhead;
+ struct kref refcount;
++ spinlock_t lock;
+
+ enum winesync_type type;
+
++ /* The following fields are protected by the object lock. */
+ union {
+ struct {
+ __u32 count;
+@@ -36,6 +38,19 @@ struct winesync_device {
+ struct xarray objects;
+ };
+
++static struct winesync_obj *get_obj(struct winesync_device *dev, __u32 id)
++{
++ struct winesync_obj *obj;
++
++ rcu_read_lock();
++ obj = xa_load(&dev->objects, id);
++ if (obj && !kref_get_unless_zero(&obj->refcount))
++ obj = NULL;
++ rcu_read_unlock();
++
++ return obj;
++}
++
+ static void destroy_obj(struct kref *ref)
+ {
+ struct winesync_obj *obj = container_of(ref, struct winesync_obj, refcount);
+@@ -48,6 +63,18 @@ static void put_obj(struct winesync_obj *obj)
+ kref_put(&obj->refcount, destroy_obj);
+ }
+
++static struct winesync_obj *get_obj_typed(struct winesync_device *dev, __u32 id,
++ enum winesync_type type)
++{
++ struct winesync_obj *obj = get_obj(dev, id);
++
++ if (obj && obj->type != type) {
++ put_obj(obj);
++ return NULL;
++ }
++ return obj;
++}
++
+ static int winesync_char_open(struct inode *inode, struct file *file)
+ {
+ struct winesync_device *dev;
+@@ -81,6 +108,7 @@ static int winesync_char_release(struct inode *inode, struct file *file)
+ static void init_obj(struct winesync_obj *obj)
+ {
+ kref_init(&obj->refcount);
++ spin_lock_init(&obj->lock);
+ }
+
+ static int winesync_create_sem(struct winesync_device *dev, void __user *argp)
+@@ -131,6 +159,52 @@ static int winesync_delete(struct winesync_device *dev, void __user *argp)
+ return 0;
+ }
+
++/*
++ * Actually change the semaphore state, returning -EOVERFLOW if it is made
++ * invalid.
++ */
++static int put_sem_state(struct winesync_obj *sem, __u32 count)
++{
++ lockdep_assert_held(&sem->lock);
++
++ if (sem->u.sem.count + count < sem->u.sem.count ||
++ sem->u.sem.count + count > sem->u.sem.max)
++ return -EOVERFLOW;
++
++ sem->u.sem.count += count;
++ return 0;
++}
++
++static int winesync_put_sem(struct winesync_device *dev, void __user *argp)
++{
++ struct winesync_sem_args __user *user_args = argp;
++ struct winesync_sem_args args;
++ struct winesync_obj *sem;
++ __u32 prev_count;
++ int ret;
++
++ if (copy_from_user(&args, argp, sizeof(args)))
++ return -EFAULT;
++
++ sem = get_obj_typed(dev, args.sem, WINESYNC_TYPE_SEM);
++ if (!sem)
++ return -EINVAL;
++
++ spin_lock(&sem->lock);
++
++ prev_count = sem->u.sem.count;
++ ret = put_sem_state(sem, args.count);
++
++ spin_unlock(&sem->lock);
++
++ put_obj(sem);
++
++ if (!ret && put_user(prev_count, &user_args->count))
++ ret = -EFAULT;
++
++ return ret;
++}
++
+ static long winesync_char_ioctl(struct file *file, unsigned int cmd,
+ unsigned long parm)
+ {
+@@ -142,6 +216,8 @@ static long winesync_char_ioctl(struct file *file, unsigned int cmd,
+ return winesync_create_sem(dev, argp);
+ case WINESYNC_IOC_DELETE:
+ return winesync_delete(dev, argp);
++ case WINESYNC_IOC_PUT_SEM:
++ return winesync_put_sem(dev, argp);
+ default:
+ return -ENOSYS;
+ }
+diff --git a/include/uapi/linux/winesync.h b/include/uapi/linux/winesync.h
+index aabb491f39d2..7681a168eb92 100644
+--- a/include/uapi/linux/winesync.h
++++ b/include/uapi/linux/winesync.h
+@@ -21,5 +21,7 @@ struct winesync_sem_args {
+ #define WINESYNC_IOC_CREATE_SEM _IOWR(WINESYNC_IOC_BASE, 0, \
+ struct winesync_sem_args)
+ #define WINESYNC_IOC_DELETE _IOW (WINESYNC_IOC_BASE, 1, __u32)
++#define WINESYNC_IOC_PUT_SEM _IOWR(WINESYNC_IOC_BASE, 2, \
++ struct winesync_sem_args)
+
+ #endif
+--
+2.36.0
+
+From 207daf2aa77f9d197b205a88322d5359f432bc67 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 11:31:44 -0600
+Subject: [PATCH 05/34] winesync: Introduce WINESYNC_IOC_WAIT_ANY.
+
+---
+ drivers/misc/winesync.c | 226 ++++++++++++++++++++++++++++++++++
+ include/uapi/linux/winesync.h | 11 ++
+ 2 files changed, 237 insertions(+)
+
+diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
+index 84b5a5c9e0ce..d9b5ab159520 100644
+--- a/drivers/misc/winesync.c
++++ b/drivers/misc/winesync.c
+@@ -23,6 +23,8 @@ struct winesync_obj {
+ struct kref refcount;
+ spinlock_t lock;
+
++ struct list_head any_waiters;
++
+ enum winesync_type type;
+
+ /* The following fields are protected by the object lock. */
+@@ -34,6 +36,28 @@ struct winesync_obj {
+ } u;
+ };
+
++struct winesync_q_entry {
++ struct list_head node;
++ struct winesync_q *q;
++ struct winesync_obj *obj;
++ __u32 index;
++};
++
++struct winesync_q {
++ struct task_struct *task;
++ __u32 owner;
++
++ /*
++ * Protected via atomic_cmpxchg(). Only the thread that wins the
++ * compare-and-swap may actually change object states and wake this
++ * task.
++ */
++ atomic_t signaled;
++
++ __u32 count;
++ struct winesync_q_entry entries[];
++};
++
+ struct winesync_device {
+ struct xarray objects;
+ };
+@@ -109,6 +133,26 @@ static void init_obj(struct winesync_obj *obj)
+ {
+ kref_init(&obj->refcount);
+ spin_lock_init(&obj->lock);
++ INIT_LIST_HEAD(&obj->any_waiters);
++}
++
++static void try_wake_any_sem(struct winesync_obj *sem)
++{
++ struct winesync_q_entry *entry;
++
++ lockdep_assert_held(&sem->lock);
++
++ list_for_each_entry(entry, &sem->any_waiters, node) {
++ struct winesync_q *q = entry->q;
++
++ if (!sem->u.sem.count)
++ break;
++
++ if (atomic_cmpxchg(&q->signaled, -1, entry->index) == -1) {
++ sem->u.sem.count--;
++ wake_up_process(q->task);
++ }
++ }
+ }
+
+ static int winesync_create_sem(struct winesync_device *dev, void __user *argp)
+@@ -194,6 +238,8 @@ static int winesync_put_sem(struct winesync_device *dev, void __user *argp)
+
+ prev_count = sem->u.sem.count;
+ ret = put_sem_state(sem, args.count);
++ if (!ret)
++ try_wake_any_sem(sem);
+
+ spin_unlock(&sem->lock);
+
+@@ -205,6 +251,184 @@ static int winesync_put_sem(struct winesync_device *dev, void __user *argp)
+ return ret;
+ }
+
++static int winesync_schedule(const struct winesync_q *q, ktime_t *timeout)
++{
++ int ret = 0;
++
++ do {
++ if (signal_pending(current)) {
++ ret = -ERESTARTSYS;
++ break;
++ }
++
++ set_current_state(TASK_INTERRUPTIBLE);
++ if (atomic_read(&q->signaled) != -1) {
++ ret = 0;
++ break;
++ }
++ ret = schedule_hrtimeout(timeout, HRTIMER_MODE_ABS);
++ } while (ret < 0);
++ __set_current_state(TASK_RUNNING);
++
++ return ret;
++}
++
++/*
++ * Allocate and initialize the winesync_q structure, but do not queue us yet.
++ * Also, calculate the relative timeout.
++ */
++static int setup_wait(struct winesync_device *dev,
++ const struct winesync_wait_args *args,
++ ktime_t *ret_timeout, struct winesync_q **ret_q)
++{
++ const __u32 count = args->count;
++ struct winesync_q *q;
++ ktime_t timeout = 0;
++ __u32 *ids;
++ __u32 i, j;
++
++ if (!args->owner || args->pad)
++ return -EINVAL;
++
++ if (args->timeout) {
++ struct timespec64 to;
++
++ if (get_timespec64(&to, u64_to_user_ptr(args->timeout)))
++ return -EFAULT;
++ if (!timespec64_valid(&to))
++ return -EINVAL;
++
++ timeout = timespec64_to_ns(&to);
++ }
++
++ ids = kmalloc_array(count, sizeof(*ids), GFP_KERNEL);
++ if (!ids)
++ return -ENOMEM;
++ if (copy_from_user(ids, u64_to_user_ptr(args->objs),
++ array_size(count, sizeof(*ids)))) {
++ kfree(ids);
++ return -EFAULT;
++ }
++
++ q = kmalloc(struct_size(q, entries, count), GFP_KERNEL);
++ if (!q) {
++ kfree(ids);
++ return -ENOMEM;
++ }
++ q->task = current;
++ q->owner = args->owner;
++ atomic_set(&q->signaled, -1);
++ q->count = count;
++
++ for (i = 0; i < count; i++) {
++ struct winesync_q_entry *entry = &q->entries[i];
++ struct winesync_obj *obj = get_obj(dev, ids[i]);
++
++ if (!obj)
++ goto err;
++
++ entry->obj = obj;
++ entry->q = q;
++ entry->index = i;
++ }
++
++ kfree(ids);
++
++ *ret_q = q;
++ *ret_timeout = timeout;
++ return 0;
++
++err:
++ for (j = 0; j < i; j++)
++ put_obj(q->entries[j].obj);
++ kfree(ids);
++ kfree(q);
++ return -EINVAL;
++}
++
++static void try_wake_any_obj(struct winesync_obj *obj)
++{
++ switch (obj->type) {
++ case WINESYNC_TYPE_SEM:
++ try_wake_any_sem(obj);
++ break;
++ }
++}
++
++static int winesync_wait_any(struct winesync_device *dev, void __user *argp)
++{
++ struct winesync_wait_args args;
++ struct winesync_q *q;
++ ktime_t timeout;
++ int signaled;
++ __u32 i;
++ int ret;
++
++ if (copy_from_user(&args, argp, sizeof(args)))
++ return -EFAULT;
++
++ ret = setup_wait(dev, &args, &timeout, &q);
++ if (ret < 0)
++ return ret;
++
++ /* queue ourselves */
++
++ for (i = 0; i < args.count; i++) {
++ struct winesync_q_entry *entry = &q->entries[i];
++ struct winesync_obj *obj = entry->obj;
++
++ spin_lock(&obj->lock);
++ list_add_tail(&entry->node, &obj->any_waiters);
++ spin_unlock(&obj->lock);
++ }
++
++ /* check if we are already signaled */
++
++ for (i = 0; i < args.count; i++) {
++ struct winesync_obj *obj = q->entries[i].obj;
++
++ if (atomic_read(&q->signaled) != -1)
++ break;
++
++ spin_lock(&obj->lock);
++ try_wake_any_obj(obj);
++ spin_unlock(&obj->lock);
++ }
++
++ /* sleep */
++
++ ret = winesync_schedule(q, args.timeout ? &timeout : NULL);
++
++ /* and finally, unqueue */
++
++ for (i = 0; i < args.count; i++) {
++ struct winesync_q_entry *entry = &q->entries[i];
++ struct winesync_obj *obj = entry->obj;
++
++ spin_lock(&obj->lock);
++ list_del(&entry->node);
++ spin_unlock(&obj->lock);
++
++ put_obj(obj);
++ }
++
++ signaled = atomic_read(&q->signaled);
++ if (signaled != -1) {
++ struct winesync_wait_args __user *user_args = argp;
++
++ /* even if we caught a signal, we need to communicate success */
++ ret = 0;
++
++ if (put_user(signaled, &user_args->index))
++ ret = -EFAULT;
++ } else if (!ret) {
++ ret = -ETIMEDOUT;
++ }
++
++ kfree(q);
++ return ret;
++}
++
+ static long winesync_char_ioctl(struct file *file, unsigned int cmd,
+ unsigned long parm)
+ {
+@@ -218,6 +442,8 @@ static long winesync_char_ioctl(struct file *file, unsigned int cmd,
+ return winesync_delete(dev, argp);
+ case WINESYNC_IOC_PUT_SEM:
+ return winesync_put_sem(dev, argp);
++ case WINESYNC_IOC_WAIT_ANY:
++ return winesync_wait_any(dev, argp);
+ default:
+ return -ENOSYS;
+ }
+diff --git a/include/uapi/linux/winesync.h b/include/uapi/linux/winesync.h
+index 7681a168eb92..f57ebfbe1dd9 100644
+--- a/include/uapi/linux/winesync.h
++++ b/include/uapi/linux/winesync.h
+@@ -16,6 +16,15 @@ struct winesync_sem_args {
+ __u32 max;
+ };
+
++struct winesync_wait_args {
++ __u64 timeout;
++ __u64 objs;
++ __u32 count;
++ __u32 owner;
++ __u32 index;
++ __u32 pad;
++};
++
+ #define WINESYNC_IOC_BASE 0xf7
+
+ #define WINESYNC_IOC_CREATE_SEM _IOWR(WINESYNC_IOC_BASE, 0, \
+@@ -23,5 +32,7 @@ struct winesync_sem_args {
+ #define WINESYNC_IOC_DELETE _IOW (WINESYNC_IOC_BASE, 1, __u32)
+ #define WINESYNC_IOC_PUT_SEM _IOWR(WINESYNC_IOC_BASE, 2, \
+ struct winesync_sem_args)
++#define WINESYNC_IOC_WAIT_ANY _IOWR(WINESYNC_IOC_BASE, 3, \
++ struct winesync_wait_args)
+
+ #endif
+--
+2.36.0
+
+From 3d68ffb91767194d5a1a07aa6c57849343530a15 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 11:36:09 -0600
+Subject: [PATCH 06/34] winesync: Introduce WINESYNC_IOC_WAIT_ALL.
+
+---
+ drivers/misc/winesync.c | 242 ++++++++++++++++++++++++++++++++--
+ include/uapi/linux/winesync.h | 2 +
+ 2 files changed, 236 insertions(+), 8 deletions(-)
+
+diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
+index d9b5ab159520..2b708c5b88a6 100644
+--- a/drivers/misc/winesync.c
++++ b/drivers/misc/winesync.c
+@@ -23,7 +23,34 @@ struct winesync_obj {
+ struct kref refcount;
+ spinlock_t lock;
+
++ /*
++ * any_waiters is protected by the object lock, but all_waiters is
++ * protected by the device wait_all_lock.
++ */
+ struct list_head any_waiters;
++ struct list_head all_waiters;
++
++ /*
++ * Hint describing how many tasks are queued on this object in a
++ * wait-all operation.
++ *
++ * Any time we do a wake, we may need to wake "all" waiters as well as
++ * "any" waiters. In order to atomically wake "all" waiters, we must
++ * lock all of the objects, and that means grabbing the wait_all_lock
++ * below (and, due to lock ordering rules, before locking this object).
++ * However, wait-all is a rare operation, and grabbing the wait-all
++ * lock for every wake would create unnecessary contention. Therefore we
++ * first check whether all_hint is zero, and, if it is, we skip trying
++ * to wake "all" waiters.
++ *
++ * This hint isn't protected by any lock. It might change during the
++ * course of a wake, but there's no meaningful race there; it's only a
++ * hint.
++ *
++ * Since wait requests must originate from user-space threads, we're
++ * limited here by PID_MAX_LIMIT, so there's no risk of saturation.
++ */
++ atomic_t all_hint;
+
+ enum winesync_type type;
+
+@@ -54,11 +81,25 @@ struct winesync_q {
+ */
+ atomic_t signaled;
+
++ bool all;
+ __u32 count;
+ struct winesync_q_entry entries[];
+ };
+
+ struct winesync_device {
++ /*
++ * Wait-all operations must atomically grab all objects, and be totally
++ * ordered with respect to each other and wait-any operations. If one
++ * thread is trying to acquire several objects, another thread cannot
++ * touch the object at the same time.
++ *
++ * We achieve this by grabbing multiple object locks at the same time.
++ * However, this creates a lock ordering problem. To solve that problem,
++ * wait_all_lock is taken first whenever multiple objects must be locked
++ * at the same time.
++ */
++ spinlock_t wait_all_lock;
++
+ struct xarray objects;
+ };
+
+@@ -107,6 +148,8 @@ static int winesync_char_open(struct inode *inode, struct file *file)
+ if (!dev)
+ return -ENOMEM;
+
++ spin_lock_init(&dev->wait_all_lock);
++
+ xa_init_flags(&dev->objects, XA_FLAGS_ALLOC);
+
+ file->private_data = dev;
+@@ -132,8 +175,82 @@ static int winesync_char_release(struct inode *inode, struct file *file)
+ static void init_obj(struct winesync_obj *obj)
+ {
+ kref_init(&obj->refcount);
++ atomic_set(&obj->all_hint, 0);
+ spin_lock_init(&obj->lock);
+ INIT_LIST_HEAD(&obj->any_waiters);
++ INIT_LIST_HEAD(&obj->all_waiters);
++}
++
++static bool is_signaled(struct winesync_obj *obj, __u32 owner)
++{
++ lockdep_assert_held(&obj->lock);
++
++ switch (obj->type) {
++ case WINESYNC_TYPE_SEM:
++ return !!obj->u.sem.count;
++ }
++
++ WARN(1, "bad object type %#x\n", obj->type);
++ return false;
++}
++
++/*
++ * "locked_obj" is an optional pointer to an object which is already locked and
++ * should not be locked again. This is necessary so that changing an object's
++ * state and waking it can be a single atomic operation.
++ */
++static void try_wake_all(struct winesync_device *dev, struct winesync_q *q,
++ struct winesync_obj *locked_obj)
++{
++ __u32 count = q->count;
++ bool can_wake = true;
++ __u32 i;
++
++ lockdep_assert_held(&dev->wait_all_lock);
++ if (locked_obj)
++ lockdep_assert_held(&locked_obj->lock);
++
++ for (i = 0; i < count; i++) {
++ if (q->entries[i].obj != locked_obj)
++ spin_lock(&q->entries[i].obj->lock);
++ }
++
++ for (i = 0; i < count; i++) {
++ if (!is_signaled(q->entries[i].obj, q->owner)) {
++ can_wake = false;
++ break;
++ }
++ }
++
++ if (can_wake && atomic_cmpxchg(&q->signaled, -1, 0) == -1) {
++ for (i = 0; i < count; i++) {
++ struct winesync_obj *obj = q->entries[i].obj;
++
++ switch (obj->type) {
++ case WINESYNC_TYPE_SEM:
++ obj->u.sem.count--;
++ break;
++ }
++ }
++ wake_up_process(q->task);
++ }
++
++ for (i = 0; i < count; i++) {
++ if (q->entries[i].obj != locked_obj)
++ spin_unlock(&q->entries[i].obj->lock);
++ }
++}
++
++static void try_wake_all_obj(struct winesync_device *dev,
++ struct winesync_obj *obj)
++{
++ struct winesync_q_entry *entry;
++
++ lockdep_assert_held(&dev->wait_all_lock);
++ lockdep_assert_held(&obj->lock);
++
++ list_for_each_entry(entry, &obj->all_waiters, node)
++ try_wake_all(dev, entry->q, obj);
+ }
+
+ static void try_wake_any_sem(struct winesync_obj *sem)
+@@ -234,14 +351,29 @@ static int winesync_put_sem(struct winesync_device *dev, void __user *argp)
+ if (!sem)
+ return -EINVAL;
+
+- spin_lock(&sem->lock);
++ if (atomic_read(&sem->all_hint) > 0) {
++ spin_lock(&dev->wait_all_lock);
++ spin_lock(&sem->lock);
++
++ prev_count = sem->u.sem.count;
++ ret = put_sem_state(sem, args.count);
++ if (!ret) {
++ try_wake_all_obj(dev, sem);
++ try_wake_any_sem(sem);
++ }
+
+- prev_count = sem->u.sem.count;
+- ret = put_sem_state(sem, args.count);
+- if (!ret)
+- try_wake_any_sem(sem);
++ spin_unlock(&sem->lock);
++ spin_unlock(&dev->wait_all_lock);
++ } else {
++ spin_lock(&sem->lock);
+
+- spin_unlock(&sem->lock);
++ prev_count = sem->u.sem.count;
++ ret = put_sem_state(sem, args.count);
++ if (!ret)
++ try_wake_any_sem(sem);
++
++ spin_unlock(&sem->lock);
++ }
+
+ put_obj(sem);
+
+@@ -278,7 +410,7 @@ static int winesync_schedule(const struct winesync_q *q, ktime_t *timeout)
+ * Also, calculate the relative timeout.
+ */
+ static int setup_wait(struct winesync_device *dev,
+- const struct winesync_wait_args *args,
++ const struct winesync_wait_args *args, bool all,
+ ktime_t *ret_timeout, struct winesync_q **ret_q)
+ {
+ const __u32 count = args->count;
+@@ -318,6 +450,7 @@ static int setup_wait(struct winesync_device *dev,
+ q->task = current;
+ q->owner = args->owner;
+ atomic_set(&q->signaled, -1);
++ q->all = all;
+ q->count = count;
+
+ for (i = 0; i < count; i++) {
+@@ -327,6 +460,16 @@ static int setup_wait(struct winesync_device *dev,
+ if (!obj)
+ goto err;
+
++ if (all) {
++ /* Check that the objects are all distinct. */
++ for (j = 0; j < i; j++) {
++ if (obj == q->entries[j].obj) {
++ put_obj(obj);
++ goto err;
++ }
++ }
++ }
++
+ entry->obj = obj;
+ entry->q = q;
+ entry->index = i;
+@@ -367,7 +510,7 @@ static int winesync_wait_any(struct winesync_device *dev, void __user *argp)
+ if (copy_from_user(&args, argp, sizeof(args)))
+ return -EFAULT;
+
+- ret = setup_wait(dev, &args, &timeout, &q);
++ ret = setup_wait(dev, &args, false, &timeout, &q);
+ if (ret < 0)
+ return ret;
+
+@@ -429,6 +572,87 @@ static int winesync_wait_any(struct winesync_device *dev, void __user *argp)
+ return ret;
+ }
+
++static int winesync_wait_all(struct winesync_device *dev, void __user *argp)
++{
++ struct winesync_wait_args args;
++ struct winesync_q *q;
++ ktime_t timeout;
++ int signaled;
++ __u32 i;
++ int ret;
++
++ if (copy_from_user(&args, argp, sizeof(args)))
++ return -EFAULT;
++
++ ret = setup_wait(dev, &args, true, &timeout, &q);
++ if (ret < 0)
++ return ret;
++
++ /* queue ourselves */
++
++ spin_lock(&dev->wait_all_lock);
++
++ for (i = 0; i < args.count; i++) {
++ struct winesync_q_entry *entry = &q->entries[i];
++ struct winesync_obj *obj = entry->obj;
++
++ atomic_inc(&obj->all_hint);
++
++ /*
++ * obj->all_waiters is protected by dev->wait_all_lock rather
++ * than obj->lock, so there is no need to acquire it here.
++ */
++ list_add_tail(&entry->node, &obj->all_waiters);
++ }
++
++ /* check if we are already signaled */
++
++ try_wake_all(dev, q, NULL);
++
++ spin_unlock(&dev->wait_all_lock);
++
++ /* sleep */
++
++ ret = winesync_schedule(q, args.timeout ? &timeout : NULL);
++
++ /* and finally, unqueue */
++
++ spin_lock(&dev->wait_all_lock);
++
++ for (i = 0; i < args.count; i++) {
++ struct winesync_q_entry *entry = &q->entries[i];
++ struct winesync_obj *obj = entry->obj;
++
++ /*
++ * obj->all_waiters is protected by dev->wait_all_lock rather
++ * than obj->lock, so there is no need to acquire it here.
++ */
++ list_del(&entry->node);
++
++ atomic_dec(&obj->all_hint);
++
++ put_obj(obj);
++ }
++
++ spin_unlock(&dev->wait_all_lock);
++
++ signaled = atomic_read(&q->signaled);
++ if (signaled != -1) {
++ struct winesync_wait_args __user *user_args = argp;
++
++ /* even if we caught a signal, we need to communicate success */
++ ret = 0;
++
++ if (put_user(signaled, &user_args->index))
++ ret = -EFAULT;
++ } else if (!ret) {
++ ret = -ETIMEDOUT;
++ }
++
++ kfree(q);
++ return ret;
++}
++
+ static long winesync_char_ioctl(struct file *file, unsigned int cmd,
+ unsigned long parm)
+ {
+@@ -442,6 +666,8 @@ static long winesync_char_ioctl(struct file *file, unsigned int cmd,
+ return winesync_delete(dev, argp);
+ case WINESYNC_IOC_PUT_SEM:
+ return winesync_put_sem(dev, argp);
++ case WINESYNC_IOC_WAIT_ALL:
++ return winesync_wait_all(dev, argp);
+ case WINESYNC_IOC_WAIT_ANY:
+ return winesync_wait_any(dev, argp);
+ default:
+diff --git a/include/uapi/linux/winesync.h b/include/uapi/linux/winesync.h
+index f57ebfbe1dd9..44025a510cb9 100644
+--- a/include/uapi/linux/winesync.h
++++ b/include/uapi/linux/winesync.h
+@@ -34,5 +34,7 @@ struct winesync_wait_args {
+ struct winesync_sem_args)
+ #define WINESYNC_IOC_WAIT_ANY _IOWR(WINESYNC_IOC_BASE, 3, \
+ struct winesync_wait_args)
++#define WINESYNC_IOC_WAIT_ALL _IOWR(WINESYNC_IOC_BASE, 4, \
++ struct winesync_wait_args)
+
+ #endif
+--
+2.36.0
+
+From 2838a60302cd26a2ab92a143749e455edebe7b7c Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 11:41:10 -0600
+Subject: [PATCH 07/34] winesync: Introduce WINESYNC_IOC_CREATE_MUTEX.
+
+---
+ drivers/misc/winesync.c | 72 +++++++++++++++++++++++++++++++++++
+ include/uapi/linux/winesync.h | 8 ++++
+ 2 files changed, 80 insertions(+)
+
+diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
+index 2b708c5b88a6..18eb05975907 100644
+--- a/drivers/misc/winesync.c
++++ b/drivers/misc/winesync.c
+@@ -16,6 +16,7 @@
+
+ enum winesync_type {
+ WINESYNC_TYPE_SEM,
++ WINESYNC_TYPE_MUTEX,
+ };
+
+ struct winesync_obj {
+@@ -60,6 +61,10 @@ struct winesync_obj {
+ __u32 count;
+ __u32 max;
+ } sem;
++ struct {
++ __u32 count;
++ __u32 owner;
++ } mutex;
+ } u;
+ };
+
+@@ -188,6 +193,10 @@ static bool is_signaled(struct winesync_obj *obj, __u32 owner)
+ switch (obj->type) {
+ case WINESYNC_TYPE_SEM:
+ return !!obj->u.sem.count;
++ case WINESYNC_TYPE_MUTEX:
++ if (obj->u.mutex.owner && obj->u.mutex.owner != owner)
++ return false;
++ return obj->u.mutex.count < UINT_MAX;
+ }
+
+ WARN(1, "bad object type %#x\n", obj->type);
+@@ -230,6 +239,10 @@ static void try_wake_all(struct winesync_device *dev, struct winesync_q *q,
+ case WINESYNC_TYPE_SEM:
+ obj->u.sem.count--;
+ break;
++ case WINESYNC_TYPE_MUTEX:
++ obj->u.mutex.count++;
++ obj->u.mutex.owner = q->owner;
++ break;
+ }
+ }
+ wake_up_process(q->task);
+@@ -272,6 +285,28 @@ static void try_wake_any_sem(struct winesync_obj *sem)
+ }
+ }
+
++static void try_wake_any_mutex(struct winesync_obj *mutex)
++{
++ struct winesync_q_entry *entry;
++
++ lockdep_assert_held(&mutex->lock);
++
++ list_for_each_entry(entry, &mutex->any_waiters, node) {
++ struct winesync_q *q = entry->q;
++
++ if (mutex->u.mutex.count == UINT_MAX)
++ break;
++ if (mutex->u.mutex.owner && mutex->u.mutex.owner != q->owner)
++ continue;
++
++ if (atomic_cmpxchg(&q->signaled, -1, entry->index) == -1) {
++ mutex->u.mutex.count++;
++ mutex->u.mutex.owner = q->owner;
++ wake_up_process(q->task);
++ }
++ }
++}
++
+ static int winesync_create_sem(struct winesync_device *dev, void __user *argp)
+ {
+ struct winesync_sem_args __user *user_args = argp;
+@@ -304,6 +339,38 @@ static int winesync_create_sem(struct winesync_device *dev, void __user *argp)
+ return put_user(id, &user_args->sem);
+ }
+
++static int winesync_create_mutex(struct winesync_device *dev, void __user *argp)
++{
++ struct winesync_mutex_args __user *user_args = argp;
++ struct winesync_mutex_args args;
++ struct winesync_obj *mutex;
++ __u32 id;
++ int ret;
++
++ if (copy_from_user(&args, argp, sizeof(args)))
++ return -EFAULT;
++
++ if (!args.owner != !args.count)
++ return -EINVAL;
++
++ mutex = kzalloc(sizeof(*mutex), GFP_KERNEL);
++ if (!mutex)
++ return -ENOMEM;
++
++ init_obj(mutex);
++ mutex->type = WINESYNC_TYPE_MUTEX;
++ mutex->u.mutex.count = args.count;
++ mutex->u.mutex.owner = args.owner;
++
++ ret = xa_alloc(&dev->objects, &id, mutex, xa_limit_32b, GFP_KERNEL);
++ if (ret < 0) {
++ kfree(mutex);
++ return ret;
++ }
++
++ return put_user(id, &user_args->mutex);
++}
++
+ static int winesync_delete(struct winesync_device *dev, void __user *argp)
+ {
+ struct winesync_obj *obj;
+@@ -495,6 +562,9 @@ static void try_wake_any_obj(struct winesync_obj *obj)
+ case WINESYNC_TYPE_SEM:
+ try_wake_any_sem(obj);
+ break;
++ case WINESYNC_TYPE_MUTEX:
++ try_wake_any_mutex(obj);
++ break;
+ }
+ }
+
+@@ -660,6 +730,8 @@ static long winesync_char_ioctl(struct file *file, unsigned int cmd,
+ void __user *argp = (void __user *)parm;
+
+ switch (cmd) {
++ case WINESYNC_IOC_CREATE_MUTEX:
++ return winesync_create_mutex(dev, argp);
+ case WINESYNC_IOC_CREATE_SEM:
+ return winesync_create_sem(dev, argp);
+ case WINESYNC_IOC_DELETE:
+diff --git a/include/uapi/linux/winesync.h b/include/uapi/linux/winesync.h
+index 44025a510cb9..23606a3b1546 100644
+--- a/include/uapi/linux/winesync.h
++++ b/include/uapi/linux/winesync.h
+@@ -16,6 +16,12 @@ struct winesync_sem_args {
+ __u32 max;
+ };
+
++struct winesync_mutex_args {
++ __u32 mutex;
++ __u32 owner;
++ __u32 count;
++};
++
+ struct winesync_wait_args {
+ __u64 timeout;
+ __u64 objs;
+@@ -36,5 +42,7 @@ struct winesync_wait_args {
+ struct winesync_wait_args)
+ #define WINESYNC_IOC_WAIT_ALL _IOWR(WINESYNC_IOC_BASE, 4, \
+ struct winesync_wait_args)
++#define WINESYNC_IOC_CREATE_MUTEX _IOWR(WINESYNC_IOC_BASE, 5, \
++ struct winesync_mutex_args)
+
+ #endif
+--
+2.36.0
+
+From 25b9628ad91377840cdc2b08dd53e1539ad05bdd Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 11:44:41 -0600
+Subject: [PATCH 08/34] winesync: Introduce WINESYNC_IOC_PUT_MUTEX.
+
+---
+ drivers/misc/winesync.c | 67 +++++++++++++++++++++++++++++++++++
+ include/uapi/linux/winesync.h | 2 ++
+ 2 files changed, 69 insertions(+)
+
+diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
+index 18eb05975907..d18d08a68546 100644
+--- a/drivers/misc/winesync.c
++++ b/drivers/misc/winesync.c
+@@ -450,6 +450,71 @@ static int winesync_put_sem(struct winesync_device *dev, void __user *argp)
+ return ret;
+ }
+
++/*
++ * Actually change the mutex state, returning -EPERM if not the owner.
++ */
++static int put_mutex_state(struct winesync_obj *mutex,
++ const struct winesync_mutex_args *args)
++{
++ lockdep_assert_held(&mutex->lock);
++
++ if (mutex->u.mutex.owner != args->owner)
++ return -EPERM;
++
++ if (!--mutex->u.mutex.count)
++ mutex->u.mutex.owner = 0;
++ return 0;
++}
++
++static int winesync_put_mutex(struct winesync_device *dev, void __user *argp)
++{
++ struct winesync_mutex_args __user *user_args = argp;
++ struct winesync_mutex_args args;
++ struct winesync_obj *mutex;
++ __u32 prev_count;
++ int ret;
++
++ if (copy_from_user(&args, argp, sizeof(args)))
++ return -EFAULT;
++ if (!args.owner)
++ return -EINVAL;
++
++ mutex = get_obj_typed(dev, args.mutex, WINESYNC_TYPE_MUTEX);
++ if (!mutex)
++ return -EINVAL;
++
++ if (atomic_read(&mutex->all_hint) > 0) {
++ spin_lock(&dev->wait_all_lock);
++ spin_lock(&mutex->lock);
++
++ prev_count = mutex->u.mutex.count;
++ ret = put_mutex_state(mutex, &args);
++ if (!ret) {
++ try_wake_all_obj(dev, mutex);
++ try_wake_any_mutex(mutex);
++ }
++
++ spin_unlock(&mutex->lock);
++ spin_unlock(&dev->wait_all_lock);
++ } else {
++ spin_lock(&mutex->lock);
++
++ prev_count = mutex->u.mutex.count;
++ ret = put_mutex_state(mutex, &args);
++ if (!ret)
++ try_wake_any_mutex(mutex);
++
++ spin_unlock(&mutex->lock);
++ }
++
++ put_obj(mutex);
++
++ if (!ret && put_user(prev_count, &user_args->count))
++ ret = -EFAULT;
++
++ return ret;
++}
++
+ static int winesync_schedule(const struct winesync_q *q, ktime_t *timeout)
+ {
+ int ret = 0;
+@@ -736,6 +801,8 @@ static long winesync_char_ioctl(struct file *file, unsigned int cmd,
+ return winesync_create_sem(dev, argp);
+ case WINESYNC_IOC_DELETE:
+ return winesync_delete(dev, argp);
++ case WINESYNC_IOC_PUT_MUTEX:
++ return winesync_put_mutex(dev, argp);
+ case WINESYNC_IOC_PUT_SEM:
+ return winesync_put_sem(dev, argp);
+ case WINESYNC_IOC_WAIT_ALL:
+diff --git a/include/uapi/linux/winesync.h b/include/uapi/linux/winesync.h
+index 23606a3b1546..fde08cb8ab95 100644
+--- a/include/uapi/linux/winesync.h
++++ b/include/uapi/linux/winesync.h
+@@ -44,5 +44,7 @@ struct winesync_wait_args {
+ struct winesync_wait_args)
+ #define WINESYNC_IOC_CREATE_MUTEX _IOWR(WINESYNC_IOC_BASE, 5, \
+ struct winesync_mutex_args)
++#define WINESYNC_IOC_PUT_MUTEX _IOWR(WINESYNC_IOC_BASE, 6, \
++ struct winesync_mutex_args)
+
+ #endif
+--
+2.36.0
+
+From 97d6dc0155da6609849e6a03bcc9e7d7e0cb58f5 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 11:46:46 -0600
+Subject: [PATCH 09/34] winesync: Introduce WINESYNC_IOC_KILL_OWNER.
+
+---
+ drivers/misc/winesync.c | 80 ++++++++++++++++++++++++++++++++++-
+ include/uapi/linux/winesync.h | 1 +
+ 2 files changed, 79 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
+index d18d08a68546..891537063bb6 100644
+--- a/drivers/misc/winesync.c
++++ b/drivers/misc/winesync.c
+@@ -64,6 +64,7 @@ struct winesync_obj {
+ struct {
+ __u32 count;
+ __u32 owner;
++ bool ownerdead;
+ } mutex;
+ } u;
+ };
+@@ -87,6 +88,7 @@ struct winesync_q {
+ atomic_t signaled;
+
+ bool all;
++ bool ownerdead;
+ __u32 count;
+ struct winesync_q_entry entries[];
+ };
+@@ -240,6 +242,9 @@ static void try_wake_all(struct winesync_device *dev, struct winesync_q *q,
+ obj->u.sem.count--;
+ break;
+ case WINESYNC_TYPE_MUTEX:
++ if (obj->u.mutex.ownerdead)
++ q->ownerdead = true;
++ obj->u.mutex.ownerdead = false;
+ obj->u.mutex.count++;
+ obj->u.mutex.owner = q->owner;
+ break;
+@@ -300,6 +305,9 @@ static void try_wake_any_mutex(struct winesync_obj *mutex)
+ continue;
+
+ if (atomic_cmpxchg(&q->signaled, -1, entry->index) == -1) {
++ if (mutex->u.mutex.ownerdead)
++ q->ownerdead = true;
++ mutex->u.mutex.ownerdead = false;
+ mutex->u.mutex.count++;
+ mutex->u.mutex.owner = q->owner;
+ wake_up_process(q->task);
+@@ -515,6 +523,71 @@ static int winesync_put_mutex(struct winesync_device *dev, void __user *argp)
+ return ret;
+ }
+
++/*
++ * Actually change the mutex state to mark its owner as dead.
++ */
++static void put_mutex_ownerdead_state(struct winesync_obj *mutex)
++{
++ lockdep_assert_held(&mutex->lock);
++
++ mutex->u.mutex.ownerdead = true;
++ mutex->u.mutex.owner = 0;
++ mutex->u.mutex.count = 0;
++}
++
++static int winesync_kill_owner(struct winesync_device *dev, void __user *argp)
++{
++ struct winesync_obj *obj;
++ unsigned long id;
++ __u32 owner;
++
++ if (get_user(owner, (__u32 __user *)argp))
++ return -EFAULT;
++ if (!owner)
++ return -EINVAL;
++
++ rcu_read_lock();
++
++ xa_for_each(&dev->objects, id, obj) {
++ if (!kref_get_unless_zero(&obj->refcount))
++ continue;
++
++ if (obj->type != WINESYNC_TYPE_MUTEX) {
++ put_obj(obj);
++ continue;
++ }
++
++ if (atomic_read(&obj->all_hint) > 0) {
++ spin_lock(&dev->wait_all_lock);
++ spin_lock(&obj->lock);
++
++ if (obj->u.mutex.owner == owner) {
++ put_mutex_ownerdead_state(obj);
++ try_wake_all_obj(dev, obj);
++ try_wake_any_mutex(obj);
++ }
++
++ spin_unlock(&obj->lock);
++ spin_unlock(&dev->wait_all_lock);
++ } else {
++ spin_lock(&obj->lock);
++
++ if (obj->u.mutex.owner == owner) {
++ put_mutex_ownerdead_state(obj);
++ try_wake_any_mutex(obj);
++ }
++
++ spin_unlock(&obj->lock);
++ }
++
++ put_obj(obj);
++ }
++
++ rcu_read_unlock();
++
++ return 0;
++}
++
+ static int winesync_schedule(const struct winesync_q *q, ktime_t *timeout)
+ {
+ int ret = 0;
+@@ -583,6 +656,7 @@ static int setup_wait(struct winesync_device *dev,
+ q->owner = args->owner;
+ atomic_set(&q->signaled, -1);
+ q->all = all;
++ q->ownerdead = false;
+ q->count = count;
+
+ for (i = 0; i < count; i++) {
+@@ -695,7 +769,7 @@ static int winesync_wait_any(struct winesync_device *dev, void __user *argp)
+ struct winesync_wait_args __user *user_args = argp;
+
+ /* even if we caught a signal, we need to communicate success */
+- ret = 0;
++ ret = q->ownerdead ? -EOWNERDEAD : 0;
+
+ if (put_user(signaled, &user_args->index))
+ ret = -EFAULT;
+@@ -776,7 +850,7 @@ static int winesync_wait_all(struct winesync_device *dev, void __user *argp)
+ struct winesync_wait_args __user *user_args = argp;
+
+ /* even if we caught a signal, we need to communicate success */
+- ret = 0;
++ ret = q->ownerdead ? -EOWNERDEAD : 0;
+
+ if (put_user(signaled, &user_args->index))
+ ret = -EFAULT;
+@@ -801,6 +875,8 @@ static long winesync_char_ioctl(struct file *file, unsigned int cmd,
+ return winesync_create_sem(dev, argp);
+ case WINESYNC_IOC_DELETE:
+ return winesync_delete(dev, argp);
++ case WINESYNC_IOC_KILL_OWNER:
++ return winesync_kill_owner(dev, argp);
+ case WINESYNC_IOC_PUT_MUTEX:
+ return winesync_put_mutex(dev, argp);
+ case WINESYNC_IOC_PUT_SEM:
+diff --git a/include/uapi/linux/winesync.h b/include/uapi/linux/winesync.h
+index fde08cb8ab95..f57aa76d57f5 100644
+--- a/include/uapi/linux/winesync.h
++++ b/include/uapi/linux/winesync.h
+@@ -46,5 +46,6 @@ struct winesync_wait_args {
+ struct winesync_mutex_args)
+ #define WINESYNC_IOC_PUT_MUTEX _IOWR(WINESYNC_IOC_BASE, 6, \
+ struct winesync_mutex_args)
++#define WINESYNC_IOC_KILL_OWNER _IOW (WINESYNC_IOC_BASE, 7, __u32)
+
+ #endif
+--
+2.36.0
+
+From 888bb6fa10b7eb593db18a38fe696fc396ee30de Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 11:47:55 -0600
+Subject: [PATCH 10/34] winesync: Introduce WINESYNC_IOC_READ_SEM.
+
+---
+ drivers/misc/winesync.c | 29 +++++++++++++++++++++++++++++
+ include/uapi/linux/winesync.h | 2 ++
+ 2 files changed, 31 insertions(+)
+
+diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
+index 891537063bb6..98bedda2f8eb 100644
+--- a/drivers/misc/winesync.c
++++ b/drivers/misc/winesync.c
+@@ -523,6 +523,33 @@ static int winesync_put_mutex(struct winesync_device *dev, void __user *argp)
+ return ret;
+ }
+
++static int winesync_read_sem(struct winesync_device *dev, void __user *argp)
++{
++ struct winesync_sem_args __user *user_args = argp;
++ struct winesync_sem_args args;
++ struct winesync_obj *sem;
++ __u32 id;
++
++ if (get_user(id, &user_args->sem))
++ return -EFAULT;
++
++ sem = get_obj_typed(dev, id, WINESYNC_TYPE_SEM);
++ if (!sem)
++ return -EINVAL;
++
++ args.sem = id;
++ spin_lock(&sem->lock);
++ args.count = sem->u.sem.count;
++ args.max = sem->u.sem.max;
++ spin_unlock(&sem->lock);
++
++ put_obj(sem);
++
++ if (copy_to_user(user_args, &args, sizeof(args)))
++ return -EFAULT;
++ return 0;
++}
++
+ /*
+ * Actually change the mutex state to mark its owner as dead.
+ */
+@@ -881,6 +908,8 @@ static long winesync_char_ioctl(struct file *file, unsigned int cmd,
+ return winesync_put_mutex(dev, argp);
+ case WINESYNC_IOC_PUT_SEM:
+ return winesync_put_sem(dev, argp);
++ case WINESYNC_IOC_READ_SEM:
++ return winesync_read_sem(dev, argp);
+ case WINESYNC_IOC_WAIT_ALL:
+ return winesync_wait_all(dev, argp);
+ case WINESYNC_IOC_WAIT_ANY:
+diff --git a/include/uapi/linux/winesync.h b/include/uapi/linux/winesync.h
+index f57aa76d57f5..311eb810647d 100644
+--- a/include/uapi/linux/winesync.h
++++ b/include/uapi/linux/winesync.h
+@@ -47,5 +47,7 @@ struct winesync_wait_args {
+ #define WINESYNC_IOC_PUT_MUTEX _IOWR(WINESYNC_IOC_BASE, 6, \
+ struct winesync_mutex_args)
+ #define WINESYNC_IOC_KILL_OWNER _IOW (WINESYNC_IOC_BASE, 7, __u32)
++#define WINESYNC_IOC_READ_SEM _IOWR(WINESYNC_IOC_BASE, 8, \
++ struct winesync_sem_args)
+
+ #endif
+--
+2.36.0
+
+From 4f17c2ab7b9aca22fb00f7f16e0bd3cf70c44fe1 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 11:48:10 -0600
+Subject: [PATCH 11/34] winesync: Introduce WINESYNC_IOC_READ_MUTEX.
+
+---
+ drivers/misc/winesync.c | 31 +++++++++++++++++++++++++++++++
+ include/uapi/linux/winesync.h | 2 ++
+ 2 files changed, 33 insertions(+)
+
+diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
+index 98bedda2f8eb..eae272663abe 100644
+--- a/drivers/misc/winesync.c
++++ b/drivers/misc/winesync.c
+@@ -550,6 +550,35 @@ static int winesync_read_sem(struct winesync_device *dev, void __user *argp)
+ return 0;
+ }
+
++static int winesync_read_mutex(struct winesync_device *dev, void __user *argp)
++{
++ struct winesync_mutex_args __user *user_args = argp;
++ struct winesync_mutex_args args;
++ struct winesync_obj *mutex;
++ __u32 id;
++ int ret;
++
++ if (get_user(id, &user_args->mutex))
++ return -EFAULT;
++
++ mutex = get_obj_typed(dev, id, WINESYNC_TYPE_MUTEX);
++ if (!mutex)
++ return -EINVAL;
++
++ args.mutex = id;
++ spin_lock(&mutex->lock);
++ args.count = mutex->u.mutex.count;
++ args.owner = mutex->u.mutex.owner;
++ ret = mutex->u.mutex.ownerdead ? -EOWNERDEAD : 0;
++ spin_unlock(&mutex->lock);
++
++ put_obj(mutex);
++
++ if (copy_to_user(user_args, &args, sizeof(args)))
++ return -EFAULT;
++ return ret;
++}
++
+ /*
+ * Actually change the mutex state to mark its owner as dead.
+ */
+@@ -908,6 +937,8 @@ static long winesync_char_ioctl(struct file *file, unsigned int cmd,
+ return winesync_put_mutex(dev, argp);
+ case WINESYNC_IOC_PUT_SEM:
+ return winesync_put_sem(dev, argp);
++ case WINESYNC_IOC_READ_MUTEX:
++ return winesync_read_mutex(dev, argp);
+ case WINESYNC_IOC_READ_SEM:
+ return winesync_read_sem(dev, argp);
+ case WINESYNC_IOC_WAIT_ALL:
+diff --git a/include/uapi/linux/winesync.h b/include/uapi/linux/winesync.h
+index 311eb810647d..3371a303a927 100644
+--- a/include/uapi/linux/winesync.h
++++ b/include/uapi/linux/winesync.h
+@@ -49,5 +49,7 @@ struct winesync_wait_args {
+ #define WINESYNC_IOC_KILL_OWNER _IOW (WINESYNC_IOC_BASE, 7, __u32)
+ #define WINESYNC_IOC_READ_SEM _IOWR(WINESYNC_IOC_BASE, 8, \
+ struct winesync_sem_args)
++#define WINESYNC_IOC_READ_MUTEX _IOWR(WINESYNC_IOC_BASE, 9, \
++ struct winesync_mutex_args)
+
+ #endif
+--
+2.36.0
+
+From e897f7ec5164d6d5d3d9881756be9a538c533487 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 11:50:49 -0600
+Subject: [PATCH 12/34] docs: winesync: Add documentation for the winesync
+ uAPI.
+
+---
+ Documentation/userspace-api/index.rst | 1 +
+ Documentation/userspace-api/winesync.rst | 324 +++++++++++++++++++++++
+ 2 files changed, 325 insertions(+)
+ create mode 100644 Documentation/userspace-api/winesync.rst
+
+diff --git a/Documentation/userspace-api/index.rst b/Documentation/userspace-api/index.rst
+index a61eac0c73f8..0bf697ddcb09 100644
+--- a/Documentation/userspace-api/index.rst
++++ b/Documentation/userspace-api/index.rst
+@@ -29,6 +29,7 @@ place where this information is gathered.
+ sysfs-platform_profile
+ vduse
+ futex2
++ winesync
+
+ .. only:: subproject and html
+
+diff --git a/Documentation/userspace-api/winesync.rst b/Documentation/userspace-api/winesync.rst
+new file mode 100644
+index 000000000000..34e54be229cf
+--- /dev/null
++++ b/Documentation/userspace-api/winesync.rst
+@@ -0,0 +1,324 @@
++=====================================
++Wine synchronization primitive driver
++=====================================
++
++This page documents the user-space API for the winesync driver.
++
++winesync is a support driver for emulation of NT synchronization
++primitives by the Wine project or other NT emulators. It exists
++because implementation in user-space, using existing tools, cannot
++simultaneously satisfy performance, correctness, and security
++constraints. It is implemented entirely in software, and does not
++drive any hardware device.
++
++This interface is meant as a compatibility tool only, and should not
++be used for general synchronization. Instead use generic, versatile
++interfaces such as futex(2) and poll(2).
++
++Synchronization primitives
++==========================
++
++The winesync driver exposes two types of synchronization primitives,
++semaphores and mutexes.
++
++A semaphore holds a single volatile 32-bit counter, and a static
++32-bit integer denoting the maximum value. It is considered signaled
++when the counter is nonzero. The counter is decremented by one when a
++wait is satisfied. Both the initial and maximum count are established
++when the semaphore is created.
++
++A mutex holds a volatile 32-bit recursion count, and a volatile 32-bit
++identifier denoting its owner. A mutex is considered signaled when its
++owner is zero (indicating that it is not owned). The recursion count
++is incremented when a wait is satisfied, and ownership is set to the
++given identifier.
++
++A mutex also holds an internal flag denoting whether its previous
++owner has died; such a mutex is said to be inconsistent. Owner death
++is not tracked automatically based on thread death, but rather must be
++communicated using ``WINESYNC_IOC_KILL_OWNER``. An inconsistent mutex
++is inherently considered unowned.
++
++Except for the "unowned" semantics of zero, the actual value of the
++owner identifier is not interpreted by the winesync driver at all. The
++intended use is to store a thread identifier; however, the winesync
++driver does not actually validate that a calling thread provides
++consistent or unique identifiers.
++
++Unless specified otherwise, all operations on an object are atomic and
++totally ordered with respect to other operations on the same object.
++
++Objects are represented by unsigned 32-bit integers.
++
++Char device
++===========
++
++The winesync driver creates a single char device /dev/winesync. Each
++file description opened on the device represents a unique namespace.
++That is, objects created on one open file description are shared
++across all its individual descriptors, but are not shared with other
++open() calls on the same device. The same file description may be
++shared across multiple processes.
++
++ioctl reference
++===============
++
++All operations on the device are done through ioctls. There are three
++structures used in ioctl calls::
++
++ struct winesync_sem_args {
++ __u32 sem;
++ __u32 count;
++ __u32 max;
++ };
++
++ struct winesync_mutex_args {
++ __u32 mutex;
++ __u32 owner;
++ __u32 count;
++ };
++
++ struct winesync_wait_args {
++ __u64 timeout;
++ __u64 objs;
++ __u32 count;
++ __u32 owner;
++ __u32 index;
++ __u32 pad;
++ };
++
++Depending on the ioctl, members of the structure may be used as input,
++output, or not at all. All ioctls return 0 on success.
++
++The ioctls are as follows:
++
++.. c:macro:: WINESYNC_IOC_CREATE_SEM
++
++ Create a semaphore object. Takes a pointer to struct
++ :c:type:`winesync_sem_args`, which is used as follows:
++
++ .. list-table::
++
++ * - ``sem``
++ - On output, contains the identifier of the created semaphore.
++ * - ``count``
++ - Initial count of the semaphore.
++ * - ``max``
++ - Maximum count of the semaphore.
++
++ Fails with ``EINVAL`` if ``count`` is greater than ``max``.
++
++.. c:macro:: WINESYNC_IOC_CREATE_MUTEX
++
++ Create a mutex object. Takes a pointer to struct
++ :c:type:`winesync_mutex_args`, which is used as follows:
++
++ .. list-table::
++
++ * - ``mutex``
++ - On output, contains the identifier of the created mutex.
++ * - ``count``
++ - Initial recursion count of the mutex.
++ * - ``owner``
++ - Initial owner of the mutex.
++
++ If ``owner`` is nonzero and ``count`` is zero, or if ``owner`` is
++ zero and ``count`` is nonzero, the function fails with ``EINVAL``.
++
++.. c:macro:: WINESYNC_IOC_DELETE
++
++ Delete an object of any type. Takes an input-only pointer to a
++ 32-bit integer denoting the object to delete.
++
++ Wait ioctls currently in progress are not interrupted, and behave as
++ if the object remains valid.
++
++.. c:macro:: WINESYNC_IOC_PUT_SEM
++
++ Post to a semaphore object. Takes a pointer to struct
++ :c:type:`winesync_sem_args`, which is used as follows:
++
++ .. list-table::
++
++ * - ``sem``
++ - Semaphore object to post to.
++ * - ``count``
++ - Count to add to the semaphore. On output, contains the
++ previous count of the semaphore.
++ * - ``max``
++ - Not used.
++
++ If adding ``count`` to the semaphore's current count would raise the
++ latter past the semaphore's maximum count, the ioctl fails with
++ ``EOVERFLOW`` and the semaphore is not affected. If raising the
++ semaphore's count causes it to become signaled, eligible threads
++ waiting on this semaphore will be woken and the semaphore's count
++ decremented appropriately.
++
++.. c:macro:: WINESYNC_IOC_PUT_MUTEX
++
++ Release a mutex object. Takes a pointer to struct
++ :c:type:`winesync_mutex_args`, which is used as follows:
++
++ .. list-table::
++
++ * - ``mutex``
++ - Mutex object to release.
++ * - ``owner``
++ - Mutex owner identifier.
++ * - ``count``
++ - On output, contains the previous recursion count.
++
++ If ``owner`` is zero, the ioctl fails with ``EINVAL``. If ``owner``
++ is not the current owner of the mutex, the ioctl fails with
++ ``EPERM``.
++
++ The mutex's count will be decremented by one. If decrementing the
++ mutex's count causes it to become zero, the mutex is marked as
++ unowned and signaled, and eligible threads waiting on it will be
++ woken as appropriate.
++
++.. c:macro:: WINESYNC_IOC_READ_SEM
++
++ Read the current state of a semaphore object. Takes a pointer to
++ struct :c:type:`winesync_sem_args`, which is used as follows:
++
++ .. list-table::
++
++ * - ``sem``
++ - Semaphore object to read.
++ * - ``count``
++ - On output, contains the current count of the semaphore.
++ * - ``max``
++ - On output, contains the maximum count of the semaphore.
++
++.. c:macro:: WINESYNC_IOC_READ_MUTEX
++
++ Read the current state of a mutex object. Takes a pointer to struct
++ :c:type:`winesync_mutex_args`, which is used as follows:
++
++ .. list-table::
++
++ * - ``mutex``
++ - Mutex object to read.
++ * - ``owner``
++ - On output, contains the current owner of the mutex, or zero
++ if the mutex is not currently owned.
++ * - ``count``
++ - On output, contains the current recursion count of the mutex.
++
++ If the mutex is marked as inconsistent, the function fails with
++ ``EOWNERDEAD``. In this case, ``count`` and ``owner`` are set to
++ zero.
++
++.. c:macro:: WINESYNC_IOC_KILL_OWNER
++
++ Mark any mutexes owned by the given owner as unowned and
++ inconsistent. Takes an input-only pointer to a 32-bit integer
++ denoting the owner. If the owner is zero, the ioctl fails with
++ ``EINVAL``.
++
++ For each mutex currently owned by the given owner, eligible threads
++ waiting on said mutex will be woken as appropriate (and such waits
++ will fail with ``EOWNERDEAD``, as described below).
++
++ The operation as a whole is not atomic; however, the modification of
++ each mutex is atomic and totally ordered with respect to other
++ operations on the same mutex.
++
++.. c:macro:: WINESYNC_IOC_WAIT_ANY
++
++ Poll on any of a list of objects, atomically acquiring at most one.
++ Takes a pointer to struct :c:type:`winesync_wait_args`, which is
++ used as follows:
++
++ .. list-table::
++
++ * - ``timeout``
++ - Optional pointer to a 64-bit struct :c:type:`timespec`
++ (specified as an integer so that the structure has the same
++ size regardless of architecture). The timeout is specified in
++ absolute format, as measured against the MONOTONIC clock. If
++ the timeout is equal to or earlier than the current time, the
++ function returns immediately without sleeping. If ``timeout``
++ is zero, i.e. NULL, the function will sleep until an object
++ is signaled, and will not fail with ``ETIMEDOUT``.
++ * - ``objs``
++ - Pointer to an array of ``count`` 32-bit object identifiers
++ (specified as an integer so that the structure has the same
++ size regardless of architecture). If any identifier is
++ invalid, the function fails with ``EINVAL``.
++ * - ``count``
++ - Number of object identifiers specified in the ``objs`` array.
++ * - ``owner``
++ - Mutex owner identifier. If any object in ``objs`` is a mutex,
++ the ioctl will attempt to acquire that mutex on behalf of
++ ``owner``. If ``owner`` is zero, the ioctl fails with
++ ``EINVAL``.
++ * - ``index``
++ - On success, contains the index (into ``objs``) of the object
++ which was signaled.
++ * - ``pad``
++ - This field is not used and must be set to zero.
++
++ This function attempts to acquire one of the given objects. If
++ unable to do so, it sleeps until an object becomes signaled,
++ subsequently acquiring it, or the timeout expires. In the latter
++ case the ioctl fails with ``ETIMEDOUT``. The function only acquires
++ one object, even if multiple objects are signaled.
++
++ A semaphore is considered to be signaled if its count is nonzero,
++ and is acquired by decrementing its count by one. A mutex is
++ considered to be signaled if it is unowned or if its owner matches
++ the ``owner`` argument, and is acquired by incrementing its
++ recursion count by one and setting its owner to the ``owner``
++ argument.
++
++ Acquisition is atomic and totally ordered with respect to other
++ operations on the same object. If two wait operations (with
++ different ``owner`` identifiers) are queued on the same mutex, only
++ one is signaled. If two wait operations are queued on the same
++ semaphore, and a value of one is posted to it, only one is signaled.
++ The order in which threads are signaled is not specified.
++
++ If an inconsistent mutex is acquired, the ioctl fails with
++ ``EOWNERDEAD``. Although this is a failure return, the function may
++ otherwise be considered successful. The mutex is marked as owned by
++ the given owner (with a recursion count of 1) and as no longer
++ inconsistent, and ``index`` is still set to the index of the mutex.
++
++ It is valid to pass the same object more than once. If a wakeup
++ occurs due to that object being signaled, ``index`` is set to the
++ lowest index corresponding to that object.
++
++ The function may fail with ``EINTR`` if a signal is received.
++
++.. c:macro:: WINESYNC_IOC_WAIT_ALL
++
++ Poll on a list of objects, atomically acquiring all of them. Takes a
++ pointer to struct :c:type:`winesync_wait_args`, which is used
++ identically to ``WINESYNC_IOC_WAIT_ANY``, except that ``index`` is
++ always filled with zero on success.
++
++ This function attempts to simultaneously acquire all of the given
++ objects. If unable to do so, it sleeps until all objects become
++ simultaneously signaled, subsequently acquiring them, or the timeout
++ expires. In the latter case the ioctl fails with ``ETIMEDOUT`` and
++ no objects are modified.
++
++ Objects may become signaled and subsequently designaled (through
++ acquisition by other threads) while this thread is sleeping. Only
++ once all objects are simultaneously signaled does the ioctl acquire
++ them and return. The entire acquisition is atomic and totally
++ ordered with respect to other operations on any of the given
++ objects.
++
++ If an inconsistent mutex is acquired, the ioctl fails with
++ ``EOWNERDEAD``. Similarly to ``WINESYNC_IOC_WAIT_ANY``, all objects
++ are nevertheless marked as acquired. Note that if multiple mutex
++ objects are specified, there is no way to know which were marked as
++ inconsistent.
++
++ Unlike ``WINESYNC_IOC_WAIT_ANY``, it is not valid to pass the same
++ object more than once. If this is attempted, the function fails with
++ ``EINVAL``.
+--
+2.36.0
+
+From 622699b7dd8d5390dccdd9be1159e93dee6815ac Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 12:06:23 -0600
+Subject: [PATCH 13/34] selftests: winesync: Add some tests for semaphore
+ state.
+
+---
+ tools/testing/selftests/Makefile | 1 +
+ .../selftests/drivers/winesync/Makefile | 8 +
+ .../testing/selftests/drivers/winesync/config | 1 +
+ .../selftests/drivers/winesync/winesync.c | 153 ++++++++++++++++++
+ 4 files changed, 163 insertions(+)
+ create mode 100644 tools/testing/selftests/drivers/winesync/Makefile
+ create mode 100644 tools/testing/selftests/drivers/winesync/config
+ create mode 100644 tools/testing/selftests/drivers/winesync/winesync.c
+
+diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile
+index c852eb40c4f7..a366016d6254 100644
+--- a/tools/testing/selftests/Makefile
++++ b/tools/testing/selftests/Makefile
+@@ -18,6 +18,7 @@
+ TARGETS += drivers/s390x/uvdevice
+ TARGETS += drivers/net/bonding
+ TARGETS += drivers/net/team
++TARGETS += drivers/winesync
+ TARGETS += efivarfs
+ TARGETS += exec
+ TARGETS += fchmodat2
+new file mode 100644
+index 000000000000..43b39fdeea10
+--- /dev/null
++++ b/tools/testing/selftests/drivers/winesync/Makefile
+@@ -0,0 +1,8 @@
++# SPDX-LICENSE-IDENTIFIER: GPL-2.0-only
++TEST_GEN_PROGS := winesync
++
++top_srcdir =../../../../..
++CFLAGS += -I$(top_srcdir)/usr/include
++LDLIBS += -lpthread
++
++include ../../lib.mk
+diff --git a/tools/testing/selftests/drivers/winesync/config b/tools/testing/selftests/drivers/winesync/config
+new file mode 100644
+index 000000000000..60539c826d06
+--- /dev/null
++++ b/tools/testing/selftests/drivers/winesync/config
+@@ -0,0 +1 @@
++CONFIG_WINESYNC=y
+diff --git a/tools/testing/selftests/drivers/winesync/winesync.c b/tools/testing/selftests/drivers/winesync/winesync.c
+new file mode 100644
+index 000000000000..58ade297fef9
+--- /dev/null
++++ b/tools/testing/selftests/drivers/winesync/winesync.c
+@@ -0,0 +1,153 @@
++// SPDX-License-Identifier: GPL-2.0-or-later
++/*
++ * Various unit tests for the "winesync" synchronization primitive driver.
++ *
++ * Copyright (C) 2021 Zebediah Figura
++ */
++
++#define _GNU_SOURCE
++#include <sys/ioctl.h>
++#include <sys/stat.h>
++#include <fcntl.h>
++#include <time.h>
++#include <pthread.h>
++#include <linux/winesync.h>
++#include "../../kselftest_harness.h"
++
++static int read_sem_state(int fd, __u32 sem, __u32 *count, __u32 *max)
++{
++ struct winesync_sem_args args;
++ int ret;
++
++ args.sem = sem;
++ args.count = 0xdeadbeef;
++ args.max = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_READ_SEM, &args);
++ *count = args.count;
++ *max = args.max;
++ return ret;
++}
++
++#define check_sem_state(fd, sem, count, max) \
++ ({ \
++ __u32 __count, __max; \
++ int ret = read_sem_state((fd), (sem), &__count, &__max); \
++ EXPECT_EQ(0, ret); \
++ EXPECT_EQ((count), __count); \
++ EXPECT_EQ((max), __max); \
++ })
++
++static int put_sem(int fd, __u32 sem, __u32 *count)
++{
++ struct winesync_sem_args args;
++ int ret;
++
++ args.sem = sem;
++ args.count = *count;
++ ret = ioctl(fd, WINESYNC_IOC_PUT_SEM, &args);
++ *count = args.count;
++ return ret;
++}
++
++static int wait_any(int fd, __u32 count, const __u32 *objs, __u32 owner,
++ __u32 *index)
++{
++ struct winesync_wait_args args = {0};
++ struct timespec timeout;
++ int ret;
++
++ clock_gettime(CLOCK_MONOTONIC, &timeout);
++
++ args.timeout = (uintptr_t)&timeout;
++ args.count = count;
++ args.objs = (uintptr_t)objs;
++ args.owner = owner;
++ args.index = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_WAIT_ANY, &args);
++ *index = args.index;
++ return ret;
++}
++
++TEST(semaphore_state)
++{
++ struct winesync_sem_args sem_args;
++ struct timespec timeout;
++ __u32 sem, count, index;
++ int fd, ret;
++
++ clock_gettime(CLOCK_MONOTONIC, &timeout);
++
++ fd = open("/dev/winesync", O_CLOEXEC | O_RDONLY);
++ ASSERT_LE(0, fd);
++
++ sem_args.count = 3;
++ sem_args.max = 2;
++ sem_args.sem = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_SEM, &sem_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ sem_args.count = 2;
++ sem_args.max = 2;
++ sem_args.sem = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_SEM, &sem_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_NE(0xdeadbeef, sem_args.sem);
++ check_sem_state(fd, sem, 2, 2);
++
++ count = 0;
++ ret = put_sem(fd, sem, &count);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(2, count);
++ check_sem_state(fd, sem, 2, 2);
++
++ count = 1;
++ ret = put_sem(fd, sem, &count);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EOVERFLOW, errno);
++ check_sem_state(fd, sem, 2, 2);
++
++ ret = wait_any(fd, 1, &sem, 123, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++ check_sem_state(fd, sem, 1, 2);
++
++ ret = wait_any(fd, 1, &sem, 123, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++ check_sem_state(fd, sem, 0, 2);
++
++ ret = wait_any(fd, 1, &sem, 123, &index);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(ETIMEDOUT, errno);
++
++ count = 3;
++ ret = put_sem(fd, sem, &count);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EOVERFLOW, errno);
++ check_sem_state(fd, sem, 0, 2);
++
++ count = 2;
++ ret = put_sem(fd, sem, &count);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, count);
++ check_sem_state(fd, sem, 2, 2);
++
++ ret = wait_any(fd, 1, &sem, 123, &index);
++ EXPECT_EQ(0, ret);
++ ret = wait_any(fd, 1, &sem, 123, &index);
++ EXPECT_EQ(0, ret);
++
++ count = 1;
++ ret = put_sem(fd, sem, &count);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, count);
++ check_sem_state(fd, sem, 1, 2);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &sem);
++ EXPECT_EQ(0, ret);
++
++ close(fd);
++}
++
++TEST_HARNESS_MAIN
+--
+2.36.0
+
+From c62acefda29b36849abde8134bf2a3fe8d893520 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 12:07:04 -0600
+Subject: [PATCH 14/34] selftests: winesync: Add some tests for mutex state.
+
+---
+ .../selftests/drivers/winesync/winesync.c | 188 ++++++++++++++++++
+ 1 file changed, 188 insertions(+)
+
+diff --git a/tools/testing/selftests/drivers/winesync/winesync.c b/tools/testing/selftests/drivers/winesync/winesync.c
+index 58ade297fef9..801b776da5aa 100644
+--- a/tools/testing/selftests/drivers/winesync/winesync.c
++++ b/tools/testing/selftests/drivers/winesync/winesync.c
+@@ -49,6 +49,42 @@ static int put_sem(int fd, __u32 sem, __u32 *count)
+ return ret;
+ }
+
++static int read_mutex_state(int fd, __u32 mutex, __u32 *count, __u32 *owner)
++{
++ struct winesync_mutex_args args;
++ int ret;
++
++ args.mutex = mutex;
++ args.count = 0xdeadbeef;
++ args.owner = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_READ_MUTEX, &args);
++ *count = args.count;
++ *owner = args.owner;
++ return ret;
++}
++
++#define check_mutex_state(fd, mutex, count, owner) \
++ ({ \
++ __u32 __count, __owner; \
++ int ret = read_mutex_state((fd), (mutex), &__count, &__owner); \
++ EXPECT_EQ(0, ret); \
++ EXPECT_EQ((count), __count); \
++ EXPECT_EQ((owner), __owner); \
++ })
++
++static int put_mutex(int fd, __u32 mutex, __u32 owner, __u32 *count)
++{
++ struct winesync_mutex_args args;
++ int ret;
++
++ args.mutex = mutex;
++ args.owner = owner;
++ args.count = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_PUT_MUTEX, &args);
++ *count = args.count;
++ return ret;
++}
++
+ static int wait_any(int fd, __u32 count, const __u32 *objs, __u32 owner,
+ __u32 *index)
+ {
+@@ -150,4 +186,156 @@ TEST(semaphore_state)
+ close(fd);
+ }
+
++TEST(mutex_state)
++{
++ struct winesync_mutex_args mutex_args;
++ __u32 mutex, owner, count, index;
++ struct timespec timeout;
++ int fd, ret;
++
++ clock_gettime(CLOCK_MONOTONIC, &timeout);
++
++ fd = open("/dev/winesync", O_CLOEXEC | O_RDONLY);
++ ASSERT_LE(0, fd);
++
++ mutex_args.owner = 123;
++ mutex_args.count = 0;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_MUTEX, &mutex_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ mutex_args.owner = 0;
++ mutex_args.count = 2;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_MUTEX, &mutex_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ mutex_args.owner = 123;
++ mutex_args.count = 2;
++ mutex_args.mutex = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_MUTEX, &mutex_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_NE(0xdeadbeef, mutex_args.mutex);
++ mutex = mutex_args.mutex;
++ check_mutex_state(fd, mutex, 2, 123);
++
++ ret = put_mutex(fd, mutex, 0, &count);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ ret = put_mutex(fd, mutex, 456, &count);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EPERM, errno);
++ check_mutex_state(fd, mutex, 2, 123);
++
++ ret = put_mutex(fd, mutex, 123, &count);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(2, count);
++ check_mutex_state(fd, mutex, 1, 123);
++
++ ret = put_mutex(fd, mutex, 123, &count);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(1, count);
++ check_mutex_state(fd, mutex, 0, 0);
++
++ ret = put_mutex(fd, mutex, 123, &count);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EPERM, errno);
++
++ ret = wait_any(fd, 1, &mutex, 456, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++ check_mutex_state(fd, mutex, 1, 456);
++
++ ret = wait_any(fd, 1, &mutex, 456, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++ check_mutex_state(fd, mutex, 2, 456);
++
++ ret = put_mutex(fd, mutex, 456, &count);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(2, count);
++ check_mutex_state(fd, mutex, 1, 456);
++
++ ret = wait_any(fd, 1, &mutex, 123, &index);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(ETIMEDOUT, errno);
++
++ owner = 0;
++ ret = ioctl(fd, WINESYNC_IOC_KILL_OWNER, &owner);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ owner = 123;
++ ret = ioctl(fd, WINESYNC_IOC_KILL_OWNER, &owner);
++ EXPECT_EQ(0, ret);
++ check_mutex_state(fd, mutex, 1, 456);
++
++ owner = 456;
++ ret = ioctl(fd, WINESYNC_IOC_KILL_OWNER, &owner);
++ EXPECT_EQ(0, ret);
++
++ mutex_args.count = 0xdeadbeef;
++ mutex_args.owner = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_READ_MUTEX, &mutex_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EOWNERDEAD, errno);
++ EXPECT_EQ(0, mutex_args.count);
++ EXPECT_EQ(0, mutex_args.owner);
++
++ mutex_args.count = 0xdeadbeef;
++ mutex_args.owner = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_READ_MUTEX, &mutex_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EOWNERDEAD, errno);
++ EXPECT_EQ(0, mutex_args.count);
++ EXPECT_EQ(0, mutex_args.owner);
++
++ ret = wait_any(fd, 1, &mutex, 123, &index);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EOWNERDEAD, errno);
++ EXPECT_EQ(0, index);
++ check_mutex_state(fd, mutex, 1, 123);
++
++ owner = 123;
++ ret = ioctl(fd, WINESYNC_IOC_KILL_OWNER, &owner);
++ EXPECT_EQ(0, ret);
++
++ mutex_args.count = 0xdeadbeef;
++ mutex_args.owner = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_READ_MUTEX, &mutex_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EOWNERDEAD, errno);
++ EXPECT_EQ(0, mutex_args.count);
++ EXPECT_EQ(0, mutex_args.owner);
++
++ ret = wait_any(fd, 1, &mutex, 123, &index);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EOWNERDEAD, errno);
++ EXPECT_EQ(0, index);
++ check_mutex_state(fd, mutex, 1, 123);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &mutex);
++ EXPECT_EQ(0, ret);
++
++ mutex_args.owner = 0;
++ mutex_args.count = 0;
++ mutex_args.mutex = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_MUTEX, &mutex_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_NE(0xdeadbeef, mutex_args.mutex);
++ mutex = mutex_args.mutex;
++ check_mutex_state(fd, mutex, 0, 0);
++
++ ret = wait_any(fd, 1, &mutex, 123, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++ check_mutex_state(fd, mutex, 1, 123);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &mutex_args.mutex);
++ EXPECT_EQ(0, ret);
++
++ close(fd);
++}
++
+ TEST_HARNESS_MAIN
+--
+2.36.0
+
+From 540cefcfe255d0b4c7208ae57a43fe0f16ce2531 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 12:07:45 -0600
+Subject: [PATCH 15/34] selftests: winesync: Add some tests for
+ WINESYNC_IOC_WAIT_ANY.
+
+---
+ .../selftests/drivers/winesync/winesync.c | 107 ++++++++++++++++++
+ 1 file changed, 107 insertions(+)
+
+diff --git a/tools/testing/selftests/drivers/winesync/winesync.c b/tools/testing/selftests/drivers/winesync/winesync.c
+index 801b776da5aa..5903061d38b6 100644
+--- a/tools/testing/selftests/drivers/winesync/winesync.c
++++ b/tools/testing/selftests/drivers/winesync/winesync.c
+@@ -338,4 +338,111 @@ TEST(mutex_state)
+ close(fd);
+ }
+
++TEST(test_wait_any)
++{
++ struct winesync_mutex_args mutex_args = {0};
++ struct winesync_wait_args wait_args = {0};
++ struct winesync_sem_args sem_args = {0};
++ __u32 objs[2], owner, index;
++ struct timespec timeout;
++ int fd, ret;
++
++ clock_gettime(CLOCK_MONOTONIC, &timeout);
++
++ fd = open("/dev/winesync", O_CLOEXEC | O_RDONLY);
++ ASSERT_LE(0, fd);
++
++ sem_args.count = 2;
++ sem_args.max = 3;
++ sem_args.sem = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_SEM, &sem_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_NE(0xdeadbeef, sem_args.sem);
++
++ mutex_args.owner = 0;
++ mutex_args.count = 0;
++ mutex_args.mutex = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_MUTEX, &mutex_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_NE(0xdeadbeef, mutex_args.mutex);
++
++ objs[0] = sem_args.sem;
++ objs[1] = mutex_args.mutex;
++
++ ret = wait_any(fd, 2, objs, 123, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++ check_sem_state(fd, sem_args.sem, 1, 3);
++ check_mutex_state(fd, mutex_args.mutex, 0, 0);
++
++ ret = wait_any(fd, 2, objs, 123, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++ check_sem_state(fd, sem_args.sem, 0, 3);
++ check_mutex_state(fd, mutex_args.mutex, 0, 0);
++
++ ret = wait_any(fd, 2, objs, 123, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(1, index);
++ check_sem_state(fd, sem_args.sem, 0, 3);
++ check_mutex_state(fd, mutex_args.mutex, 1, 123);
++
++ sem_args.count = 1;
++ ret = ioctl(fd, WINESYNC_IOC_PUT_SEM, &sem_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, sem_args.count);
++
++ ret = wait_any(fd, 2, objs, 123, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++ check_sem_state(fd, sem_args.sem, 0, 3);
++ check_mutex_state(fd, mutex_args.mutex, 1, 123);
++
++ ret = wait_any(fd, 2, objs, 123, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(1, index);
++ check_sem_state(fd, sem_args.sem, 0, 3);
++ check_mutex_state(fd, mutex_args.mutex, 2, 123);
++
++ ret = wait_any(fd, 2, objs, 456, &index);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(ETIMEDOUT, errno);
++
++ owner = 123;
++ ret = ioctl(fd, WINESYNC_IOC_KILL_OWNER, &owner);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_any(fd, 2, objs, 456, &index);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EOWNERDEAD, errno);
++ EXPECT_EQ(1, index);
++
++ ret = wait_any(fd, 2, objs, 456, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(1, index);
++
++ /* test waiting on the same object twice */
++ sem_args.count = 2;
++ ret = ioctl(fd, WINESYNC_IOC_PUT_SEM, &sem_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, sem_args.count);
++
++ objs[0] = objs[1] = sem_args.sem;
++ ret = wait_any(fd, 2, objs, 456, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, wait_args.index);
++ check_sem_state(fd, sem_args.sem, 1, 3);
++
++ ret = wait_any(fd, 0, NULL, 456, &index);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(ETIMEDOUT, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &sem_args.sem);
++ EXPECT_EQ(0, ret);
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &mutex_args.mutex);
++ EXPECT_EQ(0, ret);
++
++ close(fd);
++}
++
+ TEST_HARNESS_MAIN
+--
+2.36.0
+
+From 17f55215ea56e925369e2eec7eaead604a273e34 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 12:08:25 -0600
+Subject: [PATCH 16/34] selftests: winesync: Add some tests for
+ WINESYNC_IOC_WAIT_ALL.
+
+---
+ .../selftests/drivers/winesync/winesync.c | 104 +++++++++++++++++-
+ 1 file changed, 101 insertions(+), 3 deletions(-)
+
+diff --git a/tools/testing/selftests/drivers/winesync/winesync.c b/tools/testing/selftests/drivers/winesync/winesync.c
+index 5903061d38b6..0718219f54bf 100644
+--- a/tools/testing/selftests/drivers/winesync/winesync.c
++++ b/tools/testing/selftests/drivers/winesync/winesync.c
+@@ -85,8 +85,8 @@ static int put_mutex(int fd, __u32 mutex, __u32 owner, __u32 *count)
+ return ret;
+ }
+
+-static int wait_any(int fd, __u32 count, const __u32 *objs, __u32 owner,
+- __u32 *index)
++static int wait_objs(int fd, unsigned long request, __u32 count,
++ const __u32 *objs, __u32 owner, __u32 *index)
+ {
+ struct winesync_wait_args args = {0};
+ struct timespec timeout;
+@@ -99,11 +99,23 @@ static int wait_any(int fd, __u32 count, const __u32 *objs, __u32 owner,
+ args.objs = (uintptr_t)objs;
+ args.owner = owner;
+ args.index = 0xdeadbeef;
+- ret = ioctl(fd, WINESYNC_IOC_WAIT_ANY, &args);
++ ret = ioctl(fd, request, &args);
+ *index = args.index;
+ return ret;
+ }
+
++static int wait_any(int fd, __u32 count, const __u32 *objs,
++ __u32 owner, __u32 *index)
++{
++ return wait_objs(fd, WINESYNC_IOC_WAIT_ANY, count, objs, owner, index);
++}
++
++static int wait_all(int fd, __u32 count, const __u32 *objs,
++ __u32 owner, __u32 *index)
++{
++ return wait_objs(fd, WINESYNC_IOC_WAIT_ALL, count, objs, owner, index);
++}
++
+ TEST(semaphore_state)
+ {
+ struct winesync_sem_args sem_args;
+@@ -445,4 +457,90 @@ TEST(test_wait_any)
+ close(fd);
+ }
+
++TEST(test_wait_all)
++{
++ struct winesync_mutex_args mutex_args = {0};
++ struct winesync_sem_args sem_args = {0};
++ __u32 objs[2], owner, index;
++ int fd, ret;
++
++ fd = open("/dev/winesync", O_CLOEXEC | O_RDONLY);
++ ASSERT_LE(0, fd);
++
++ sem_args.count = 2;
++ sem_args.max = 3;
++ sem_args.sem = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_SEM, &sem_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_NE(0xdeadbeef, sem_args.sem);
++
++ mutex_args.owner = 0;
++ mutex_args.count = 0;
++ mutex_args.mutex = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_MUTEX, &mutex_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_NE(0xdeadbeef, mutex_args.mutex);
++
++ objs[0] = sem_args.sem;
++ objs[1] = mutex_args.mutex;
++
++ ret = wait_all(fd, 2, objs, 123, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++ check_sem_state(fd, sem_args.sem, 1, 3);
++ check_mutex_state(fd, mutex_args.mutex, 1, 123);
++
++ ret = wait_all(fd, 2, objs, 456, &index);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(ETIMEDOUT, errno);
++ check_sem_state(fd, sem_args.sem, 1, 3);
++ check_mutex_state(fd, mutex_args.mutex, 1, 123);
++
++ ret = wait_all(fd, 2, objs, 123, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++ check_sem_state(fd, sem_args.sem, 0, 3);
++ check_mutex_state(fd, mutex_args.mutex, 2, 123);
++
++ ret = wait_all(fd, 2, objs, 123, &index);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(ETIMEDOUT, errno);
++ check_sem_state(fd, sem_args.sem, 0, 3);
++ check_mutex_state(fd, mutex_args.mutex, 2, 123);
++
++ sem_args.count = 3;
++ ret = ioctl(fd, WINESYNC_IOC_PUT_SEM, &sem_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, sem_args.count);
++
++ ret = wait_all(fd, 2, objs, 123, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++ check_sem_state(fd, sem_args.sem, 2, 3);
++ check_mutex_state(fd, mutex_args.mutex, 3, 123);
++
++ owner = 123;
++ ret = ioctl(fd, WINESYNC_IOC_KILL_OWNER, &owner);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_all(fd, 2, objs, 123, &index);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EOWNERDEAD, errno);
++ check_sem_state(fd, sem_args.sem, 1, 3);
++ check_mutex_state(fd, mutex_args.mutex, 1, 123);
++
++ /* test waiting on the same object twice */
++ objs[0] = objs[1] = sem_args.sem;
++ ret = wait_all(fd, 2, objs, 123, &index);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &sem_args.sem);
++ EXPECT_EQ(0, ret);
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &mutex_args.mutex);
++ EXPECT_EQ(0, ret);
++
++ close(fd);
++}
++
+ TEST_HARNESS_MAIN
+--
+2.36.0
+
+From 6d07a2265d06d3f0af6fe2d9874762fb2e922488 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 12:08:54 -0600
+Subject: [PATCH 17/34] selftests: winesync: Add some tests for invalid object
+ handling.
+
+---
+ .../selftests/drivers/winesync/winesync.c | 93 +++++++++++++++++++
+ 1 file changed, 93 insertions(+)
+
+diff --git a/tools/testing/selftests/drivers/winesync/winesync.c b/tools/testing/selftests/drivers/winesync/winesync.c
+index 0718219f54bf..8a9fb496f5e0 100644
+--- a/tools/testing/selftests/drivers/winesync/winesync.c
++++ b/tools/testing/selftests/drivers/winesync/winesync.c
+@@ -543,4 +543,97 @@ TEST(test_wait_all)
+ close(fd);
+ }
+
++TEST(invalid_objects)
++{
++ struct winesync_mutex_args mutex_args = {0};
++ struct winesync_wait_args wait_args = {0};
++ struct winesync_sem_args sem_args = {0};
++ __u32 objs[2] = {0};
++ int fd, ret;
++
++ fd = open("/dev/winesync", O_CLOEXEC | O_RDONLY);
++ ASSERT_LE(0, fd);
++
++ ret = ioctl(fd, WINESYNC_IOC_PUT_SEM, &sem_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_READ_SEM, &sem_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_PUT_MUTEX, &mutex_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_READ_MUTEX, &mutex_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ wait_args.objs = (uintptr_t)objs;
++ wait_args.count = 1;
++ ret = ioctl(fd, WINESYNC_IOC_WAIT_ANY, &wait_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++ ret = ioctl(fd, WINESYNC_IOC_WAIT_ALL, &wait_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &objs[0]);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ sem_args.max = 1;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_SEM, &sem_args);
++ EXPECT_EQ(0, ret);
++
++ mutex_args.mutex = sem_args.sem;
++ ret = ioctl(fd, WINESYNC_IOC_PUT_MUTEX, &mutex_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_READ_MUTEX, &mutex_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ objs[0] = sem_args.sem;
++ objs[1] = sem_args.sem + 1;
++ wait_args.count = 2;
++ ret = ioctl(fd, WINESYNC_IOC_WAIT_ANY, &wait_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++ ret = ioctl(fd, WINESYNC_IOC_WAIT_ALL, &wait_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ objs[0] = sem_args.sem + 1;
++ objs[1] = sem_args.sem;
++ ret = ioctl(fd, WINESYNC_IOC_WAIT_ANY, &wait_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++ ret = ioctl(fd, WINESYNC_IOC_WAIT_ALL, &wait_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &sem_args.sem);
++ EXPECT_EQ(0, ret);
++
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_MUTEX, &mutex_args);
++ EXPECT_EQ(0, ret);
++
++ sem_args.sem = mutex_args.mutex;
++ ret = ioctl(fd, WINESYNC_IOC_PUT_SEM, &sem_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_READ_SEM, &sem_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &mutex_args.mutex);
++ EXPECT_EQ(0, ret);
++
++ close(fd);
++}
++
+ TEST_HARNESS_MAIN
+--
+2.36.0
+
+From fafaf63d58b1f8ae3644ec5850c170bce6f6b5d2 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 12:09:32 -0600
+Subject: [PATCH 18/34] selftests: winesync: Add some tests for wakeup
+ signaling with WINESYNC_IOC_WAIT_ANY.
+
+---
+ .../selftests/drivers/winesync/winesync.c | 154 ++++++++++++++++++
+ 1 file changed, 154 insertions(+)
+
+diff --git a/tools/testing/selftests/drivers/winesync/winesync.c b/tools/testing/selftests/drivers/winesync/winesync.c
+index 8a9fb496f5e0..04855df00894 100644
+--- a/tools/testing/selftests/drivers/winesync/winesync.c
++++ b/tools/testing/selftests/drivers/winesync/winesync.c
+@@ -636,4 +636,158 @@ TEST(invalid_objects)
+ close(fd);
+ }
+
++struct wake_args
++{
++ int fd;
++ __u32 obj;
++};
++
++struct wait_args
++{
++ int fd;
++ unsigned long request;
++ struct winesync_wait_args *args;
++ int ret;
++ int err;
++};
++
++static void *wait_thread(void *arg)
++{
++ struct wait_args *args = arg;
++
++ args->ret = ioctl(args->fd, args->request, args->args);
++ args->err = errno;
++ return NULL;
++}
++
++static void get_abs_timeout(struct timespec *timeout, clockid_t clock,
++ unsigned int ms)
++{
++ clock_gettime(clock, timeout);
++ timeout->tv_nsec += ms * 1000000;
++ timeout->tv_sec += (timeout->tv_nsec / 1000000000);
++ timeout->tv_nsec %= 1000000000;
++}
++
++static int wait_for_thread(pthread_t thread, unsigned int ms)
++{
++ struct timespec timeout;
++ get_abs_timeout(&timeout, CLOCK_REALTIME, ms);
++ return pthread_timedjoin_np(thread, NULL, &timeout);
++}
++
++TEST(wake_any)
++{
++ struct winesync_mutex_args mutex_args = {0};
++ struct winesync_wait_args wait_args = {0};
++ struct winesync_sem_args sem_args = {0};
++ struct wait_args thread_args;
++ __u32 objs[2], count, index;
++ struct timespec timeout;
++ pthread_t thread;
++ int fd, ret;
++
++ fd = open("/dev/winesync", O_CLOEXEC | O_RDONLY);
++ ASSERT_LE(0, fd);
++
++ sem_args.count = 0;
++ sem_args.max = 3;
++ sem_args.sem = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_SEM, &sem_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_NE(0xdeadbeef, sem_args.sem);
++
++ mutex_args.owner = 123;
++ mutex_args.count = 1;
++ mutex_args.mutex = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_MUTEX, &mutex_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_NE(0xdeadbeef, mutex_args.mutex);
++
++ objs[0] = sem_args.sem;
++ objs[1] = mutex_args.mutex;
++
++ /* test waking the semaphore */
++
++ get_abs_timeout(&timeout, CLOCK_MONOTONIC, 1000);
++ wait_args.timeout = (uintptr_t)&timeout;
++ wait_args.objs = (uintptr_t)objs;
++ wait_args.count = 2;
++ wait_args.owner = 456;
++ wait_args.index = 0xdeadbeef;
++ thread_args.fd = fd;
++ thread_args.args = &wait_args;
++ thread_args.request = WINESYNC_IOC_WAIT_ANY;
++ ret = pthread_create(&thread, NULL, wait_thread, &thread_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(ETIMEDOUT, ret);
++
++ sem_args.count = 1;
++ ret = ioctl(fd, WINESYNC_IOC_PUT_SEM, &sem_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, sem_args.count);
++ check_sem_state(fd, sem_args.sem, 0, 3);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, thread_args.ret);
++ EXPECT_EQ(0, wait_args.index);
++
++ /* test waking the mutex */
++
++ /* first grab it again for owner 123 */
++ ret = wait_any(fd, 1, &mutex_args.mutex, 123, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++
++ get_abs_timeout(&timeout, CLOCK_MONOTONIC, 1000);
++ wait_args.owner = 456;
++ ret = pthread_create(&thread, NULL, wait_thread, &thread_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(ETIMEDOUT, ret);
++
++ ret = put_mutex(fd, mutex_args.mutex, 123, &count);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(2, count);
++
++ ret = pthread_tryjoin_np(thread, NULL);
++ EXPECT_EQ(EBUSY, ret);
++
++ ret = put_mutex(fd, mutex_args.mutex, 123, &count);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(1, mutex_args.count);
++ check_mutex_state(fd, mutex_args.mutex, 1, 456);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, thread_args.ret);
++ EXPECT_EQ(1, wait_args.index);
++
++ /* delete an object while it's being waited on */
++
++ get_abs_timeout(&timeout, CLOCK_MONOTONIC, 200);
++ wait_args.owner = 123;
++ ret = pthread_create(&thread, NULL, wait_thread, &thread_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(ETIMEDOUT, ret);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &sem_args.sem);
++ EXPECT_EQ(0, ret);
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &mutex_args.mutex);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_for_thread(thread, 200);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(-1, thread_args.ret);
++ EXPECT_EQ(ETIMEDOUT, thread_args.err);
++
++ close(fd);
++}
++
+ TEST_HARNESS_MAIN
+--
+2.36.0
+
+From c1916abd720dc30c3dc1972fd9a4d69844e8ffbd Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Fri, 5 Mar 2021 12:09:36 -0600
+Subject: [PATCH 19/34] selftests: winesync: Add some tests for wakeup
+ signaling with WINESYNC_IOC_WAIT_ALL.
+
+---
+ .../selftests/drivers/winesync/winesync.c | 102 ++++++++++++++++++
+ 1 file changed, 102 insertions(+)
+
+diff --git a/tools/testing/selftests/drivers/winesync/winesync.c b/tools/testing/selftests/drivers/winesync/winesync.c
+index 04855df00894..ad6d0f9a2a35 100644
+--- a/tools/testing/selftests/drivers/winesync/winesync.c
++++ b/tools/testing/selftests/drivers/winesync/winesync.c
+@@ -790,4 +790,106 @@ TEST(wake_any)
+ close(fd);
+ }
+
++TEST(wake_all)
++{
++ struct winesync_mutex_args mutex_args = {0};
++ struct winesync_wait_args wait_args = {0};
++ struct winesync_sem_args sem_args = {0};
++ struct wait_args thread_args;
++ __u32 objs[2], count, index;
++ struct timespec timeout;
++ pthread_t thread;
++ int fd, ret;
++
++ fd = open("/dev/winesync", O_CLOEXEC | O_RDONLY);
++ ASSERT_LE(0, fd);
++
++ sem_args.count = 0;
++ sem_args.max = 3;
++ sem_args.sem = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_SEM, &sem_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_NE(0xdeadbeef, sem_args.sem);
++
++ mutex_args.owner = 123;
++ mutex_args.count = 1;
++ mutex_args.mutex = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_MUTEX, &mutex_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_NE(0xdeadbeef, mutex_args.mutex);
++
++ objs[0] = sem_args.sem;
++ objs[1] = mutex_args.mutex;
++
++ get_abs_timeout(&timeout, CLOCK_MONOTONIC, 1000);
++ wait_args.timeout = (uintptr_t)&timeout;
++ wait_args.objs = (uintptr_t)objs;
++ wait_args.count = 2;
++ wait_args.owner = 456;
++ thread_args.fd = fd;
++ thread_args.args = &wait_args;
++ thread_args.request = WINESYNC_IOC_WAIT_ALL;
++ ret = pthread_create(&thread, NULL, wait_thread, &thread_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(ETIMEDOUT, ret);
++
++ sem_args.count = 1;
++ ret = ioctl(fd, WINESYNC_IOC_PUT_SEM, &sem_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, sem_args.count);
++
++ ret = pthread_tryjoin_np(thread, NULL);
++ EXPECT_EQ(EBUSY, ret);
++
++ check_sem_state(fd, sem_args.sem, 1, 3);
++
++ ret = wait_any(fd, 1, &sem_args.sem, 123, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++
++ ret = put_mutex(fd, mutex_args.mutex, 123, &count);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(1, count);
++
++ ret = pthread_tryjoin_np(thread, NULL);
++ EXPECT_EQ(EBUSY, ret);
++
++ check_mutex_state(fd, mutex_args.mutex, 0, 0);
++
++ sem_args.count = 2;
++ ret = ioctl(fd, WINESYNC_IOC_PUT_SEM, &sem_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, sem_args.count);
++ check_sem_state(fd, sem_args.sem, 1, 3);
++ check_mutex_state(fd, mutex_args.mutex, 1, 456);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, thread_args.ret);
++
++ /* delete an object while it's being waited on */
++
++ get_abs_timeout(&timeout, CLOCK_MONOTONIC, 200);
++ wait_args.owner = 123;
++ ret = pthread_create(&thread, NULL, wait_thread, &thread_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(ETIMEDOUT, ret);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &sem_args.sem);
++ EXPECT_EQ(0, ret);
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &mutex_args.mutex);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_for_thread(thread, 200);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(-1, thread_args.ret);
++ EXPECT_EQ(ETIMEDOUT, thread_args.err);
++
++ close(fd);
++}
++
+ TEST_HARNESS_MAIN
+--
+2.36.0
+
+From 4e6e34339182f13972e7b906c0bd0dde74eda3d7 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Wed, 19 Jan 2022 18:21:03 -0600
+Subject: [PATCH 21/34] winesync: Introduce WINESYNC_IOC_CREATE_EVENT.
+
+---
+ drivers/misc/winesync.c | 65 +++++++++++++++++++++++++++++++++++
+ include/uapi/linux/winesync.h | 8 +++++
+ 2 files changed, 73 insertions(+)
+
+diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
+index eae272663abe..eaba41510784 100644
+--- a/drivers/misc/winesync.c
++++ b/drivers/misc/winesync.c
+@@ -17,6 +17,7 @@
+ enum winesync_type {
+ WINESYNC_TYPE_SEM,
+ WINESYNC_TYPE_MUTEX,
++ WINESYNC_TYPE_EVENT,
+ };
+
+ struct winesync_obj {
+@@ -66,6 +67,10 @@ struct winesync_obj {
+ __u32 owner;
+ bool ownerdead;
+ } mutex;
++ struct {
++ bool manual;
++ bool signaled;
++ } event;
+ } u;
+ };
+
+@@ -199,6 +204,8 @@ static bool is_signaled(struct winesync_obj *obj, __u32 owner)
+ if (obj->u.mutex.owner && obj->u.mutex.owner != owner)
+ return false;
+ return obj->u.mutex.count < UINT_MAX;
++ case WINESYNC_TYPE_EVENT:
++ return obj->u.event.signaled;
+ }
+
+ WARN(1, "bad object type %#x\n", obj->type);
+@@ -248,6 +255,10 @@ static void try_wake_all(struct winesync_device *dev, struct winesync_q *q,
+ obj->u.mutex.count++;
+ obj->u.mutex.owner = q->owner;
+ break;
++ case WINESYNC_TYPE_EVENT:
++ if (!obj->u.event.manual)
++ obj->u.event.signaled = false;
++ break;
+ }
+ }
+ wake_up_process(q->task);
+@@ -315,6 +326,26 @@ static void try_wake_any_mutex(struct winesync_obj *mutex)
+ }
+ }
+
++static void try_wake_any_event(struct winesync_obj *event)
++{
++ struct winesync_q_entry *entry;
++
++ lockdep_assert_held(&event->lock);
++
++ list_for_each_entry(entry, &event->any_waiters, node) {
++ struct winesync_q *q = entry->q;
++
++ if (!event->u.event.signaled)
++ break;
++
++ if (atomic_cmpxchg(&q->signaled, -1, entry->index) == -1) {
++ if (!event->u.event.manual)
++ event->u.event.signaled = false;
++ wake_up_process(q->task);
++ }
++ }
++}
++
+ static int winesync_create_sem(struct winesync_device *dev, void __user *argp)
+ {
+ struct winesync_sem_args __user *user_args = argp;
+@@ -379,6 +410,35 @@ static int winesync_create_mutex(struct winesync_device *dev, void __user *argp)
+ return put_user(id, &user_args->mutex);
+ }
+
++static int winesync_create_event(struct winesync_device *dev, void __user *argp)
++{
++ struct winesync_event_args __user *user_args = argp;
++ struct winesync_event_args args;
++ struct winesync_obj *event;
++ __u32 id;
++ int ret;
++
++ if (copy_from_user(&args, argp, sizeof(args)))
++ return -EFAULT;
++
++ event = kzalloc(sizeof(*event), GFP_KERNEL);
++ if (!event)
++ return -ENOMEM;
++
++ init_obj(event);
++ event->type = WINESYNC_TYPE_EVENT;
++ event->u.event.manual = args.manual;
++ event->u.event.signaled = args.signaled;
++
++ ret = xa_alloc(&dev->objects, &id, event, xa_limit_32b, GFP_KERNEL);
++ if (ret < 0) {
++ kfree(event);
++ return ret;
++ }
++
++ return put_user(id, &user_args->event);
++}
++
+ static int winesync_delete(struct winesync_device *dev, void __user *argp)
+ {
+ struct winesync_obj *obj;
+@@ -760,6 +820,9 @@ static void try_wake_any_obj(struct winesync_obj *obj)
+ case WINESYNC_TYPE_MUTEX:
+ try_wake_any_mutex(obj);
+ break;
++ case WINESYNC_TYPE_EVENT:
++ try_wake_any_event(obj);
++ break;
+ }
+ }
+
+@@ -925,6 +988,8 @@ static long winesync_char_ioctl(struct file *file, unsigned int cmd,
+ void __user *argp = (void __user *)parm;
+
+ switch (cmd) {
++ case WINESYNC_IOC_CREATE_EVENT:
++ return winesync_create_event(dev, argp);
+ case WINESYNC_IOC_CREATE_MUTEX:
+ return winesync_create_mutex(dev, argp);
+ case WINESYNC_IOC_CREATE_SEM:
+diff --git a/include/uapi/linux/winesync.h b/include/uapi/linux/winesync.h
+index 3371a303a927..3999407534e0 100644
+--- a/include/uapi/linux/winesync.h
++++ b/include/uapi/linux/winesync.h
+@@ -22,6 +22,12 @@ struct winesync_mutex_args {
+ __u32 count;
+ };
+
++struct winesync_event_args {
++ __u32 event;
++ __u32 manual;
++ __u32 signaled;
++};
++
+ struct winesync_wait_args {
+ __u64 timeout;
+ __u64 objs;
+@@ -51,5 +57,7 @@ struct winesync_wait_args {
+ struct winesync_sem_args)
+ #define WINESYNC_IOC_READ_MUTEX _IOWR(WINESYNC_IOC_BASE, 9, \
+ struct winesync_mutex_args)
++#define WINESYNC_IOC_CREATE_EVENT _IOWR(WINESYNC_IOC_BASE, 10, \
++ struct winesync_event_args)
+
+ #endif
+--
+2.36.0
+
+From 92a843a6d77099e638d5513fb4093e42ba84a3a3 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Wed, 19 Jan 2022 18:43:30 -0600
+Subject: [PATCH 22/34] winesync: Introduce WINESYNC_IOC_SET_EVENT.
+
+---
+ drivers/misc/winesync.c | 45 +++++++++++++++++++++++++++++++++++
+ include/uapi/linux/winesync.h | 2 ++
+ 2 files changed, 47 insertions(+)
+
+diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
+index eaba41510784..658ad7b80c29 100644
+--- a/drivers/misc/winesync.c
++++ b/drivers/misc/winesync.c
+@@ -704,6 +704,49 @@ static int winesync_kill_owner(struct winesync_device *dev, void __user *argp)
+ return 0;
+ }
+
++static int winesync_set_event(struct winesync_device *dev, void __user *argp)
++{
++ struct winesync_event_args __user *user_args = argp;
++ struct winesync_event_args args;
++ struct winesync_obj *event;
++ bool prev_state;
++
++ if (copy_from_user(&args, argp, sizeof(args)))
++ return -EFAULT;
++
++ event = get_obj_typed(dev, args.event, WINESYNC_TYPE_EVENT);
++ if (!event)
++ return -EINVAL;
++
++ if (atomic_read(&event->all_hint) > 0) {
++ spin_lock(&dev->wait_all_lock);
++ spin_lock(&event->lock);
++
++ prev_state = event->u.event.signaled;
++ event->u.event.signaled = true;
++ try_wake_all_obj(dev, event);
++ try_wake_any_event(event);
++
++ spin_unlock(&event->lock);
++ spin_unlock(&dev->wait_all_lock);
++ } else {
++ spin_lock(&event->lock);
++
++ prev_state = event->u.event.signaled;
++ event->u.event.signaled = true;
++ try_wake_any_event(event);
++
++ spin_unlock(&event->lock);
++ }
++
++ put_obj(event);
++
++ if (put_user(prev_state, &user_args->signaled))
++ return -EFAULT;
++
++ return 0;
++}
++
+ static int winesync_schedule(const struct winesync_q *q, ktime_t *timeout)
+ {
+ int ret = 0;
+@@ -1006,6 +1049,8 @@ static long winesync_char_ioctl(struct file *file, unsigned int cmd,
+ return winesync_read_mutex(dev, argp);
+ case WINESYNC_IOC_READ_SEM:
+ return winesync_read_sem(dev, argp);
++ case WINESYNC_IOC_SET_EVENT:
++ return winesync_set_event(dev, argp);
+ case WINESYNC_IOC_WAIT_ALL:
+ return winesync_wait_all(dev, argp);
+ case WINESYNC_IOC_WAIT_ANY:
+diff --git a/include/uapi/linux/winesync.h b/include/uapi/linux/winesync.h
+index 3999407534e0..34cd65d879a8 100644
+--- a/include/uapi/linux/winesync.h
++++ b/include/uapi/linux/winesync.h
+@@ -59,5 +59,7 @@ struct winesync_wait_args {
+ struct winesync_mutex_args)
+ #define WINESYNC_IOC_CREATE_EVENT _IOWR(WINESYNC_IOC_BASE, 10, \
+ struct winesync_event_args)
++#define WINESYNC_IOC_SET_EVENT _IOWR(WINESYNC_IOC_BASE, 11, \
++ struct winesync_event_args)
+
+ #endif
+--
+2.36.0
+
+From 7abe646cd9c913b78156186e3a2d98715a0f3513 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Wed, 19 Jan 2022 19:00:25 -0600
+Subject: [PATCH 23/34] winesync: Introduce WINESYNC_IOC_RESET_EVENT.
+
+---
+ drivers/misc/winesync.c | 31 +++++++++++++++++++++++++++++++
+ include/uapi/linux/winesync.h | 2 ++
+ 2 files changed, 33 insertions(+)
+
+diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
+index 658ad7b80c29..a93f173127f4 100644
+--- a/drivers/misc/winesync.c
++++ b/drivers/misc/winesync.c
+@@ -747,6 +747,35 @@ static int winesync_set_event(struct winesync_device *dev, void __user *argp)
+ return 0;
+ }
+
++static int winesync_reset_event(struct winesync_device *dev, void __user *argp)
++{
++ struct winesync_event_args __user *user_args = argp;
++ struct winesync_event_args args;
++ struct winesync_obj *event;
++ bool prev_state;
++
++ if (copy_from_user(&args, argp, sizeof(args)))
++ return -EFAULT;
++
++ event = get_obj_typed(dev, args.event, WINESYNC_TYPE_EVENT);
++ if (!event)
++ return -EINVAL;
++
++ spin_lock(&event->lock);
++
++ prev_state = event->u.event.signaled;
++ event->u.event.signaled = false;
++
++ spin_unlock(&event->lock);
++
++ put_obj(event);
++
++ if (put_user(prev_state, &user_args->signaled))
++ return -EFAULT;
++
++ return 0;
++}
++
+ static int winesync_schedule(const struct winesync_q *q, ktime_t *timeout)
+ {
+ int ret = 0;
+@@ -1049,6 +1078,8 @@ static long winesync_char_ioctl(struct file *file, unsigned int cmd,
+ return winesync_read_mutex(dev, argp);
+ case WINESYNC_IOC_READ_SEM:
+ return winesync_read_sem(dev, argp);
++ case WINESYNC_IOC_RESET_EVENT:
++ return winesync_reset_event(dev, argp);
+ case WINESYNC_IOC_SET_EVENT:
+ return winesync_set_event(dev, argp);
+ case WINESYNC_IOC_WAIT_ALL:
+diff --git a/include/uapi/linux/winesync.h b/include/uapi/linux/winesync.h
+index 34cd65d879a8..e71271fc44ba 100644
+--- a/include/uapi/linux/winesync.h
++++ b/include/uapi/linux/winesync.h
+@@ -61,5 +61,7 @@ struct winesync_wait_args {
+ struct winesync_event_args)
+ #define WINESYNC_IOC_SET_EVENT _IOWR(WINESYNC_IOC_BASE, 11, \
+ struct winesync_event_args)
++#define WINESYNC_IOC_RESET_EVENT _IOWR(WINESYNC_IOC_BASE, 12, \
++ struct winesync_event_args)
+
+ #endif
+--
+2.36.0
+
+From 3ea6a631230c7b17d345e2249f5f72ad24c46a79 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Wed, 19 Jan 2022 19:10:12 -0600
+Subject: [PATCH 24/34] winesync: Introduce WINESYNC_IOC_PULSE_EVENT.
+
+---
+ drivers/misc/winesync.c | 11 +++++++++--
+ include/uapi/linux/winesync.h | 2 ++
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
+index a93f173127f4..27d5baa457df 100644
+--- a/drivers/misc/winesync.c
++++ b/drivers/misc/winesync.c
+@@ -704,7 +704,8 @@ static int winesync_kill_owner(struct winesync_device *dev, void __user *argp)
+ return 0;
+ }
+
+-static int winesync_set_event(struct winesync_device *dev, void __user *argp)
++static int winesync_set_event(struct winesync_device *dev, void __user *argp,
++ bool pulse)
+ {
+ struct winesync_event_args __user *user_args = argp;
+ struct winesync_event_args args;
+@@ -726,6 +727,8 @@ static int winesync_set_event(struct winesync_device *dev, void __user *argp)
+ event->u.event.signaled = true;
+ try_wake_all_obj(dev, event);
+ try_wake_any_event(event);
++ if (pulse)
++ event->u.event.signaled = false;
+
+ spin_unlock(&event->lock);
+ spin_unlock(&dev->wait_all_lock);
+@@ -735,6 +738,8 @@ static int winesync_set_event(struct winesync_device *dev, void __user *argp)
+ prev_state = event->u.event.signaled;
+ event->u.event.signaled = true;
+ try_wake_any_event(event);
++ if (pulse)
++ event->u.event.signaled = false;
+
+ spin_unlock(&event->lock);
+ }
+@@ -1070,6 +1075,8 @@ static long winesync_char_ioctl(struct file *file, unsigned int cmd,
+ return winesync_delete(dev, argp);
+ case WINESYNC_IOC_KILL_OWNER:
+ return winesync_kill_owner(dev, argp);
++ case WINESYNC_IOC_PULSE_EVENT:
++ return winesync_set_event(dev, argp, true);
+ case WINESYNC_IOC_PUT_MUTEX:
+ return winesync_put_mutex(dev, argp);
+ case WINESYNC_IOC_PUT_SEM:
+@@ -1081,7 +1088,7 @@ static long winesync_char_ioctl(struct file *file, unsigned int cmd,
+ case WINESYNC_IOC_RESET_EVENT:
+ return winesync_reset_event(dev, argp);
+ case WINESYNC_IOC_SET_EVENT:
+- return winesync_set_event(dev, argp);
++ return winesync_set_event(dev, argp, false);
+ case WINESYNC_IOC_WAIT_ALL:
+ return winesync_wait_all(dev, argp);
+ case WINESYNC_IOC_WAIT_ANY:
+diff --git a/include/uapi/linux/winesync.h b/include/uapi/linux/winesync.h
+index e71271fc44ba..7c09d0e9733c 100644
+--- a/include/uapi/linux/winesync.h
++++ b/include/uapi/linux/winesync.h
+@@ -63,5 +63,7 @@ struct winesync_wait_args {
+ struct winesync_event_args)
+ #define WINESYNC_IOC_RESET_EVENT _IOWR(WINESYNC_IOC_BASE, 12, \
+ struct winesync_event_args)
++#define WINESYNC_IOC_PULSE_EVENT _IOWR(WINESYNC_IOC_BASE, 13, \
++ struct winesync_event_args)
+
+ #endif
+--
+2.36.0
+
+From 0fb972bb73385f9140f81a5f976b95ba750b73dd Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Wed, 19 Jan 2022 19:14:00 -0600
+Subject: [PATCH 25/34] winesync: Introduce WINESYNC_IOC_READ_EVENT.
+
+---
+ drivers/misc/winesync.c | 30 ++++++++++++++++++++++++++++++
+ include/uapi/linux/winesync.h | 2 ++
+ 2 files changed, 32 insertions(+)
+
+diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
+index 27d5baa457df..0f8a8a94eef8 100644
+--- a/drivers/misc/winesync.c
++++ b/drivers/misc/winesync.c
+@@ -639,6 +639,33 @@ static int winesync_read_mutex(struct winesync_device *dev, void __user *argp)
+ return ret;
+ }
+
++static int winesync_read_event(struct winesync_device *dev, void __user *argp)
++{
++ struct winesync_event_args __user *user_args = argp;
++ struct winesync_event_args args;
++ struct winesync_obj *event;
++ __u32 id;
++
++ if (get_user(id, &user_args->event))
++ return -EFAULT;
++
++ event = get_obj_typed(dev, id, WINESYNC_TYPE_EVENT);
++ if (!event)
++ return -EINVAL;
++
++ args.event = id;
++ spin_lock(&event->lock);
++ args.manual = event->u.event.manual;
++ args.signaled = event->u.event.signaled;
++ spin_unlock(&event->lock);
++
++ put_obj(event);
++
++ if (copy_to_user(user_args, &args, sizeof(args)))
++ return -EFAULT;
++ return 0;
++}
++
+ /*
+ * Actually change the mutex state to mark its owner as dead.
+ */
+@@ -1081,6 +1109,8 @@ static long winesync_char_ioctl(struct file *file, unsigned int cmd,
+ return winesync_put_mutex(dev, argp);
+ case WINESYNC_IOC_PUT_SEM:
+ return winesync_put_sem(dev, argp);
++ case WINESYNC_IOC_READ_EVENT:
++ return winesync_read_event(dev, argp);
+ case WINESYNC_IOC_READ_MUTEX:
+ return winesync_read_mutex(dev, argp);
+ case WINESYNC_IOC_READ_SEM:
+diff --git a/include/uapi/linux/winesync.h b/include/uapi/linux/winesync.h
+index 7c09d0e9733c..fb3788339ffe 100644
+--- a/include/uapi/linux/winesync.h
++++ b/include/uapi/linux/winesync.h
+@@ -65,5 +65,7 @@ struct winesync_wait_args {
+ struct winesync_event_args)
+ #define WINESYNC_IOC_PULSE_EVENT _IOWR(WINESYNC_IOC_BASE, 13, \
+ struct winesync_event_args)
++#define WINESYNC_IOC_READ_EVENT _IOWR(WINESYNC_IOC_BASE, 14, \
++ struct winesync_event_args)
+
+ #endif
+--
+2.36.0
+
+From ae7648556c522595d288bc169bde503140a59db0 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Wed, 19 Jan 2022 19:34:47 -0600
+Subject: [PATCH 26/34] selftests: winesync: Add some tests for manual-reset
+ event state.
+
+---
+ .../selftests/drivers/winesync/winesync.c | 92 +++++++++++++++++++
+ 1 file changed, 92 insertions(+)
+
+diff --git a/tools/testing/selftests/drivers/winesync/winesync.c b/tools/testing/selftests/drivers/winesync/winesync.c
+index ad6d0f9a2a35..7e99f09b113b 100644
+--- a/tools/testing/selftests/drivers/winesync/winesync.c
++++ b/tools/testing/selftests/drivers/winesync/winesync.c
+@@ -85,6 +85,30 @@ static int put_mutex(int fd, __u32 mutex, __u32 owner, __u32 *count)
+ return ret;
+ }
+
++static int read_event_state(int fd, __u32 event, __u32 *signaled, __u32 *manual)
++{
++ struct winesync_event_args args;
++ int ret;
++
++ args.event = event;
++ args.signaled = 0xdeadbeef;
++ args.manual = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_READ_EVENT, &args);
++ *signaled = args.signaled;
++ *manual = args.manual;
++ return ret;
++}
++
++#define check_event_state(fd, event, signaled, manual) \
++ ({ \
++ __u32 __signaled, __manual; \
++ int ret = read_event_state((fd), (event), \
++ &__signaled, &__manual); \
++ EXPECT_EQ(0, ret); \
++ EXPECT_EQ((signaled), __signaled); \
++ EXPECT_EQ((manual), __manual); \
++ })
++
+ static int wait_objs(int fd, unsigned long request, __u32 count,
+ const __u32 *objs, __u32 owner, __u32 *index)
+ {
+@@ -350,6 +374,74 @@ TEST(mutex_state)
+ close(fd);
+ }
+
++TEST(manual_event_state)
++{
++ struct winesync_event_args event_args;
++ __u32 index;
++ int fd, ret;
++
++ fd = open("/dev/winesync", O_CLOEXEC | O_RDONLY);
++ ASSERT_LE(0, fd);
++
++ event_args.manual = 1;
++ event_args.signaled = 0;
++ event_args.event = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_NE(0xdeadbeef, event_args.event);
++ check_event_state(fd, event_args.event, 0, 1);
++
++ event_args.signaled = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_SET_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, event_args.signaled);
++ check_event_state(fd, event_args.event, 1, 1);
++
++ ret = ioctl(fd, WINESYNC_IOC_SET_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(1, event_args.signaled);
++ check_event_state(fd, event_args.event, 1, 1);
++
++ ret = wait_any(fd, 1, &event_args.event, 123, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++ check_event_state(fd, event_args.event, 1, 1);
++
++ event_args.signaled = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_RESET_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(1, event_args.signaled);
++ check_event_state(fd, event_args.event, 0, 1);
++
++ ret = ioctl(fd, WINESYNC_IOC_RESET_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, event_args.signaled);
++ check_event_state(fd, event_args.event, 0, 1);
++
++ ret = wait_any(fd, 1, &event_args.event, 123, &index);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(ETIMEDOUT, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_SET_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, event_args.signaled);
++
++ ret = ioctl(fd, WINESYNC_IOC_PULSE_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(1, event_args.signaled);
++ check_event_state(fd, event_args.event, 0, 1);
++
++ ret = ioctl(fd, WINESYNC_IOC_PULSE_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, event_args.signaled);
++ check_event_state(fd, event_args.event, 0, 1);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &event_args.event);
++ EXPECT_EQ(0, ret);
++
++ close(fd);
++}
++
+ TEST(test_wait_any)
+ {
+ struct winesync_mutex_args mutex_args = {0};
+--
+2.36.0
+
+From 5eeeb415ccc7e046fc71f20345bf8be20edfc1c4 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Wed, 19 Jan 2022 19:45:39 -0600
+Subject: [PATCH 27/34] selftests: winesync: Add some tests for auto-reset
+ event state.
+
+---
+ .../selftests/drivers/winesync/winesync.c | 59 +++++++++++++++++++
+ 1 file changed, 59 insertions(+)
+
+diff --git a/tools/testing/selftests/drivers/winesync/winesync.c b/tools/testing/selftests/drivers/winesync/winesync.c
+index 7e99f09b113b..3a9ac69308af 100644
+--- a/tools/testing/selftests/drivers/winesync/winesync.c
++++ b/tools/testing/selftests/drivers/winesync/winesync.c
+@@ -442,6 +442,65 @@ TEST(manual_event_state)
+ close(fd);
+ }
+
++TEST(auto_event_state)
++{
++ struct winesync_event_args event_args;
++ __u32 index;
++ int fd, ret;
++
++ fd = open("/dev/winesync", O_CLOEXEC | O_RDONLY);
++ ASSERT_LE(0, fd);
++
++ event_args.manual = 0;
++ event_args.signaled = 1;
++ event_args.event = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_NE(0xdeadbeef, event_args.event);
++
++ check_event_state(fd, event_args.event, 1, 0);
++
++ event_args.signaled = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_SET_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(1, event_args.signaled);
++ check_event_state(fd, event_args.event, 1, 0);
++
++ ret = wait_any(fd, 1, &event_args.event, 123, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++ check_event_state(fd, event_args.event, 0, 0);
++
++ event_args.signaled = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_RESET_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, event_args.signaled);
++ check_event_state(fd, event_args.event, 0, 0);
++
++ ret = wait_any(fd, 1, &event_args.event, 123, &index);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(ETIMEDOUT, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_SET_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, event_args.signaled);
++
++ ret = ioctl(fd, WINESYNC_IOC_PULSE_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(1, event_args.signaled);
++ check_event_state(fd, event_args.event, 0, 0);
++
++ ret = ioctl(fd, WINESYNC_IOC_PULSE_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, event_args.signaled);
++ check_event_state(fd, event_args.event, 0, 0);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &event_args.event);
++ EXPECT_EQ(0, ret);
++
++ close(fd);
++}
++
+ TEST(test_wait_any)
+ {
+ struct winesync_mutex_args mutex_args = {0};
+--
+2.36.0
+
+From 6857a39cd264169494908abf8564ac7161773203 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Wed, 19 Jan 2022 21:00:50 -0600
+Subject: [PATCH 28/34] selftests: winesync: Add some tests for wakeup
+ signaling with events.
+
+---
+ .../selftests/drivers/winesync/winesync.c | 152 +++++++++++++++++-
+ 1 file changed, 150 insertions(+), 2 deletions(-)
+
+diff --git a/tools/testing/selftests/drivers/winesync/winesync.c b/tools/testing/selftests/drivers/winesync/winesync.c
+index 3a9ac69308af..2ccc51510230 100644
+--- a/tools/testing/selftests/drivers/winesync/winesync.c
++++ b/tools/testing/selftests/drivers/winesync/winesync.c
+@@ -610,6 +610,7 @@ TEST(test_wait_any)
+
+ TEST(test_wait_all)
+ {
++ struct winesync_event_args event_args = {0};
+ struct winesync_mutex_args mutex_args = {0};
+ struct winesync_sem_args sem_args = {0};
+ __u32 objs[2], owner, index;
+@@ -632,6 +633,11 @@ TEST(test_wait_all)
+ EXPECT_EQ(0, ret);
+ EXPECT_NE(0xdeadbeef, mutex_args.mutex);
+
++ event_args.manual = true;
++ event_args.signaled = true;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++
+ objs[0] = sem_args.sem;
+ objs[1] = mutex_args.mutex;
+
+@@ -680,6 +686,14 @@ TEST(test_wait_all)
+ check_sem_state(fd, sem_args.sem, 1, 3);
+ check_mutex_state(fd, mutex_args.mutex, 1, 123);
+
++ objs[0] = sem_args.sem;
++ objs[1] = event_args.event;
++ ret = wait_all(fd, 2, objs, 123, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++ check_sem_state(fd, sem_args.sem, 0, 3);
++ check_event_state(fd, event_args.event, 1, 1);
++
+ /* test waiting on the same object twice */
+ objs[0] = objs[1] = sem_args.sem;
+ ret = wait_all(fd, 2, objs, 123, &index);
+@@ -690,6 +704,8 @@ TEST(test_wait_all)
+ EXPECT_EQ(0, ret);
+ ret = ioctl(fd, WINESYNC_IOC_DELETE, &mutex_args.mutex);
+ EXPECT_EQ(0, ret);
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &event_args.event);
++ EXPECT_EQ(0, ret);
+
+ close(fd);
+ }
+@@ -829,6 +845,7 @@ static int wait_for_thread(pthread_t thread, unsigned int ms)
+
+ TEST(wake_any)
+ {
++ struct winesync_event_args event_args = {0};
+ struct winesync_mutex_args mutex_args = {0};
+ struct winesync_wait_args wait_args = {0};
+ struct winesync_sem_args sem_args = {0};
+@@ -918,10 +935,103 @@ TEST(wake_any)
+ EXPECT_EQ(0, thread_args.ret);
+ EXPECT_EQ(1, wait_args.index);
+
++ /* test waking events */
++
++ event_args.manual = false;
++ event_args.signaled = false;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++
++ objs[1] = event_args.event;
++ get_abs_timeout(&timeout, CLOCK_MONOTONIC, 1000);
++ ret = pthread_create(&thread, NULL, wait_thread, &thread_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(ETIMEDOUT, ret);
++
++ ret = ioctl(fd, WINESYNC_IOC_SET_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, event_args.signaled);
++ check_event_state(fd, event_args.event, 0, 0);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, thread_args.ret);
++ EXPECT_EQ(1, wait_args.index);
++
++ get_abs_timeout(&timeout, CLOCK_MONOTONIC, 1000);
++ ret = pthread_create(&thread, NULL, wait_thread, &thread_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(ETIMEDOUT, ret);
++
++ ret = ioctl(fd, WINESYNC_IOC_PULSE_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, event_args.signaled);
++ check_event_state(fd, event_args.event, 0, 0);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, thread_args.ret);
++ EXPECT_EQ(1, wait_args.index);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &event_args.event);
++ EXPECT_EQ(0, ret);
++
++ event_args.manual = true;
++ event_args.signaled = false;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++
++ objs[1] = event_args.event;
++ get_abs_timeout(&timeout, CLOCK_MONOTONIC, 1000);
++ ret = pthread_create(&thread, NULL, wait_thread, &thread_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(ETIMEDOUT, ret);
++
++ ret = ioctl(fd, WINESYNC_IOC_SET_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, event_args.signaled);
++ check_event_state(fd, event_args.event, 1, 1);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, thread_args.ret);
++ EXPECT_EQ(1, wait_args.index);
++
++ ret = ioctl(fd, WINESYNC_IOC_RESET_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(1, event_args.signaled);
++
++ get_abs_timeout(&timeout, CLOCK_MONOTONIC, 1000);
++ ret = pthread_create(&thread, NULL, wait_thread, &thread_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(ETIMEDOUT, ret);
++
++ ret = ioctl(fd, WINESYNC_IOC_PULSE_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, event_args.signaled);
++ check_event_state(fd, event_args.event, 0, 1);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, thread_args.ret);
++ EXPECT_EQ(1, wait_args.index);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &event_args.event);
++ EXPECT_EQ(0, ret);
++
+ /* delete an object while it's being waited on */
+
+ get_abs_timeout(&timeout, CLOCK_MONOTONIC, 200);
+ wait_args.owner = 123;
++ objs[1] = mutex_args.mutex;
+ ret = pthread_create(&thread, NULL, wait_thread, &thread_args);
+ EXPECT_EQ(0, ret);
+
+@@ -943,11 +1053,13 @@ TEST(wake_any)
+
+ TEST(wake_all)
+ {
++ struct winesync_event_args manual_event_args = {0};
++ struct winesync_event_args auto_event_args = {0};
+ struct winesync_mutex_args mutex_args = {0};
+ struct winesync_wait_args wait_args = {0};
+ struct winesync_sem_args sem_args = {0};
+ struct wait_args thread_args;
+- __u32 objs[2], count, index;
++ __u32 objs[4], count, index;
+ struct timespec timeout;
+ pthread_t thread;
+ int fd, ret;
+@@ -969,13 +1081,25 @@ TEST(wake_all)
+ EXPECT_EQ(0, ret);
+ EXPECT_NE(0xdeadbeef, mutex_args.mutex);
+
++ manual_event_args.manual = true;
++ manual_event_args.signaled = true;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_EVENT, &manual_event_args);
++ EXPECT_EQ(0, ret);
++
++ auto_event_args.manual = false;
++ auto_event_args.signaled = true;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_EVENT, &auto_event_args);
++ EXPECT_EQ(0, ret);
++
+ objs[0] = sem_args.sem;
+ objs[1] = mutex_args.mutex;
++ objs[2] = manual_event_args.event;
++ objs[3] = auto_event_args.event;
+
+ get_abs_timeout(&timeout, CLOCK_MONOTONIC, 1000);
+ wait_args.timeout = (uintptr_t)&timeout;
+ wait_args.objs = (uintptr_t)objs;
+- wait_args.count = 2;
++ wait_args.count = 4;
+ wait_args.owner = 456;
+ thread_args.fd = fd;
+ thread_args.args = &wait_args;
+@@ -1009,12 +1133,32 @@ TEST(wake_all)
+
+ check_mutex_state(fd, mutex_args.mutex, 0, 0);
+
++ ret = ioctl(fd, WINESYNC_IOC_RESET_EVENT, &manual_event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(1, manual_event_args.signaled);
++
+ sem_args.count = 2;
+ ret = ioctl(fd, WINESYNC_IOC_PUT_SEM, &sem_args);
+ EXPECT_EQ(0, ret);
+ EXPECT_EQ(0, sem_args.count);
++ check_sem_state(fd, sem_args.sem, 2, 3);
++
++ ret = ioctl(fd, WINESYNC_IOC_RESET_EVENT, &auto_event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(1, auto_event_args.signaled);
++
++ ret = ioctl(fd, WINESYNC_IOC_SET_EVENT, &manual_event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, manual_event_args.signaled);
++
++ ret = ioctl(fd, WINESYNC_IOC_SET_EVENT, &auto_event_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, auto_event_args.signaled);
++
+ check_sem_state(fd, sem_args.sem, 1, 3);
+ check_mutex_state(fd, mutex_args.mutex, 1, 456);
++ check_event_state(fd, manual_event_args.event, 1, 1);
++ check_event_state(fd, auto_event_args.event, 0, 0);
+
+ ret = wait_for_thread(thread, 100);
+ EXPECT_EQ(0, ret);
+@@ -1034,6 +1178,10 @@ TEST(wake_all)
+ EXPECT_EQ(0, ret);
+ ret = ioctl(fd, WINESYNC_IOC_DELETE, &mutex_args.mutex);
+ EXPECT_EQ(0, ret);
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &manual_event_args.event);
++ EXPECT_EQ(0, ret);
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &auto_event_args.event);
++ EXPECT_EQ(0, ret);
+
+ ret = wait_for_thread(thread, 200);
+ EXPECT_EQ(0, ret);
+--
+2.36.0
+
+From 8d2d3a310b90252903cc10e84e2bb1a06d7e8fac Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Wed, 19 Jan 2022 21:06:22 -0600
+Subject: [PATCH 29/34] selftests: winesync: Add some tests for invalid object
+ handling with events.
+
+---
+ .../selftests/drivers/winesync/winesync.c | 34 +++++++++++++++++++
+ 1 file changed, 34 insertions(+)
+
+diff --git a/tools/testing/selftests/drivers/winesync/winesync.c b/tools/testing/selftests/drivers/winesync/winesync.c
+index 2ccc51510230..f2e18836c733 100644
+--- a/tools/testing/selftests/drivers/winesync/winesync.c
++++ b/tools/testing/selftests/drivers/winesync/winesync.c
+@@ -712,6 +712,7 @@ TEST(test_wait_all)
+
+ TEST(invalid_objects)
+ {
++ struct winesync_event_args event_args = {0};
+ struct winesync_mutex_args mutex_args = {0};
+ struct winesync_wait_args wait_args = {0};
+ struct winesync_sem_args sem_args = {0};
+@@ -737,6 +738,22 @@ TEST(invalid_objects)
+ EXPECT_EQ(-1, ret);
+ EXPECT_EQ(EINVAL, errno);
+
++ ret = ioctl(fd, WINESYNC_IOC_SET_EVENT, &event_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_RESET_EVENT, &event_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_PULSE_EVENT, &event_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_READ_EVENT, &event_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
+ wait_args.objs = (uintptr_t)objs;
+ wait_args.count = 1;
+ ret = ioctl(fd, WINESYNC_IOC_WAIT_ANY, &wait_args);
+@@ -763,6 +780,23 @@ TEST(invalid_objects)
+ EXPECT_EQ(-1, ret);
+ EXPECT_EQ(EINVAL, errno);
+
++ event_args.event = sem_args.sem;
++ ret = ioctl(fd, WINESYNC_IOC_SET_EVENT, &event_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_RESET_EVENT, &event_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_PULSE_EVENT, &event_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_READ_EVENT, &event_args);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(EINVAL, errno);
++
+ objs[0] = sem_args.sem;
+ objs[1] = sem_args.sem + 1;
+ wait_args.count = 2;
+--
+2.36.0
+
+From 25270ec5877bcf2aa81fc4dd8326a4ee5af6e541 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Wed, 19 Jan 2022 22:01:46 -0600
+Subject: [PATCH 30/34] docs: winesync: Document event APIs.
+
+---
+ Documentation/userspace-api/winesync.rst | 104 ++++++++++++++++++++++-
+ 1 file changed, 101 insertions(+), 3 deletions(-)
+
+diff --git a/Documentation/userspace-api/winesync.rst b/Documentation/userspace-api/winesync.rst
+index 34e54be229cf..ffa2f8fbc7e3 100644
+--- a/Documentation/userspace-api/winesync.rst
++++ b/Documentation/userspace-api/winesync.rst
+@@ -18,8 +18,8 @@ interfaces such as futex(2) and poll(2).
+ Synchronization primitives
+ ==========================
+
+-The winesync driver exposes two types of synchronization primitives,
+-semaphores and mutexes.
++The winesync driver exposes three types of synchronization primitives:
++semaphores, mutexes, and events.
+
+ A semaphore holds a single volatile 32-bit counter, and a static
+ 32-bit integer denoting the maximum value. It is considered signaled
+@@ -45,6 +45,12 @@ intended use is to store a thread identifier; however, the winesync
+ driver does not actually validate that a calling thread provides
+ consistent or unique identifiers.
+
++An event holds a volatile boolean state denoting whether it is
++signaled or not. There are two types of events, auto-reset and
++manual-reset. An auto-reset event is designaled when a wait is
++satisfied; a manual-reset event is not. The event type is specified
++when the event is created.
++
+ Unless specified otherwise, all operations on an object are atomic and
+ totally ordered with respect to other operations on the same object.
+
+@@ -78,6 +84,12 @@ structures used in ioctl calls::
+ __u32 count;
+ };
+
++ struct winesync_event_args {
++ __u32 event;
++ __u32 signaled;
++ __u32 manual;
++ };
++
+ struct winesync_wait_args {
+ __u64 timeout;
+ __u64 objs;
+@@ -125,6 +137,22 @@ The ioctls are as follows:
+ If ``owner`` is nonzero and ``count`` is zero, or if ``owner`` is
+ zero and ``count`` is nonzero, the function fails with ``EINVAL``.
+
++.. c:macro:: WINESYNC_IOC_CREATE_EVENT
++
++ Create an event object. Takes a pointer to struct
++ :c:type:`winesync_event_args`, which is used as follows:
++
++ .. list-table::
++
++ * - ``event``
++ - On output, contains the identifier of the created event.
++ * - ``signaled``
++ - If nonzero, the event is initially signaled, otherwise
++ nonsignaled.
++ * - ``manual``
++ - If nonzero, the event is a manual-reset event, otherwise
++ auto-reset.
++
+ .. c:macro:: WINESYNC_IOC_DELETE
+
+ Delete an object of any type. Takes an input-only pointer to a
+@@ -178,6 +206,60 @@ The ioctls are as follows:
+ unowned and signaled, and eligible threads waiting on it will be
+ woken as appropriate.
+
++.. c:macro:: WINESYNC_IOC_SET_EVENT
++
++ Signal an event object. Takes a pointer to struct
++ :c:type:`winesync_event_args`, which is used as follows:
++
++ .. list-table::
++
++ * - ``event``
++ - Event object to set.
++ * - ``signaled``
++ - On output, contains the previous state of the event.
++ * - ``manual``
++ - Unused.
++
++ Eligible threads will be woken, and auto-reset events will be
++ designaled appropriately.
++
++.. c:macro:: WINESYNC_IOC_RESET_EVENT
++
++ Designal an event object. Takes a pointer to struct
++ :c:type:`winesync_event_args`, which is used as follows:
++
++ .. list-table::
++
++ * - ``event``
++ - Event object to reset.
++ * - ``signaled``
++ - On output, contains the previous state of the event.
++ * - ``manual``
++ - Unused.
++
++.. c:macro:: WINESYNC_IOC_PULSE_EVENT
++
++ Wake threads waiting on an event object without leaving it in a
++ signaled state. Takes a pointer to struct
++ :c:type:`winesync_event_args`, which is used as follows:
++
++ .. list-table::
++
++ * - ``event``
++ - Event object to pulse.
++ * - ``signaled``
++ - On output, contains the previous state of the event.
++ * - ``manual``
++ - Unused.
++
++ A pulse operation can be thought of as a set followed by a reset,
++ performed as a single atomic operation. If two threads are waiting
++ on an auto-reset event which is pulsed, only one will be woken. If
++ two threads are waiting a manual-reset event which is pulsed, both
++ will be woken. However, in both cases, the event will be unsignaled
++ afterwards, and a simultaneous read operation will always report the
++ event as unsignaled.
++
+ .. c:macro:: WINESYNC_IOC_READ_SEM
+
+ Read the current state of a semaphore object. Takes a pointer to
+@@ -211,6 +293,21 @@ The ioctls are as follows:
+ ``EOWNERDEAD``. In this case, ``count`` and ``owner`` are set to
+ zero.
+
++.. c:macro:: WINESYNC_IOC_READ_EVENT
++
++ Read the current state of an event object. Takes a pointer to struct
++ :c:type:`winesync_event_args`, which is used as follows:
++
++ .. list-table::
++
++ * - ``event``
++ - Event object.
++ * - ``signaled``
++ - On output, contains the current state of the event.
++ * - ``manual``
++ - On output, contains 1 if the event is a manual-reset event,
++ and 0 otherwise.
++
+ .. c:macro:: WINESYNC_IOC_KILL_OWNER
+
+ Mark any mutexes owned by the given owner as unowned and
+@@ -272,7 +369,8 @@ The ioctls are as follows:
+ considered to be signaled if it is unowned or if its owner matches
+ the ``owner`` argument, and is acquired by incrementing its
+ recursion count by one and setting its owner to the ``owner``
+- argument.
++ argument. An auto-reset event is acquired by designaling it; a
++ manual-reset event is not affected by acquisition.
+
+ Acquisition is atomic and totally ordered with respect to other
+ operations on the same object. If two wait operations (with
+--
+2.36.0
+
+From 80f5b4dfd947592ff89cb54a07ce9d1087c608d0 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Wed, 13 Apr 2022 20:02:39 -0500
+Subject: [PATCH 31/34] winesync: Introduce alertable waits.
+
+---
+ drivers/misc/winesync.c | 68 ++++++++++++++++++++++++++++++-----
+ include/uapi/linux/winesync.h | 2 +-
+ 2 files changed, 60 insertions(+), 10 deletions(-)
+
+diff --git a/drivers/misc/winesync.c b/drivers/misc/winesync.c
+index 4fbf231a7909..7a28f58dbbf2 100644
+--- a/drivers/misc/winesync.c
++++ b/drivers/misc/winesync.c
+@@ -841,10 +841,11 @@ static int setup_wait(struct winesync_device *dev,
+ const __u32 count = args->count;
+ struct winesync_q *q;
+ ktime_t timeout = 0;
++ __u32 total_count;
+ __u32 *ids;
+ __u32 i, j;
+
+- if (!args->owner || args->pad)
++ if (!args->owner)
+ return -EINVAL;
+
+ if (args->timeout) {
+@@ -858,7 +859,11 @@ static int setup_wait(struct winesync_device *dev,
+ timeout = timespec64_to_ns(&to);
+ }
+
+- ids = kmalloc_array(count, sizeof(*ids), GFP_KERNEL);
++ total_count = count;
++ if (args->alert)
++ total_count++;
++
++ ids = kmalloc_array(total_count, sizeof(*ids), GFP_KERNEL);
+ if (!ids)
+ return -ENOMEM;
+ if (copy_from_user(ids, u64_to_user_ptr(args->objs),
+@@ -866,8 +871,10 @@ static int setup_wait(struct winesync_device *dev,
+ kfree(ids);
+ return -EFAULT;
+ }
++ if (args->alert)
++ ids[count] = args->alert;
+
+- q = kmalloc(struct_size(q, entries, count), GFP_KERNEL);
++ q = kmalloc(struct_size(q, entries, total_count), GFP_KERNEL);
+ if (!q) {
+ kfree(ids);
+ return -ENOMEM;
+@@ -879,7 +886,7 @@ static int setup_wait(struct winesync_device *dev,
+ q->ownerdead = false;
+ q->count = count;
+
+- for (i = 0; i < count; i++) {
++ for (i = 0; i < total_count; i++) {
+ struct winesync_q_entry *entry = &q->entries[i];
+ struct winesync_obj *obj = get_obj(dev, ids[i]);
+
+@@ -934,9 +941,9 @@ static int winesync_wait_any(struct winesync_device *dev, void __user *argp)
+ {
+ struct winesync_wait_args args;
+ struct winesync_q *q;
++ __u32 i, total_count;
+ ktime_t timeout;
+ int signaled;
+- __u32 i;
+ int ret;
+
+ if (copy_from_user(&args, argp, sizeof(args)))
+@@ -946,9 +953,13 @@ static int winesync_wait_any(struct winesync_device *dev, void __user *argp)
+ if (ret < 0)
+ return ret;
+
++ total_count = args.count;
++ if (args.alert)
++ total_count++;
++
+ /* queue ourselves */
+
+- for (i = 0; i < args.count; i++) {
++ for (i = 0; i < total_count; i++) {
+ struct winesync_q_entry *entry = &q->entries[i];
+ struct winesync_obj *obj = entry->obj;
+
+@@ -957,9 +968,15 @@ static int winesync_wait_any(struct winesync_device *dev, void __user *argp)
+ spin_unlock(&obj->lock);
+ }
+
+- /* check if we are already signaled */
++ /*
++ * Check if we are already signaled.
++ *
++ * Note that the API requires that normal objects are checked before
++ * the alert event. Hence we queue the alert event last, and check
++ * objects in order.
++ */
+
+- for (i = 0; i < args.count; i++) {
++ for (i = 0; i < total_count; i++) {
+ struct winesync_obj *obj = q->entries[i].obj;
+
+ if (atomic_read(&q->signaled) != -1)
+@@ -976,7 +993,7 @@ static int winesync_wait_any(struct winesync_device *dev, void __user *argp)
+
+ /* and finally, unqueue */
+
+- for (i = 0; i < args.count; i++) {
++ for (i = 0; i < total_count; i++) {
+ struct winesync_q_entry *entry = &q->entries[i];
+ struct winesync_obj *obj = entry->obj;
+
+@@ -1036,6 +1053,14 @@ static int winesync_wait_all(struct winesync_device *dev, void __user *argp)
+ */
+ list_add_tail(&entry->node, &obj->all_waiters);
+ }
++ if (args.alert) {
++ struct winesync_q_entry *entry = &q->entries[args.count];
++ struct winesync_obj *obj = entry->obj;
++
++ spin_lock(&obj->lock);
++ list_add_tail(&entry->node, &obj->any_waiters);
++ spin_unlock(&obj->lock);
++ }
+
+ /* check if we are already signaled */
+
+@@ -1043,6 +1068,21 @@ static int winesync_wait_all(struct winesync_device *dev, void __user *argp)
+
+ spin_unlock(&dev->wait_all_lock);
+
++ /*
++ * Check if the alert event is signaled, making sure to do so only
++ * after checking if the other objects are signaled.
++ */
++
++ if (args.alert) {
++ struct winesync_obj *obj = q->entries[args.count].obj;
++
++ if (atomic_read(&q->signaled) == -1) {
++ spin_lock(&obj->lock);
++ try_wake_any_obj(obj);
++ spin_unlock(&obj->lock);
++ }
++ }
++
+ /* sleep */
+
+ ret = winesync_schedule(q, args.timeout ? &timeout : NULL);
+@@ -1065,6 +1105,16 @@ static int winesync_wait_all(struct winesync_device *dev, void __user *argp)
+
+ put_obj(obj);
+ }
++ if (args.alert) {
++ struct winesync_q_entry *entry = &q->entries[args.count];
++ struct winesync_obj *obj = entry->obj;
++
++ spin_lock(&obj->lock);
++ list_del(&entry->node);
++ spin_unlock(&obj->lock);
++
++ put_obj(obj);
++ }
+
+ spin_unlock(&dev->wait_all_lock);
+
+diff --git a/include/uapi/linux/winesync.h b/include/uapi/linux/winesync.h
+index fb3788339ffe..5b4e369f7469 100644
+--- a/include/uapi/linux/winesync.h
++++ b/include/uapi/linux/winesync.h
+@@ -34,7 +34,7 @@ struct winesync_wait_args {
+ __u32 count;
+ __u32 owner;
+ __u32 index;
+- __u32 pad;
++ __u32 alert;
+ };
+
+ #define WINESYNC_IOC_BASE 0xf7
+--
+2.37.3
+
+From 127efad71a0702a68890097b114b3467c234259f Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Wed, 20 Apr 2022 18:08:37 -0500
+Subject: [PATCH 32/34] selftests: winesync: Add tests for alertable waits.
+
+---
+ .../selftests/drivers/winesync/winesync.c | 191 +++++++++++++++++-
+ 1 file changed, 188 insertions(+), 3 deletions(-)
+
+diff --git a/tools/testing/selftests/drivers/winesync/winesync.c b/tools/testing/selftests/drivers/winesync/winesync.c
+index f2e18836c733..a87e3c48709b 100644
+--- a/tools/testing/selftests/drivers/winesync/winesync.c
++++ b/tools/testing/selftests/drivers/winesync/winesync.c
+@@ -110,7 +110,7 @@ static int read_event_state(int fd, __u32 event, __u32 *signaled, __u32 *manual)
+ })
+
+ static int wait_objs(int fd, unsigned long request, __u32 count,
+- const __u32 *objs, __u32 owner, __u32 *index)
++ const __u32 *objs, __u32 owner, __u32 alert, __u32 *index)
+ {
+ struct winesync_wait_args args = {0};
+ struct timespec timeout;
+@@ -123,6 +123,7 @@ static int wait_objs(int fd, unsigned long request, __u32 count,
+ args.objs = (uintptr_t)objs;
+ args.owner = owner;
+ args.index = 0xdeadbeef;
++ args.alert = alert;
+ ret = ioctl(fd, request, &args);
+ *index = args.index;
+ return ret;
+@@ -131,13 +132,29 @@ static int wait_objs(int fd, unsigned long request, __u32 count,
+ static int wait_any(int fd, __u32 count, const __u32 *objs,
+ __u32 owner, __u32 *index)
+ {
+- return wait_objs(fd, WINESYNC_IOC_WAIT_ANY, count, objs, owner, index);
++ return wait_objs(fd, WINESYNC_IOC_WAIT_ANY,
++ count, objs, owner, 0, index);
+ }
+
+ static int wait_all(int fd, __u32 count, const __u32 *objs,
+ __u32 owner, __u32 *index)
+ {
+- return wait_objs(fd, WINESYNC_IOC_WAIT_ALL, count, objs, owner, index);
++ return wait_objs(fd, WINESYNC_IOC_WAIT_ALL,
++ count, objs, owner, 0, index);
++}
++
++static int wait_any_alert(int fd, __u32 count, const __u32 *objs,
++ __u32 owner, __u32 alert, __u32 *index)
++{
++ return wait_objs(fd, WINESYNC_IOC_WAIT_ANY,
++ count, objs, owner, alert, index);
++}
++
++static int wait_all_alert(int fd, __u32 count, const __u32 *objs,
++ __u32 owner, __u32 alert, __u32 *index)
++{
++ return wait_objs(fd, WINESYNC_IOC_WAIT_ALL,
++ count, objs, owner, alert, index);
+ }
+
+ TEST(semaphore_state)
+@@ -1225,4 +1242,172 @@ TEST(wake_all)
+ close(fd);
+ }
+
++TEST(alert_any)
++{
++ struct winesync_event_args event_args = {0};
++ struct winesync_sem_args sem_args = {0};
++ __u32 objs[2], index;
++ int fd, ret;
++
++ fd = open("/dev/winesync", O_CLOEXEC | O_RDONLY);
++ ASSERT_LE(0, fd);
++
++ sem_args.count = 0;
++ sem_args.max = 2;
++ sem_args.sem = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_SEM, &sem_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_NE(0xdeadbeef, sem_args.sem);
++ objs[0] = sem_args.sem;
++
++ sem_args.count = 1;
++ sem_args.max = 2;
++ sem_args.sem = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_SEM, &sem_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_NE(0xdeadbeef, sem_args.sem);
++ objs[1] = sem_args.sem;
++
++ event_args.manual = true;
++ event_args.signaled = true;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_any_alert(fd, 0, NULL, 123, event_args.event, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++
++ ret = ioctl(fd, WINESYNC_IOC_RESET_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_any_alert(fd, 0, NULL, 123, event_args.event, &index);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(ETIMEDOUT, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_SET_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_any_alert(fd, 2, objs, 123, event_args.event, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(1, index);
++
++ ret = wait_any_alert(fd, 2, objs, 123, event_args.event, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(2, index);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &event_args.event);
++ EXPECT_EQ(0, ret);
++
++ /* test with an auto-reset event */
++
++ event_args.manual = false;
++ event_args.signaled = true;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++
++ sem_args.sem = objs[0];
++ sem_args.count = 1;
++ ret = ioctl(fd, WINESYNC_IOC_PUT_SEM, &sem_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_any_alert(fd, 2, objs, 123, event_args.event, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++
++ ret = wait_any_alert(fd, 2, objs, 123, event_args.event, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(2, index);
++
++ ret = wait_any_alert(fd, 2, objs, 123, event_args.event, &index);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(ETIMEDOUT, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &event_args.event);
++ EXPECT_EQ(0, ret);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &objs[0]);
++ EXPECT_EQ(0, ret);
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &objs[1]);
++ EXPECT_EQ(0, ret);
++
++ close(fd);
++}
++
++TEST(alert_all)
++{
++ struct winesync_event_args event_args = {0};
++ struct winesync_sem_args sem_args = {0};
++ __u32 objs[2], index;
++ int fd, ret;
++
++ fd = open("/dev/winesync", O_CLOEXEC | O_RDONLY);
++ ASSERT_LE(0, fd);
++
++ sem_args.count = 2;
++ sem_args.max = 2;
++ sem_args.sem = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_SEM, &sem_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_NE(0xdeadbeef, sem_args.sem);
++ objs[0] = sem_args.sem;
++
++ sem_args.count = 1;
++ sem_args.max = 2;
++ sem_args.sem = 0xdeadbeef;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_SEM, &sem_args);
++ EXPECT_EQ(0, ret);
++ EXPECT_NE(0xdeadbeef, sem_args.sem);
++ objs[1] = sem_args.sem;
++
++ event_args.manual = true;
++ event_args.signaled = true;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_all_alert(fd, 2, objs, 123, event_args.event, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++
++ ret = wait_all_alert(fd, 2, objs, 123, event_args.event, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(2, index);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &event_args.event);
++ EXPECT_EQ(0, ret);
++
++ /* test with an auto-reset event */
++
++ event_args.manual = false;
++ event_args.signaled = true;
++ ret = ioctl(fd, WINESYNC_IOC_CREATE_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++
++ sem_args.sem = objs[1];
++ sem_args.count = 2;
++ ret = ioctl(fd, WINESYNC_IOC_PUT_SEM, &sem_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_all_alert(fd, 2, objs, 123, event_args.event, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, index);
++
++ ret = wait_all_alert(fd, 2, objs, 123, event_args.event, &index);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(2, index);
++
++ ret = wait_all_alert(fd, 2, objs, 123, event_args.event, &index);
++ EXPECT_EQ(-1, ret);
++ EXPECT_EQ(ETIMEDOUT, errno);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &event_args.event);
++ EXPECT_EQ(0, ret);
++
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &objs[0]);
++ EXPECT_EQ(0, ret);
++ ret = ioctl(fd, WINESYNC_IOC_DELETE, &objs[1]);
++ EXPECT_EQ(0, ret);
++
++ close(fd);
++}
++
+ TEST_HARNESS_MAIN
+--
+2.36.0
+
+From e5ec8276fae40b6a2cdab3cb728160705c0f40ab Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Wed, 20 Apr 2022 18:24:43 -0500
+Subject: [PATCH 33/34] serftests: winesync: Add some tests for wakeup
+ signaling via alerts.
+
+---
+ .../selftests/drivers/winesync/winesync.c | 66 +++++++++++++++++++
+ 1 file changed, 66 insertions(+)
+
+diff --git a/tools/testing/selftests/drivers/winesync/winesync.c b/tools/testing/selftests/drivers/winesync/winesync.c
+index a87e3c48709b..169e922484b0 100644
+--- a/tools/testing/selftests/drivers/winesync/winesync.c
++++ b/tools/testing/selftests/drivers/winesync/winesync.c
+@@ -1245,8 +1245,12 @@ TEST(wake_all)
+ TEST(alert_any)
+ {
+ struct winesync_event_args event_args = {0};
++ struct winesync_wait_args wait_args = {0};
+ struct winesync_sem_args sem_args = {0};
++ struct wait_args thread_args;
++ struct timespec timeout;
+ __u32 objs[2], index;
++ pthread_t thread;
+ int fd, ret;
+
+ fd = open("/dev/winesync", O_CLOEXEC | O_RDONLY);
+@@ -1295,6 +1299,35 @@ TEST(alert_any)
+ EXPECT_EQ(0, ret);
+ EXPECT_EQ(2, index);
+
++ /* test wakeup via alert */
++
++ ret = ioctl(fd, WINESYNC_IOC_RESET_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++
++ get_abs_timeout(&timeout, CLOCK_MONOTONIC, 1000);
++ wait_args.timeout = (uintptr_t)&timeout;
++ wait_args.objs = (uintptr_t)objs;
++ wait_args.count = 2;
++ wait_args.owner = 123;
++ wait_args.index = 0xdeadbeef;
++ wait_args.alert = event_args.event;
++ thread_args.fd = fd;
++ thread_args.args = &wait_args;
++ thread_args.request = WINESYNC_IOC_WAIT_ANY;
++ ret = pthread_create(&thread, NULL, wait_thread, &thread_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(ETIMEDOUT, ret);
++
++ ret = ioctl(fd, WINESYNC_IOC_SET_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, thread_args.ret);
++ EXPECT_EQ(2, wait_args.index);
++
+ ret = ioctl(fd, WINESYNC_IOC_DELETE, &event_args.event);
+ EXPECT_EQ(0, ret);
+
+@@ -1336,8 +1369,12 @@ TEST(alert_any)
+ TEST(alert_all)
+ {
+ struct winesync_event_args event_args = {0};
++ struct winesync_wait_args wait_args = {0};
+ struct winesync_sem_args sem_args = {0};
++ struct wait_args thread_args;
++ struct timespec timeout;
+ __u32 objs[2], index;
++ pthread_t thread;
+ int fd, ret;
+
+ fd = open("/dev/winesync", O_CLOEXEC | O_RDONLY);
+@@ -1372,6 +1409,35 @@ TEST(alert_all)
+ EXPECT_EQ(0, ret);
+ EXPECT_EQ(2, index);
+
++ /* test wakeup via alert */
++
++ ret = ioctl(fd, WINESYNC_IOC_RESET_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++
++ get_abs_timeout(&timeout, CLOCK_MONOTONIC, 1000);
++ wait_args.timeout = (uintptr_t)&timeout;
++ wait_args.objs = (uintptr_t)objs;
++ wait_args.count = 2;
++ wait_args.owner = 123;
++ wait_args.index = 0xdeadbeef;
++ wait_args.alert = event_args.event;
++ thread_args.fd = fd;
++ thread_args.args = &wait_args;
++ thread_args.request = WINESYNC_IOC_WAIT_ALL;
++ ret = pthread_create(&thread, NULL, wait_thread, &thread_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(ETIMEDOUT, ret);
++
++ ret = ioctl(fd, WINESYNC_IOC_SET_EVENT, &event_args);
++ EXPECT_EQ(0, ret);
++
++ ret = wait_for_thread(thread, 100);
++ EXPECT_EQ(0, ret);
++ EXPECT_EQ(0, thread_args.ret);
++ EXPECT_EQ(2, wait_args.index);
++
+ ret = ioctl(fd, WINESYNC_IOC_DELETE, &event_args.event);
+ EXPECT_EQ(0, ret);
+
+--
+2.36.0
+
+From 50ed00eef095c7799949b2523a5c21210b374f86 Mon Sep 17 00:00:00 2001
+From: Zebediah Figura <zfigura@codeweavers.com>
+Date: Wed, 20 Apr 2022 18:58:17 -0500
+Subject: [PATCH 34/34] docs: winesync: Document alertable waits.
+
+---
+ Documentation/userspace-api/winesync.rst | 40 ++++++++++++++++++------
+ 1 file changed, 31 insertions(+), 9 deletions(-)
+
+diff --git a/Documentation/userspace-api/winesync.rst b/Documentation/userspace-api/winesync.rst
+index ffa2f8fbc7e3..f0110d2744c7 100644
+--- a/Documentation/userspace-api/winesync.rst
++++ b/Documentation/userspace-api/winesync.rst
+@@ -354,9 +354,13 @@ The ioctls are as follows:
+ ``EINVAL``.
+ * - ``index``
+ - On success, contains the index (into ``objs``) of the object
+- which was signaled.
+- * - ``pad``
+- - This field is not used and must be set to zero.
++ which was signaled. If ``alert`` was signaled instead,
++ this contains ``count``.
++ * - ``alert``
++ - Optional event object identifier. If nonzero, this specifies
++ an "alert" event object which, if signaled, will terminate
++ the wait. If nonzero, the identifier must point to a valid
++ event.
+
+ This function attempts to acquire one of the given objects. If
+ unable to do so, it sleeps until an object becomes signaled,
+@@ -385,9 +389,19 @@ The ioctls are as follows:
+ the given owner (with a recursion count of 1) and as no longer
+ inconsistent, and ``index`` is still set to the index of the mutex.
+
+- It is valid to pass the same object more than once. If a wakeup
+- occurs due to that object being signaled, ``index`` is set to the
+- lowest index corresponding to that object.
++ The ``alert`` argument is an "extra" event which can terminate the
++ wait, independently of all other objects. If members of ``objs`` and
++ ``alert`` are both simultaneously signaled, a member of ``objs``
++ will always be given priority and acquired first. Aside from this,
++ for "any" waits, there is no difference between passing an event as
++ this parameter, and passing it as an additional object at the end of
++ the ``objs`` array. For "all" waits, there is an additional
++ difference, as described below.
++
++ It is valid to pass the same object more than once, including by
++ passing the same event in the ``objs`` array and in ``alert``. If a
++ wakeup occurs due to that object being signaled, ``index`` is set to
++ the lowest index corresponding to that object.
+
+ The function may fail with ``EINTR`` if a signal is received.
+
+@@ -396,7 +410,7 @@ The ioctls are as follows:
+ Poll on a list of objects, atomically acquiring all of them. Takes a
+ pointer to struct :c:type:`winesync_wait_args`, which is used
+ identically to ``WINESYNC_IOC_WAIT_ANY``, except that ``index`` is
+- always filled with zero on success.
++ always filled with zero on success if not woken via alert.
+
+ This function attempts to simultaneously acquire all of the given
+ objects. If unable to do so, it sleeps until all objects become
+@@ -417,6 +431,14 @@ The ioctls are as follows:
+ objects are specified, there is no way to know which were marked as
+ inconsistent.
+
++ As with "any" waits, the ``alert`` argument is an "extra" event
++ which can terminate the wait. Critically, however, an "all" wait
++ will succeed if all members in ``objs`` are signaled, *or* if
++ ``alert`` is signaled. In the latter case ``index`` will be set to
++ ``count``. As with "any" waits, if both conditions are filled, the
++ former takes priority, and objects in ``objs`` will be acquired.
++
+ Unlike ``WINESYNC_IOC_WAIT_ANY``, it is not valid to pass the same
+- object more than once. If this is attempted, the function fails with
+- ``EINVAL``.
++ object more than once, nor is it valid to pass the same object in
++ ``objs`` and in ``alert`` If this is attempted, the function fails
++ with ``EINVAL``.
+--
+2.36.0
+