diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/defconfig b/meta-lxatac-bsp/recipes-kernel/linux/files/defconfig index 2b62ae46..e82f00fd 100644 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/defconfig +++ b/meta-lxatac-bsp/recipes-kernel/linux/files/defconfig @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 6.7.0-20240213-1 Kernel Configuration +# Linux/arm 6.8.0-rc1-20240301-1 Kernel Configuration # CONFIG_CC_VERSION_TEXT="arm-oe-linux-gnueabi-gcc (GCC) 13.2.0" CONFIG_CC_IS_GCC=y @@ -15,7 +15,7 @@ CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y CONFIG_CC_HAS_ASM_INLINE=y CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y -CONFIG_PAHOLE_VERSION=0 +CONFIG_PAHOLE_VERSION=124 CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y @@ -224,18 +224,18 @@ CONFIG_AIO=y CONFIG_IO_URING=y CONFIG_ADVISE_SYSCALLS=y CONFIG_MEMBARRIER=y +CONFIG_KCMP=y +CONFIG_RSEQ=y +# CONFIG_DEBUG_RSEQ is not set +CONFIG_CACHESTAT_SYSCALL=y +# CONFIG_PC104 is not set CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_SELFTEST is not set # CONFIG_KALLSYMS_ALL is not set CONFIG_KALLSYMS_BASE_RELATIVE=y CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y -CONFIG_KCMP=y -CONFIG_RSEQ=y -CONFIG_CACHESTAT_SYSCALL=y -# CONFIG_DEBUG_RSEQ is not set CONFIG_HAVE_PERF_EVENTS=y CONFIG_PERF_USE_VMALLOC=y -# CONFIG_PC104 is not set # # Kernel Performance Events And Counters @@ -290,6 +290,9 @@ CONFIG_ARCH_MULTI_V6_V7=y # CONFIG_ARCH_VIRT is not set # CONFIG_ARCH_AIROHA is not set +# CONFIG_ARCH_RDA is not set +# CONFIG_ARCH_SUNPLUS is not set +# CONFIG_ARCH_UNIPHIER is not set # CONFIG_ARCH_ACTIONS is not set # CONFIG_ARCH_ALPINE is not set # CONFIG_ARCH_ARTPEC is not set @@ -324,7 +327,6 @@ CONFIG_ARCH_MULTI_V6_V7=y # end of TI OMAP/AM/DM/DRA Family # CONFIG_ARCH_QCOM is not set -# CONFIG_ARCH_RDA is not set # CONFIG_ARCH_REALTEK is not set # CONFIG_ARCH_ROCKCHIP is not set # CONFIG_ARCH_S5PV210 is not set @@ -335,10 +337,8 @@ CONFIG_ARCH_MULTI_V6_V7=y CONFIG_ARCH_STM32=y CONFIG_MACH_STM32MP157=y # CONFIG_MACH_STM32MP13 is not set -# CONFIG_ARCH_SUNPLUS is not set # CONFIG_ARCH_SUNXI is not set # CONFIG_ARCH_TEGRA is not set -# CONFIG_ARCH_UNIPHIER is not set # CONFIG_ARCH_U8500 is not set # CONFIG_ARCH_REALVIEW is not set # CONFIG_ARCH_VEXPRESS is not set @@ -672,6 +672,7 @@ CONFIG_BLK_DEV_BSG_COMMON=y # CONFIG_BLK_DEV_BSGLIB is not set CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_INTEGRITY_T10=m +CONFIG_BLK_DEV_WRITE_MOUNTED=y # CONFIG_BLK_DEV_ZONED is not set # CONFIG_BLK_DEV_THROTTLING is not set CONFIG_BLK_WBT=y @@ -751,9 +752,8 @@ CONFIG_COREDUMP=y # CONFIG_SWAP is not set # -# SLAB allocator options +# Slab allocator options # -# CONFIG_SLAB_DEPRECATED is not set CONFIG_SLUB=y # CONFIG_SLUB_TINY is not set CONFIG_SLAB_MERGE_DEFAULT=y @@ -762,7 +762,7 @@ CONFIG_SLAB_FREELIST_RANDOM=y # CONFIG_SLUB_STATS is not set CONFIG_SLUB_CPU_PARTIAL=y # CONFIG_RANDOM_KMALLOC_CACHES is not set -# end of SLAB allocator options +# end of Slab allocator options # CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set # CONFIG_COMPAT_BRK is not set @@ -799,6 +799,8 @@ CONFIG_MEMFD_CREATE=y # CONFIG_ANON_VMA_NAME is not set # CONFIG_USERFAULTFD is not set # CONFIG_LRU_GEN is not set +CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y +CONFIG_PER_VMA_LOCK=y CONFIG_LOCK_MM_AND_FIND_VMA=y # @@ -1068,7 +1070,6 @@ CONFIG_IP6_NF_TARGET_NPT=m CONFIG_NF_DEFRAG_IPV6=y CONFIG_NF_CONNTRACK_BRIDGE=m # CONFIG_BRIDGE_NF_EBTABLES is not set -# CONFIG_BPFILTER is not set # CONFIG_IP_DCCP is not set # CONFIG_IP_SCTP is not set # CONFIG_RDS is not set @@ -1288,10 +1289,6 @@ CONFIG_BT_MRVL_SDIO=m # CONFIG_MCTP is not set CONFIG_FIB_RULES=y CONFIG_WIRELESS=y -CONFIG_WIRELESS_EXT=y -CONFIG_WEXT_CORE=y -CONFIG_WEXT_PROC=y -CONFIG_WEXT_PRIV=y CONFIG_CFG80211=m # CONFIG_NL80211_TESTMODE is not set # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set @@ -1587,6 +1584,7 @@ CONFIG_SRAM_EXEC=y # CONFIG_HISI_HIKEY_USB is not set # CONFIG_OPEN_DICE is not set # CONFIG_VCPU_STALL_DETECTOR is not set +# CONFIG_NSM is not set # CONFIG_C2PORT is not set # @@ -1862,6 +1860,7 @@ CONFIG_SMSC_PHY=y # CONFIG_DP83867_PHY is not set # CONFIG_DP83869_PHY is not set CONFIG_DP83TD510_PHY=m +# CONFIG_DP83TG720_PHY is not set # CONFIG_VITESSE_PHY is not set # CONFIG_XILINX_GMII2RGMII is not set # CONFIG_MICREL_KS8995MA is not set @@ -2010,7 +2009,6 @@ CONFIG_BRCMFMAC_PROTO_BCDC=y CONFIG_BRCMFMAC_USB=y # CONFIG_BRCM_TRACING is not set # CONFIG_BRCMDBG is not set -# CONFIG_WLAN_VENDOR_CISCO is not set # CONFIG_WLAN_VENDOR_INTEL is not set # CONFIG_WLAN_VENDOR_INTERSIL is not set CONFIG_WLAN_VENDOR_MARVELL=y @@ -2090,11 +2088,9 @@ CONFIG_WLAN_VENDOR_TI=y # CONFIG_WL18XX is not set # CONFIG_WLCORE is not set CONFIG_WLAN_VENDOR_ZYDAS=y -CONFIG_USB_ZD1201=m CONFIG_ZD1211RW=m # CONFIG_ZD1211RW_DEBUG is not set # CONFIG_WLAN_VENDOR_QUANTENNA is not set -CONFIG_USB_NET_RNDIS_WLAN=m # CONFIG_MAC80211_HWSIM is not set CONFIG_VIRT_WIFI=m # CONFIG_WAN is not set @@ -2644,6 +2640,7 @@ CONFIG_HWMON=y # CONFIG_SENSORS_F71882FG is not set # CONFIG_SENSORS_F75375S is not set # CONFIG_SENSORS_FTSTEUTATES is not set +# CONFIG_SENSORS_GIGABYTE_WATERFORCE is not set # CONFIG_SENSORS_GL518SM is not set # CONFIG_SENSORS_GL520SM is not set # CONFIG_SENSORS_G760A is not set @@ -2771,6 +2768,7 @@ CONFIG_SENSORS_IIO_HWMON=y CONFIG_THERMAL=y CONFIG_THERMAL_NETLINK=y CONFIG_THERMAL_STATISTICS=y +# CONFIG_THERMAL_DEBUGFS is not set CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 CONFIG_THERMAL_HWMON=y CONFIG_THERMAL_OF=y @@ -2787,7 +2785,6 @@ CONFIG_CPU_FREQ_THERMAL=y CONFIG_DEVFREQ_THERMAL=y # CONFIG_THERMAL_EMULATION is not set # CONFIG_THERMAL_MMIO is not set -# CONFIG_TI_SOC_THERMAL is not set # # STMicroelectronics thermal drivers @@ -2911,7 +2908,6 @@ CONFIG_MFD_CORE=y # CONFIG_MFD_SKY81452 is not set # CONFIG_MFD_STMPE is not set CONFIG_MFD_SYSCON=y -# CONFIG_MFD_TI_AM335X_TSCADC is not set # CONFIG_MFD_LP3943 is not set # CONFIG_MFD_LP8788 is not set # CONFIG_MFD_TI_LMU is not set @@ -2966,6 +2962,7 @@ CONFIG_REGULATOR=y CONFIG_REGULATOR_FIXED_VOLTAGE=y # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set CONFIG_REGULATOR_USERSPACE_CONSUMER=y +# CONFIG_REGULATOR_NETLINK_EVENTS is not set # CONFIG_REGULATOR_88PG86X is not set # CONFIG_REGULATOR_ACT8865 is not set # CONFIG_REGULATOR_AD5398 is not set @@ -3292,6 +3289,7 @@ CONFIG_V4L_PLATFORM_DRIVERS=y # STMicroelectronics media platform drivers # # CONFIG_VIDEO_STM32_DCMI is not set +# CONFIG_VIDEO_STM32_DCMIPP is not set # # Sunxi media platform drivers @@ -3333,7 +3331,10 @@ CONFIG_VIDEOBUF2_DMA_SG=m # CONFIG_MEDIA_ATTACH=y CONFIG_VIDEO_CAMERA_SENSOR=y +# CONFIG_VIDEO_ALVIUM_CSI2 is not set # CONFIG_VIDEO_AR0521 is not set +# CONFIG_VIDEO_GC0308 is not set +# CONFIG_VIDEO_GC2145 is not set # CONFIG_VIDEO_HI556 is not set # CONFIG_VIDEO_HI846 is not set # CONFIG_VIDEO_HI847 is not set @@ -3378,6 +3379,7 @@ CONFIG_VIDEO_CAMERA_SENSOR=y # CONFIG_VIDEO_OV5675 is not set # CONFIG_VIDEO_OV5693 is not set # CONFIG_VIDEO_OV5695 is not set +# CONFIG_VIDEO_OV64A40 is not set # CONFIG_VIDEO_OV6650 is not set # CONFIG_VIDEO_OV7251 is not set # CONFIG_VIDEO_OV7640 is not set @@ -3400,6 +3402,12 @@ CONFIG_VIDEO_CAMERA_SENSOR=y # CONFIG_VIDEO_CCS is not set # CONFIG_VIDEO_ET8EK8 is not set +# +# Camera ISPs +# +# CONFIG_VIDEO_THP7312 is not set +# end of Camera ISPs + # # Lens drivers # @@ -3468,6 +3476,7 @@ CONFIG_VIDEO_CAMERA_SENSOR=y # CONFIG_VIDEO_TVP5150 is not set # CONFIG_VIDEO_TVP7002 is not set # CONFIG_VIDEO_TW2804 is not set +# CONFIG_VIDEO_TW9900 is not set # CONFIG_VIDEO_TW9903 is not set # CONFIG_VIDEO_TW9906 is not set # CONFIG_VIDEO_TW9910 is not set @@ -3898,14 +3907,12 @@ CONFIG_DRM_PANEL_MIPI_DBI=y # CONFIG_DRM_TIDSS is not set # CONFIG_DRM_GUD is not set # CONFIG_DRM_SSD130X is not set -# CONFIG_DRM_LEGACY is not set CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y # # Frame buffer Devices # CONFIG_FB=y -# CONFIG_FB_ARMCLCD is not set # CONFIG_FB_OPENCORES is not set # CONFIG_FB_S1D13XXX is not set # CONFIG_FB_SMSCUFX is not set @@ -3923,10 +3930,9 @@ CONFIG_FB_SYS_FILLRECT=y CONFIG_FB_SYS_COPYAREA=y CONFIG_FB_SYS_IMAGEBLIT=y # CONFIG_FB_FOREIGN_ENDIAN is not set -CONFIG_FB_SYS_FOPS=y +CONFIG_FB_SYSMEM_FOPS=y CONFIG_FB_DEFERRED_IO=y CONFIG_FB_DMAMEM_HELPERS=y -CONFIG_FB_IOMEM_FOPS=y CONFIG_FB_SYSMEM_HELPERS=y CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y CONFIG_FB_MODE_HELPERS=y @@ -3947,6 +3953,7 @@ CONFIG_BACKLIGHT_PWM=y # CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LM3639 is not set # CONFIG_BACKLIGHT_LP855X is not set +# CONFIG_BACKLIGHT_MP3309C is not set CONFIG_BACKLIGHT_GPIO=y # CONFIG_BACKLIGHT_LV5207LP is not set # CONFIG_BACKLIGHT_BD6107 is not set @@ -4126,6 +4133,7 @@ CONFIG_HID_GENERIC=y # CONFIG_HID_ZYDACRON is not set # CONFIG_HID_SENSOR_HUB is not set # CONFIG_HID_ALPS is not set +# CONFIG_HID_MCP2200 is not set # CONFIG_HID_MCP2221 is not set # end of Special HID drivers @@ -4490,9 +4498,6 @@ CONFIG_MMC_CQHCI=y # CONFIG_MMC_HSQ is not set # CONFIG_MMC_MTK is not set # CONFIG_MMC_SDHCI_XENON is not set -CONFIG_MMC_SDHCI_OMAP=y -# CONFIG_MMC_SDHCI_AM654 is not set -CONFIG_MMC_SDHCI_EXTERNAL_DMA=y # CONFIG_SCSI_UFSHCD is not set # CONFIG_MEMSTICK is not set CONFIG_NEW_LEDS=y @@ -4627,6 +4632,7 @@ CONFIG_RTC_INTF_DEV=y # CONFIG_RTC_DRV_DS1672 is not set # CONFIG_RTC_DRV_HYM8563 is not set # CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_MAX31335 is not set # CONFIG_RTC_DRV_NCT3018Y is not set # CONFIG_RTC_DRV_RS5C372 is not set # CONFIG_RTC_DRV_ISL1208 is not set @@ -4805,8 +4811,10 @@ CONFIG_COMMON_CLK=y # CONFIG_COMMON_CLK_VC3 is not set # CONFIG_COMMON_CLK_VC5 is not set # CONFIG_COMMON_CLK_VC7 is not set -CONFIG_COMMON_CLK_STM32MP157=y # CONFIG_COMMON_CLK_FIXED_MMIO is not set +CONFIG_COMMON_CLK_STM32MP=y +# CONFIG_COMMON_CLK_STM32MP135 is not set +CONFIG_COMMON_CLK_STM32MP157=y # CONFIG_XILINX_VCU is not set # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set CONFIG_HWSPINLOCK=y @@ -5032,6 +5040,7 @@ CONFIG_IIO_TRIGGERED_EVENT=y # # CONFIG_AD4130 is not set # CONFIG_AD7091R5 is not set +# CONFIG_AD7091R8 is not set # CONFIG_AD7124 is not set # CONFIG_AD7192 is not set # CONFIG_AD7266 is not set @@ -5069,6 +5078,7 @@ CONFIG_IIO_TRIGGERED_EVENT=y # CONFIG_MAX11410 is not set # CONFIG_MAX1241 is not set # CONFIG_MAX1363 is not set +# CONFIG_MAX34408 is not set # CONFIG_MAX9611 is not set # CONFIG_MCP320X is not set # CONFIG_MCP3422 is not set @@ -5134,6 +5144,7 @@ CONFIG_IIO_RESCALE=y # # Chemical Sensors # +# CONFIG_AOSONG_AGS02MA is not set # CONFIG_ATLAS_PH_SENSOR is not set # CONFIG_ATLAS_EZO_SENSOR is not set # CONFIG_BME680 is not set @@ -5203,6 +5214,7 @@ CONFIG_IIO_RESCALE=y # CONFIG_MAX5821 is not set # CONFIG_MCP4725 is not set # CONFIG_MCP4728 is not set +# CONFIG_MCP4821 is not set # CONFIG_MCP4922 is not set CONFIG_STM32_DAC=m CONFIG_STM32_DAC_CORE=m @@ -5299,6 +5311,8 @@ CONFIG_MPU3050_I2C=m # CONFIG_ADIS16480 is not set # CONFIG_BMI160_I2C is not set # CONFIG_BMI160_SPI is not set +# CONFIG_BMI323_I2C is not set +# CONFIG_BMI323_SPI is not set # CONFIG_BOSCH_BNO055_SERIAL is not set # CONFIG_BOSCH_BNO055_I2C is not set # CONFIG_FXOS8700_I2C is not set @@ -5334,10 +5348,12 @@ CONFIG_MPU3050_I2C=m # CONFIG_SENSORS_ISL29018 is not set # CONFIG_SENSORS_ISL29028 is not set # CONFIG_ISL29125 is not set +# CONFIG_ISL76682 is not set # CONFIG_JSA1212 is not set # CONFIG_ROHM_BU27008 is not set # CONFIG_ROHM_BU27034 is not set # CONFIG_RPR0521 is not set +# CONFIG_LTR390 is not set # CONFIG_LTR501 is not set # CONFIG_LTRF216A is not set # CONFIG_LV0104CS is not set @@ -5363,6 +5379,7 @@ CONFIG_MPU3050_I2C=m # CONFIG_VCNL4035 is not set # CONFIG_VEML6030 is not set # CONFIG_VEML6070 is not set +# CONFIG_VEML6075 is not set # CONFIG_VL6180 is not set # CONFIG_ZOPT2201 is not set # end of Light sensors @@ -5445,6 +5462,7 @@ CONFIG_IIO_SYSFS_TRIGGER=y # CONFIG_DLHL60D is not set # CONFIG_DPS310 is not set # CONFIG_HP03 is not set +# CONFIG_HSC030PA is not set # CONFIG_ICP10100 is not set # CONFIG_MPL115_I2C is not set # CONFIG_MPL115_SPI is not set @@ -5498,6 +5516,7 @@ CONFIG_IIO_SYSFS_TRIGGER=y # CONFIG_MAXIM_THERMOCOUPLE is not set # CONFIG_MLX90614 is not set # CONFIG_MLX90632 is not set +# CONFIG_MLX90635 is not set # CONFIG_TMP006 is not set # CONFIG_TMP007 is not set # CONFIG_TMP117 is not set @@ -5506,6 +5525,7 @@ CONFIG_IIO_SYSFS_TRIGGER=y # CONFIG_MAX30208 is not set # CONFIG_MAX31856 is not set # CONFIG_MAX31865 is not set +# CONFIG_MCP9600 is not set # end of Temperature sensors CONFIG_PWM=y @@ -5590,6 +5610,7 @@ CONFIG_RAS=y # CONFIG_DAX is not set CONFIG_NVMEM=y CONFIG_NVMEM_SYSFS=y +CONFIG_NVMEM_LAYOUTS=y # # Layout Types @@ -5643,6 +5664,7 @@ CONFIG_STM32_TIMER_CNT=m CONFIG_DCACHE_WORD_ACCESS=y # CONFIG_VALIDATE_FS_PARSER is not set CONFIG_FS_IOMAP=y +CONFIG_FS_STACK=y CONFIG_BUFFER_HEAD=y CONFIG_LEGACY_DIRECT_IO=y # CONFIG_EXT2_FS is not set @@ -5710,13 +5732,7 @@ CONFIG_OVERLAY_FS=y # CONFIG_NETFS_SUPPORT=y CONFIG_NETFS_STATS=y -CONFIG_FSCACHE=m -CONFIG_FSCACHE_STATS=y -# CONFIG_FSCACHE_DEBUG is not set -CONFIG_CACHEFILES=m -# CONFIG_CACHEFILES_DEBUG is not set -# CONFIG_CACHEFILES_ERROR_INJECTION is not set -# CONFIG_CACHEFILES_ONDEMAND is not set +# CONFIG_FSCACHE is not set # end of Caches # @@ -5822,6 +5838,7 @@ CONFIG_PNFS_FLEXFILE_LAYOUT=y CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" # CONFIG_NFS_V4_1_MIGRATION is not set CONFIG_ROOT_NFS=y +# CONFIG_NFS_FSCACHE is not set # CONFIG_NFS_USE_LEGACY_DNS is not set CONFIG_NFS_USE_KERNEL_DNS=y CONFIG_NFS_DISABLE_UDP_SUPPORT=y @@ -6028,14 +6045,12 @@ CONFIG_CRYPTO_DES=m # CONFIG_CRYPTO_ADIANTUM is not set # CONFIG_CRYPTO_CHACHA20 is not set CONFIG_CRYPTO_CBC=y -# CONFIG_CRYPTO_CFB is not set CONFIG_CRYPTO_CTR=y # CONFIG_CRYPTO_CTS is not set CONFIG_CRYPTO_ECB=y # CONFIG_CRYPTO_HCTR2 is not set # CONFIG_CRYPTO_KEYWRAP is not set # CONFIG_CRYPTO_LRW is not set -# CONFIG_CRYPTO_OFB is not set # CONFIG_CRYPTO_PCBC is not set CONFIG_CRYPTO_XTS=y # end of Length-preserving ciphers and modes @@ -6312,6 +6327,7 @@ CONFIG_GENERIC_VDSO_32=y CONFIG_SG_POOL=y CONFIG_ARCH_STACKWALK=y CONFIG_STACKDEPOT=y +CONFIG_STACKDEPOT_MAX_FRAMES=64 CONFIG_SBITMAP=y # CONFIG_LWQ_TEST is not set # end of Library routines @@ -6346,7 +6362,7 @@ CONFIG_DEBUG_MISC=y # Compile-time checks and compiler options # CONFIG_DEBUG_INFO=y -CONFIG_AS_HAS_NON_CONST_LEB128=y +CONFIG_AS_HAS_NON_CONST_ULEB128=y # CONFIG_DEBUG_INFO_NONE is not set CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y # CONFIG_DEBUG_INFO_DWARF4 is not set @@ -6356,6 +6372,8 @@ CONFIG_DEBUG_INFO_COMPRESSED_NONE=y # CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set # CONFIG_DEBUG_INFO_SPLIT is not set # CONFIG_DEBUG_INFO_BTF is not set +CONFIG_PAHOLE_HAS_SPLIT_BTF=y +CONFIG_PAHOLE_HAS_LANG_EXCLUDE=y CONFIG_GDB_SCRIPTS=y CONFIG_FRAME_WARN=1024 # CONFIG_STRIP_ASM_SYMS is not set @@ -6406,6 +6424,7 @@ CONFIG_SLUB_DEBUG=y # CONFIG_DEBUG_WX is not set CONFIG_HAVE_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_PER_VMA_LOCK_STATS is not set # CONFIG_DEBUG_OBJECTS is not set # CONFIG_SHRINKER_DEBUG is not set # CONFIG_DEBUG_STACK_USAGE is not set diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0002-lib-build_OID_registry-Don-t-mention-the-full-path-o.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0002-lib-build_OID_registry-Don-t-mention-the-full-path-o.patch new file mode 100644 index 00000000..8fc0511a --- /dev/null +++ b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0002-lib-build_OID_registry-Don-t-mention-the-full-path-o.patch @@ -0,0 +1,53 @@ +From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= +Date: Wed, 13 Mar 2024 22:19:56 +0100 +Subject: [PATCH] lib/build_OID_registry: Don't mention the full path of the + script in output +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This change strips the full path of the script generating +lib/oid_registry_data.c to just lib/build_OID_registry. The motivation +for this change is Yocto emitting a build warning + + File /usr/src/debug/linux-lxatac/6.7-r0/lib/oid_registry_data.c in package linux-lxatac-src contains reference to TMPDIR [buildpaths] + +So this change brings us one step closer to make the build result +reproducible independent of the build path. + +Forwarded: id:20240313211957.884561-2-u.kleine-koenig@pengutronix.de (v2) +Signed-off-by: Uwe Kleine-König +--- + lib/build_OID_registry | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/lib/build_OID_registry b/lib/build_OID_registry +index d7fc32ea8ac2..56d8bafeb848 100755 +--- a/lib/build_OID_registry ++++ b/lib/build_OID_registry +@@ -8,6 +8,7 @@ + # + + use strict; ++use Cwd qw(abs_path); + + my @names = (); + my @oids = (); +@@ -17,6 +18,8 @@ if ($#ARGV != 1) { + exit(2); + } + ++my $abs_srctree = abs_path($ENV{'srctree'}); ++ + # + # Open the file to read from + # +@@ -35,7 +38,7 @@ close IN_FILE || die; + # + open C_FILE, ">$ARGV[1]" or die; + print C_FILE "/*\n"; +-print C_FILE " * Automatically generated by ", $0, ". Do not edit\n"; ++print C_FILE " * Automatically generated by ", $0 =~ s#^\Q$abs_srctree/\E##r, ". Do not edit\n"; + print C_FILE " */\n"; + + # diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0002-vt-conmakehash-improve-reproducibility.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0002-vt-conmakehash-improve-reproducibility.patch deleted file mode 100644 index 05766e3b..00000000 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0002-vt-conmakehash-improve-reproducibility.patch +++ /dev/null @@ -1,50 +0,0 @@ -From: Bruce Ashfield -Date: Sun, 10 Jul 2022 21:37:07 -0400 -Subject: [PATCH] vt/conmakehash: improve reproducibility - -The file generated by conmakehash capture the application -path used to generate the file. While that can be informative, -it varies based on where the kernel was built, as the full -path is captured. - -We tweak the application to use a second input as the "capture -name", and then modify the Makefile to pass the basename of -the source, making it reproducible. - -This could be improved by using some sort of path mapping, -or the application manipualing argv[1] itself, but for now -this solves the reprodicibility issue. - -Signed-off-by: Bruce Ashfield -Origin: https://git.yoctoproject.org/linux-yocto/commit/?id=f68b5222279b7c30284a5d538deeb01fe507dad8 ---- - drivers/tty/vt/Makefile | 2 +- - drivers/tty/vt/conmakehash.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/tty/vt/Makefile b/drivers/tty/vt/Makefile -index b3dfe9d5717e..6ee3736776c8 100644 ---- a/drivers/tty/vt/Makefile -+++ b/drivers/tty/vt/Makefile -@@ -15,7 +15,7 @@ clean-files := consolemap_deftbl.c defkeymap.c - hostprogs += conmakehash - - quiet_cmd_conmk = CONMK $@ -- cmd_conmk = $(obj)/conmakehash $< > $@ -+ cmd_conmk = $(obj)/conmakehash $< $(shell basename $<) > $@ - - $(obj)/consolemap_deftbl.c: $(src)/$(FONTMAPFILE) $(obj)/conmakehash - $(call cmd,conmk) -diff --git a/drivers/tty/vt/conmakehash.c b/drivers/tty/vt/conmakehash.c -index cddd789fe46e..d62510b280e9 100644 ---- a/drivers/tty/vt/conmakehash.c -+++ b/drivers/tty/vt/conmakehash.c -@@ -253,7 +253,7 @@ int main(int argc, char *argv[]) - #include \n\ - \n\ - u8 dfont_unicount[%d] = \n\ --{\n\t", argv[1], fontlen); -+{\n\t", argv[2], fontlen); - - for ( i = 0 ; i < fontlen ; i++ ) - { diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0003-lib-build_OID_registry-fix-reproducibility-issues.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0003-lib-build_OID_registry-fix-reproducibility-issues.patch deleted file mode 100644 index 6672dc6d..00000000 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0003-lib-build_OID_registry-fix-reproducibility-issues.patch +++ /dev/null @@ -1,40 +0,0 @@ -From: Bruce Ashfield -Date: Sun, 10 Jul 2022 22:56:53 -0400 -Subject: [PATCH] lib/build_OID_registry: fix reproducibility issues - -The script build_OID_registry captures the full path of itself -in the generated data. This causes reproduciblity issues as the -path is captured and packaged. - -We use the basename of the script instead, and that allows us -to be reprodicible, with slightly less information captured in -the output data (but the generating script can still easily -be found). - -Signed-off-by: Bruce Ashfield -Origin: https://git.yoctoproject.org/linux-yocto/commit/?id=fbcfbb9c3191b6380da36cf71af6dbd07f8282a1 ---- - lib/build_OID_registry | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/lib/build_OID_registry b/lib/build_OID_registry -index d7fc32ea8ac2..f6de0a7f7457 100755 ---- a/lib/build_OID_registry -+++ b/lib/build_OID_registry -@@ -8,6 +8,7 @@ - # - - use strict; -+use File::Basename; - - my @names = (); - my @oids = (); -@@ -35,7 +36,7 @@ close IN_FILE || die; - # - open C_FILE, ">$ARGV[1]" or die; - print C_FILE "/*\n"; --print C_FILE " * Automatically generated by ", $0, ". Do not edit\n"; -+print C_FILE " * Automatically generated by ", basename $0, ". Do not edit\n"; - print C_FILE " */\n"; - - # diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0003-tty-vt-conmakehash-Don-t-mention-the-full-path-of-th.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0003-tty-vt-conmakehash-Don-t-mention-the-full-path-of-th.patch new file mode 100644 index 00000000..3d736de1 --- /dev/null +++ b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0003-tty-vt-conmakehash-Don-t-mention-the-full-path-of-th.patch @@ -0,0 +1,63 @@ +From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= +Date: Mon, 11 Mar 2024 12:25:09 +0100 +Subject: [PATCH] tty: vt: conmakehash: Don't mention the full path of the + input in output +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This change strips $abs_srctree of the input file containing the +character mapping table in the generated output. The motivation for this +change is Yocto emitting a build warning + + WARNING: linux-lxatac-6.7-r0 do_package_qa: QA Issue: File /usr/src/debug/linux-lxatac/6.7-r0/drivers/tty/vt/consolemap_deftbl.c in package linux-lxatac-src contains reference to TMPDIR + +So this change brings us one step closer to make the build result +reproducible independent of the build path. + +Forwarded: https://lore.kernel.org/lkml/20240311113017.483101-2-u.kleine-koenig@pengutronix.de +Signed-off-by: Uwe Kleine-König +--- + drivers/tty/vt/conmakehash.c | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +diff --git a/drivers/tty/vt/conmakehash.c b/drivers/tty/vt/conmakehash.c +index cddd789fe46e..dc2177fec715 100644 +--- a/drivers/tty/vt/conmakehash.c ++++ b/drivers/tty/vt/conmakehash.c +@@ -76,7 +76,8 @@ static void addpair(int fp, int un) + int main(int argc, char *argv[]) + { + FILE *ctbl; +- char *tblname; ++ const char *tblname, *rel_tblname; ++ const char *abs_srctree; + char buffer[65536]; + int fontlen; + int i, nuni, nent; +@@ -101,6 +102,16 @@ int main(int argc, char *argv[]) + } + } + ++ abs_srctree = getenv("abs_srctree"); ++ if (abs_srctree && !strncmp(abs_srctree, tblname, strlen(abs_srctree))) ++ { ++ rel_tblname = tblname + strlen(abs_srctree); ++ while (*rel_tblname == '/') ++ ++rel_tblname; ++ } ++ else ++ rel_tblname = tblname; ++ + /* For now we assume the default font is always 256 characters. */ + fontlen = 256; + +@@ -253,7 +264,7 @@ int main(int argc, char *argv[]) + #include \n\ + \n\ + u8 dfont_unicount[%d] = \n\ +-{\n\t", argv[1], fontlen); ++{\n\t", rel_tblname, fontlen); + + for ( i = 0 ; i < fontlen ; i++ ) + { diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0101-net-dsa-microchip-make-sure-drive-strength-configura.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0101-net-dsa-microchip-make-sure-drive-strength-configura.patch new file mode 100644 index 00000000..ffb5573b --- /dev/null +++ b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0101-net-dsa-microchip-make-sure-drive-strength-configura.patch @@ -0,0 +1,56 @@ +From: Oleksij Rempel +Date: Mon, 4 Mar 2024 14:31:47 +0100 +Subject: [PATCH] net: dsa: microchip: make sure drive strength configuration + is not lost by soft reset + +This driver has two separate reset sequence in different places: +- gpio/HW reset on start of ksz_switch_register() +- SW reset on start of ksz_setup() + +The second one will overwrite drive strength configuration made in the +ksz_switch_register(). + +To fix it, move ksz_parse_drive_strength() from ksz_switch_register() to +ksz_setup(). + +Fixes: d67d7247f641 ("net: dsa: microchip: Add drive strength configuration") +Signed-off-by: Oleksij Rempel +--- + drivers/net/dsa/microchip/ksz_common.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c +index 245dfb7a7a31..25a49708f484 100644 +--- a/drivers/net/dsa/microchip/ksz_common.c ++++ b/drivers/net/dsa/microchip/ksz_common.c +@@ -2185,6 +2185,8 @@ static int ksz_pirq_setup(struct ksz_device *dev, u8 p) + return ksz_irq_common_setup(dev, pirq); + } + ++static int ksz_parse_drive_strength(struct ksz_device *dev); ++ + static int ksz_setup(struct dsa_switch *ds) + { + struct ksz_device *dev = ds->priv; +@@ -2206,6 +2208,10 @@ static int ksz_setup(struct dsa_switch *ds) + return ret; + } + ++ ret = ksz_parse_drive_strength(dev); ++ if (ret) ++ return ret; ++ + /* set broadcast storm protection 10% rate */ + regmap_update_bits(ksz_regmap_16(dev), regs[S_BROADCAST_CTRL], + BROADCAST_STORM_RATE, +@@ -4242,10 +4248,6 @@ int ksz_switch_register(struct ksz_device *dev) + for (port_num = 0; port_num < dev->info->port_cnt; ++port_num) + dev->ports[port_num].interface = PHY_INTERFACE_MODE_NA; + if (dev->dev->of_node) { +- ret = ksz_parse_drive_strength(dev); +- if (ret) +- return ret; +- + ret = of_get_phy_mode(dev->dev->of_node, &interface); + if (ret == 0) + dev->compat_interface = interface; diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0102-net-bridge-switchdev-Improve-error-message-clarity-f.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0102-net-bridge-switchdev-Improve-error-message-clarity-f.patch new file mode 100644 index 00000000..c8a7a265 --- /dev/null +++ b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0102-net-bridge-switchdev-Improve-error-message-clarity-f.patch @@ -0,0 +1,168 @@ +From: Oleksij Rempel +Date: Wed, 6 Mar 2024 13:45:22 +0100 +Subject: [PATCH] net: bridge: switchdev: Improve error message clarity for + switchdev_port_obj_add/del_deffered operations + +Enhance the error reporting mechanism in the switchdev framework to +provide more informative and user-friendly error messages. + +Following feedback from users struggling to understand the implications +of error messages like "failed (err=-28) to add object (id=2)", this +update aims to clarify what operation failed and how this might impact +the system or network. + +With this change, error messages now include a description of the failed +operation, the specific object involved, and a brief explanation of the +potential impact on the system. This approach helps administrators and +developers better understand the context and severity of errors, +facilitating quicker and more effective troubleshooting. + +Example of the improved logging: + +[ 70.516446] ksz-switch spi0.0 uplink: Failed to add Port Multicast + Database entry (object id=2) with error: -ENOSPC (-28). +[ 70.516446] Failure in updating the port's Multicast Database could + lead to multicast forwarding issues. +[ 70.516446] Current HW/SW setup lacks sufficient resources. + +This comprehensive update includes handling for a range of switchdev +object IDs, ensuring that most operations within the switchdev framework +benefit from clearer error reporting. + +Signed-off-by: Oleksij Rempel +Reviewed-by: Simon Horman +--- + net/switchdev/switchdev.c | 106 ++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 102 insertions(+), 4 deletions(-) + +diff --git a/net/switchdev/switchdev.c b/net/switchdev/switchdev.c +index c9189a970eec..de4a7505ceb4 100644 +--- a/net/switchdev/switchdev.c ++++ b/net/switchdev/switchdev.c +@@ -244,6 +244,106 @@ static int switchdev_port_obj_notify(enum switchdev_notifier_type nt, + return 0; + } + ++static void switchdev_obj_id_to_helpful_msg(struct net_device *dev, ++ enum switchdev_obj_id obj_id, ++ int err, bool add) ++{ ++ const char *action = add ? "add" : "del"; ++ const char *reason = ""; ++ const char *problem; ++ const char *obj_str; ++ ++ switch (obj_id) { ++ case SWITCHDEV_OBJ_ID_UNDEFINED: ++ obj_str = "Undefined object"; ++ problem = "Attempted operation is undefined, indicating a " ++ "possible programming error.\n"; ++ break; ++ case SWITCHDEV_OBJ_ID_PORT_VLAN: ++ obj_str = "VLAN entry"; ++ problem = "Failure in VLAN settings on this port might disrupt " ++ "network segmentation or traffic isolation, affecting\n" ++ "network partitioning.\n"; ++ break; ++ case SWITCHDEV_OBJ_ID_PORT_MDB: ++ obj_str = "Port Multicast Database entry"; ++ problem = "Failure in updating the port's Multicast Database " ++ "could lead to multicast forwarding issues.\n"; ++ break; ++ case SWITCHDEV_OBJ_ID_HOST_MDB: ++ obj_str = "Host Multicast Database entry"; ++ problem = "Failure in updating the host's Multicast Database" ++ "may impact multicast group memberships or\n" ++ "traffic delivery, affecting multicast communication.\n"; ++ break; ++ case SWITCHDEV_OBJ_ID_MRP: ++ obj_str = "Media Redundancy Protocol configuration for port"; ++ problem = "Failure to set MRP ring ID on this port prevents" ++ "communication with the specified redundancy ring,\n" ++ "resulting in an inability to engage in MRP-based " ++ "network operations.\n"; ++ break; ++ case SWITCHDEV_OBJ_ID_RING_TEST_MRP: ++ obj_str = "MRP Test Frame Operations for port"; ++ problem = "Failure to generate/monitor MRP test frames may lead" ++ "to inability to assess the ring's operational\n" ++ "integrity and fault response, hindering proactive " ++ "network management.\n"; ++ break; ++ case SWITCHDEV_OBJ_ID_RING_ROLE_MRP: ++ obj_str = "MRP Ring Role Configuration"; ++ problem = "Improper MRP ring role configuration may create " ++ "conflicts in the ring, disrupting communication\n" ++ "for all participants, or isolate the local system " ++ "from the ring, hindering its ability to communicate " ++ "with other participants.\n"; ++ break; ++ case SWITCHDEV_OBJ_ID_RING_STATE_MRP: ++ obj_str = "MRP Ring State Configuration"; ++ problem = "Failure to correctly set the MRP ring state can " ++ "result in network loops or leave segments without\n" ++ "communication. In a Closed state, it maintains loop " ++ "prevention by blocking one MRM port, while an Open\n" ++ "state activates in response to failures, changing " ++ "port states to preserve network connectivity.\n"; ++ break; ++ case SWITCHDEV_OBJ_ID_IN_TEST_MRP: ++ obj_str = "MRP_InTest Frame Generation Configuration"; ++ problem = "Failure in managing MRP_InTest frame generation can " ++ "misjudge the interconnection ring's state, leading\n" ++ "to incorrect blocking or unblocking of the I/C port." ++ "This misconfiguration might result in unintended\n" ++ "network loops or isolate critical network segments, " ++ "compromising network integrity and reliability.\n"; ++ break; ++ case SWITCHDEV_OBJ_ID_IN_ROLE_MRP: ++ obj_str = "Interconnection Ring Role Configuration"; ++ problem = "Failure in incorrect assignment of interconnection " ++ "ring roles (MIM/MIC) can impair the formation of the\n" ++ "interconnection rings.\n"; ++ break; ++ case SWITCHDEV_OBJ_ID_IN_STATE_MRP: ++ obj_str = "Interconnection Ring State Configuration"; ++ problem = "Failure in updating the interconnection ring state " ++ "can lead in case of Open state to incorrect blocking\n" ++ "or unblocking of the I/C port, resulting in unintended" ++ "network loops or isolation of critical network\n"; ++ break; ++ default: ++ obj_str = "Unknown object"; ++ problem = "Indicating a possible programming error.\n"; ++ } ++ ++ switch (err) { ++ case -ENOSPC: ++ reason = "Current HW/SW setup lacks sufficient resources.\n"; ++ break; ++ } ++ ++ netdev_err(dev, "Failed to %s %s (object id=%d) with error: %pe (%d).\n%s%s\n", ++ action, obj_str, obj_id, ERR_PTR(err), err, problem, reason); ++} ++ + static void switchdev_port_obj_add_deferred(struct net_device *dev, + const void *data) + { +@@ -254,8 +354,7 @@ static void switchdev_port_obj_add_deferred(struct net_device *dev, + err = switchdev_port_obj_notify(SWITCHDEV_PORT_OBJ_ADD, + dev, obj, NULL); + if (err && err != -EOPNOTSUPP) +- netdev_err(dev, "failed (err=%d) to add object (id=%d)\n", +- err, obj->id); ++ switchdev_obj_id_to_helpful_msg(dev, obj->id, err, true); + if (obj->complete) + obj->complete(dev, err, obj->complete_priv); + } +@@ -304,8 +403,7 @@ static void switchdev_port_obj_del_deferred(struct net_device *dev, + + err = switchdev_port_obj_del_now(dev, obj); + if (err && err != -EOPNOTSUPP) +- netdev_err(dev, "failed (err=%d) to del object (id=%d)\n", +- err, obj->id); ++ switchdev_obj_id_to_helpful_msg(dev, obj->id, err, false); + if (obj->complete) + obj->complete(dev, err, obj->complete_priv); + } diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0103-net-dsa-microchip-add-regmap_range-for-KSZ9563-chip.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0103-net-dsa-microchip-add-regmap_range-for-KSZ9563-chip.patch new file mode 100644 index 00000000..53e5edb7 --- /dev/null +++ b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0103-net-dsa-microchip-add-regmap_range-for-KSZ9563-chip.patch @@ -0,0 +1,150 @@ +From: Oleksij Rempel +Date: Wed, 6 Mar 2024 09:22:14 +0100 +Subject: [PATCH] net: dsa: microchip: add regmap_range for KSZ9563 chip + +Add register validation for KSZ9563. + +Signed-off-by: Oleksij Rempel +--- + drivers/net/dsa/microchip/ksz_common.c | 121 +++++++++++++++++++++++++++++++++ + 1 file changed, 121 insertions(+) + +diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c +index 25a49708f484..dae468b849d6 100644 +--- a/drivers/net/dsa/microchip/ksz_common.c ++++ b/drivers/net/dsa/microchip/ksz_common.c +@@ -665,6 +665,125 @@ static const struct regmap_access_table ksz8563_register_set = { + .n_yes_ranges = ARRAY_SIZE(ksz8563_valid_regs), + }; + ++static const struct regmap_range ksz9563_valid_regs[] = { ++ regmap_reg_range(0x0000, 0x0003), ++ regmap_reg_range(0x0006, 0x0006), ++ regmap_reg_range(0x000f, 0x000f), ++ regmap_reg_range(0x0010, 0x001f), ++ regmap_reg_range(0x0100, 0x0100), ++ regmap_reg_range(0x0104, 0x0107), ++ regmap_reg_range(0x010d, 0x010d), ++ regmap_reg_range(0x0110, 0x0113), ++ regmap_reg_range(0x0120, 0x012b), ++ regmap_reg_range(0x0201, 0x0201), ++ regmap_reg_range(0x0210, 0x0213), ++ regmap_reg_range(0x0300, 0x0300), ++ regmap_reg_range(0x0302, 0x030b), ++ regmap_reg_range(0x030e, 0x031b), ++ regmap_reg_range(0x0320, 0x032b), ++ regmap_reg_range(0x0330, 0x0336), ++ regmap_reg_range(0x0338, 0x033b), ++ regmap_reg_range(0x033e, 0x033e), ++ regmap_reg_range(0x0340, 0x035f), ++ regmap_reg_range(0x0370, 0x0370), ++ regmap_reg_range(0x0378, 0x0378), ++ regmap_reg_range(0x037c, 0x037d), ++ regmap_reg_range(0x0390, 0x0393), ++ regmap_reg_range(0x0400, 0x040e), ++ regmap_reg_range(0x0410, 0x042f), ++ regmap_reg_range(0x0500, 0x0519), ++ regmap_reg_range(0x0520, 0x054b), ++ regmap_reg_range(0x0550, 0x05b3), ++ ++ /* port 1 */ ++ regmap_reg_range(0x1000, 0x1001), ++ regmap_reg_range(0x1004, 0x100b), ++ regmap_reg_range(0x1013, 0x1013), ++ regmap_reg_range(0x1017, 0x1017), ++ regmap_reg_range(0x101b, 0x101b), ++ regmap_reg_range(0x101f, 0x1021), ++ regmap_reg_range(0x1030, 0x1030), ++ regmap_reg_range(0x1100, 0x1115), ++ regmap_reg_range(0x111a, 0x111f), ++ regmap_reg_range(0x1120, 0x112b), ++ regmap_reg_range(0x1134, 0x113b), ++ regmap_reg_range(0x113c, 0x113f), ++ regmap_reg_range(0x1400, 0x1401), ++ regmap_reg_range(0x1403, 0x1403), ++ regmap_reg_range(0x1410, 0x1417), ++ regmap_reg_range(0x1420, 0x1423), ++ regmap_reg_range(0x1500, 0x1507), ++ regmap_reg_range(0x1600, 0x1612), ++ regmap_reg_range(0x1800, 0x180f), ++ regmap_reg_range(0x1900, 0x1907), ++ regmap_reg_range(0x1914, 0x191b), ++ regmap_reg_range(0x1a00, 0x1a03), ++ regmap_reg_range(0x1a04, 0x1a07), ++ regmap_reg_range(0x1b00, 0x1b01), ++ regmap_reg_range(0x1b04, 0x1b04), ++ regmap_reg_range(0x1c00, 0x1c05), ++ regmap_reg_range(0x1c08, 0x1c1b), ++ ++ /* port 2 */ ++ regmap_reg_range(0x2000, 0x2001), ++ regmap_reg_range(0x2004, 0x200b), ++ regmap_reg_range(0x2013, 0x2013), ++ regmap_reg_range(0x2017, 0x2017), ++ regmap_reg_range(0x201b, 0x201b), ++ regmap_reg_range(0x201f, 0x2021), ++ regmap_reg_range(0x2030, 0x2030), ++ regmap_reg_range(0x2100, 0x2115), ++ regmap_reg_range(0x211a, 0x211f), ++ regmap_reg_range(0x2120, 0x212b), ++ regmap_reg_range(0x2134, 0x213b), ++ regmap_reg_range(0x213c, 0x213f), ++ regmap_reg_range(0x2400, 0x2401), ++ regmap_reg_range(0x2403, 0x2403), ++ regmap_reg_range(0x2410, 0x2417), ++ regmap_reg_range(0x2420, 0x2423), ++ regmap_reg_range(0x2500, 0x2507), ++ regmap_reg_range(0x2600, 0x2612), ++ regmap_reg_range(0x2800, 0x280f), ++ regmap_reg_range(0x2900, 0x2907), ++ regmap_reg_range(0x2914, 0x291b), ++ regmap_reg_range(0x2a00, 0x2a03), ++ regmap_reg_range(0x2a04, 0x2a07), ++ regmap_reg_range(0x2b00, 0x2b01), ++ regmap_reg_range(0x2b04, 0x2b04), ++ regmap_reg_range(0x2c00, 0x2c05), ++ regmap_reg_range(0x2c08, 0x2c1b), ++ ++ /* port 3 */ ++ regmap_reg_range(0x3000, 0x3001), ++ regmap_reg_range(0x3013, 0x3013), ++ regmap_reg_range(0x3017, 0x3017), ++ regmap_reg_range(0x301b, 0x301b), ++ regmap_reg_range(0x301f, 0x3020), ++ regmap_reg_range(0x3030, 0x3030), ++ regmap_reg_range(0x3300, 0x3301), ++ regmap_reg_range(0x3303, 0x3303), ++ regmap_reg_range(0x3400, 0x3401), ++ regmap_reg_range(0x3403, 0x3403), ++ regmap_reg_range(0x3410, 0x3417), ++ regmap_reg_range(0x3420, 0x3423), ++ regmap_reg_range(0x3500, 0x3507), ++ regmap_reg_range(0x3600, 0x3612), ++ regmap_reg_range(0x3800, 0x380f), ++ regmap_reg_range(0x3900, 0x3907), ++ regmap_reg_range(0x3914, 0x391b), ++ regmap_reg_range(0x3a00, 0x3a03), ++ regmap_reg_range(0x3a04, 0x3a07), ++ regmap_reg_range(0x3b00, 0x3b01), ++ regmap_reg_range(0x3b04, 0x3b04), ++ regmap_reg_range(0x3c00, 0x3c05), ++ regmap_reg_range(0x3c08, 0x3c1b), ++}; ++ ++static const struct regmap_access_table ksz9563_register_set = { ++ .yes_ranges = ksz9563_valid_regs, ++ .n_yes_ranges = ARRAY_SIZE(ksz9563_valid_regs), ++}; ++ + static const struct regmap_range ksz9477_valid_regs[] = { + regmap_reg_range(0x0000, 0x0003), + regmap_reg_range(0x0006, 0x0006), +@@ -1474,6 +1593,8 @@ const struct ksz_chip_data ksz_switch_chips[] = { + .supports_rgmii = {false, false, true}, + .internal_phy = {true, true, false}, + .gbit_capable = {true, true, true}, ++ .wr_table = &ksz9563_register_set, ++ .rd_table = &ksz9563_register_set, + }, + + [KSZ9567] = { diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0104-net-dsa-microchip-HACK-in-drive-strength-settings-to.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0104-net-dsa-microchip-HACK-in-drive-strength-settings-to.patch deleted file mode 100644 index 5ea554d7..00000000 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0104-net-dsa-microchip-HACK-in-drive-strength-settings-to.patch +++ /dev/null @@ -1,41 +0,0 @@ -From: =?UTF-8?q?Leonard=20G=C3=B6hrs?= -Date: Mon, 24 Jan 2022 08:53:36 +0100 -Subject: [PATCH] net: dsa: microchip: HACK in drive strength settings to - reduce EMI -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The drive strength values in this patch drastically reduce the emissions -radiated by an LXA TAC. - -This hack should be replaced by a generic one that takes the correct -drive strenghts from the devicetree. - -The values could be tweaked higher if we ever notice issues with the -RGMII link. - -Signed-off-by: Leonard Göhrs -[ukl: Note that even in the presence of commit d67d7247f641 ("net: -dsa: microchip: Add drive strength configuration") and the properties -microchip,hi-drive-strength-microamp and -microchip,lo-drive-strength-microamp, this hack is necessary as of -v6.8-rc1. ore is scheduled to work on this.] ---- - drivers/net/dsa/microchip/ksz9477.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/drivers/net/dsa/microchip/ksz9477.c b/drivers/net/dsa/microchip/ksz9477.c -index 7f745628c84d..046c498f3f7a 100644 ---- a/drivers/net/dsa/microchip/ksz9477.c -+++ b/drivers/net/dsa/microchip/ksz9477.c -@@ -1323,6 +1323,9 @@ int ksz9477_setup(struct dsa_switch *ds) - */ - ksz_write8(dev, REG_SW_PME_CTRL, 0); - -+ /* set drive strenghts */ -+ ksz_write8(dev, 0x010D, 0x02); -+ - return 0; - } - diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0201-mmc-core-block.c-initialize-mmc_blk_ioc_data.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0201-mmc-core-block.c-initialize-mmc_blk_ioc_data.patch new file mode 100644 index 00000000..c2f103a3 --- /dev/null +++ b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0201-mmc-core-block.c-initialize-mmc_blk_ioc_data.patch @@ -0,0 +1,43 @@ +From: Mikko Rapeli +Date: Wed, 13 Mar 2024 15:37:43 +0200 +Subject: [PATCH] mmc core block.c: initialize mmc_blk_ioc_data + +Commit "mmc: core: Use mrq.sbc in close-ended ffu" adds flags uint to +struct mmc_blk_ioc_data but it does not get initialized for RPMB ioctls +which now fail. + +Fix this by always initializing the struct and flags to zero. + +Fixes access to RPMB storage. + +Fixes: 4d0c8d0aef63 ("mmc: core: Use mrq.sbc in close-ended ffu") + +Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218587 + +Link: https://lore.kernel.org/all/20231129092535.3278-1-avri.altman@wdc.com/ + +Cc: Avri Altman +Cc: Ulf Hansson +Cc: Adrian Hunter +Cc: linux-mmc@vger.kernel.org +Cc: stable@vger.kernel.org +Signed-off-by: Mikko Rapeli +Acked-by: Adrian Hunter +Reviewed-by: Avri Altman +--- + drivers/mmc/core/block.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c +index 32d49100dff5..0df627de9cee 100644 +--- a/drivers/mmc/core/block.c ++++ b/drivers/mmc/core/block.c +@@ -413,7 +413,7 @@ static struct mmc_blk_ioc_data *mmc_blk_ioctl_copy_from_user( + struct mmc_blk_ioc_data *idata; + int err; + +- idata = kmalloc(sizeof(*idata), GFP_KERNEL); ++ idata = kzalloc(sizeof(*idata), GFP_KERNEL); + if (!idata) { + err = -ENOMEM; + goto out; diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0201-pwm-stm32-Replace-write_ccrx-with-regmap_write.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0201-pwm-stm32-Replace-write_ccrx-with-regmap_write.patch deleted file mode 100644 index bc896346..00000000 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0201-pwm-stm32-Replace-write_ccrx-with-regmap_write.patch +++ /dev/null @@ -1,58 +0,0 @@ -From: Philipp Zabel -Date: Thu, 19 Oct 2023 22:07:00 +0200 -Subject: [PATCH] pwm: stm32: Replace write_ccrx with regmap_write -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The TIM_CCR1...4 registers are consecutive, so replace the switch -case with a simple calculation. Since ch is known to be in the 0...3 -range (it is set to hwpwm < npwm <= 4), drop the unnecessary error -handling. The return value was not checked anyway. What remains does -not warrant keeping the write_ccrx() function around, so instead call -regmap_write() directly at the singular call site. - -Signed-off-by: Philipp Zabel -Signed-off-by: Uwe Kleine-König -Reviewed-by: Fabrice Gasnier -Signed-off-by: Thierry Reding -Origin: v6.8-rc1, commit:e495f47274a145dd802748fed66608f46d9ae11d ---- - drivers/pwm/pwm-stm32.c | 17 +---------------- - 1 file changed, 1 insertion(+), 16 deletions(-) - -diff --git a/drivers/pwm/pwm-stm32.c b/drivers/pwm/pwm-stm32.c -index 3303a754ea02..5e48584e3bd4 100644 ---- a/drivers/pwm/pwm-stm32.c -+++ b/drivers/pwm/pwm-stm32.c -@@ -52,21 +52,6 @@ static u32 active_channels(struct stm32_pwm *dev) - return ccer & TIM_CCER_CCXE; - } - --static int write_ccrx(struct stm32_pwm *dev, int ch, u32 value) --{ -- switch (ch) { -- case 0: -- return regmap_write(dev->regmap, TIM_CCR1, value); -- case 1: -- return regmap_write(dev->regmap, TIM_CCR2, value); -- case 2: -- return regmap_write(dev->regmap, TIM_CCR3, value); -- case 3: -- return regmap_write(dev->regmap, TIM_CCR4, value); -- } -- return -EINVAL; --} -- - #define TIM_CCER_CC12P (TIM_CCER_CC1P | TIM_CCER_CC2P) - #define TIM_CCER_CC12E (TIM_CCER_CC1E | TIM_CCER_CC2E) - #define TIM_CCER_CC34P (TIM_CCER_CC3P | TIM_CCER_CC4P) -@@ -369,7 +354,7 @@ static int stm32_pwm_config(struct stm32_pwm *priv, int ch, - dty = prd * duty_ns; - do_div(dty, period_ns); - -- write_ccrx(priv, ch, dty); -+ regmap_write(priv->regmap, TIM_CCR1 + 4 * ch, dty); - - /* Configure output mode */ - shift = (ch & 0x1) * CCMR_CHANNEL_SHIFT; diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0202-mmc-core-block.c-avoid-negative-index-with-array-acc.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0202-mmc-core-block.c-avoid-negative-index-with-array-acc.patch new file mode 100644 index 00000000..6ec53b0f --- /dev/null +++ b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0202-mmc-core-block.c-avoid-negative-index-with-array-acc.patch @@ -0,0 +1,36 @@ +From: Mikko Rapeli +Date: Wed, 13 Mar 2024 15:37:44 +0200 +Subject: [PATCH] mmc core block.c: avoid negative index with array access + +Commit "mmc: core: Use mrq.sbc in close-ended ffu" assigns +prev_idata = idatas[i - 1] but doesn't check that int iterator +i is greater than zero. Add the check. + +Fixes: 4d0c8d0aef63 ("mmc: core: Use mrq.sbc in close-ended ffu") + +Link: https://lore.kernel.org/all/20231129092535.3278-1-avri.altman@wdc.com/ + +Cc: Avri Altman +Cc: Ulf Hansson +Cc: Adrian Hunter +Cc: linux-mmc@vger.kernel.org +Cc: stable@vger.kernel.org +Signed-off-by: Mikko Rapeli +Reviewed-by: Avri Altman +--- + drivers/mmc/core/block.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c +index 0df627de9cee..7f275b4ca9fa 100644 +--- a/drivers/mmc/core/block.c ++++ b/drivers/mmc/core/block.c +@@ -488,7 +488,7 @@ static int __mmc_blk_ioctl_cmd(struct mmc_card *card, struct mmc_blk_data *md, + if (idata->flags & MMC_BLK_IOC_DROP) + return 0; + +- if (idata->flags & MMC_BLK_IOC_SBC) ++ if (idata->flags & MMC_BLK_IOC_SBC && i > 0) + prev_idata = idatas[i - 1]; + + /* diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0202-pwm-stm32-Make-ch-parameter-unsigned.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0202-pwm-stm32-Make-ch-parameter-unsigned.patch deleted file mode 100644 index 588d826f..00000000 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0202-pwm-stm32-Make-ch-parameter-unsigned.patch +++ /dev/null @@ -1,59 +0,0 @@ -From: Philipp Zabel -Date: Thu, 19 Oct 2023 22:07:01 +0200 -Subject: [PATCH] pwm: stm32: Make ch parameter unsigned -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The channel parameter is only ever set to pwm->hwpwm. -Make it unsigned int as well. - -Signed-off-by: Philipp Zabel -Signed-off-by: Uwe Kleine-König -Reviewed-by: Fabrice Gasnier -Signed-off-by: Thierry Reding -Origin: v6.8-rc1, commit:c0504f59ced46b080520c2fc15b2b58d70f9ec83 ---- - drivers/pwm/pwm-stm32.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/drivers/pwm/pwm-stm32.c b/drivers/pwm/pwm-stm32.c -index 5e48584e3bd4..009f9c1a5eca 100644 ---- a/drivers/pwm/pwm-stm32.c -+++ b/drivers/pwm/pwm-stm32.c -@@ -308,7 +308,7 @@ static int stm32_pwm_capture(struct pwm_chip *chip, struct pwm_device *pwm, - return ret; - } - --static int stm32_pwm_config(struct stm32_pwm *priv, int ch, -+static int stm32_pwm_config(struct stm32_pwm *priv, unsigned int ch, - int duty_ns, int period_ns) - { - unsigned long long prd, div, dty; -@@ -371,7 +371,7 @@ static int stm32_pwm_config(struct stm32_pwm *priv, int ch, - return 0; - } - --static int stm32_pwm_set_polarity(struct stm32_pwm *priv, int ch, -+static int stm32_pwm_set_polarity(struct stm32_pwm *priv, unsigned int ch, - enum pwm_polarity polarity) - { - u32 mask; -@@ -386,7 +386,7 @@ static int stm32_pwm_set_polarity(struct stm32_pwm *priv, int ch, - return 0; - } - --static int stm32_pwm_enable(struct stm32_pwm *priv, int ch) -+static int stm32_pwm_enable(struct stm32_pwm *priv, unsigned int ch) - { - u32 mask; - int ret; -@@ -411,7 +411,7 @@ static int stm32_pwm_enable(struct stm32_pwm *priv, int ch) - return 0; - } - --static void stm32_pwm_disable(struct stm32_pwm *priv, int ch) -+static void stm32_pwm_disable(struct stm32_pwm *priv, unsigned int ch) - { - u32 mask; - diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0203-pwm-stm32-Use-hweight32-in-stm32_pwm_detect_channels.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0203-pwm-stm32-Use-hweight32-in-stm32_pwm_detect_channels.patch deleted file mode 100644 index 723197ed..00000000 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0203-pwm-stm32-Use-hweight32-in-stm32_pwm_detect_channels.patch +++ /dev/null @@ -1,57 +0,0 @@ -From: Philipp Zabel -Date: Thu, 19 Oct 2023 22:07:02 +0200 -Subject: [PATCH] pwm: stm32: Use hweight32 in stm32_pwm_detect_channels -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Use hweight32() to count the CCxE bits in stm32_pwm_detect_channels(). -Since the return value is assigned to chip.npwm, change it to unsigned -int as well. - -Signed-off-by: Philipp Zabel -Signed-off-by: Uwe Kleine-König -Reviewed-by: Fabrice Gasnier -Signed-off-by: Thierry Reding -Origin: v6.8-rc1, commit:41fa8f57c0d269243fe3bde2bce71e82c884b9ad ---- - drivers/pwm/pwm-stm32.c | 17 ++--------------- - 1 file changed, 2 insertions(+), 15 deletions(-) - -diff --git a/drivers/pwm/pwm-stm32.c b/drivers/pwm/pwm-stm32.c -index 009f9c1a5eca..cc6cae07c02c 100644 ---- a/drivers/pwm/pwm-stm32.c -+++ b/drivers/pwm/pwm-stm32.c -@@ -563,10 +563,9 @@ static void stm32_pwm_detect_complementary(struct stm32_pwm *priv) - priv->have_complementary_output = (ccer != 0); - } - --static int stm32_pwm_detect_channels(struct stm32_pwm *priv) -+static unsigned int stm32_pwm_detect_channels(struct stm32_pwm *priv) - { - u32 ccer; -- int npwm = 0; - - /* - * If channels enable bits don't exist writing 1 will have no -@@ -576,19 +575,7 @@ static int stm32_pwm_detect_channels(struct stm32_pwm *priv) - regmap_read(priv->regmap, TIM_CCER, &ccer); - regmap_clear_bits(priv->regmap, TIM_CCER, TIM_CCER_CCXE); - -- if (ccer & TIM_CCER_CC1E) -- npwm++; -- -- if (ccer & TIM_CCER_CC2E) -- npwm++; -- -- if (ccer & TIM_CCER_CC3E) -- npwm++; -- -- if (ccer & TIM_CCER_CC4E) -- npwm++; -- -- return npwm; -+ return hweight32(ccer & TIM_CCER_CCXE); - } - - static int stm32_pwm_probe(struct platform_device *pdev) diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0204-pwm-stm32-Implement-.get_state.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0204-pwm-stm32-Implement-.get_state.patch deleted file mode 100644 index 09599f4f..00000000 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0204-pwm-stm32-Implement-.get_state.patch +++ /dev/null @@ -1,75 +0,0 @@ -From: Philipp Zabel -Date: Thu, 19 Oct 2023 22:07:03 +0200 -Subject: [PATCH] pwm: stm32: Implement .get_state() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Implement the &pwm_ops->get_state callback so drivers can inherit PWM -state set by the bootloader. - -Signed-off-by: Philipp Zabel -[ukl: split off from a patch that also fixes clk enable count in .probe()] -Signed-off-by: Uwe Kleine-König -Reviewed-by: Fabrice Gasnier -Signed-off-by: Thierry Reding -Origin: v6.8-rc1, commit:e56ec7b7527c2be54a0c15064c71838fd5c49d4b ---- - drivers/pwm/pwm-stm32.c | 42 ++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 42 insertions(+) - -diff --git a/drivers/pwm/pwm-stm32.c b/drivers/pwm/pwm-stm32.c -index cc6cae07c02c..68239567a564 100644 ---- a/drivers/pwm/pwm-stm32.c -+++ b/drivers/pwm/pwm-stm32.c -@@ -471,8 +471,50 @@ static int stm32_pwm_apply_locked(struct pwm_chip *chip, struct pwm_device *pwm, - return ret; - } - -+static int stm32_pwm_get_state(struct pwm_chip *chip, -+ struct pwm_device *pwm, struct pwm_state *state) -+{ -+ struct stm32_pwm *priv = to_stm32_pwm_dev(chip); -+ int ch = pwm->hwpwm; -+ unsigned long rate; -+ u32 ccer, psc, arr, ccr; -+ u64 dty, prd; -+ int ret; -+ -+ mutex_lock(&priv->lock); -+ -+ ret = regmap_read(priv->regmap, TIM_CCER, &ccer); -+ if (ret) -+ goto out; -+ -+ state->enabled = ccer & (TIM_CCER_CC1E << (ch * 4)); -+ state->polarity = (ccer & (TIM_CCER_CC1P << (ch * 4))) ? -+ PWM_POLARITY_INVERSED : PWM_POLARITY_NORMAL; -+ ret = regmap_read(priv->regmap, TIM_PSC, &psc); -+ if (ret) -+ goto out; -+ ret = regmap_read(priv->regmap, TIM_ARR, &arr); -+ if (ret) -+ goto out; -+ ret = regmap_read(priv->regmap, TIM_CCR1 + 4 * ch, &ccr); -+ if (ret) -+ goto out; -+ -+ rate = clk_get_rate(priv->clk); -+ -+ prd = (u64)NSEC_PER_SEC * (psc + 1) * (arr + 1); -+ state->period = DIV_ROUND_UP_ULL(prd, rate); -+ dty = (u64)NSEC_PER_SEC * (psc + 1) * ccr; -+ state->duty_cycle = DIV_ROUND_UP_ULL(dty, rate); -+ -+out: -+ mutex_unlock(&priv->lock); -+ return ret; -+} -+ - static const struct pwm_ops stm32pwm_ops = { - .apply = stm32_pwm_apply_locked, -+ .get_state = stm32_pwm_get_state, - .capture = IS_ENABLED(CONFIG_DMA_ENGINE) ? stm32_pwm_capture : NULL, - }; - diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0205-pwm-stm32-Fix-enable-count-for-clk-in-.probe.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0205-pwm-stm32-Fix-enable-count-for-clk-in-.probe.patch deleted file mode 100644 index 005f6d44..00000000 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0205-pwm-stm32-Fix-enable-count-for-clk-in-.probe.patch +++ /dev/null @@ -1,72 +0,0 @@ -From: Philipp Zabel -Date: Thu, 19 Oct 2023 22:07:04 +0200 -Subject: [PATCH] pwm: stm32: Fix enable count for clk in .probe() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Make the driver take over hardware state without disabling in .probe() -and enable the clock for each enabled channel. - -Signed-off-by: Philipp Zabel -[ukleinek: split off from a patch that also implemented .get_state()] -Signed-off-by: Uwe Kleine-König -Fixes: 7edf7369205b ("pwm: Add driver for STM32 plaftorm") -Reviewed-by: Fabrice Gasnier -Signed-off-by: Thierry Reding -Origin: v6.8-rc1, commit:19f1016ea9600ed89bc24247c36ff5934ad94fbb ---- - drivers/pwm/pwm-stm32.c | 18 ++++++++++++++---- - 1 file changed, 14 insertions(+), 4 deletions(-) - -diff --git a/drivers/pwm/pwm-stm32.c b/drivers/pwm/pwm-stm32.c -index 68239567a564..97a2c3c09b69 100644 ---- a/drivers/pwm/pwm-stm32.c -+++ b/drivers/pwm/pwm-stm32.c -@@ -605,17 +605,21 @@ static void stm32_pwm_detect_complementary(struct stm32_pwm *priv) - priv->have_complementary_output = (ccer != 0); - } - --static unsigned int stm32_pwm_detect_channels(struct stm32_pwm *priv) -+static unsigned int stm32_pwm_detect_channels(struct stm32_pwm *priv, -+ unsigned int *num_enabled) - { -- u32 ccer; -+ u32 ccer, ccer_backup; - - /* - * If channels enable bits don't exist writing 1 will have no - * effect so we can detect and count them. - */ -+ regmap_read(priv->regmap, TIM_CCER, &ccer_backup); - regmap_set_bits(priv->regmap, TIM_CCER, TIM_CCER_CCXE); - regmap_read(priv->regmap, TIM_CCER, &ccer); -- regmap_clear_bits(priv->regmap, TIM_CCER, TIM_CCER_CCXE); -+ regmap_write(priv->regmap, TIM_CCER, ccer_backup); -+ -+ *num_enabled = hweight32(ccer_backup & TIM_CCER_CCXE); - - return hweight32(ccer & TIM_CCER_CCXE); - } -@@ -626,6 +630,8 @@ static int stm32_pwm_probe(struct platform_device *pdev) - struct device_node *np = dev->of_node; - struct stm32_timers *ddata = dev_get_drvdata(pdev->dev.parent); - struct stm32_pwm *priv; -+ unsigned int num_enabled; -+ unsigned int i; - int ret; - - priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); -@@ -648,7 +654,11 @@ static int stm32_pwm_probe(struct platform_device *pdev) - - priv->chip.dev = dev; - priv->chip.ops = &stm32pwm_ops; -- priv->chip.npwm = stm32_pwm_detect_channels(priv); -+ priv->chip.npwm = stm32_pwm_detect_channels(priv, &num_enabled); -+ -+ /* Initialize clock refcount to number of enabled PWM channels. */ -+ for (i = 0; i < num_enabled; i++) -+ clk_enable(priv->clk); - - ret = devm_pwmchip_add(dev, &priv->chip); - if (ret < 0) diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0101-ARM-dts-stm32-lxa-tac-adjust-USB-gadget-fifo-sizes-f.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0301-ARM-dts-stm32-lxa-tac-adjust-USB-gadget-fifo-sizes-f.patch similarity index 92% rename from meta-lxatac-bsp/recipes-kernel/linux/files/patches/0101-ARM-dts-stm32-lxa-tac-adjust-USB-gadget-fifo-sizes-f.patch rename to meta-lxatac-bsp/recipes-kernel/linux/files/patches/0301-ARM-dts-stm32-lxa-tac-adjust-USB-gadget-fifo-sizes-f.patch index 7894cc8f..8c94b86e 100644 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0101-ARM-dts-stm32-lxa-tac-adjust-USB-gadget-fifo-sizes-f.patch +++ b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0301-ARM-dts-stm32-lxa-tac-adjust-USB-gadget-fifo-sizes-f.patch @@ -15,10 +15,10 @@ Signed-off-by: Leonard Göhrs 1 file changed, 4 insertions(+) diff --git a/arch/arm/boot/dts/st/stm32mp15xc-lxa-tac.dtsi b/arch/arm/boot/dts/st/stm32mp15xc-lxa-tac.dtsi -index f09b7c384bd9..b67da69ad748 100644 +index fc3a2386dbb9..f9c4ef514fcd 100644 --- a/arch/arm/boot/dts/st/stm32mp15xc-lxa-tac.dtsi +++ b/arch/arm/boot/dts/st/stm32mp15xc-lxa-tac.dtsi -@@ -580,6 +580,10 @@ &usbotg_hs { +@@ -577,6 +577,10 @@ &usbotg_hs { vusb_d-supply = <&vdd_usb>; vusb_a-supply = <®18>; diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0301-tty-add-new-helper-function-tty_get_tiocm.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0301-tty-add-new-helper-function-tty_get_tiocm.patch deleted file mode 100644 index 4797bfcd..00000000 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0301-tty-add-new-helper-function-tty_get_tiocm.patch +++ /dev/null @@ -1,80 +0,0 @@ -From: Florian Eckert -Date: Mon, 27 Nov 2023 12:03:08 +0100 -Subject: [PATCH] tty: add new helper function tty_get_tiocm - -There is no in-kernel function to get the status register of a tty device -like the TIOCMGET ioctl returns to userspace. Create a new function, -tty_get_tiocm(), to obtain the status register that other portions of the -kernel can call if they need this information, and move the existing -internal tty_tiocmget() function to use this interface. - -Signed-off-by: Florian Eckert -Reviewed-by: Greg Kroah-Hartman -Link: https://lore.kernel.org/r/20231127110311.3583957-2-fe@dev.tdt.de -Signed-off-by: Lee Jones -Origin: v6.8-rc1, commit:4ff4379ce6eefe81695bcc2e021ce1dac3d707d2 ---- - drivers/tty/tty_io.c | 28 ++++++++++++++++++++++------ - include/linux/tty.h | 1 + - 2 files changed, 23 insertions(+), 6 deletions(-) - -diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c -index 06414e43e0b5..e2e93404133e 100644 ---- a/drivers/tty/tty_io.c -+++ b/drivers/tty/tty_io.c -@@ -2498,6 +2498,24 @@ static int send_break(struct tty_struct *tty, unsigned int duration) - return retval; - } - -+/** -+ * tty_get_tiocm - get tiocm status register -+ * @tty: tty device -+ * -+ * Obtain the modem status bits from the tty driver if the feature -+ * is supported. -+ */ -+int tty_get_tiocm(struct tty_struct *tty) -+{ -+ int retval = -ENOTTY; -+ -+ if (tty->ops->tiocmget) -+ retval = tty->ops->tiocmget(tty); -+ -+ return retval; -+} -+EXPORT_SYMBOL_GPL(tty_get_tiocm); -+ - /** - * tty_tiocmget - get modem status - * @tty: tty device -@@ -2510,14 +2528,12 @@ static int send_break(struct tty_struct *tty, unsigned int duration) - */ - static int tty_tiocmget(struct tty_struct *tty, int __user *p) - { -- int retval = -ENOTTY; -+ int retval; - -- if (tty->ops->tiocmget) { -- retval = tty->ops->tiocmget(tty); -+ retval = tty_get_tiocm(tty); -+ if (retval >= 0) -+ retval = put_user(retval, p); - -- if (retval >= 0) -- retval = put_user(retval, p); -- } - return retval; - } - -diff --git a/include/linux/tty.h b/include/linux/tty.h -index 4b6340ac2af2..d219a11e3fe0 100644 ---- a/include/linux/tty.h -+++ b/include/linux/tty.h -@@ -419,6 +419,7 @@ bool tty_unthrottle_safe(struct tty_struct *tty); - int tty_do_resize(struct tty_struct *tty, struct winsize *ws); - int tty_get_icount(struct tty_struct *tty, - struct serial_icounter_struct *icount); -+int tty_get_tiocm(struct tty_struct *tty); - int is_current_pgrp_orphaned(void); - void tty_hangup(struct tty_struct *tty); - void tty_vhangup(struct tty_struct *tty); diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0102-ARM-dts-stm32-lxa-tac-drive-powerboard-lines-as-open.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0302-ARM-dts-stm32-lxa-tac-drive-powerboard-lines-as-open.patch similarity index 97% rename from meta-lxatac-bsp/recipes-kernel/linux/files/patches/0102-ARM-dts-stm32-lxa-tac-drive-powerboard-lines-as-open.patch rename to meta-lxatac-bsp/recipes-kernel/linux/files/patches/0302-ARM-dts-stm32-lxa-tac-drive-powerboard-lines-as-open.patch index 7db46f28..33d1ff9c 100644 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0102-ARM-dts-stm32-lxa-tac-drive-powerboard-lines-as-open.patch +++ b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0302-ARM-dts-stm32-lxa-tac-drive-powerboard-lines-as-open.patch @@ -32,7 +32,7 @@ index 8a34d15e9005..4cc177031661 100644 spi-max-frequency = <5000000>; vdd-supply = <®_pb_3v3>; diff --git a/arch/arm/boot/dts/st/stm32mp15xc-lxa-tac.dtsi b/arch/arm/boot/dts/st/stm32mp15xc-lxa-tac.dtsi -index b67da69ad748..788c9d099639 100644 +index f9c4ef514fcd..042faaaf3d0d 100644 --- a/arch/arm/boot/dts/st/stm32mp15xc-lxa-tac.dtsi +++ b/arch/arm/boot/dts/st/stm32mp15xc-lxa-tac.dtsi @@ -409,7 +409,7 @@ &sdmmc2 { diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0302-leds-ledtrig-tty-Free-allocated-ttyname-buffer-on-de.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0302-leds-ledtrig-tty-Free-allocated-ttyname-buffer-on-de.patch deleted file mode 100644 index 2604e0ef..00000000 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0302-leds-ledtrig-tty-Free-allocated-ttyname-buffer-on-de.patch +++ /dev/null @@ -1,42 +0,0 @@ -From: Florian Eckert -Date: Mon, 27 Nov 2023 09:16:21 +0100 -Subject: [PATCH] leds: ledtrig-tty: Free allocated ttyname buffer on - deactivate -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The ttyname buffer for the ledtrig_tty_data struct is allocated in the -sysfs ttyname_store() function. This buffer must be released on trigger -deactivation. This was missing and is thus a memory leak. - -While we are at it, the TTY handler in the ledtrig_tty_data struct should -also be returned in case of the trigger deactivation call. - -Cc: stable@vger.kernel.org -Fixes: fd4a641ac88f ("leds: trigger: implement a tty trigger") -Signed-off-by: Florian Eckert -Reviewed-by: Uwe Kleine-König -Reviewed-by: Greg Kroah-Hartman -Link: https://lore.kernel.org/r/20231127081621.774866-1-fe@dev.tdt.de -Signed-off-by: Lee Jones -Origin: v6.8-rc1, commit:25054b232681c286fca9c678854f56494d1352cc ---- - drivers/leds/trigger/ledtrig-tty.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/drivers/leds/trigger/ledtrig-tty.c b/drivers/leds/trigger/ledtrig-tty.c -index 8ae0d2d284af..3e69a7bde928 100644 ---- a/drivers/leds/trigger/ledtrig-tty.c -+++ b/drivers/leds/trigger/ledtrig-tty.c -@@ -168,6 +168,10 @@ static void ledtrig_tty_deactivate(struct led_classdev *led_cdev) - - cancel_delayed_work_sync(&trigger_data->dwork); - -+ kfree(trigger_data->ttyname); -+ tty_kref_put(trigger_data->tty); -+ trigger_data->tty = NULL; -+ - kfree(trigger_data); - } - diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0103-ARM-dts-stm32-lxa-tac-reduce-RGMII-interface-drive-s.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0303-ARM-dts-stm32-lxa-tac-reduce-RGMII-interface-drive-s.patch similarity index 81% rename from meta-lxatac-bsp/recipes-kernel/linux/files/patches/0103-ARM-dts-stm32-lxa-tac-reduce-RGMII-interface-drive-s.patch rename to meta-lxatac-bsp/recipes-kernel/linux/files/patches/0303-ARM-dts-stm32-lxa-tac-reduce-RGMII-interface-drive-s.patch index cbe9527d..b0fdf9e3 100644 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0103-ARM-dts-stm32-lxa-tac-reduce-RGMII-interface-drive-s.patch +++ b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0303-ARM-dts-stm32-lxa-tac-reduce-RGMII-interface-drive-s.patch @@ -10,13 +10,15 @@ This results in an improvement of EMI performance by reducing the 125MHz emission and its harmonics caused by the RGMII clock line. Signed-off-by: Leonard Göhrs -Forwarded: https://lore.kernel.org/linux-arm-kernel/20240129114649.2458468-2-u.kleine-koenig@pengutronix.de +Signed-off-by: Uwe Kleine-König +Signed-off-by: Alexandre Torgue +Applied-Upstream: next-20240215, commit:7fd195f01ae52871b04b752447f865e1a6661487 --- arch/arm/boot/dts/st/stm32mp15xc-lxa-tac.dtsi | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm/boot/dts/st/stm32mp15xc-lxa-tac.dtsi b/arch/arm/boot/dts/st/stm32mp15xc-lxa-tac.dtsi -index 788c9d099639..7e002b591071 100644 +index 042faaaf3d0d..236ecfca893a 100644 --- a/arch/arm/boot/dts/st/stm32mp15xc-lxa-tac.dtsi +++ b/arch/arm/boot/dts/st/stm32mp15xc-lxa-tac.dtsi @@ -471,6 +471,10 @@ switch: switch@0 { diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0303-leds-ledtrig-tty-Replace-mutex-with-completion.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0303-leds-ledtrig-tty-Replace-mutex-with-completion.patch deleted file mode 100644 index bf25da05..00000000 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0303-leds-ledtrig-tty-Replace-mutex-with-completion.patch +++ /dev/null @@ -1,165 +0,0 @@ -From: Florian Eckert -Date: Mon, 27 Nov 2023 12:03:09 +0100 -Subject: [PATCH] leds: ledtrig-tty: Replace mutex with completion - -With this commit, the mutex handling is replaced by the completion -handling. When handling mutex, it must always be ensured that the held -mutex is also released again. This is more error-prone should the number -of code paths increase. - -This is a preparatory commit to make the trigger more configurable via -additional sysfs parameters. With this change, the worker always runs and -is no longer stopped if no ttyname is set. - -Signed-off-by: Florian Eckert -Reviewed-by: Greg Kroah-Hartman -Link: https://lore.kernel.org/r/20231127110311.3583957-3-fe@dev.tdt.de -Signed-off-by: Lee Jones -Origin: v6.8-rc1, commit:76675f69bed5f1e8ae44ba72904ff7f97aa95c0a ---- - drivers/leds/trigger/ledtrig-tty.c | 59 +++++++++++++++++++------------------- - 1 file changed, 30 insertions(+), 29 deletions(-) - -diff --git a/drivers/leds/trigger/ledtrig-tty.c b/drivers/leds/trigger/ledtrig-tty.c -index 3e69a7bde928..b16bd9cb9713 100644 ---- a/drivers/leds/trigger/ledtrig-tty.c -+++ b/drivers/leds/trigger/ledtrig-tty.c -@@ -1,5 +1,6 @@ - // SPDX-License-Identifier: GPL-2.0 - -+#include - #include - #include - #include -@@ -12,15 +13,23 @@ - struct ledtrig_tty_data { - struct led_classdev *led_cdev; - struct delayed_work dwork; -- struct mutex mutex; -+ struct completion sysfs; - const char *ttyname; - struct tty_struct *tty; - int rx, tx; - }; - --static void ledtrig_tty_restart(struct ledtrig_tty_data *trigger_data) -+static int ledtrig_tty_wait_for_completion(struct device *dev) - { -- schedule_delayed_work(&trigger_data->dwork, 0); -+ struct ledtrig_tty_data *trigger_data = led_trigger_get_drvdata(dev); -+ int ret; -+ -+ ret = wait_for_completion_timeout(&trigger_data->sysfs, -+ msecs_to_jiffies(LEDTRIG_TTY_INTERVAL * 20)); -+ if (ret == 0) -+ return -ETIMEDOUT; -+ -+ return ret; - } - - static ssize_t ttyname_show(struct device *dev, -@@ -28,14 +37,16 @@ static ssize_t ttyname_show(struct device *dev, - { - struct ledtrig_tty_data *trigger_data = led_trigger_get_drvdata(dev); - ssize_t len = 0; -+ int completion; - -- mutex_lock(&trigger_data->mutex); -+ reinit_completion(&trigger_data->sysfs); -+ completion = ledtrig_tty_wait_for_completion(dev); -+ if (completion < 0) -+ return completion; - - if (trigger_data->ttyname) - len = sprintf(buf, "%s\n", trigger_data->ttyname); - -- mutex_unlock(&trigger_data->mutex); -- - return len; - } - -@@ -46,7 +57,7 @@ static ssize_t ttyname_store(struct device *dev, - struct ledtrig_tty_data *trigger_data = led_trigger_get_drvdata(dev); - char *ttyname; - ssize_t ret = size; -- bool running; -+ int completion; - - if (size > 0 && buf[size - 1] == '\n') - size -= 1; -@@ -59,9 +70,10 @@ static ssize_t ttyname_store(struct device *dev, - ttyname = NULL; - } - -- mutex_lock(&trigger_data->mutex); -- -- running = trigger_data->ttyname != NULL; -+ reinit_completion(&trigger_data->sysfs); -+ completion = ledtrig_tty_wait_for_completion(dev); -+ if (completion < 0) -+ return completion; - - kfree(trigger_data->ttyname); - tty_kref_put(trigger_data->tty); -@@ -69,11 +81,6 @@ static ssize_t ttyname_store(struct device *dev, - - trigger_data->ttyname = ttyname; - -- mutex_unlock(&trigger_data->mutex); -- -- if (ttyname && !running) -- ledtrig_tty_restart(trigger_data); -- - return ret; - } - static DEVICE_ATTR_RW(ttyname); -@@ -85,13 +92,8 @@ static void ledtrig_tty_work(struct work_struct *work) - struct serial_icounter_struct icount; - int ret; - -- mutex_lock(&trigger_data->mutex); -- -- if (!trigger_data->ttyname) { -- /* exit without rescheduling */ -- mutex_unlock(&trigger_data->mutex); -- return; -- } -+ if (!trigger_data->ttyname) -+ goto out; - - /* try to get the tty corresponding to $ttyname */ - if (!trigger_data->tty) { -@@ -116,11 +118,8 @@ static void ledtrig_tty_work(struct work_struct *work) - } - - ret = tty_get_icount(trigger_data->tty, &icount); -- if (ret) { -- dev_info(trigger_data->tty->dev, "Failed to get icount, stopped polling\n"); -- mutex_unlock(&trigger_data->mutex); -- return; -- } -+ if (ret) -+ goto out; - - if (icount.rx != trigger_data->rx || - icount.tx != trigger_data->tx) { -@@ -134,7 +133,7 @@ static void ledtrig_tty_work(struct work_struct *work) - } - - out: -- mutex_unlock(&trigger_data->mutex); -+ complete_all(&trigger_data->sysfs); - schedule_delayed_work(&trigger_data->dwork, - msecs_to_jiffies(LEDTRIG_TTY_INTERVAL * 2)); - } -@@ -157,7 +156,9 @@ static int ledtrig_tty_activate(struct led_classdev *led_cdev) - - INIT_DELAYED_WORK(&trigger_data->dwork, ledtrig_tty_work); - trigger_data->led_cdev = led_cdev; -- mutex_init(&trigger_data->mutex); -+ init_completion(&trigger_data->sysfs); -+ -+ schedule_delayed_work(&trigger_data->dwork, 0); - - return 0; - } diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0304-leds-ledtrig-tty-Make-rx-tx-activitate-configurable.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0304-leds-ledtrig-tty-Make-rx-tx-activitate-configurable.patch deleted file mode 100644 index da591197..00000000 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0304-leds-ledtrig-tty-Make-rx-tx-activitate-configurable.patch +++ /dev/null @@ -1,221 +0,0 @@ -From: Florian Eckert -Date: Mon, 27 Nov 2023 12:03:10 +0100 -Subject: [PATCH] leds: ledtrig-tty: Make rx tx activitate configurable - -Until now, the LED blinks when data is sent via the tty (rx/tx). -This is not configurable. - -This change adds the possibility to make the indication for the direction -of the transmitted data independently controllable via the new rx and -tx sysfs entries. - -- rx: - Signal reception (rx) of data on the named tty device. - If set to 0, the LED will not blink on reception. - If set to 1 (default), the LED will blink on reception. - -- tx: - Signal transmission (tx) of data on the named tty device. - If set to 0, the LED will not blink on transmission. - If set to 1 (default), the LED will blink on transmission. - -This new sysfs entry are on by default. Thus the trigger behaves as -before this change. - -Signed-off-by: Florian Eckert -Reviewed-by: Greg Kroah-Hartman -Link: https://lore.kernel.org/r/20231127110311.3583957-4-fe@dev.tdt.de -Signed-off-by: Lee Jones -Origin: v6.8-rc1, commit:5b755ca677dba117063c6fd8d7ce21b67376deba ---- - .../ABI/testing/sysfs-class-led-trigger-tty | 16 +++ - drivers/leds/trigger/ledtrig-tty.c | 114 +++++++++++++++++++-- - 2 files changed, 119 insertions(+), 11 deletions(-) - -diff --git a/Documentation/ABI/testing/sysfs-class-led-trigger-tty b/Documentation/ABI/testing/sysfs-class-led-trigger-tty -index 2bf6b24e781b..504dece151b8 100644 ---- a/Documentation/ABI/testing/sysfs-class-led-trigger-tty -+++ b/Documentation/ABI/testing/sysfs-class-led-trigger-tty -@@ -4,3 +4,19 @@ KernelVersion: 5.10 - Contact: linux-leds@vger.kernel.org - Description: - Specifies the tty device name of the triggering tty -+ -+What: /sys/class/leds//rx -+Date: February 2024 -+KernelVersion: 6.8 -+Description: -+ Signal reception (rx) of data on the named tty device. -+ If set to 0, the LED will not blink on reception. -+ If set to 1 (default), the LED will blink on reception. -+ -+What: /sys/class/leds//tx -+Date: February 2024 -+KernelVersion: 6.8 -+Description: -+ Signal transmission (tx) of data on the named tty device. -+ If set to 0, the LED will not blink on transmission. -+ If set to 1 (default), the LED will blink on transmission. -diff --git a/drivers/leds/trigger/ledtrig-tty.c b/drivers/leds/trigger/ledtrig-tty.c -index b16bd9cb9713..4f1cdd0e4e89 100644 ---- a/drivers/leds/trigger/ledtrig-tty.c -+++ b/drivers/leds/trigger/ledtrig-tty.c -@@ -17,6 +17,19 @@ struct ledtrig_tty_data { - const char *ttyname; - struct tty_struct *tty; - int rx, tx; -+ bool mode_rx; -+ bool mode_tx; -+}; -+ -+/* Indicates which state the LED should now display */ -+enum led_trigger_tty_state { -+ TTY_LED_BLINK, -+ TTY_LED_DISABLE, -+}; -+ -+enum led_trigger_tty_modes { -+ TRIGGER_TTY_RX = 0, -+ TRIGGER_TTY_TX, - }; - - static int ledtrig_tty_wait_for_completion(struct device *dev) -@@ -85,11 +98,69 @@ static ssize_t ttyname_store(struct device *dev, - } - static DEVICE_ATTR_RW(ttyname); - -+static ssize_t ledtrig_tty_attr_show(struct device *dev, char *buf, -+ enum led_trigger_tty_modes attr) -+{ -+ struct ledtrig_tty_data *trigger_data = led_trigger_get_drvdata(dev); -+ bool state; -+ -+ switch (attr) { -+ case TRIGGER_TTY_RX: -+ state = trigger_data->mode_rx; -+ break; -+ case TRIGGER_TTY_TX: -+ state = trigger_data->mode_tx; -+ break; -+ } -+ -+ return sysfs_emit(buf, "%u\n", state); -+} -+ -+static ssize_t ledtrig_tty_attr_store(struct device *dev, const char *buf, -+ size_t size, enum led_trigger_tty_modes attr) -+{ -+ struct ledtrig_tty_data *trigger_data = led_trigger_get_drvdata(dev); -+ bool state; -+ int ret; -+ -+ ret = kstrtobool(buf, &state); -+ if (ret) -+ return ret; -+ -+ switch (attr) { -+ case TRIGGER_TTY_RX: -+ trigger_data->mode_rx = state; -+ break; -+ case TRIGGER_TTY_TX: -+ trigger_data->mode_tx = state; -+ break; -+ } -+ -+ return size; -+} -+ -+#define DEFINE_TTY_TRIGGER(trigger_name, trigger) \ -+ static ssize_t trigger_name##_show(struct device *dev, \ -+ struct device_attribute *attr, char *buf) \ -+ { \ -+ return ledtrig_tty_attr_show(dev, buf, trigger); \ -+ } \ -+ static ssize_t trigger_name##_store(struct device *dev, \ -+ struct device_attribute *attr, const char *buf, size_t size) \ -+ { \ -+ return ledtrig_tty_attr_store(dev, buf, size, trigger); \ -+ } \ -+ static DEVICE_ATTR_RW(trigger_name) -+ -+DEFINE_TTY_TRIGGER(rx, TRIGGER_TTY_RX); -+DEFINE_TTY_TRIGGER(tx, TRIGGER_TTY_TX); -+ - static void ledtrig_tty_work(struct work_struct *work) - { - struct ledtrig_tty_data *trigger_data = - container_of(work, struct ledtrig_tty_data, dwork.work); -- struct serial_icounter_struct icount; -+ enum led_trigger_tty_state state = TTY_LED_DISABLE; -+ unsigned long interval = LEDTRIG_TTY_INTERVAL; - int ret; - - if (!trigger_data->ttyname) -@@ -117,22 +188,37 @@ static void ledtrig_tty_work(struct work_struct *work) - trigger_data->tty = tty; - } - -- ret = tty_get_icount(trigger_data->tty, &icount); -- if (ret) -- goto out; -+ if (trigger_data->mode_rx || trigger_data->mode_tx) { -+ struct serial_icounter_struct icount; - -- if (icount.rx != trigger_data->rx || -- icount.tx != trigger_data->tx) { -- unsigned long interval = LEDTRIG_TTY_INTERVAL; -+ ret = tty_get_icount(trigger_data->tty, &icount); -+ if (ret) -+ goto out; - -- led_blink_set_oneshot(trigger_data->led_cdev, &interval, -- &interval, 0); -+ if (trigger_data->mode_tx && (icount.tx != trigger_data->tx)) { -+ trigger_data->tx = icount.tx; -+ state = TTY_LED_BLINK; -+ } - -- trigger_data->rx = icount.rx; -- trigger_data->tx = icount.tx; -+ if (trigger_data->mode_rx && (icount.rx != trigger_data->rx)) { -+ trigger_data->rx = icount.rx; -+ state = TTY_LED_BLINK; -+ } - } - - out: -+ switch (state) { -+ case TTY_LED_BLINK: -+ led_blink_set_oneshot(trigger_data->led_cdev, &interval, -+ &interval, 0); -+ break; -+ case TTY_LED_DISABLE: -+ fallthrough; -+ default: -+ led_set_brightness(trigger_data->led_cdev, LED_OFF); -+ break; -+ } -+ - complete_all(&trigger_data->sysfs); - schedule_delayed_work(&trigger_data->dwork, - msecs_to_jiffies(LEDTRIG_TTY_INTERVAL * 2)); -@@ -140,6 +226,8 @@ static void ledtrig_tty_work(struct work_struct *work) - - static struct attribute *ledtrig_tty_attrs[] = { - &dev_attr_ttyname.attr, -+ &dev_attr_rx.attr, -+ &dev_attr_tx.attr, - NULL - }; - ATTRIBUTE_GROUPS(ledtrig_tty); -@@ -152,6 +240,10 @@ static int ledtrig_tty_activate(struct led_classdev *led_cdev) - if (!trigger_data) - return -ENOMEM; - -+ /* Enable default rx/tx mode */ -+ trigger_data->mode_rx = true; -+ trigger_data->mode_tx = true; -+ - led_set_trigger_data(led_cdev, trigger_data); - - INIT_DELAYED_WORK(&trigger_data->dwork, ledtrig_tty_work); diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0305-leds-ledtrig-tty-Add-additional-line-state-evaluatio.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0305-leds-ledtrig-tty-Add-additional-line-state-evaluatio.patch deleted file mode 100644 index b63cd6b9..00000000 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0305-leds-ledtrig-tty-Add-additional-line-state-evaluatio.patch +++ /dev/null @@ -1,268 +0,0 @@ -From: Florian Eckert -Date: Mon, 27 Nov 2023 12:03:11 +0100 -Subject: [PATCH] leds: ledtrig-tty: Add additional line state evaluation - -The serial tty interface also supports additional input signals, that -can also be evaluated within this trigger. This change is adding the -following additional input sources, which could be controlled -via the '/sys/class//' sysfs interface. - -Explanation: -DCE = Data Communication Equipment (Modem) -DTE = Data Terminal Equipment (Computer) - -- cts: - DCE is ready to accept data from the DTE (CTS = Clear To Send). If - the line state is detected, the LED is switched on. - If set to 0 (default), the LED will not evaluate CTS. - If set to 1, the LED will evaluate CTS. - -- dsr: - DCE is ready to receive and send data (DSR = Data Set Ready). If the - line state is detected, the LED is switched on. - If set to 0 (default), the LED will not evaluate DSR. - If set to 1, the LED will evaluate DSR. - -- dcd: - DTE is receiving a carrier from the DCE (DCD = Data Carrier Detect). - If the line state is detected, the LED is switched on. - If set to 0 (default), the LED will not evaluate DCD. - If set to 1, the LED will evaluate DCD. - -- rng: - DCE has detected an incoming ring signal on the telephone line - (RNG = Ring Indicator). If the line state is detected, the LED is - switched on. - If set to 0 (default), the LED will not evaluate RNG. - If set to 1, the LED will evaluate RNG. - -Also add an invert flag on LED blink, so that the LED blinks in the -correct order. - -* If one off the new enabled input signals are evaluatet as 'enabled', - and data are transmitted, then the LED should first blink 'off' and - then 'on' (invert). -* If all the new enabled input signals are evaluatet as 'disabled', - and data are transmitted, then the LED should first blink 'on' and - then 'off'. - -Signed-off-by: Florian Eckert -Reviewed-by: Maarten Brock -Reviewed-by: Greg Kroah-Hartman -Link: https://lore.kernel.org/r/20231127110311.3583957-5-fe@dev.tdt.de -Signed-off-by: Lee Jones -Origin: v6.8-rc1, commit:6dec659896b4e683beaea223d306e71e174e84cd ---- - .../ABI/testing/sysfs-class-led-trigger-tty | 40 +++++++++++ - drivers/leds/trigger/ledtrig-tty.c | 78 +++++++++++++++++++++- - 2 files changed, 117 insertions(+), 1 deletion(-) - -diff --git a/Documentation/ABI/testing/sysfs-class-led-trigger-tty b/Documentation/ABI/testing/sysfs-class-led-trigger-tty -index 504dece151b8..30cef9ac0f49 100644 ---- a/Documentation/ABI/testing/sysfs-class-led-trigger-tty -+++ b/Documentation/ABI/testing/sysfs-class-led-trigger-tty -@@ -20,3 +20,43 @@ Description: - Signal transmission (tx) of data on the named tty device. - If set to 0, the LED will not blink on transmission. - If set to 1 (default), the LED will blink on transmission. -+ -+What: /sys/class/leds//cts -+Date: February 2024 -+KernelVersion: 6.8 -+Description: -+ CTS = Clear To Send -+ DCE is ready to accept data from the DTE. -+ If the line state is detected, the LED is switched on. -+ If set to 0 (default), the LED will not evaluate CTS. -+ If set to 1, the LED will evaluate CTS. -+ -+What: /sys/class/leds//dsr -+Date: February 2024 -+KernelVersion: 6.8 -+Description: -+ DSR = Data Set Ready -+ DCE is ready to receive and send data. -+ If the line state is detected, the LED is switched on. -+ If set to 0 (default), the LED will not evaluate DSR. -+ If set to 1, the LED will evaluate DSR. -+ -+What: /sys/class/leds//dcd -+Date: February 2024 -+KernelVersion: 6.8 -+Description: -+ DCD = Data Carrier Detect -+ DTE is receiving a carrier from the DCE. -+ If the line state is detected, the LED is switched on. -+ If set to 0 (default), the LED will not evaluate CAR (DCD). -+ If set to 1, the LED will evaluate CAR (DCD). -+ -+What: /sys/class/leds//rng -+Date: February 2024 -+KernelVersion: 6.8 -+Description: -+ RNG = Ring Indicator -+ DCE has detected an incoming ring signal on the telephone -+ line. If the line state is detected, the LED is switched on. -+ If set to 0 (default), the LED will not evaluate RNG. -+ If set to 1, the LED will evaluate RNG. -diff --git a/drivers/leds/trigger/ledtrig-tty.c b/drivers/leds/trigger/ledtrig-tty.c -index 4f1cdd0e4e89..8cf1485e8165 100644 ---- a/drivers/leds/trigger/ledtrig-tty.c -+++ b/drivers/leds/trigger/ledtrig-tty.c -@@ -19,17 +19,26 @@ struct ledtrig_tty_data { - int rx, tx; - bool mode_rx; - bool mode_tx; -+ bool mode_cts; -+ bool mode_dsr; -+ bool mode_dcd; -+ bool mode_rng; - }; - - /* Indicates which state the LED should now display */ - enum led_trigger_tty_state { - TTY_LED_BLINK, -+ TTY_LED_ENABLE, - TTY_LED_DISABLE, - }; - - enum led_trigger_tty_modes { - TRIGGER_TTY_RX = 0, - TRIGGER_TTY_TX, -+ TRIGGER_TTY_CTS, -+ TRIGGER_TTY_DSR, -+ TRIGGER_TTY_DCD, -+ TRIGGER_TTY_RNG, - }; - - static int ledtrig_tty_wait_for_completion(struct device *dev) -@@ -111,6 +120,18 @@ static ssize_t ledtrig_tty_attr_show(struct device *dev, char *buf, - case TRIGGER_TTY_TX: - state = trigger_data->mode_tx; - break; -+ case TRIGGER_TTY_CTS: -+ state = trigger_data->mode_cts; -+ break; -+ case TRIGGER_TTY_DSR: -+ state = trigger_data->mode_dsr; -+ break; -+ case TRIGGER_TTY_DCD: -+ state = trigger_data->mode_dcd; -+ break; -+ case TRIGGER_TTY_RNG: -+ state = trigger_data->mode_rng; -+ break; - } - - return sysfs_emit(buf, "%u\n", state); -@@ -134,6 +155,18 @@ static ssize_t ledtrig_tty_attr_store(struct device *dev, const char *buf, - case TRIGGER_TTY_TX: - trigger_data->mode_tx = state; - break; -+ case TRIGGER_TTY_CTS: -+ trigger_data->mode_cts = state; -+ break; -+ case TRIGGER_TTY_DSR: -+ trigger_data->mode_dsr = state; -+ break; -+ case TRIGGER_TTY_DCD: -+ trigger_data->mode_dcd = state; -+ break; -+ case TRIGGER_TTY_RNG: -+ trigger_data->mode_rng = state; -+ break; - } - - return size; -@@ -154,6 +187,10 @@ static ssize_t ledtrig_tty_attr_store(struct device *dev, const char *buf, - - DEFINE_TTY_TRIGGER(rx, TRIGGER_TTY_RX); - DEFINE_TTY_TRIGGER(tx, TRIGGER_TTY_TX); -+DEFINE_TTY_TRIGGER(cts, TRIGGER_TTY_CTS); -+DEFINE_TTY_TRIGGER(dsr, TRIGGER_TTY_DSR); -+DEFINE_TTY_TRIGGER(dcd, TRIGGER_TTY_DCD); -+DEFINE_TTY_TRIGGER(rng, TRIGGER_TTY_RNG); - - static void ledtrig_tty_work(struct work_struct *work) - { -@@ -161,6 +198,8 @@ static void ledtrig_tty_work(struct work_struct *work) - container_of(work, struct ledtrig_tty_data, dwork.work); - enum led_trigger_tty_state state = TTY_LED_DISABLE; - unsigned long interval = LEDTRIG_TTY_INTERVAL; -+ bool invert = false; -+ int status; - int ret; - - if (!trigger_data->ttyname) -@@ -188,6 +227,33 @@ static void ledtrig_tty_work(struct work_struct *work) - trigger_data->tty = tty; - } - -+ status = tty_get_tiocm(trigger_data->tty); -+ if (status > 0) { -+ if (trigger_data->mode_cts) { -+ if (status & TIOCM_CTS) -+ state = TTY_LED_ENABLE; -+ } -+ -+ if (trigger_data->mode_dsr) { -+ if (status & TIOCM_DSR) -+ state = TTY_LED_ENABLE; -+ } -+ -+ if (trigger_data->mode_dcd) { -+ if (status & TIOCM_CAR) -+ state = TTY_LED_ENABLE; -+ } -+ -+ if (trigger_data->mode_rng) { -+ if (status & TIOCM_RNG) -+ state = TTY_LED_ENABLE; -+ } -+ } -+ -+ /* -+ * The evaluation of rx/tx must be done after the evaluation -+ * of TIOCM_*, because rx/tx has priority. -+ */ - if (trigger_data->mode_rx || trigger_data->mode_tx) { - struct serial_icounter_struct icount; - -@@ -197,11 +263,13 @@ static void ledtrig_tty_work(struct work_struct *work) - - if (trigger_data->mode_tx && (icount.tx != trigger_data->tx)) { - trigger_data->tx = icount.tx; -+ invert = state == TTY_LED_ENABLE; - state = TTY_LED_BLINK; - } - - if (trigger_data->mode_rx && (icount.rx != trigger_data->rx)) { - trigger_data->rx = icount.rx; -+ invert = state == TTY_LED_ENABLE; - state = TTY_LED_BLINK; - } - } -@@ -210,7 +278,11 @@ static void ledtrig_tty_work(struct work_struct *work) - switch (state) { - case TTY_LED_BLINK: - led_blink_set_oneshot(trigger_data->led_cdev, &interval, -- &interval, 0); -+ &interval, invert); -+ break; -+ case TTY_LED_ENABLE: -+ led_set_brightness(trigger_data->led_cdev, -+ trigger_data->led_cdev->blink_brightness); - break; - case TTY_LED_DISABLE: - fallthrough; -@@ -228,6 +300,10 @@ static struct attribute *ledtrig_tty_attrs[] = { - &dev_attr_ttyname.attr, - &dev_attr_rx.attr, - &dev_attr_tx.attr, -+ &dev_attr_cts.attr, -+ &dev_attr_dsr.attr, -+ &dev_attr_dcd.attr, -+ &dev_attr_rng.attr, - NULL - }; - ATTRIBUTE_GROUPS(ledtrig_tty); diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0401-Release-6.7-customers-lxa-lxatac-20240213-1.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0401-Release-6.7-customers-lxa-lxatac-20240213-1.patch deleted file mode 100644 index 52f94a6e..00000000 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0401-Release-6.7-customers-lxa-lxatac-20240213-1.patch +++ /dev/null @@ -1,21 +0,0 @@ -From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= -Date: Tue, 13 Feb 2024 11:26:57 +0100 -Subject: [PATCH] Release 6.7/customers/lxa/lxatac/20240213-1 - ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index c6f549f6a4ae..cedc61d5a726 100644 ---- a/Makefile -+++ b/Makefile -@@ -2,7 +2,7 @@ - VERSION = 6 - PATCHLEVEL = 7 - SUBLEVEL = 0 --EXTRAVERSION = -+EXTRAVERSION =-20240213-1 - NAME = Hurr durr I'ma ninja sloth - - # *DOCUMENTATION* diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0401-Release-6.8-customers-lxa-lxatac-20240321-1.patch b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0401-Release-6.8-customers-lxa-lxatac-20240321-1.patch new file mode 100644 index 00000000..9eeeb365 --- /dev/null +++ b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/0401-Release-6.8-customers-lxa-lxatac-20240321-1.patch @@ -0,0 +1,21 @@ +From: =?UTF-8?q?Leonard=20G=C3=B6hrs?= +Date: Thu, 21 Mar 2024 09:53:55 +0100 +Subject: [PATCH] Release 6.8/customers/lxa/lxatac/20240321-1 + +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index c7ee53f4bf04..7044284fb28b 100644 +--- a/Makefile ++++ b/Makefile +@@ -2,7 +2,7 @@ + VERSION = 6 + PATCHLEVEL = 8 + SUBLEVEL = 0 +-EXTRAVERSION = ++EXTRAVERSION =-20240321-1 + NAME = Hurr durr I'ma ninja sloth + + # *DOCUMENTATION* diff --git a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/series.inc b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/series.inc index 8dd6e908..48ef1c1c 100644 --- a/meta-lxatac-bsp/recipes-kernel/linux/files/patches/series.inc +++ b/meta-lxatac-bsp/recipes-kernel/linux/files/patches/series.inc @@ -1,46 +1,44 @@ -# umpf-base: v6.7 -# umpf-name: 6.7/customers/lxa/lxatac -# umpf-version: 6.7/customers/lxa/lxatac/20240213-1 -# umpf-topic: v6.7/topic/reproducible-build -# umpf-hashinfo: d313a8ff84dc39d70aa91df0fd78f8df643f0d1c -# umpf-topic-range: 0dd3ee31125508cd67f7e7172247f05b7fd1753a..b16e94460bdcef2303c9af731d73b94dac3204dc +# umpf-base: v6.8 +# umpf-name: 6.8/customers/lxa/lxatac +# umpf-version: 6.8/customers/lxa/lxatac/20240321-1 +# umpf-topic: v6.8/topic/reproducible-build +# umpf-hashinfo: f6d939fc20195e315035607c0c72d358f0bb73e3 +# umpf-topic-range: e8f897f4afef0031fe618a8e94127a0934896aba..8ad3d577c03c3e815d8a493f94f9762b74a6b3c6 SRC_URI += "\ file://patches/0001-ARM-Don-t-mention-the-full-path-of-the-source-direct.patch \ - file://patches/0002-vt-conmakehash-improve-reproducibility.patch \ - file://patches/0003-lib-build_OID_registry-fix-reproducibility-issues.patch \ + file://patches/0002-lib-build_OID_registry-Don-t-mention-the-full-path-o.patch \ + file://patches/0003-tty-vt-conmakehash-Don-t-mention-the-full-path-of-th.patch \ " -# umpf-topic: v6.7/customers/lxa/lxatac -# umpf-hashinfo: 65acf36d24b3cf1964d37ee9a9ebc220e1c49f6d -# umpf-topic-range: b16e94460bdcef2303c9af731d73b94dac3204dc..57e0561ea46bf2f20e7f4d47012c5257ba2e7bf7 +# umpf-topic: v6.7/topic/net-ksz-switch +# umpf-hashinfo: dece8110fbc77c4701c16cac2cd3297ff0cbe0ee +# umpf-topic-range: 8ad3d577c03c3e815d8a493f94f9762b74a6b3c6..f7fee7ab4b141f28acda48eff1dd8f2c80b2bfae SRC_URI += "\ - file://patches/0101-ARM-dts-stm32-lxa-tac-adjust-USB-gadget-fifo-sizes-f.patch \ - file://patches/0102-ARM-dts-stm32-lxa-tac-drive-powerboard-lines-as-open.patch \ - file://patches/0103-ARM-dts-stm32-lxa-tac-reduce-RGMII-interface-drive-s.patch \ - file://patches/0104-net-dsa-microchip-HACK-in-drive-strength-settings-to.patch \ + file://patches/0101-net-dsa-microchip-make-sure-drive-strength-configura.patch \ + file://patches/0102-net-bridge-switchdev-Improve-error-message-clarity-f.patch \ + file://patches/0103-net-dsa-microchip-add-regmap_range-for-KSZ9563-chip.patch \ " -# umpf-topic: v6.7/topic/pwm-stm32 -# umpf-hashinfo: d11fc1b76a295d643d17314df8f3a4c815900e4b -# umpf-topic-range: 57e0561ea46bf2f20e7f4d47012c5257ba2e7bf7..7963e1ff8ebe30574ac8065e51490d239500dc6f +# umpf-topic: v6.8/topic/mmc-fix +# umpf-hashinfo: 828f8f71f7ffdfff2298b08fb840232dec3a9fad +# umpf-topic-range: f7fee7ab4b141f28acda48eff1dd8f2c80b2bfae..27dbef9799e218300fd3f8843edcd24a91a258be SRC_URI += "\ - file://patches/0201-pwm-stm32-Replace-write_ccrx-with-regmap_write.patch \ - file://patches/0202-pwm-stm32-Make-ch-parameter-unsigned.patch \ - file://patches/0203-pwm-stm32-Use-hweight32-in-stm32_pwm_detect_channels.patch \ - file://patches/0204-pwm-stm32-Implement-.get_state.patch \ - file://patches/0205-pwm-stm32-Fix-enable-count-for-clk-in-.probe.patch \ + file://patches/0201-mmc-core-block.c-initialize-mmc_blk_ioc_data.patch \ + file://patches/0202-mmc-core-block.c-avoid-negative-index-with-array-acc.patch \ " -# umpf-topic: v6.7/topic/tty-trigger -# umpf-hashinfo: 6c436e04db10c52d628131d3645ed0e98e8609b7 -# umpf-topic-range: 7963e1ff8ebe30574ac8065e51490d239500dc6f..d71d5e0c446248c3e62f4f719f618870402bdfac +# umpf-topic: v6.8/customers/lxa/lxatac +# umpf-hashinfo: fda5ce9210c0279e8902f12179f2c00f9f214653 +# umpf-topic-range: 27dbef9799e218300fd3f8843edcd24a91a258be..d8efdb1b43b959f3358bfe44d9017053db3dbf6c SRC_URI += "\ - file://patches/0301-tty-add-new-helper-function-tty_get_tiocm.patch \ - file://patches/0302-leds-ledtrig-tty-Free-allocated-ttyname-buffer-on-de.patch \ - file://patches/0303-leds-ledtrig-tty-Replace-mutex-with-completion.patch \ - file://patches/0304-leds-ledtrig-tty-Make-rx-tx-activitate-configurable.patch \ - file://patches/0305-leds-ledtrig-tty-Add-additional-line-state-evaluatio.patch \ + file://patches/0301-ARM-dts-stm32-lxa-tac-adjust-USB-gadget-fifo-sizes-f.patch \ + file://patches/0302-ARM-dts-stm32-lxa-tac-drive-powerboard-lines-as-open.patch \ + file://patches/0303-ARM-dts-stm32-lxa-tac-reduce-RGMII-interface-drive-s.patch \ " -# umpf-release: 6.7/customers/lxa/lxatac/20240213-1 -# umpf-topic-range: d71d5e0c446248c3e62f4f719f618870402bdfac..4ea732c93541a067022a4c74cfe3586084fd96ee +# umpf-release: 6.8/customers/lxa/lxatac/20240321-1 +# umpf-topic-range: d8efdb1b43b959f3358bfe44d9017053db3dbf6c..f6bb1566d4d8ec6c3d634740e665aea78a466bd6 SRC_URI += "\ - file://patches/0401-Release-6.7-customers-lxa-lxatac-20240213-1.patch \ + file://patches/0401-Release-6.8-customers-lxa-lxatac-20240321-1.patch \ " +UMPF_BASE = "6.8" +UMPF_VERSION = "20240321-1" +PV = "${UMPF_BASE}-${UMPF_VERSION}" +LINUX_VERSION = "${UMPF_BASE}" # umpf-end diff --git a/meta-lxatac-bsp/recipes-kernel/linux/linux-lxatac.bb b/meta-lxatac-bsp/recipes-kernel/linux/linux-lxatac.bb index 5b9740e8..73ef79d4 100644 --- a/meta-lxatac-bsp/recipes-kernel/linux/linux-lxatac.bb +++ b/meta-lxatac-bsp/recipes-kernel/linux/linux-lxatac.bb @@ -5,17 +5,15 @@ SECTION = "kernel" LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -PV = "6.7" - -SRC_URI = "https://www.kernel.org/pub/linux/kernel/v6.x/linux-${PV}.tar.xz \ +SRC_URI = "https://www.kernel.org/pub/linux/kernel/v6.x/linux-${LINUX_VERSION}.tar.xz \ file://defconfig \ " -SRC_URI[sha256sum] = "ef31144a2576d080d8c31698e83ec9f66bf97c677fa2aaf0d5bbb9f3345b1069" +SRC_URI[sha256sum] = "c969dea4e8bb6be991bbf7c010ba0e0a5643a3a8d8fb0a2aaa053406f1e965f3" require files/patches/series.inc -S = "${WORKDIR}/linux-${PV}" +S = "${WORKDIR}/linux-${LINUX_VERSION}" COMPATIBLE_MACHINE = "lxatac"