From 32a1b1409f57ac353f67620cf7c5a55c7bf443c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Igor=20Pe=C4=8Dovnik?= Date: Tue, 25 Oct 2022 17:53:55 +0200 Subject: [PATCH] Bump Rpi EDGE kernel to 6.0.y (#4338) * Bump rpi to 6.0.y * Add Kinetic --- config/kernel/linux-bcm2711-edge.config | 228 ++++++++++++------ config/sources/families/bcm2711.conf | 8 +- ...-cpuinfo-consistent-on-arm64-and-arm.patch | 29 +++ .../bcm2711-6.0/1003-remote-wakeup.patch | 160 ++++++++++++ .../archive/bcm2711-6.0/2001-rename-msd.patch | 19 ++ patch/kernel/bcm2711-edge | 2 +- 6 files changed, 361 insertions(+), 85 deletions(-) create mode 100644 patch/kernel/archive/bcm2711-6.0/0001-Make-proc-cpuinfo-consistent-on-arm64-and-arm.patch create mode 100644 patch/kernel/archive/bcm2711-6.0/1003-remote-wakeup.patch create mode 100644 patch/kernel/archive/bcm2711-6.0/2001-rename-msd.patch diff --git a/config/kernel/linux-bcm2711-edge.config b/config/kernel/linux-bcm2711-edge.config index 335a557111..894ffebde3 100644 --- a/config/kernel/linux-bcm2711-edge.config +++ b/config/kernel/linux-bcm2711-edge.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 5.19.5 Kernel Configuration +# Linux/arm64 6.0.3 Kernel Configuration # CONFIG_CC_VERSION_TEXT="aarch64-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 8.3.0" CONFIG_CC_IS_GCC=y @@ -13,7 +13,6 @@ CONFIG_LD_VERSION=23200 CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK_STATIC=y -CONFIG_CC_HAS_ASM_GOTO=y CONFIG_CC_HAS_ASM_INLINE=y CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y CONFIG_PAHOLE_VERSION=122 @@ -71,6 +70,8 @@ CONFIG_ARCH_HAS_TICK_BROADCAST=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y +CONFIG_CONTEXT_TRACKING=y +CONFIG_CONTEXT_TRACKING_IDLE=y # # Timers subsystem @@ -160,6 +161,7 @@ CONFIG_GCC12_NO_ARRAY_BOUNDS=y CONFIG_ARCH_SUPPORTS_INT128=y CONFIG_CGROUPS=y CONFIG_PAGE_COUNTER=y +CONFIG_CGROUP_FAVOR_DYNMODS=y CONFIG_MEMCG=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG_KMEM=y @@ -293,6 +295,7 @@ CONFIG_ARCH_PROC_KCORE_TEXT=y CONFIG_ARCH_BCM2835=y # CONFIG_ARCH_BCM4908 is not set # CONFIG_ARCH_BCM_IPROC is not set +# CONFIG_ARCH_BCMBCA is not set # CONFIG_ARCH_BERLIN is not set # CONFIG_ARCH_BITMAIN is not set # CONFIG_ARCH_BRCMSTB is not set @@ -307,6 +310,7 @@ CONFIG_ARCH_BCM2835=y # CONFIG_ARCH_MESON is not set # CONFIG_ARCH_MVEBU is not set # CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_NPCM is not set # CONFIG_ARCH_QCOM is not set # CONFIG_ARCH_REALTEK is not set # CONFIG_ARCH_RENESAS is not set @@ -351,6 +355,7 @@ CONFIG_ARM64_ERRATUM_1165522=y CONFIG_ARM64_ERRATUM_1319367=y CONFIG_ARM64_ERRATUM_1530923=y CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y +CONFIG_ARM64_ERRATUM_2441007=y CONFIG_ARM64_ERRATUM_1286807=y CONFIG_ARM64_ERRATUM_1463225=y CONFIG_ARM64_ERRATUM_1542419=y @@ -360,6 +365,8 @@ CONFIG_ARM64_ERRATUM_2077057=y CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y CONFIG_ARM64_ERRATUM_2054223=y CONFIG_ARM64_ERRATUM_2067961=y +CONFIG_ARM64_ERRATUM_2441009=y +CONFIG_ARM64_ERRATUM_2457168=y # CONFIG_CAVIUM_ERRATUM_22375 is not set # CONFIG_CAVIUM_ERRATUM_23154 is not set # CONFIG_CAVIUM_ERRATUM_27456 is not set @@ -461,7 +468,6 @@ CONFIG_ARM64_TLB_RANGE=y CONFIG_AS_HAS_ARMV8_5=y CONFIG_ARM64_BTI=y CONFIG_ARM64_E0PD=y -CONFIG_ARCH_RANDOM=y # end of ARMv8.5 architectural features # @@ -515,16 +521,13 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y # CPU Idle # CONFIG_CPU_IDLE=y -CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y # CONFIG_CPU_IDLE_GOV_LADDER is not set CONFIG_CPU_IDLE_GOV_MENU=y # CONFIG_CPU_IDLE_GOV_TEO is not set -CONFIG_DT_IDLE_STATES=y # # ARM CPU Idle Drivers # -CONFIG_ARM_CPUIDLE=y # CONFIG_ARM_PSCI_CPUIDLE is not set # end of ARM CPU Idle Drivers # end of CPU Idle @@ -590,6 +593,7 @@ CONFIG_ARM64_CRYPTO=y CONFIG_CRYPTO_SM4_ARM64_CE_BLK=m CONFIG_CRYPTO_SM4_ARM64_NEON_BLK=m # CONFIG_CRYPTO_GHASH_ARM64_CE is not set +CONFIG_CRYPTO_POLYVAL_ARM64_CE=m CONFIG_CRYPTO_AES_ARM64=m # CONFIG_CRYPTO_AES_ARM64_CE is not set # CONFIG_CRYPTO_AES_ARM64_CE_CCM is not set @@ -609,6 +613,7 @@ CONFIG_JUMP_LABEL=y # CONFIG_STATIC_KEYS_SELFTEST is not set CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y CONFIG_KRETPROBES=y +CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_KPROBES=y CONFIG_HAVE_KRETPROBES=y CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y @@ -655,7 +660,7 @@ CONFIG_ARCH_SUPPORTS_LTO_CLANG=y CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y CONFIG_LTO_NONE=y CONFIG_ARCH_SUPPORTS_CFI_CLANG=y -CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_CONTEXT_TRACKING_USER=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y CONFIG_HAVE_MOVE_PUD=y @@ -696,6 +701,7 @@ CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y +CONFIG_ARCH_HAVE_TRACE_MMIO_ACCESS=y # # GCOV-based kernel profiling @@ -881,9 +887,11 @@ CONFIG_MMU_NOTIFIER=y CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y # CONFIG_MEMORY_FAILURE is not set +CONFIG_ARCH_WANTS_THP_SWAP=y CONFIG_TRANSPARENT_HUGEPAGE=y # CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_THP_SWAP=y # CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_FRONTSWAP=y CONFIG_CMA=y @@ -896,11 +904,11 @@ CONFIG_GENERIC_EARLY_IOREMAP=y # CONFIG_IDLE_PAGE_TRACKING is not set CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y -CONFIG_ARCH_HAS_VM_GET_PAGE_PROT=y CONFIG_ARCH_HAS_PTE_DEVMAP=y CONFIG_ARCH_HAS_ZONE_DMA_SET=y CONFIG_ZONE_DMA=y CONFIG_ZONE_DMA32=y +CONFIG_GET_FREE_REGION=y CONFIG_VM_EVENT_COUNTERS=y CONFIG_PERCPU_STATS=y # CONFIG_GUP_TEST is not set @@ -1130,6 +1138,7 @@ CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_REJECT_NETDEV=m CONFIG_NF_FLOW_TABLE_INET=m CONFIG_NF_FLOW_TABLE=m +CONFIG_NF_FLOW_TABLE_PROCFS=y CONFIG_NETFILTER_XTABLES=y CONFIG_NETFILTER_XTABLES_COMPAT=y @@ -1622,56 +1631,6 @@ CONFIG_CAN_BCM=m CONFIG_CAN_GW=m CONFIG_CAN_J1939=m CONFIG_CAN_ISOTP=m - -# -# CAN Device Drivers -# -CONFIG_CAN_VCAN=m -CONFIG_CAN_VXCAN=m -CONFIG_CAN_SLCAN=m -CONFIG_CAN_DEV=m -CONFIG_CAN_CALC_BITTIMING=y -# CONFIG_CAN_FLEXCAN is not set -# CONFIG_CAN_GRCAN is not set -# CONFIG_CAN_KVASER_PCIEFD is not set -# CONFIG_CAN_XILINXCAN is not set -# CONFIG_CAN_C_CAN is not set -# CONFIG_CAN_CC770 is not set -CONFIG_CAN_CTUCANFD=m -CONFIG_CAN_CTUCANFD_PCI=m -CONFIG_CAN_CTUCANFD_PLATFORM=m -# CONFIG_CAN_IFI_CANFD is not set -# CONFIG_CAN_M_CAN is not set -# CONFIG_CAN_PEAK_PCIEFD is not set -# CONFIG_CAN_SJA1000 is not set -# CONFIG_CAN_SOFTING is not set - -# -# CAN SPI interfaces -# -CONFIG_CAN_HI311X=m -CONFIG_CAN_MCP251X=m -CONFIG_CAN_MCP251XFD=m -# CONFIG_CAN_MCP251XFD_SANITY is not set -# end of CAN SPI interfaces - -# -# CAN USB interfaces -# -CONFIG_CAN_8DEV_USB=m -CONFIG_CAN_EMS_USB=m -CONFIG_CAN_ESD_USB2=m -CONFIG_CAN_ETAS_ES58X=m -CONFIG_CAN_GS_USB=m -CONFIG_CAN_KVASER_USB=m -CONFIG_CAN_MCBA_USB=m -CONFIG_CAN_PEAK_USB=m -CONFIG_CAN_UCAN=m -# end of CAN USB interfaces - -# CONFIG_CAN_DEBUG_DEVICES is not set -# end of CAN Device Drivers - CONFIG_BT=m CONFIG_BT_BREDR=y CONFIG_BT_RFCOMM=m @@ -1829,6 +1788,7 @@ CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_QUIRKS=y # CONFIG_PCI_DEBUG is not set # CONFIG_PCI_STUB is not set +CONFIG_PCI_DOE=y # CONFIG_PCI_IOV is not set # CONFIG_PCI_PRI is not set # CONFIG_PCI_PASID is not set @@ -1895,6 +1855,7 @@ CONFIG_CXL_PCI=m # CONFIG_CXL_MEM_RAW_COMMANDS is not set CONFIG_CXL_MEM=m CONFIG_CXL_PORT=m +CONFIG_CXL_REGION=y # CONFIG_PCCARD is not set # CONFIG_RAPIDIO is not set @@ -2152,7 +2113,6 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 CONFIG_BLK_DEV_DRBD=m # CONFIG_DRBD_FAULT_INJECTION is not set CONFIG_BLK_DEV_NBD=m -# CONFIG_BLK_DEV_SX8 is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=4096 @@ -2162,6 +2122,7 @@ CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_ATA_OVER_ETH=m CONFIG_VIRTIO_BLK=m # CONFIG_BLK_DEV_RBD is not set +CONFIG_BLK_DEV_UBLK=m # # NVME Support @@ -2173,6 +2134,7 @@ CONFIG_BLK_DEV_NVME=y # CONFIG_NVME_HWMON is not set # CONFIG_NVME_FC is not set # CONFIG_NVME_TCP is not set +# CONFIG_NVME_AUTH is not set # CONFIG_NVME_TARGET is not set # end of NVME Support @@ -2202,6 +2164,7 @@ CONFIG_DW_XDATA_PCIE=m # CONFIG_XILINX_SDFEC is not set # CONFIG_HISI_HIKEY_USB is not set CONFIG_OPEN_DICE=m +CONFIG_VCPU_STALL_DETECTOR=m # CONFIG_C2PORT is not set # @@ -2304,6 +2267,8 @@ CONFIG_ISCSI_BOOT_SYSFS=m CONFIG_SCSI_MPI3MR=m # CONFIG_SCSI_SMARTPQI is not set # CONFIG_SCSI_HPTIOP is not set +CONFIG_SCSI_BUSLOGIC=m +# CONFIG_SCSI_FLASHPOINT is not set # CONFIG_SCSI_MYRB is not set # CONFIG_SCSI_MYRS is not set # CONFIG_SCSI_SNIC is not set @@ -2627,6 +2592,8 @@ CONFIG_NET_VENDOR_INTEL=y # CONFIG_ICE is not set # CONFIG_FM10K is not set # CONFIG_IGC is not set +CONFIG_NET_VENDOR_WANGXUN=y +CONFIG_TXGBE=m # CONFIG_JME is not set CONFIG_NET_VENDOR_LITEX=y CONFIG_LITEX_LITEETH=m @@ -2664,7 +2631,6 @@ CONFIG_NET_VENDOR_NATSEMI=y # CONFIG_NS83820 is not set CONFIG_NET_VENDOR_NETERION=y # CONFIG_S2IO is not set -# CONFIG_VXGE is not set CONFIG_NET_VENDOR_NETRONOME=y # CONFIG_NFP is not set CONFIG_NET_VENDOR_8390=y @@ -2804,6 +2770,53 @@ CONFIG_DP83TD510_PHY=m # CONFIG_VITESSE_PHY is not set # CONFIG_XILINX_GMII2RGMII is not set # CONFIG_MICREL_KS8995MA is not set +CONFIG_CAN_DEV=m +CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m +CONFIG_CAN_NETLINK=y +CONFIG_CAN_CALC_BITTIMING=y +CONFIG_CAN_RX_OFFLOAD=y +CONFIG_CAN_CAN327=m +# CONFIG_CAN_FLEXCAN is not set +# CONFIG_CAN_GRCAN is not set +# CONFIG_CAN_KVASER_PCIEFD is not set +CONFIG_CAN_SLCAN=m +# CONFIG_CAN_XILINXCAN is not set +# CONFIG_CAN_C_CAN is not set +# CONFIG_CAN_CC770 is not set +CONFIG_CAN_CTUCANFD=m +CONFIG_CAN_CTUCANFD_PCI=m +CONFIG_CAN_CTUCANFD_PLATFORM=m +# CONFIG_CAN_IFI_CANFD is not set +# CONFIG_CAN_M_CAN is not set +# CONFIG_CAN_PEAK_PCIEFD is not set +# CONFIG_CAN_SJA1000 is not set +# CONFIG_CAN_SOFTING is not set + +# +# CAN SPI interfaces +# +CONFIG_CAN_HI311X=m +CONFIG_CAN_MCP251X=m +CONFIG_CAN_MCP251XFD=m +# CONFIG_CAN_MCP251XFD_SANITY is not set +# end of CAN SPI interfaces + +# +# CAN USB interfaces +# +CONFIG_CAN_8DEV_USB=m +CONFIG_CAN_EMS_USB=m +CONFIG_CAN_ESD_USB=m +CONFIG_CAN_ETAS_ES58X=m +CONFIG_CAN_GS_USB=m +CONFIG_CAN_KVASER_USB=m +CONFIG_CAN_MCBA_USB=m +CONFIG_CAN_PEAK_USB=m +CONFIG_CAN_UCAN=m +# end of CAN USB interfaces + +# CONFIG_CAN_DEBUG_DEVICES is not set CONFIG_MDIO_DEVICE=y CONFIG_MDIO_BUS=y CONFIG_FWNODE_MDIO=y @@ -2830,7 +2843,6 @@ CONFIG_MDIO_BCM_UNIMAC=y # # PCS device drivers # -# CONFIG_PCS_XPCS is not set # end of PCS device drivers CONFIG_PPP=m @@ -3093,7 +3105,6 @@ CONFIG_WLAN_VENDOR_TI=y # CONFIG_WL18XX is not set # CONFIG_WLCORE is not set # CONFIG_RTL8723DU is not set -# CONFIG_RTL8723DS is not set CONFIG_RTL8822CS=m # CONFIG_RTL8822BU is not set CONFIG_RTL8821CU=m @@ -3426,7 +3437,6 @@ CONFIG_SERIAL_8250_NR_UARTS=1 CONFIG_SERIAL_8250_RUNTIME_UARTS=0 CONFIG_SERIAL_8250_EXTENDED=y # CONFIG_SERIAL_8250_MANY_PORTS is not set -# CONFIG_SERIAL_8250_ASPEED_VUART is not set CONFIG_SERIAL_8250_SHARE_IRQ=y # CONFIG_SERIAL_8250_DETECT_IRQ is not set # CONFIG_SERIAL_8250_RSA is not set @@ -3502,6 +3512,7 @@ CONFIG_TCG_TIS_CORE=m # CONFIG_TCG_TIS is not set CONFIG_TCG_TIS_SPI=m # CONFIG_TCG_TIS_SPI_CR50 is not set +CONFIG_TCG_TIS_I2C=m CONFIG_TCG_TIS_I2C_CR50=m # CONFIG_TCG_TIS_I2C_ATMEL is not set # CONFIG_TCG_TIS_I2C_INFINEON is not set @@ -3632,6 +3643,7 @@ CONFIG_SPI_CADENCE_XSPI=m # CONFIG_SPI_NXP_FLEXSPI is not set CONFIG_SPI_GPIO=m # CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_MICROCHIP_CORE=m # CONFIG_SPI_OC_TINY is not set # CONFIG_SPI_PL022 is not set # CONFIG_SPI_PXA2XX is not set @@ -3735,7 +3747,6 @@ CONFIG_GPIO_BCM_VIRT=y # CONFIG_GPIO_MB86S7X is not set # CONFIG_GPIO_PL061 is not set # CONFIG_GPIO_PWM is not set -# CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SIFIVE is not set # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_XGENE is not set @@ -3908,7 +3919,6 @@ CONFIG_HWMON_VID=m CONFIG_SENSORS_AD7314=m CONFIG_SENSORS_AD7414=m CONFIG_SENSORS_AD7418=m -CONFIG_SENSORS_ADM1021=m CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m @@ -3973,7 +3983,6 @@ CONFIG_SENSORS_MAX31730=m CONFIG_SENSORS_MAX6620=m CONFIG_SENSORS_MAX6621=m CONFIG_SENSORS_MAX6639=m -CONFIG_SENSORS_MAX6642=m CONFIG_SENSORS_MAX6650=m CONFIG_SENSORS_MAX6697=m CONFIG_SENSORS_MAX31790=m @@ -4539,7 +4548,6 @@ CONFIG_USB_PWC=m # CONFIG_USB_PWC_DEBUG is not set CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_S2255=m -CONFIG_USB_STKWEBCAM=m CONFIG_VIDEO_USBTV=m CONFIG_USB_VIDEO_CLASS=m CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y @@ -4806,6 +4814,7 @@ CONFIG_VIDEO_IR_I2C=m # Camera sensor devices # CONFIG_VIDEO_CCS_PLL=m +CONFIG_VIDEO_AR0521=m CONFIG_VIDEO_ARDUCAM_64MP=m CONFIG_VIDEO_ARDUCAM_PIVARIETY=m CONFIG_VIDEO_HI556=m @@ -5231,6 +5240,7 @@ CONFIG_DVB_SP2=m # # Graphics support # +CONFIG_APERTURE_HELPERS=y CONFIG_DRM=m CONFIG_DRM_MIPI_DBI=m CONFIG_DRM_MIPI_DSI=y @@ -5299,6 +5309,7 @@ CONFIG_DRM_PANEL_DSI_CM=m # CONFIG_DRM_PANEL_LVDS is not set CONFIG_DRM_PANEL_SIMPLE=m CONFIG_DRM_PANEL_EDP=m +CONFIG_DRM_PANEL_EBBG_FT8719=m # CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set # CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set # CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set @@ -5396,6 +5407,7 @@ CONFIG_DRM_TOSHIBA_TC358762=m # CONFIG_DRM_TOSHIBA_TC358767 is not set # CONFIG_DRM_TOSHIBA_TC358768 is not set # CONFIG_DRM_TOSHIBA_TC358775 is not set +CONFIG_DRM_TI_DLPC3433=m # CONFIG_DRM_TI_TFP410 is not set CONFIG_DRM_TI_SN65DSI83=m # CONFIG_DRM_TI_SN65DSI86 is not set @@ -5413,7 +5425,10 @@ CONFIG_DRM_VC4_HDMI_CEC=y # CONFIG_DRM_ETNAVIV is not set # CONFIG_DRM_HISI_HIBMC is not set # CONFIG_DRM_HISI_KIRIN is not set +CONFIG_DRM_LOGICVC=m +CONFIG_DRM_MXS=y # CONFIG_DRM_MXSFB is not set +CONFIG_DRM_IMX_LCDIF=m # CONFIG_DRM_ARCPGU is not set # CONFIG_DRM_BOCHS is not set # CONFIG_DRM_CIRRUS_QEMU is not set @@ -5571,13 +5586,17 @@ CONFIG_SND_PCM_OSS=m CONFIG_SND_PCM_OSS_PLUGINS=y CONFIG_SND_PCM_TIMER=y CONFIG_SND_HRTIMER=m -# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_MAX_CARDS=32 CONFIG_SND_SUPPORT_OLD_API=y CONFIG_SND_PROC_FS=y CONFIG_SND_VERBOSE_PROCFS=y # CONFIG_SND_VERBOSE_PRINTK is not set +CONFIG_SND_CTL_FAST_LOOKUP=y # CONFIG_SND_DEBUG is not set +# CONFIG_SND_CTL_INPUT_VALIDATION is not set CONFIG_SND_VMASTER=y +CONFIG_SND_CTL_LED=m CONFIG_SND_SEQUENCER=m CONFIG_SND_SEQ_DUMMY=m # CONFIG_SND_SEQUENCER_OSS is not set @@ -5662,9 +5681,33 @@ CONFIG_SND_PCI=y # # HD-Audio # +CONFIG_SND_HDA=m +CONFIG_SND_HDA_GENERIC_LEDS=y # CONFIG_SND_HDA_INTEL is not set +# CONFIG_SND_HDA_HWDEP is not set +# CONFIG_SND_HDA_RECONFIG is not set +# CONFIG_SND_HDA_INPUT_BEEP is not set +# CONFIG_SND_HDA_PATCH_LOADER is not set +CONFIG_SND_HDA_CODEC_REALTEK=m +CONFIG_SND_HDA_CODEC_ANALOG=m +CONFIG_SND_HDA_CODEC_SIGMATEL=m +CONFIG_SND_HDA_CODEC_VIA=m +CONFIG_SND_HDA_CODEC_HDMI=m +CONFIG_SND_HDA_CODEC_CIRRUS=m +CONFIG_SND_HDA_CODEC_CS8409=m +CONFIG_SND_HDA_CODEC_CONEXANT=m +CONFIG_SND_HDA_CODEC_CA0110=m +CONFIG_SND_HDA_CODEC_CA0132=m +CONFIG_SND_HDA_CODEC_CA0132_DSP=y +CONFIG_SND_HDA_CODEC_CMEDIA=m +CONFIG_SND_HDA_CODEC_SI3054=m +CONFIG_SND_HDA_GENERIC=m +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 # end of HD-Audio +CONFIG_SND_HDA_CORE=m +CONFIG_SND_HDA_DSP_LOADER=y +CONFIG_SND_HDA_EXT_CORE=m CONFIG_SND_HDA_PREALLOC_SIZE=64 CONFIG_SND_SPI=y CONFIG_SND_USB=y @@ -5842,6 +5885,7 @@ CONFIG_SND_SOC_HDMI_CODEC=m # CONFIG_SND_SOC_ES8328_I2C is not set # CONFIG_SND_SOC_ES8328_SPI is not set # CONFIG_SND_SOC_GTM601 is not set +CONFIG_SND_SOC_HDA=m CONFIG_SND_SOC_ICS43432=m # CONFIG_SND_SOC_INNO_RK3036 is not set CONFIG_SND_SOC_MA120X0P=m @@ -5898,6 +5942,7 @@ CONFIG_SND_SOC_SSM2518=m CONFIG_SND_SOC_TAS2562=m # CONFIG_SND_SOC_TAS2764 is not set CONFIG_SND_SOC_TAS2770=m +CONFIG_SND_SOC_TAS2780=m # CONFIG_SND_SOC_TAS5086 is not set CONFIG_SND_SOC_TAS571X=m # CONFIG_SND_SOC_TAS5720 is not set @@ -6093,6 +6138,7 @@ CONFIG_HID_SMARTJOYPLUS=m CONFIG_SMARTJOYPLUS_FF=y CONFIG_HID_TIVO=m CONFIG_HID_TOPSEED=m +CONFIG_HID_TOPRE=m CONFIG_HID_THINGM=m CONFIG_HID_THRUSTMASTER=m CONFIG_THRUSTMASTER_FF=y @@ -6122,6 +6168,7 @@ CONFIG_USB_HIDDEV=y # I2C HID support # # CONFIG_I2C_HID_OF is not set +CONFIG_I2C_HID_OF_ELAN=m CONFIG_I2C_HID_OF_GOODIX=m # end of I2C HID support @@ -6326,6 +6373,7 @@ CONFIG_USB_EZUSB_FX2=m # CONFIG_USB_HSIC_USB4604 is not set # CONFIG_USB_LINK_LAYER_TEST is not set # CONFIG_USB_CHAOSKEY is not set +CONFIG_USB_ONBOARD_HUB=m CONFIG_USB_ATM=m CONFIG_USB_SPEEDTOUCH=m CONFIG_USB_CXACRU=m @@ -6577,7 +6625,7 @@ CONFIG_LEDS_TRIGGER_INPUT=y CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGER_NETDEV=m # CONFIG_LEDS_TRIGGER_PATTERN is not set -# CONFIG_LEDS_TRIGGER_AUDIO is not set +CONFIG_LEDS_TRIGGER_AUDIO=m CONFIG_LEDS_TRIGGER_TTY=m CONFIG_LEDS_TRIGGER_ACTPWR=y @@ -6638,6 +6686,7 @@ CONFIG_RTC_DRV_DS1672=m CONFIG_RTC_DRV_HYM8563=m CONFIG_RTC_DRV_MAX6900=m CONFIG_RTC_DRV_MAX77686=m +CONFIG_RTC_DRV_NCT3018Y=m CONFIG_RTC_DRV_RS5C372=m CONFIG_RTC_DRV_ISL1208=m CONFIG_RTC_DRV_ISL12022=m @@ -6893,13 +6942,14 @@ CONFIG_AD9834=m # CONFIG_FB_SM750 is not set CONFIG_STAGING_MEDIA=y -CONFIG_VIDEO_MAX96712=m -CONFIG_VIDEO_RPIVID=m -# CONFIG_VIDEO_ZORAN is not set CONFIG_DVB_AV7110_IR=y CONFIG_DVB_AV7110=m CONFIG_DVB_AV7110_OSD=y CONFIG_DVB_SP8870=m +CONFIG_VIDEO_MAX96712=m +CONFIG_VIDEO_RPIVID=m +CONFIG_VIDEO_STKWEBCAM=m +# CONFIG_VIDEO_ZORAN is not set # CONFIG_STAGING_BOARD is not set # CONFIG_LTE_GDM724X is not set # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set @@ -6954,10 +7004,7 @@ CONFIG_BCM2835_VCHIQ_MMAL=m # CONFIG_XIL_AXIS_FIFO is not set # CONFIG_FIELDBUS_DEV is not set # CONFIG_QLGE is not set - -# -# VME Device Drivers -# +# CONFIG_VME_BUS is not set # CONFIG_GOLDFISH is not set # CONFIG_CHROME_PLATFORMS is not set # CONFIG_MELLANOX_PLATFORM is not set @@ -7061,6 +7108,11 @@ CONFIG_RASPBERRYPI_POWER=y # CONFIG_QUICC_ENGINE is not set # end of NXP/Freescale QorIQ SoC drivers +# +# fujitsu SoC drivers +# +# end of fujitsu SoC drivers + # # i.MX SoC drivers # @@ -7669,12 +7721,12 @@ CONFIG_MAX31865=m # end of Temperature sensors # CONFIG_NTB is not set -# CONFIG_VME_BUS is not set CONFIG_PWM=y CONFIG_PWM_SYSFS=y # CONFIG_PWM_DEBUG is not set CONFIG_PWM_ATMEL_TCB=m CONFIG_PWM_BCM2835=m +CONFIG_PWM_CLK=m CONFIG_PWM_DWC=m # CONFIG_PWM_FSL_FTM is not set CONFIG_PWM_NTXEC=m @@ -7704,6 +7756,7 @@ CONFIG_RESET_CONTROLLER=y CONFIG_RESET_RASPBERRYPI=y CONFIG_RESET_SIMPLE=y # CONFIG_RESET_TI_SYSCON is not set +CONFIG_RESET_TI_TPS380X=m # # PHY Subsystem @@ -7747,6 +7800,7 @@ CONFIG_ARM_PMU=y # CONFIG_ARM_SPE_PMU is not set CONFIG_RPI_AXIPERF=m CONFIG_HISI_PCIE_PMU=m +CONFIG_HNS3_PMU=m # end of Performance monitor support # CONFIG_RAS is not set @@ -7755,7 +7809,6 @@ CONFIG_HISI_PCIE_PMU=m # # Android # -CONFIG_ANDROID=y CONFIG_ANDROID_BINDER_IPC=y CONFIG_ANDROID_BINDERFS=y CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder" @@ -8209,6 +8262,7 @@ CONFIG_NLS_MAC_ROMANIAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m CONFIG_DLM=m +# CONFIG_DLM_DEPRECATED_API is not set # CONFIG_DLM_DEBUG is not set # CONFIG_UNICODE is not set CONFIG_IO_WQ=y @@ -8247,9 +8301,12 @@ CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set CONFIG_SECURITY_APPARMOR=y +# CONFIG_SECURITY_APPARMOR_DEBUG is not set +CONFIG_SECURITY_APPARMOR_INTROSPECT_POLICY=y CONFIG_SECURITY_APPARMOR_HASH=y CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y -# CONFIG_SECURITY_APPARMOR_DEBUG is not set +CONFIG_SECURITY_APPARMOR_EXPORT_BINARY=y +CONFIG_SECURITY_APPARMOR_PARANOID_LOAD=y # CONFIG_SECURITY_LOADPIN is not set # CONFIG_SECURITY_YAMA is not set # CONFIG_SECURITY_SAFESETID is not set @@ -8361,10 +8418,12 @@ CONFIG_CRYPTO_ECB=y # CONFIG_CRYPTO_LRW is not set # CONFIG_CRYPTO_OFB is not set CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_XCTR=m CONFIG_CRYPTO_XTS=y # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_NHPOLY1305=m CONFIG_CRYPTO_ADIANTUM=m +CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_ESSIV=m # @@ -8385,6 +8444,7 @@ CONFIG_CRYPTO_BLAKE2B=y # CONFIG_CRYPTO_CRCT10DIF is not set CONFIG_CRYPTO_CRC64_ROCKSOFT=m CONFIG_CRYPTO_GHASH=y +CONFIG_CRYPTO_POLYVAL=m CONFIG_CRYPTO_POLY1305=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=m @@ -8416,6 +8476,7 @@ CONFIG_CRYPTO_FCRYPT=m # CONFIG_CRYPTO_KHAZAD is not set CONFIG_CRYPTO_CHACHA20=m # CONFIG_CRYPTO_SEED is not set +CONFIG_CRYPTO_ARIA=m # CONFIG_CRYPTO_SERPENT is not set CONFIG_CRYPTO_SM4=m CONFIG_CRYPTO_SM4_GENERIC=m @@ -8494,6 +8555,7 @@ CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_ARCH_HAS_FAST_MULTIPLIER=y CONFIG_ARCH_USE_SYM_ANNOTATIONS=y # CONFIG_INDIRECT_PIO is not set +# CONFIG_TRACE_MMIO_ACCESS is not set # # Crypto library routines @@ -8512,6 +8574,7 @@ CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m CONFIG_CRYPTO_LIB_POLY1305=m CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m +CONFIG_CRYPTO_LIB_SHA1=y CONFIG_CRYPTO_LIB_SHA256=y # end of Crypto library routines @@ -8638,15 +8701,17 @@ CONFIG_FONT_6x10=y CONFIG_FONT_TER16x32=y # CONFIG_FONT_6x8 is not set CONFIG_SG_POOL=y +CONFIG_MEMREGION=y CONFIG_ARCH_STACKWALK=y CONFIG_STACKDEPOT=y -CONFIG_STACK_HASH_ORDER=20 CONFIG_REF_TRACKER=y CONFIG_SBITMAP=y # end of Library routines +CONFIG_GENERIC_IOREMAP=y CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y CONFIG_ASN1_ENCODER=m +CONFIG_POLYNOMIAL=m # # Kernel hacking @@ -8674,6 +8739,7 @@ CONFIG_DEBUG_MISC=y # # Compile-time checks and compiler options # +CONFIG_AS_HAS_NON_CONST_LEB128=y CONFIG_DEBUG_INFO_NONE=y # CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set # CONFIG_DEBUG_INFO_DWARF4 is not set @@ -8741,6 +8807,7 @@ CONFIG_ARCH_HAS_DEBUG_WX=y CONFIG_GENERIC_PTDUMP=y # CONFIG_PTDUMP_DEBUGFS is not set # CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SHRINKER_DEBUG is not set CONFIG_HAVE_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KMEMLEAK is not set # CONFIG_DEBUG_STACK_USAGE is not set @@ -8902,6 +8969,7 @@ CONFIG_FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY=y # CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set # CONFIG_PREEMPTIRQ_DELAY_TEST is not set # CONFIG_KPROBE_EVENT_GEN_TEST is not set +# CONFIG_RV is not set # CONFIG_SAMPLES is not set CONFIG_STRICT_DEVMEM=y # CONFIG_IO_STRICT_DEVMEM is not set diff --git a/config/sources/families/bcm2711.conf b/config/sources/families/bcm2711.conf index 4eba5a655f..bc38dd23a4 100644 --- a/config/sources/families/bcm2711.conf +++ b/config/sources/families/bcm2711.conf @@ -26,7 +26,7 @@ case "${BRANCH}" in edge) export RASPI_DISTRO_KERNEL=no export KERNELSOURCE='https://github.com/raspberrypi/linux' - export KERNELBRANCH="branch:rpi-5.19.y" + export KERNELBRANCH="branch:rpi-6.0.y" export KERNELPATCHDIR="${LINUXFAMILY}-${BRANCH}" export LINUXCONFIG="linux-${LINUXFAMILY}-${BRANCH}" ;; @@ -68,12 +68,12 @@ extension_prepare_config__prepare_rpi_flash_kernel() { display_alert "Preparing bcm2711" "${RELEASE}, distro kernel?: ${RASPI_DISTRO_KERNEL}" "info" export RASPI_DISTRO_KERNEL="${RASPI_DISTRO_KERNEL:-no}" # Include a distro-built kernel? export SERIALCON="${RASPI_SERIALCON:-tty1}" # HDMI etc, not serial. most people don't have UART on rpi - local usable_releases="focal|hirsute|impish|jammy" + local usable_releases="focal|hirsute|impish|jammy|kinetic" if [[ "$RELEASE" =~ ^(${usable_releases})$ ]]; then export FK__EXTRA_PACKAGES="rpi-eeprom linux-firmware linux-firmware-raspi2 libraspberrypi-bin cloud-initramfs-growroot" - if [[ "$RELEASE" =~ ^(jammy|kinetic)$ ]]; then # Add raspi-config for those releases that have it; it might be useful. + if [[ "$RELEASE" =~ ^(hirsute|impish|jammy|kinetic)$ ]]; then # Add raspi-config for those releases that have it; it might be useful. export FK__EXTRA_PACKAGES="${FK__EXTRA_PACKAGES} raspi-config" fi @@ -81,7 +81,7 @@ extension_prepare_config__prepare_rpi_flash_kernel() { unset KERNELSOURCE # Make sure Armbian will not try to compile from source. export FK__KERNEL_PACKAGES="${FK__KERNEL_PACKAGES} linux-tools-raspi linux-raspi linux-image-raspi " # Ubuntu Impish+ split the kernel modules, add the extra ones too. - if [[ "$RELEASE" =~ ^(impish|jammy)$ ]]; then + if [[ "$RELEASE" =~ ^(impish|jammy|kinetic)$ ]]; then export FK__KERNEL_PACKAGES="${FK__KERNEL_PACKAGES} linux-modules-extra-raspi" fi fi diff --git a/patch/kernel/archive/bcm2711-6.0/0001-Make-proc-cpuinfo-consistent-on-arm64-and-arm.patch b/patch/kernel/archive/bcm2711-6.0/0001-Make-proc-cpuinfo-consistent-on-arm64-and-arm.patch new file mode 100644 index 0000000000..4b2e24fe1b --- /dev/null +++ b/patch/kernel/archive/bcm2711-6.0/0001-Make-proc-cpuinfo-consistent-on-arm64-and-arm.patch @@ -0,0 +1,29 @@ +From 988f69b247fa3a1b70876395342aeb8c7dc2e834 Mon Sep 17 00:00:00 2001 +From: graysky +Date: Mon, 7 Dec 2020 13:03:40 -0500 +Subject: [PATCH] Make /proc/cpuinfo consistent on arm64 and arm + +Signed-off-by: graysky +--- + arch/arm64/kernel/cpuinfo.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/arch/arm64/kernel/cpuinfo.c b/arch/arm64/kernel/cpuinfo.c +index 721350d21074..88e2b8fcd7e6 100644 +--- a/arch/arm64/kernel/cpuinfo.c ++++ b/arch/arm64/kernel/cpuinfo.c +@@ -153,9 +153,8 @@ static int c_show(struct seq_file *m, void *v) + * "processor". Give glibc what it expects. + */ + seq_printf(m, "processor\t: %d\n", i); +- if (compat) +- seq_printf(m, "model name\t: ARMv8 Processor rev %d (%s)\n", +- MIDR_REVISION(midr), COMPAT_ELF_PLATFORM); ++ seq_printf(m, "model name\t: ARMv8 Processor rev %d (%s)\n", ++ MIDR_REVISION(midr), COMPAT_ELF_PLATFORM); + + seq_printf(m, "BogoMIPS\t: %lu.%02lu\n", + loops_per_jiffy / (500000UL/HZ), +-- +2.29.2 + diff --git a/patch/kernel/archive/bcm2711-6.0/1003-remote-wakeup.patch b/patch/kernel/archive/bcm2711-6.0/1003-remote-wakeup.patch new file mode 100644 index 0000000000..3c4c082219 --- /dev/null +++ b/patch/kernel/archive/bcm2711-6.0/1003-remote-wakeup.patch @@ -0,0 +1,160 @@ +diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c +index 0909b088a284..31ff5348020c 100644 +--- a/drivers/usb/dwc2/gadget.c ++++ b/drivers/usb/dwc2/gadget.c +@@ -4763,6 +4763,78 @@ static void dwc2_gadget_set_speed(struct usb_gadget *g, enum usb_device_speed sp + spin_unlock_irqrestore(&hsotg->lock, flags); + } + ++/** ++ * dwc2_hsotg_wakeup - send wakeup signal to the host ++ * @gadget: The usb gadget state ++ * ++ * If the gadget is in device mode and in the L1 or L2 state, ++ * it sends a wakeup signal to the host. ++ */ ++static int dwc2_hsotg_wakeup(struct usb_gadget *gadget) ++{ ++ struct dwc2_hsotg *hsotg = to_hsotg(gadget); ++ int ret = -1; ++ unsigned long flags; ++ ++ spin_lock_irqsave(&hsotg->lock, flags); ++ ++ if (!hsotg->remote_wakeup_allowed) { ++ dev_dbg(hsotg->dev, ++ "wakeup: signalling skipped: is not allowed by host\n"); ++ goto skip; ++ } ++ if (hsotg->lx_state != DWC2_L1 && hsotg->lx_state != DWC2_L2) { ++ dev_dbg(hsotg->dev, ++ "wakeup: signalling skipped: gadget not in L1/L2 state: %d\n", hsotg->lx_state); ++ goto skip; ++ } ++ if (!dwc2_is_device_mode(hsotg)) { ++ dev_dbg(hsotg->dev, ++ "wakeup: signalling skipped: gadget not in device mode\n"); ++ goto skip; ++ } ++ ++ /*if (hsotg->in_ppd) { ++ if (dwc2_exit_partial_power_down(hsotg, 1, true)) ++ dev_err(hsotg->dev, "wakeup: exit partial_power_down failed\n"); ++ call_gadget(hsotg, resume); ++ }*/ ++ if (hsotg->params.power_down == DWC2_POWER_DOWN_PARAM_NONE && hsotg->bus_suspended) { ++ u32 pcgctl; ++ ++ dev_dbg(hsotg->dev, "wakeup: exiting device clock gating\n"); ++ ++ /* Clear the Gate hclk. */ ++ pcgctl = dwc2_readl(hsotg, PCGCTL); ++ pcgctl &= ~PCGCTL_GATEHCLK; ++ dwc2_writel(hsotg, pcgctl, PCGCTL); ++ udelay(5); ++ ++ /* Phy Clock bit. */ ++ pcgctl = dwc2_readl(hsotg, PCGCTL); ++ pcgctl &= ~PCGCTL_STOPPCLK; ++ dwc2_writel(hsotg, pcgctl, PCGCTL); ++ udelay(5); ++ ++ hsotg->bus_suspended = false; ++ } ++ ++ dev_dbg(hsotg->dev, "wakeup: sending signal to the host"); ++ ++ dwc2_set_bit(hsotg, DCTL, DCTL_RMTWKUPSIG); ++ mdelay(10); ++ dwc2_clear_bit(hsotg, DCTL, DCTL_RMTWKUPSIG); ++ ++ /* After the signalling, the USB core wakes up to L0 */ ++ call_gadget(hsotg, resume); ++ hsotg->lx_state = DWC2_L0; ++ ++ ret = 0; ++skip: ++ spin_unlock_irqrestore(&hsotg->lock, flags); ++ return ret; ++} ++ + static const struct usb_gadget_ops dwc2_hsotg_gadget_ops = { + .get_frame = dwc2_hsotg_gadget_getframe, + .set_selfpowered = dwc2_hsotg_set_selfpowered, +@@ -4772,6 +4844,7 @@ static const struct usb_gadget_ops dwc2_hsotg_gadget_ops = { + .udc_set_speed = dwc2_gadget_set_speed, + .vbus_session = dwc2_hsotg_vbus_session, + .vbus_draw = dwc2_hsotg_vbus_draw, ++ .wakeup = dwc2_hsotg_wakeup, + }; + + /** +diff --git a/drivers/usb/gadget/function/f_hid.c b/drivers/usb/gadget/function/f_hid.c +index ca0a7d9eaa34..cf11ab8e88e0 100644 +--- a/drivers/usb/gadget/function/f_hid.c ++++ b/drivers/usb/gadget/function/f_hid.c +@@ -54,6 +54,8 @@ struct f_hidg { + * will be used to receive reports. + */ + bool use_out_ep; ++ /* attempt to wake up the host before write */ ++ bool wakeup_on_write; + + /* recv report */ + spinlock_t read_spinlock; +@@ -422,10 +424,19 @@ static ssize_t f_hidg_write(struct file *file, const char __user *buffer, + size_t count, loff_t *offp) + { + struct f_hidg *hidg = file->private_data; ++ struct usb_composite_dev *cdev = hidg->func.config->cdev; + struct usb_request *req; + unsigned long flags; + ssize_t status = -ENOMEM; + ++ /* ++ * remote wakeup is allowed only when the corresponding bit ++ * in config descriptor is set and wakeup_on_write is enabled. ++ * FIXME: cdev->config can be NULLed on disconnect. ++ */ ++ if (hidg->wakeup_on_write /*&& cdev->config->bmAttributes & 0x20*/) ++ usb_gadget_wakeup(cdev->gadget); ++ + spin_lock_irqsave(&hidg->write_spinlock, flags); + + if (!hidg->req) { +@@ -1101,6 +1112,7 @@ CONFIGFS_ATTR(f_hid_opts_, name) + F_HID_OPT(subclass, 8, 255); + F_HID_OPT(protocol, 8, 255); + F_HID_OPT(no_out_endpoint, 8, 1); ++F_HID_OPT(wakeup_on_write, 8, 1); + F_HID_OPT(report_length, 16, 65535); + + static ssize_t f_hid_opts_report_desc_show(struct config_item *item, char *page) +@@ -1161,6 +1173,7 @@ static struct configfs_attribute *hid_attrs[] = { + &f_hid_opts_attr_subclass, + &f_hid_opts_attr_protocol, + &f_hid_opts_attr_no_out_endpoint, ++ &f_hid_opts_attr_wakeup_on_write, + &f_hid_opts_attr_report_length, + &f_hid_opts_attr_report_desc, + &f_hid_opts_attr_dev, +@@ -1293,6 +1306,7 @@ static struct usb_function *hidg_alloc(struct usb_function_instance *fi) + } + } + hidg->use_out_ep = !opts->no_out_endpoint; ++ hidg->wakeup_on_write = opts->wakeup_on_write; + + mutex_unlock(&opts->lock); + +diff --git a/drivers/usb/gadget/function/u_hid.h b/drivers/usb/gadget/function/u_hid.h +index 84bb70292855..f7fcaf1eaf1d 100644 +--- a/drivers/usb/gadget/function/u_hid.h ++++ b/drivers/usb/gadget/function/u_hid.h +@@ -21,6 +21,7 @@ struct f_hid_opts { + unsigned char subclass; + unsigned char protocol; + unsigned char no_out_endpoint; ++ unsigned char wakeup_on_write; + unsigned short report_length; + unsigned short report_desc_length; + unsigned char *report_desc; diff --git a/patch/kernel/archive/bcm2711-6.0/2001-rename-msd.patch b/patch/kernel/archive/bcm2711-6.0/2001-rename-msd.patch new file mode 100644 index 0000000000..a5bb2fbc3e --- /dev/null +++ b/patch/kernel/archive/bcm2711-6.0/2001-rename-msd.patch @@ -0,0 +1,19 @@ +diff --git a/drivers/usb/gadget/function/f_mass_storage.c b/drivers/usb/gadget/function/f_mass_storage.c +index 4a4703634a2a..cdba48f5ddf8 100644 +--- a/drivers/usb/gadget/function/f_mass_storage.c ++++ b/drivers/usb/gadget/function/f_mass_storage.c +@@ -2852,11 +2852,11 @@ void fsg_common_set_inquiry_string(struct fsg_common *common, const char *vn, + /* Prepare inquiryString */ + i = get_default_bcdDevice(); + snprintf(common->inquiry_string, sizeof(common->inquiry_string), +- "%-8s%-16s%04x", vn ?: "Linux", ++ "%-8s%-16s%04x", vn ?: "PiKVM", + /* Assume product name dependent on the first LUN */ + pn ?: ((*common->luns)->cdrom +- ? "File-CD Gadget" +- : "File-Stor Gadget"), ++ ? "CD-ROM Drive" ++ : "Flash Drive"), + i); + } + EXPORT_SYMBOL_GPL(fsg_common_set_inquiry_string); diff --git a/patch/kernel/bcm2711-edge b/patch/kernel/bcm2711-edge index 00681adf5a..c575255071 120000 --- a/patch/kernel/bcm2711-edge +++ b/patch/kernel/bcm2711-edge @@ -1 +1 @@ -archive/bcm2711-5.19 \ No newline at end of file +archive/bcm2711-6.0 \ No newline at end of file