From fd2abdd6bc1d035b90c0b5238bdc097461bc87ab Mon Sep 17 00:00:00 2001 From: Jan200101 Date: Sun, 19 Nov 2023 03:36:24 +0100 Subject: kernel 6.5.11 Steam Deck fixes add patching scripts, update configs for the Steam Deck (Dual Role Device support is now required for USB interfacing) --- SOURCES/kernel-x86_64-debug-fedora.config | 43 ++++++- SOURCES/kernel-x86_64-debug-rhel.config | 44 ++++++- SOURCES/kernel-x86_64-fedora.config | 43 ++++++- SOURCES/kernel-x86_64-rhel.config | 44 ++++++- SOURCES/kernel-x86_64-rt-debug-rhel.config | 44 ++++++- SOURCES/kernel-x86_64-rt-rhel.config | 44 ++++++- SPECS/kernel.spec | 5 +- TOOLS/bumpspec.sh | 25 ++++ TOOLS/patch_configs.py | 186 +++++++++++++++++++++++++++++ 9 files changed, 445 insertions(+), 33 deletions(-) create mode 100755 TOOLS/bumpspec.sh create mode 100755 TOOLS/patch_configs.py diff --git a/SOURCES/kernel-x86_64-debug-fedora.config b/SOURCES/kernel-x86_64-debug-fedora.config index 911635f..8b88a59 100644 --- a/SOURCES/kernel-x86_64-debug-fedora.config +++ b/SOURCES/kernel-x86_64-debug-fedora.config @@ -7758,7 +7758,7 @@ CONFIG_USB_CDNS_SUPPORT=m CONFIG_USB_CHAOSKEY=m CONFIG_USB_CHIPIDEA_GENERIC=m CONFIG_USB_CHIPIDEA_IMX=m -# CONFIG_USB_CHIPIDEA is not set +CONFIG_USB_CHIPIDEA=m CONFIG_USB_CHIPIDEA_MSM=m CONFIG_USB_CHIPIDEA_PCI=m # CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set @@ -7769,12 +7769,12 @@ CONFIG_USB_CXACRU=m CONFIG_USB_DEFAULT_PERSIST=y CONFIG_USB_DSBR=m # CONFIG_USB_DWC2_HOST is not set -# CONFIG_USB_DWC2 is not set +CONFIG_USB_DWC2=m # CONFIG_USB_DWC2_PERIPHERAL is not set # CONFIG_USB_DWC3_GADGET is not set -# CONFIG_USB_DWC3_HAPS is not set +CONFIG_USB_DWC3_HAPS=m # CONFIG_USB_DWC3_HOST is not set -# CONFIG_USB_DWC3 is not set +CONFIG_USB_DWC3=m # CONFIG_USB_DWC3_OF_SIMPLE is not set # CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_EHCI_FSL is not set @@ -7793,7 +7793,7 @@ CONFIG_USB_EZUSB_FX2=m # CONFIG_USB_FUNCTIONFS is not set # CONFIG_USB_G_ACM_MS is not set # CONFIG_USB_GADGETFS is not set -# CONFIG_USB_GADGET is not set +CONFIG_USB_GADGET=m # CONFIG_USB_GADGET_TARGET is not set # CONFIG_USB_G_DBGP is not set # CONFIG_USB_G_HID is not set @@ -7877,7 +7877,7 @@ CONFIG_USB_ISIGHTFW=m CONFIG_USB_ISP1760_DUAL_ROLE=y # CONFIG_USB_ISP1760_GADGET_ROLE is not set # CONFIG_USB_ISP1760_HOST_ROLE is not set -# CONFIG_USB_ISP1760 is not set +CONFIG_USB_ISP1760=m CONFIG_USB_KAWETH=m CONFIG_USB_KC2190=y CONFIG_USB_KEENE=m @@ -8741,3 +8741,34 @@ CONFIG_IPC_CLASSES=y CONFIG_LEDS_TPS68470=m # Lenovo Legion CONFIG_LEGION_LAPTOP=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 +# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_ISP1760_HCD=y +CONFIG_USB_ISP1761_UDC=y +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +# CONFIG_U_SERIAL_CONSOLE is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_AMD5536UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_NET2280 is not set +# CONFIG_USB_GOKU is not set +# CONFIG_USB_EG20T is not set +# CONFIG_USB_DUMMY_HCD is not set +# CONFIG_USB_CONFIGFS is not set +# CONFIG_PHY_SAMSUNG_USB2 is not set diff --git a/SOURCES/kernel-x86_64-debug-rhel.config b/SOURCES/kernel-x86_64-debug-rhel.config index 645c2df..0155a06 100644 --- a/SOURCES/kernel-x86_64-debug-rhel.config +++ b/SOURCES/kernel-x86_64-debug-rhel.config @@ -6867,7 +6867,7 @@ CONFIG_USB_CATC=m # CONFIG_USB_CHAOSKEY is not set CONFIG_USB_CHIPIDEA_GENERIC=m CONFIG_USB_CHIPIDEA_IMX=m -# CONFIG_USB_CHIPIDEA is not set +CONFIG_USB_CHIPIDEA=m CONFIG_USB_CHIPIDEA_MSM=m # CONFIG_USB_CONN_GPIO is not set CONFIG_USB_CXACRU=m @@ -6875,8 +6875,8 @@ CONFIG_USB_CXACRU=m # CONFIG_USB_CYTHERM is not set CONFIG_USB_DEFAULT_PERSIST=y # CONFIG_USB_DSBR is not set -# CONFIG_USB_DWC2 is not set -# CONFIG_USB_DWC3 is not set +CONFIG_USB_DWC2=m +CONFIG_USB_DWC3=m # CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_EHCI_FSL is not set # CONFIG_USB_EHCI_HCD_PLATFORM is not set @@ -6890,7 +6890,7 @@ CONFIG_USB_EPSON2888=y CONFIG_USB_EZUSB_FX2=m # CONFIG_USB_FEW_INIT_RETRIES is not set # CONFIG_USB_FOTG210_HCD is not set -# CONFIG_USB_GADGET is not set +CONFIG_USB_GADGET=m CONFIG_USB_GL860=m # CONFIG_USB_GPIO_VBUS is not set CONFIG_USB_GSPCA_BENQ=m @@ -6955,7 +6955,7 @@ CONFIG_USB_IPHETH=m CONFIG_USB_ISIGHTFW=m # CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_ISP1301 is not set -# CONFIG_USB_ISP1760 is not set +CONFIG_USB_ISP1760=m CONFIG_USB_KAWETH=m CONFIG_USB_KC2190=y # CONFIG_USB_KEENE is not set @@ -7700,3 +7700,37 @@ CONFIG_IPC_CLASSES=y CONFIG_LEDS_TPS68470=m # Lenovo Legion CONFIG_LEGION_LAPTOP=m +CONFIG_USB_DWC3_ULPI=y +CONFIG_USB_DWC3_DUAL_ROLE=y +CONFIG_USB_DWC3_PCI=m +CONFIG_USB_DWC3_HAPS=m +CONFIG_USB_DWC2_DUAL_ROLE=y +CONFIG_USB_DWC2_PCI=m +# CONFIG_USB_DWC2_DEBUG is not set +# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_PCI=m +CONFIG_USB_ISP1760_HCD=y +CONFIG_USB_ISP1761_UDC=y +CONFIG_USB_ISP1760_DUAL_ROLE=y +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +# CONFIG_U_SERIAL_CONSOLE is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_AMD5536UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_NET2280 is not set +# CONFIG_USB_GOKU is not set +# CONFIG_USB_EG20T is not set +# CONFIG_USB_DUMMY_HCD is not set +# CONFIG_USB_CONFIGFS is not set +# CONFIG_PHY_SAMSUNG_USB2 is not set diff --git a/SOURCES/kernel-x86_64-fedora.config b/SOURCES/kernel-x86_64-fedora.config index 51f4cb6..b96591c 100644 --- a/SOURCES/kernel-x86_64-fedora.config +++ b/SOURCES/kernel-x86_64-fedora.config @@ -7728,7 +7728,7 @@ CONFIG_USB_CDNS_SUPPORT=m CONFIG_USB_CHAOSKEY=m CONFIG_USB_CHIPIDEA_GENERIC=m CONFIG_USB_CHIPIDEA_IMX=m -# CONFIG_USB_CHIPIDEA is not set +CONFIG_USB_CHIPIDEA=m CONFIG_USB_CHIPIDEA_MSM=m CONFIG_USB_CHIPIDEA_PCI=m # CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set @@ -7739,12 +7739,12 @@ CONFIG_USB_CXACRU=m CONFIG_USB_DEFAULT_PERSIST=y CONFIG_USB_DSBR=m # CONFIG_USB_DWC2_HOST is not set -# CONFIG_USB_DWC2 is not set +CONFIG_USB_DWC2=m # CONFIG_USB_DWC2_PERIPHERAL is not set # CONFIG_USB_DWC3_GADGET is not set -# CONFIG_USB_DWC3_HAPS is not set +CONFIG_USB_DWC3_HAPS=m # CONFIG_USB_DWC3_HOST is not set -# CONFIG_USB_DWC3 is not set +CONFIG_USB_DWC3=m # CONFIG_USB_DWC3_OF_SIMPLE is not set # CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_EHCI_FSL is not set @@ -7763,7 +7763,7 @@ CONFIG_USB_EZUSB_FX2=m # CONFIG_USB_FUNCTIONFS is not set # CONFIG_USB_G_ACM_MS is not set # CONFIG_USB_GADGETFS is not set -# CONFIG_USB_GADGET is not set +CONFIG_USB_GADGET=m # CONFIG_USB_GADGET_TARGET is not set # CONFIG_USB_G_DBGP is not set # CONFIG_USB_G_HID is not set @@ -7847,7 +7847,7 @@ CONFIG_USB_ISIGHTFW=m CONFIG_USB_ISP1760_DUAL_ROLE=y # CONFIG_USB_ISP1760_GADGET_ROLE is not set # CONFIG_USB_ISP1760_HOST_ROLE is not set -# CONFIG_USB_ISP1760 is not set +CONFIG_USB_ISP1760=m CONFIG_USB_KAWETH=m CONFIG_USB_KC2190=y CONFIG_USB_KEENE=m @@ -8711,3 +8711,34 @@ CONFIG_IPC_CLASSES=y CONFIG_LEDS_TPS68470=m # Lenovo Legion CONFIG_LEGION_LAPTOP=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 +# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_ISP1760_HCD=y +CONFIG_USB_ISP1761_UDC=y +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +# CONFIG_U_SERIAL_CONSOLE is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_AMD5536UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_NET2280 is not set +# CONFIG_USB_GOKU is not set +# CONFIG_USB_EG20T is not set +# CONFIG_USB_DUMMY_HCD is not set +# CONFIG_USB_CONFIGFS is not set +# CONFIG_PHY_SAMSUNG_USB2 is not set diff --git a/SOURCES/kernel-x86_64-rhel.config b/SOURCES/kernel-x86_64-rhel.config index aeb7bbc..327ed23 100644 --- a/SOURCES/kernel-x86_64-rhel.config +++ b/SOURCES/kernel-x86_64-rhel.config @@ -6843,7 +6843,7 @@ CONFIG_USB_CATC=m # CONFIG_USB_CHAOSKEY is not set CONFIG_USB_CHIPIDEA_GENERIC=m CONFIG_USB_CHIPIDEA_IMX=m -# CONFIG_USB_CHIPIDEA is not set +CONFIG_USB_CHIPIDEA=m CONFIG_USB_CHIPIDEA_MSM=m # CONFIG_USB_CONN_GPIO is not set CONFIG_USB_CXACRU=m @@ -6851,8 +6851,8 @@ CONFIG_USB_CXACRU=m # CONFIG_USB_CYTHERM is not set CONFIG_USB_DEFAULT_PERSIST=y # CONFIG_USB_DSBR is not set -# CONFIG_USB_DWC2 is not set -# CONFIG_USB_DWC3 is not set +CONFIG_USB_DWC2=m +CONFIG_USB_DWC3=m # CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_EHCI_FSL is not set # CONFIG_USB_EHCI_HCD_PLATFORM is not set @@ -6866,7 +6866,7 @@ CONFIG_USB_EPSON2888=y CONFIG_USB_EZUSB_FX2=m # CONFIG_USB_FEW_INIT_RETRIES is not set # CONFIG_USB_FOTG210_HCD is not set -# CONFIG_USB_GADGET is not set +CONFIG_USB_GADGET=m CONFIG_USB_GL860=m # CONFIG_USB_GPIO_VBUS is not set CONFIG_USB_GSPCA_BENQ=m @@ -6931,7 +6931,7 @@ CONFIG_USB_IPHETH=m CONFIG_USB_ISIGHTFW=m # CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_ISP1301 is not set -# CONFIG_USB_ISP1760 is not set +CONFIG_USB_ISP1760=m CONFIG_USB_KAWETH=m CONFIG_USB_KC2190=y # CONFIG_USB_KEENE is not set @@ -7676,3 +7676,37 @@ CONFIG_IPC_CLASSES=y CONFIG_LEDS_TPS68470=m # Lenovo Legion CONFIG_LEGION_LAPTOP=m +CONFIG_USB_DWC3_ULPI=y +CONFIG_USB_DWC3_DUAL_ROLE=y +CONFIG_USB_DWC3_PCI=m +CONFIG_USB_DWC3_HAPS=m +CONFIG_USB_DWC2_DUAL_ROLE=y +CONFIG_USB_DWC2_PCI=m +# CONFIG_USB_DWC2_DEBUG is not set +# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_PCI=m +CONFIG_USB_ISP1760_HCD=y +CONFIG_USB_ISP1761_UDC=y +CONFIG_USB_ISP1760_DUAL_ROLE=y +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +# CONFIG_U_SERIAL_CONSOLE is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_AMD5536UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_NET2280 is not set +# CONFIG_USB_GOKU is not set +# CONFIG_USB_EG20T is not set +# CONFIG_USB_DUMMY_HCD is not set +# CONFIG_USB_CONFIGFS is not set +# CONFIG_PHY_SAMSUNG_USB2 is not set diff --git a/SOURCES/kernel-x86_64-rt-debug-rhel.config b/SOURCES/kernel-x86_64-rt-debug-rhel.config index 899e282..d5a21ac 100644 --- a/SOURCES/kernel-x86_64-rt-debug-rhel.config +++ b/SOURCES/kernel-x86_64-rt-debug-rhel.config @@ -6922,7 +6922,7 @@ CONFIG_USB_CATC=m # CONFIG_USB_CHAOSKEY is not set CONFIG_USB_CHIPIDEA_GENERIC=m CONFIG_USB_CHIPIDEA_IMX=m -# CONFIG_USB_CHIPIDEA is not set +CONFIG_USB_CHIPIDEA=m CONFIG_USB_CHIPIDEA_MSM=m # CONFIG_USB_CONN_GPIO is not set CONFIG_USB_CXACRU=m @@ -6930,8 +6930,8 @@ CONFIG_USB_CXACRU=m # CONFIG_USB_CYTHERM is not set CONFIG_USB_DEFAULT_PERSIST=y # CONFIG_USB_DSBR is not set -# CONFIG_USB_DWC2 is not set -# CONFIG_USB_DWC3 is not set +CONFIG_USB_DWC2=m +CONFIG_USB_DWC3=m # CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_EHCI_FSL is not set # CONFIG_USB_EHCI_HCD_PLATFORM is not set @@ -6945,7 +6945,7 @@ CONFIG_USB_EPSON2888=y CONFIG_USB_EZUSB_FX2=m # CONFIG_USB_FEW_INIT_RETRIES is not set # CONFIG_USB_FOTG210_HCD is not set -# CONFIG_USB_GADGET is not set +CONFIG_USB_GADGET=m CONFIG_USB_GL860=m # CONFIG_USB_GPIO_VBUS is not set CONFIG_USB_GSPCA_BENQ=m @@ -7010,7 +7010,7 @@ CONFIG_USB_IPHETH=m CONFIG_USB_ISIGHTFW=m # CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_ISP1301 is not set -# CONFIG_USB_ISP1760 is not set +CONFIG_USB_ISP1760=m CONFIG_USB_KAWETH=m CONFIG_USB_KC2190=y # CONFIG_USB_KEENE is not set @@ -7762,3 +7762,37 @@ CONFIG_IPC_CLASSES=y CONFIG_LEDS_TPS68470=m # Lenovo Legion CONFIG_LEGION_LAPTOP=m +CONFIG_USB_DWC3_ULPI=y +CONFIG_USB_DWC3_DUAL_ROLE=y +CONFIG_USB_DWC3_PCI=m +CONFIG_USB_DWC3_HAPS=m +CONFIG_USB_DWC2_DUAL_ROLE=y +CONFIG_USB_DWC2_PCI=m +# CONFIG_USB_DWC2_DEBUG is not set +# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_PCI=m +CONFIG_USB_ISP1760_HCD=y +CONFIG_USB_ISP1761_UDC=y +CONFIG_USB_ISP1760_DUAL_ROLE=y +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +# CONFIG_U_SERIAL_CONSOLE is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_AMD5536UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_NET2280 is not set +# CONFIG_USB_GOKU is not set +# CONFIG_USB_EG20T is not set +# CONFIG_USB_DUMMY_HCD is not set +# CONFIG_USB_CONFIGFS is not set +# CONFIG_PHY_SAMSUNG_USB2 is not set diff --git a/SOURCES/kernel-x86_64-rt-rhel.config b/SOURCES/kernel-x86_64-rt-rhel.config index 8700078..d1fe8d3 100644 --- a/SOURCES/kernel-x86_64-rt-rhel.config +++ b/SOURCES/kernel-x86_64-rt-rhel.config @@ -6898,7 +6898,7 @@ CONFIG_USB_CATC=m # CONFIG_USB_CHAOSKEY is not set CONFIG_USB_CHIPIDEA_GENERIC=m CONFIG_USB_CHIPIDEA_IMX=m -# CONFIG_USB_CHIPIDEA is not set +CONFIG_USB_CHIPIDEA=m CONFIG_USB_CHIPIDEA_MSM=m # CONFIG_USB_CONN_GPIO is not set CONFIG_USB_CXACRU=m @@ -6906,8 +6906,8 @@ CONFIG_USB_CXACRU=m # CONFIG_USB_CYTHERM is not set CONFIG_USB_DEFAULT_PERSIST=y # CONFIG_USB_DSBR is not set -# CONFIG_USB_DWC2 is not set -# CONFIG_USB_DWC3 is not set +CONFIG_USB_DWC2=m +CONFIG_USB_DWC3=m # CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_EHCI_FSL is not set # CONFIG_USB_EHCI_HCD_PLATFORM is not set @@ -6921,7 +6921,7 @@ CONFIG_USB_EPSON2888=y CONFIG_USB_EZUSB_FX2=m # CONFIG_USB_FEW_INIT_RETRIES is not set # CONFIG_USB_FOTG210_HCD is not set -# CONFIG_USB_GADGET is not set +CONFIG_USB_GADGET=m CONFIG_USB_GL860=m # CONFIG_USB_GPIO_VBUS is not set CONFIG_USB_GSPCA_BENQ=m @@ -6986,7 +6986,7 @@ CONFIG_USB_IPHETH=m CONFIG_USB_ISIGHTFW=m # CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_ISP1301 is not set -# CONFIG_USB_ISP1760 is not set +CONFIG_USB_ISP1760=m CONFIG_USB_KAWETH=m CONFIG_USB_KC2190=y # CONFIG_USB_KEENE is not set @@ -7738,3 +7738,37 @@ CONFIG_IPC_CLASSES=y CONFIG_LEDS_TPS68470=m # Lenovo Legion CONFIG_LEGION_LAPTOP=m +CONFIG_USB_DWC3_ULPI=y +CONFIG_USB_DWC3_DUAL_ROLE=y +CONFIG_USB_DWC3_PCI=m +CONFIG_USB_DWC3_HAPS=m +CONFIG_USB_DWC2_DUAL_ROLE=y +CONFIG_USB_DWC2_PCI=m +# CONFIG_USB_DWC2_DEBUG is not set +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_PCI=m +CONFIG_USB_ISP1760_HCD=y +CONFIG_USB_ISP1761_UDC=y +CONFIG_USB_ISP1760_DUAL_ROLE=y +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set +# CONFIG_U_SERIAL_CONSOLE is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_AMD5536UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_NET2280 is not set +# CONFIG_USB_GOKU is not set +# CONFIG_USB_EG20T is not set +# CONFIG_USB_DUMMY_HCD is not set +# CONFIG_USB_CONFIGFS is not set +# CONFIG_PHY_SAMSUNG_USB2 is not set diff --git a/SPECS/kernel.spec b/SPECS/kernel.spec index 8272a83..bc0a375 100644 --- a/SPECS/kernel.spec +++ b/SPECS/kernel.spec @@ -169,7 +169,7 @@ Summary: The Linux kernel # This is needed to do merge window version magic %define patchlevel 5 # This allows pkg_release to have configurable %%{?dist} tag -%define specrelease 301%{?buildid}%{?dist} +%define specrelease 302%{?buildid}%{?dist} # This defines the kabi tarball version %define kabiversion 6.5.11 @@ -3779,6 +3779,9 @@ fi\ # # %changelog +* Sat Nov 18 2023 Jan Drögehoff - 6.5.11-302.fsync +- Steam Deck fixes + * Sun Nov 12 2023 Jan Drögehoff - 6.5.11-301.fsync - kernel-fsync v6.5.11 diff --git a/TOOLS/bumpspec.sh b/TOOLS/bumpspec.sh new file mode 100755 index 0000000..00062b8 --- /dev/null +++ b/TOOLS/bumpspec.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +set -eu + +if [[ $# != 2 ]]; then + >&2 echo "error: bumpspec requires 2 arguments" + exit 1 +fi + +COMMENT="${1}" +SPEC="${2}" + +SPECRELEASE="$(grep "%define specrelease " ${SPEC})" +# assumes the release number is 3 digits +SPECRELEASE_NUMBER="$(echo ${SPECRELEASE} | cut -b 21-23)" + +NEW_SPECRELEASE_NUMBER="$(( ${SPECRELEASE_NUMBER} + 1))" +NEW_SPECRELEASE="${SPECRELEASE/${SPECRELEASE_NUMBER}/${NEW_SPECRELEASE_NUMBER}}" + +echo ${NEW_SPECRELEASE} + +sed -i "s|${SPECRELEASE}|${NEW_SPECRELEASE}|g" ${SPEC} + +rpmdev-bumpspec --comment="${COMMENT}" ${SPEC} + +sed -i "s|%{pkg_release}.1|%{pkg_release}|g" ${SPEC} diff --git a/TOOLS/patch_configs.py b/TOOLS/patch_configs.py new file mode 100755 index 0000000..a1447e0 --- /dev/null +++ b/TOOLS/patch_configs.py @@ -0,0 +1,186 @@ +#!/usr/bin/env python3 +import sys +import os + +CONFIG_FILE_EXT = ".config" + +UNSET = "unset" +DISABLE = "n" +ENABLE = "y" +MODULE = "m" + +GENERIC_PATCHES = [ + # kernel-fsync config + ["I2C_NCT6775", None, MODULE], + ["ZENIFY", None, ENABLE], + ["FB_SIMPLE", UNSET, ENABLE], + ["FB_EFI", UNSET, ENABLE], + ["FB_VESA", UNSET, ENABLE], + ["ACPI_EC_DEBUGFS", UNSET, MODULE], + + # device specific config + # Microsoft Surface + ["HID_IPTS", None, MODULE], + ["HID_ITHC", None, MODULE], + ["SURFACE_BOOK1_DGPU_SWITCH", None, MODULE], + ["VIDEO_DW9719", None, MODULE], + ["IPC_CLASSES", None, ENABLE], + ["LEDS_TPS68470", None, MODULE], + # Lenovo Legion + ["LEGION_LAPTOP", None, MODULE], +] + +ARCH_PATCHES = { + "x86_64": [ + # Steam Deck + ["MFD_STEAMDECK", None, MODULE], + ["SENSORS_STEAMDECK", None, MODULE], + ["LEDS_STEAMDECK", None, MODULE], + ["EXTCON_STEAMDECK", None, MODULE], + # Required by the Steam Deck for DRD, otherwise USB is borked + ["USB_DWC3", None, MODULE], + ["USB_DWC3_ULPI", None, ENABLE], + ["USB_DWC3_DUAL_ROLE", None, ENABLE], + ["USB_DWC3_PCI", None, MODULE], + ["USB_DWC3_HAPS", None, MODULE], + ["USB_DWC2", None, MODULE], + ["USB_DWC2_DUAL_ROLE", None, ENABLE], + ["USB_DWC2_PCI", None, MODULE], + ["USB_DWC2_DEBUG", None, UNSET], + ["USB_DWC2_TRACK_MISSED_SOFS", None, UNSET], + ["USB_CHIPIDEA", None, MODULE], + ["USB_CHIPIDEA_UDC", None, ENABLE], + ["USB_CHIPIDEA_HOST", None, ENABLE], + ["USB_CHIPIDEA_PCI", None, MODULE], + ["USB_CHIPIDEA_MSM", None, MODULE], + ["USB_CHIPIDEA_GENERIC", None, MODULE], + ["USB_ISP1760", None, MODULE], + ["USB_ISP1760_HCD", None, ENABLE], + ["USB_ISP1761_UDC", None, ENABLE], + ["USB_ISP1760_DUAL_ROLE", None, ENABLE], + ["USB_GADGET", None, MODULE], + ["USB_GADGET_VBUS_DRAW", None, "2"], + ["USB_GADGET_STORAGE_NUM_BUFFERS", None, "2"], + ["USB_GADGET_DEBUG", None, UNSET], + ["USB_GADGET_DEBUG_FILES", None, UNSET], + ["USB_GADGET_DEBUG_FS", None, UNSET], + ["U_SERIAL_CONSOLE", None, UNSET], + ["USB_R8A66597", None, UNSET], + ["USB_PXA27X", None, UNSET], + ["USB_MV_UDC", None, UNSET], + ["USB_MV_U3D", None, UNSET], + ["USB_M66592", None, UNSET], + ["USB_BDC_UDC", None, UNSET], + ["USB_AMD5536UDC", None, UNSET], + ["USB_NET2272", None, UNSET], + ["USB_NET2280", None, UNSET], + ["USB_GOKU", None, UNSET], + ["USB_EG20T", None, UNSET], + ["USB_DUMMY_HCD", None, UNSET], + ["USB_CONFIGFS", None, UNSET], + ["PHY_SAMSUNG_USB2", None, UNSET], + ], +} + +def generate_line(c, v) -> str: + if v == UNSET: + v = f"# {c} is not set" + else: + v = f"{c}={v}" + return v + +def apply_patches(data: str, patches, flags = None) -> str: + if flags is None: + flags = [] + + for name, *val in patches: + c = f"CONFIG_{name}" + + s = f"{c}=" + u = f"# {c} " + + if len(val) == 3 and val[2] not in flags: + print(f" Skipping {name}") + continue + + if any(x in data for x in [s, u]): + try: + i = data.index(s) + except ValueError: + i = data.index(u) + + try: + line_start = data.rindex("\n", 0, i)+1 + except ValueError: + # No newline before the config? + # Probably the first line in the file + line_start = 0 + + line_end = data.index("\n", line_start) + + line = data[line_start:line_end] + + if val[0] is not None: + # verify we found what we expect + l = generate_line(c, val[0]) + if l != line: + #print(f" Could not apply {name}: could not find expected config") + continue + data = data[:line_start] + generate_line(c, val[1]) + data[line_end:] + + elif val[0] is None: + # relevant entry does not exist yet and we don't want to replace anything specific + data += generate_line(c, val[1]) + data += "\n" + else: + print(f" Couldn't find {name}") + exit(1) + + return data + +CONFIG_FILES = sys.argv[1:] +if not CONFIG_FILES: + print("No config files given") + exit(1) + +# Verify all given inputs first before working with them +for file in CONFIG_FILES: + if not os.path.isfile(file): + print(f"{file} does not exist") + exit(1) + + filename = os.path.basename(file) + if not filename.endswith(CONFIG_FILE_EXT): + print(f"{file} does not have the right file extension") + exit(1) + + namesegs = filename[:-len(CONFIG_FILE_EXT)].split("-") + if len(namesegs) < 3: + print(f"{file} does not have the right number of segments") + exit(1) + +for file in CONFIG_FILES: + filename = os.path.basename(file) + print(f"Processing {filename}...") + + namesegs = filename[:-len(CONFIG_FILE_EXT)].split("-") + namesegs.pop(0) + + arch = namesegs.pop(0) + flavor = namesegs.pop(-1) + flags = namesegs + if "debug" not in flags: + flags.append("release") + + with open(file, "r+") as fd: + data = fd.read() + fd.seek(0) + + data = apply_patches(data, GENERIC_PATCHES, flags) + if arch in ARCH_PATCHES: + data = apply_patches(data, ARCH_PATCHES[arch], flags) + + fd.write(data) + fd.truncate() + + data = open(file, "r").read() -- cgit v1.2.3