ni / linux

Linux kernel source for NI Linux Real-Time
Other
80 stars 77 forks source link

Upgrade 'next' development nilrt kernel from 6.1 to 6.6 #138

Closed mike-petersen-ni closed 11 months ago

mike-petersen-ni commented 11 months ago

This is a rebase of our commits from nilrt/master/6.1 to the latest devel-rt branch, linux-6.6.y-rt, which is currently tagged as v6.6-rc6-rt10 (e7eb3321622c).

AB#2484319

Rebase Conflicts

9f4788d6985f -> 9c5b3581cf1a

arch/x86/entry/syscalls/syscall_64.tbl line 375

``` <<<<<<< ours 451 common cachestat sys_cachestat 452 common fchmodat2 sys_fchmodat2 453 64 map_shadow_stack sys_map_shadow_stack ======= 451 common mcopy sys_mcopy >>>>>>> theirs ``` Resolved by concatenating and setting the mcopy line to 454.

include/linux/syscalls.h line 786

```c <<<<<<< ours /* CONFIG_MMU only */ ||||||| base /* mm/, CONFIG_MMU only */ ======= /* mm/maccess.c */ asmlinkage long sys_mcopy(void * __user dest, void * __user src, size_t len); /* mm/, CONFIG_MMU only */ >>>>>>> theirs ``` Resolved by taking the side that added the function, but removed the (portions of) the comments that note source files.

include/uapi/unistd.h line 820

```c <<<<<<< ours #define __NR_cachestat 451 __SYSCALL(__NR_cachestat, sys_cachestat) #define __NR_fchmodat2 452 __SYSCALL(__NR_fchmodat2, sys_fchmodat2) #undef __NR_syscalls #define __NR_syscalls 453 ======= #define __NR_mcopy 451 __SYSCALL(__NR_mcopy, sys_mcopy) #undef __NR_syscalls #define __NR_syscalls 452 >>>>>>> theirs ``` Resolved by concatenating the defines, setting mcopy's define from 451 to 454, and setting syscalls to 455.

~e65d593a18e7 -> 6b57204e1475~ dropped e65d593a18e7

drivers/usb/dwc3/core.c line 317

```c <<<<<<< ours /* * If the dr_mode is host and the dwc->current_dr_role is not the * corresponding DWC3_GCTL_PRTCAP_HOST, then the dwc3_core_init_mode * isn't executed yet. Ensure the phy is ready before the controller * updates the GCTL.PRTCAPDIR or other settings by soft-resetting * the phy. * * Note: GUSB3PIPECTL[n] and GUSB2PHYCFG[n] are port settings where n * is port index. If this is a multiport host, then we need to reset * all active ports. */ if (dwc->dr_mode == USB_DR_MODE_HOST) { u32 usb3_port; u32 usb2_port; usb3_port = dwc3_readl(dwc->regs, DWC3_GUSB3PIPECTL(0)); usb3_port |= DWC3_GUSB3PIPECTL_PHYSOFTRST; dwc3_writel(dwc->regs, DWC3_GUSB3PIPECTL(0), usb3_port); usb2_port = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0)); usb2_port |= DWC3_GUSB2PHYCFG_PHYSOFTRST; dwc3_writel(dwc->regs, DWC3_GUSB2PHYCFG(0), usb2_port); /* Small delay for phy reset assertion */ usleep_range(1000, 2000); usb3_port &= ~DWC3_GUSB3PIPECTL_PHYSOFTRST; dwc3_writel(dwc->regs, DWC3_GUSB3PIPECTL(0), usb3_port); usb2_port &= ~DWC3_GUSB2PHYCFG_PHYSOFTRST; dwc3_writel(dwc->regs, DWC3_GUSB2PHYCFG(0), usb2_port); /* Wait for clock synchronization */ msleep(50); return 0; } ||||||| base ======= if (dwc->has_dsm_for_softreset) { dev_dbg(dwc->dev, "calling dwc3_pci_dsm_soft_reset()"); return dwc3_pci_dsm_soft_reset(dwc->dev); } >>>>>>> theirs ``` Resolved by putting the dsm conditional first, thinking that our added softreset is preferable to the generic softreset. As noted in discussion later, this should probably have been resolved with the opposite order, since the base->theirs change split the preceding conditional's `||` into two separate conditionals.

drivers/usb/dwc3/dwc3-pci.c line 404

```c <<<<<<< ours { PCI_DEVICE_DATA(INTEL, BSW, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, BYT, &dwc3_pci_intel_byt_swnode) }, { PCI_DEVICE_DATA(INTEL, MRFLD, &dwc3_pci_intel_mrfld_swnode) }, { PCI_DEVICE_DATA(INTEL, CMLLP, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, CMLH, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, SPTLP, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, SPTH, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, BXT, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, BXT_M, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, APL, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, KBP, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, GLK, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, CNPLP, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, CNPH, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, CNPV, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, ICLLP, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, EHL, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, TGPLP, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, TGPH, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, JSP, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, ADL, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, ADL_PCH, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, ADLN, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, ADLN_PCH, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, ADLS, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, RPL, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, RPLS, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, MTLM, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, MTLP, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, MTL, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, MTLS, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(INTEL, TGL, &dwc3_pci_intel_swnode) }, { PCI_DEVICE_DATA(AMD, NL_USB, &dwc3_pci_amd_swnode) }, { PCI_DEVICE_DATA(AMD, MR, &dwc3_pci_amd_mr_swnode) }, ||||||| base { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_BSW), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_BYT), (kernel_ulong_t) &dwc3_pci_intel_byt_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_MRFLD), (kernel_ulong_t) &dwc3_pci_intel_mrfld_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_CMLLP), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_CMLH), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_SPTLP), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_SPTH), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_BXT), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_BXT_M), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_APL), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_KBP), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_GLK), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_CNPLP), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_CNPH), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_CNPV), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ICLLP), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_EHL), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_TGPLP), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_TGPH), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_JSP), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ADL), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ADL_PCH), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ADLN), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ADLN_PCH), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ADLS), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_RPL), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_RPLS), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_MTLM), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_MTLP), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_MTLS), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_MTL), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_TGL), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_NL_USB), (kernel_ulong_t) &dwc3_pci_amd_swnode, }, { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_MR), (kernel_ulong_t)&dwc3_pci_amd_mr_swnode, }, ======= { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_BSW), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_BYT), (kernel_ulong_t) &dwc3_pci_intel_byt_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_MRFLD), (kernel_ulong_t) &dwc3_pci_intel_mrfld_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_CMLLP), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_CMLH), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_SPTLP), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_SPTH), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_BXT), (kernel_ulong_t) &dwc3_pci_intel_bxt_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_BXT_M), (kernel_ulong_t) &dwc3_pci_intel_bxt_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_APL), (kernel_ulong_t) &dwc3_pci_intel_bxt_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_KBP), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_GLK), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_CNPLP), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_CNPH), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_CNPV), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ICLLP), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_EHL), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_TGPLP), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_TGPH), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_JSP), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ADL), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ADL_PCH), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ADLN), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ADLN_PCH), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ADLS), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_RPL), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_RPLS), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_MTLM), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_MTLP), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_MTLS), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_MTL), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_TGL), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_NL_USB), (kernel_ulong_t) &dwc3_pci_amd_swnode, }, { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_MR), (kernel_ulong_t)&dwc3_pci_amd_mr_swnode, }, >>>>>>> theirs ``` Resolved by reformatting the table to use the same macro, swapping the `INTEL_MTLS` and `INTEL_MTL` entries, and keeping the patch's change to use the `bxt_swnode`.

As discussed in this PR, we've instead decided to drop this commit.

a803e305776e -> 63a685716189

drivers/misc/Kconfig line 522

``` <<<<<<< ours config TMR_MANAGER tristate "Select TMR Manager" depends on MICROBLAZE && MB_MANAGER help This option enables the driver developed for TMR Manager. The Triple Modular Redundancy(TMR) manager provides support for fault detection. Say N here unless you know what you are doing. config TMR_INJECT tristate "Select TMR Inject" depends on TMR_MANAGER && FAULT_INJECTION_DEBUG_FS help This option enables the driver developed for TMR Inject. The Triple Modular Redundancy(TMR) Inject provides fault injection. Say N here unless you know what you are doing. config TPS6594_ESM tristate "TI TPS6594 Error Signal Monitor support" depends on MFD_TPS6594 default MFD_TPS6594 help Support ESM (Error Signal Monitor) on TPS6594 PMIC devices. ESM is used typically to reboot the board in error condition. This driver can also be built as a module. If so, the module will be called tps6594-esm. config TPS6594_PFSM tristate "TI TPS6594 Pre-configurable Finite State Machine support" depends on MFD_TPS6594 default MFD_TPS6594 help Support PFSM (Pre-configurable Finite State Machine) on TPS6594 PMIC devices. These devices integrate a finite state machine engine, which manages the state of the device during operating state transition. This driver can also be built as a module. If so, the module will be called tps6594-pfsm. ======= config NI_RT_FEATURES bool "NI 903x/913x support" depends on X86 && ACPI help This driver exposes LEDs and other features of NI 903x/913x Real-Time controllers. If unsure, say N (but it's safe to say "Y"). config NI_LED_PREFIX string "NI 903x/913x LED prefix" depends on NI_RT_FEATURES default "nizynqcpld" help This option defines the base name of LEDs exposed by NI_RT_FEATURES. The default value maintains backwards compatibility with user-space software that was originally written for ARM (Zynq) hardware. If unsure, use the default. config NI_HW_REBOOT bool "Hardware reboot for NI 903x/913x" depends on NI_RT_FEATURES && X86_64 default n help If enabled, when rebooting an NI 903x/913x, on-board hardware will be used to reset the system. If not enabled, the controller will do a normal ACPI reset. If unsure, say N. >>>>>>> theirs ``` Resolved by concatenating the changes.

drivers/misc/Makefile line 66

```make <<<<<<< ours obj-$(CONFIG_TMR_MANAGER) += xilinx_tmr_manager.o obj-$(CONFIG_TMR_INJECT) += xilinx_tmr_inject.o obj-$(CONFIG_TPS6594_ESM) += tps6594-esm.o obj-$(CONFIG_TPS6594_PFSM) += tps6594-pfsm.o ======= obj-$(CONFIG_NI_RT_FEATURES) += nirtfeatures.o >>>>>>> theirs ``` Resolved by concatenating the changes.

31bf3560b593 -> e66a08cc613c

drivers/tty/serial/8250/8250_core.c line 533

```c <<<<<<< ours /* * Set up initial isa ports based on nr_uart module param, or else * default to CONFIG_SERIAL_8250_RUNTIME_UARTS. Note that we do not * need to increase nr_uarts when setting up the initial isa ports. */ for (i = 0; i < nr_uarts; i++) serial8250_setup_port(i); ||||||| base for (i = 0; i < nr_uarts; i++) { struct uart_8250_port *up = &serial8250_ports[i]; struct uart_port *port = &up->port; port->line = i; serial8250_init_port(up); if (!base_ops) base_ops = port->ops; port->ops = &univ8250_port_ops; timer_setup(&up->timer, serial8250_timeout, 0); up->ops = &univ8250_driver_ops; if (IS_ENABLED(CONFIG_ALPHA_JENSEN) || (IS_ENABLED(CONFIG_ALPHA_GENERIC) && alpha_jensen())) port->set_mctrl = alpha_jensen_set_mctrl; serial8250_set_defaults(up); } ======= for (i = 0; i < UART_NR; i++) { struct uart_8250_port *up = &serial8250_ports[i]; struct uart_port *port = &up->port; port->line = i; serial8250_init_port(up); if (!base_ops) base_ops = port->ops; port->ops = &univ8250_port_ops; timer_setup(&up->timer, serial8250_timeout, 0); up->ops = &univ8250_driver_ops; if (IS_ENABLED(CONFIG_ALPHA_JENSEN) || (IS_ENABLED(CONFIG_ALPHA_GENERIC) && alpha_jensen())) port->set_mctrl = alpha_jensen_set_mctrl; serial8250_set_defaults(up); } >>>>>>> theirs ``` Resolved by taking the version which just calls `serial8250_setup_port`, changing the upper bound for the loop to `UART_NR`.

f26e743b426a dropped

Cherrypicked from upstream, so the rebase turned it into an empty commit.

f1ad5c1bc25b dropped

Cherrypicked from upstream, so the rebase turned it into an empty commit.

ae4789e5d969 dropped

Cherrypicked from upstream, so the rebase turned it into an empty commit.

Changes to nati_x86_64_defconfig

Table

| config | change | why | |--------|--------|-----| | `CONFIG_EMBEDDED` | automatically removed | superseded upstream: ef815d2cba78 | | `CONFIG_EXPERT` | manually added | without it, a bunch of stuff gets disabled; see `CONFIG_EMBEDDED` | | `CONFIG_IOSCHED_BFQ` | automatically removed | now implied by MMC: 1444fed25b59 | | `CONFIG_IP_NF_TARGET_CLUSTERIP` | automatically removed | removed upstream: 9db5d918e2c0 | | `CONFIG_PCIEPORTBUS` | automatically removed | enabled by default with USB4: e67ad9354a9b | | `CONFIG_HOTPLUG_PCI_PCIE` | automatically removed | same as `PCIEPORTBUS` | | `CONFIG_HOTPLUG_PCI` | automatically removed | same as `PCIEPORTBUS` | | `CONFIG_IXGB` | automatically removed | removed upstream: e485f3a6eae0 | | `CONFIG_DRM_VMWGFX_FBCON` | automatically removed | removed upstream: df42523c12f8 | | `CONFIG_FRAMEBUFFER_CONSOLE` | automatically removed | enabled by default with `CONFIG_DRM_FBDEV_EMULATION`, itself enabled by default with `CONFIG_FB`: bb6c4507fe82 |

Changes to Kconfig

Report from scripts/diffconfig

Unfortunately this tool does not highlight renames. I've manually located where options were removed and noted renames.

Removed:

Table

| Kconfig option | old value | replacement / why removed | |-|-|-| | `AMD_MEM_ENCRYPT` | n | not actually removed | | `AMD_PMC` | n | not actually removed | | `ARCH_NR_GPIO` | 1024 | limit removed in 7b61212f2a07 | | `ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP` | y | renamed to `ARCH_WANT_OPTIMIZE_VMEMMAP` in 0b376f1e0ff5 | | `AUTOFS4_FS` | n | renamed to `AUTOFS_FS` in 1f2190d6b711 | | `BLK_MQ_RDMA` | y | removed in edde9e70bb48 | | `BLOCK_COMPAT` | y | superseded by `COMPAT` in 8f0d196e4dc1 | | `BOOTPARAM_HOTPLUG_CPU0` | n | removed in e59e74dc48a3 | | `CRYPTO_GF128MUL` | y | renamed to `CRYPTO_LIB_GF128MUL` in 61c581a46a96 | | `DEBUG_HOTPLUG_CPU0` | n | removed in e59e74dc48a3 | | `DRM_NOMODESET` | y | renamed to `VIDEO_NOMODESET` in 9a758d8756da | | `DRM_VMWGFX_FBCON` | y | removed in df42523c12f | | `DW_EDMA_PCIE` | n | not actually removed | | `EMBEDDED` | y | as mentioned earlier, superseded by `EXPERT` in ef815d2cba78 | | `FB_CMDLINE` | y | renamed to `VIDEO_CMDLINE` | | `GENERIC_MSI_IRQ_DOMAIN` | y | superseded by `GENERIC_MSI_IRQ` in 13e7accb81d6 | | `HABANA_AI` | n | renamed to `DRM_ACCEL_ABANALABS` in e65e175b07be | | `HAVE_ATOMIC_CONSOLE` | y | removed in da042bbb7a3f | | `HAVE_HARDENED_USERCOPY_ALLOCATOR` | y | removed in d2e527f0d8d1 | | `HAVE_PREEMPT_LAZY` | y | replaced with `HAVE_PREEMPT_AUTO` in b33022a48c79 | | `HTC_I2CPLD` | n | removed in 707857d997ae | | `HTC_PASIC3` | n | removed in 61d9420a2138 | | `I2C_DESIGNWARE_AMDPSP` | n | not actually removed | | `INTEL_TDX_GUEST` | n | not actually removed | | `IOASID` | y | removed in 99b5726b4423 | | `IP_NF_TARGET_CLUSTERIP` | m | removed in 9db5d918e2c0 | | `IXGB` | m | removed in e485f3a6eae0 | | `LEDS_TI_LMU_COMMON` | n | not actually removed | | `LEDS_TRIGGER_GPIO` | n | not actually removed | | `MFD_INTEL_M10_BMC` | n | split into `MFD_INTEL_M10_BMC_CORE` and `MFD_INTEL_M10_BMC_SPI` in 603aed8ffd4c | | `MICROCODE_AMD` | n | superseded by `MICROCODE` and `CPU_SUP_AMD` in e6bcfdd75d53 | | `MICROCODE_INTEL` | y | superseded by `MICROCODE` and `CPU_SUP_INTEL` in e6bcfdd75d53 | | `NET_CLS_RSVP` | n | removed in 265b4da82dbf | | `NET_CLS_RSVP6` | n | removed in 265b4da82dbf | | `NET_SCH_CBQ` | n | removed in 051d44209842 | | `NET_SCH_DSMARK` | n | removed in bbe77c14ee61 | | `PCI_MSI_IRQ_DOMAIN` | y | superseded by `PCI_MSI` in a474d3fbe287 | | `PDA_POWER` | n | removed in 0f9b85edcae8 | | `PEAQ_WMI` | n | removed in 772cbba5a877 | | `PREEMPT_LAZY` | y | replaced with `PREEMPT_AUTO` in b33022a48c79 | | `PRINTK_SAFE_LOG_BUF_SHIFT` | 13 | removed in 0c705be96099 | | `PSTORE_842_COMPRESS` | n | removed in 438b805003a0 | | `PSTORE_COMPRESS_DEFAULT` | "deflate" | removed in 438b805003a0 | | `PSTORE_DEFLATE_COMPRESS` | y | removed in 438b805003a0 | | `PSTORE_DEFLATE_COMPRESS_DEFAULT` | y | removed in 438b805003a0 | | `PSTORE_LZ4HC_COMPRESS` | n | removed in 438b805003a0 | | `PSTORE_LZ4_COMPRESS` | n | removed in 438b805003a0 | | `PSTORE_LZO_COMPRESS` | n | removed in 438b805003a0 | | `PSTORE_ZSTD_COMPRESS` | n | removed in 438b805003a0 | | `RANDOM_TRUST_BOOTLOADER` | y | replaced with command-line option in b9b01a5625b5 | | `RANDOM_TRUST_CPU` | y | replaced with command-line option in b9b01a5625b5 | | `RTC_DRV_BQ4802` | n | not actually removed | | `RTC_DRV_V3020` | n | removed in 6388bbad4a26 | | `SECURITY_SELINUX_CHECKREQPROT_VALUE` | 0 | removed in a7e4676e8e2c | | `SECURITY_SELINUX_DISABLE` | n | removed in f22f9aaf6c3d | | `SENSORS_SMM665` | n | removed in b3af14c4c284 | | `SPI_NXP_FLEXSPI` | n | not actually removed | | `SPI_ROCKCHIP` | n | not actually removed | | `SQUASHFS_DECOMP_MULTI` | n | not actually removed | | `SQUASHFS_DECOMP_MULTI_PERCPU` | n | not actually removed | | `SRCU` | y | made mandatory in 0cd7e350abc4, removed in e035e8876e6c | | `SYSFS_DEPRECATED` | n | removed in 721da5cee9d4 | | `TEST_SIPHASH` | n | superseded by `SIPHASH_KUNIT_TEST` in fb3d88ab354b | | `TEST_STRSCPY` | n | superseded by `STRSCPY_KUNIT_TEST` in 41eefc46a3a4 | | `TOUCHSCREEN_MK712` | n | not actually removed | | `USB_FOTG210_HCD` | n | not actually removed | | `USB_FOTG210_UDC` | n | not actually removed | | `USB_FTDI_ELAN` | n | removed in 8be174835f07 | | `VIDEO_AD9389B` | n | removed in db24aa041194 | | `VIDEO_M5MOLS` | n | removed in c77d3da12e81 | | `VIDEO_MT9M032` | n | removed in a22eabc82573 | | `VIDEO_MT9T001` | n | removed in 95a9ea8a1388 | | `VIDEO_NOON010PC30` | n | removed in 4604236d6727 | | `VIDEO_S5K4ECGX` | n | removed in 5e2ac9aac774 | | `VIDEO_S5K6AA` | n | removed in 56ac4aa4ed76 | | `VIDEO_SR030PC30` | n | removed in 6a692b059c82 | | `VIDEO_STK1160_COMMON` | n | superseded by `VIDEO_STK1160` in 7f7ac101236b | | `VIDEO_VS6624` | n | removed in 4db7f7a0e59b | | `X86_FEATURE_NAMES` | y | made unconditional in 7583e8fbdc49 | | `YOGABOOK_WMI` | n | renamed to `YOGABOOK` in 06ffe5b25eed |

Added

Table

| Kconfig option | new value | |-|-| | `ACPI_FFH` | n | | `ADDRESS_MASKING` | n | | `ADVANTECH_EC_WDT` | n | | `ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION` | y | | `ARCH_HAS_NMI_SAFE_THIS_CPU_OPS` | y | | `ARCH_SUPPORTS_CRASH_DUMP` | y | | `ARCH_SUPPORTS_CRASH_HOTPLUG` | y | | `ARCH_SUPPORTS_KEXEC` | y | | `ARCH_SUPPORTS_KEXEC_BZIMAGE_VERIFY_SIG` | y | | `ARCH_SUPPORTS_KEXEC_FILE` | y | | `ARCH_SUPPORTS_KEXEC_JUMP` | y | | `ARCH_SUPPORTS_KEXEC_SIG` | y | | `ARCH_SUPPORTS_KEXEC_SIG_FORCE` | y | | `ARCH_SUPPORTS_PER_VMA_LOCK` | y | | `ARCH_WANT_OPTIMIZE_DAX_VMEMMAP` | y | | `ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP` | y | | `AS_GFNI` | y | | `AS_WRUSS` | y | | `BACKLIGHT_KTZ8866` | n | | `BT_HCIBCM4377` | n | | `BT_HCIBTUSB_POLL_SYNC` | y | | `BT_LE_L2CAP_ECRED` | y | | `BUFFER_HEAD` | y | | `CACHESTAT_SYSCALL` | y | | `CALL_DEPTH_TRACKING` | y | | `CALL_PADDING` | y | | `CALL_THUNKS` | y | | `CALL_THUNKS_DEBUG` | n | | `CC_HAS_ENTRY_PADDING` | y | | `CHARGER_RT9467` | n | | `CHARGER_RT9471` | n | | `CRYPTO_ARIA_AESNI_AVX2_X86_64` | n | | `CRYPTO_ARIA_GFNI_AVX512_X86_64` | n | | `CRYPTO_GENIV` | m | | `CRYPTO_JITTERENTROPY_TESTINTERFACE` | n | | `CRYPTO_LIB_GF128MUL` | y | | `CRYPTO_SIG2` | y | | `DMAPOOL_TEST` | n | | `DRM_ACCEL` | n | | `DRM_I915_PREEMPT_TIMEOUT_COMPUTE` | 7500 | | `DRM_LOONGSON` | n | | `DRM_PANEL_AUO_A030JTN01` | n | | `DRM_PANEL_ORISETECH_OTA5601A` | n | | `DRM_SUBALLOC_HELPER` | m | | `DRM_VIRTIO_GPU_KMS` | y | | `EFI_RUNTIME_MAP` | n | | `FB_CORE` | y | | `FB_DEVICE` | y | | `FB_IOMEM_HELPERS` | y | | `FB_SYSMEM_HELPERS` | y | | `FB_SYSMEM_HELPERS_DEFERRED` | y | | `FUNCTION_ALIGNMENT` | 16 | | `FUNCTION_ALIGNMENT_16B` | y | | `FUNCTION_ALIGNMENT_4B` | y | | `FUNCTION_GRAPH_RETVAL` | n | | `FUNCTION_PADDING_BYTES` | 16 | | `FUNCTION_PADDING_CFI` | 11 | | `FW_DEVLINK_SYNC_STATE_TIMEOUT` | n | | `GPIO_DS4520` | n | | `GPIO_ELKHARTLAKE` | n | | `GPIO_FXL6408` | n | | `GPIO_LATCH` | n | | `HAS_IOPORT` | y | | `HAVE_CALL_THUNKS` | y | | `HAVE_FUNCTION_GRAPH_RETVAL` | y | | `HAVE_HARDLOCKUP_DETECTOR_BUDDY` | y | | `HAVE_OBJTOOL_NOP_MCOUNT` | y | | `HAVE_PREEMPT_AUTO` | y | | `HID_BPF` | n | | `HID_EVISION` | n | | `HID_GOOGLE_STADIA_FF` | n | | `HID_SUPPORT` | y | | `HOTPLUG_CORE_SYNC` | y | | `HOTPLUG_CORE_SYNC_DEAD` | y | | `HOTPLUG_CORE_SYNC_FULL` | y | | `HOTPLUG_PARALLEL` | y | | `HOTPLUG_SPLIT_STARTUP` | y | | `HYPERV_VTL_MODE` | n | | `I2C_HID` | y | | `I2C_HID_OF` | n | | `INTEL_IFS` | n | | `INTEL_IOMMU_PERF_EVENTS` | y | | `INTEL_MEI_GSC_PROXY` | n | | `INTEL_TCC` | y | | `IOMMUFD` | n | | `KALLSYMS_SELFTEST` | n | | `LD_ORPHAN_WARN_LEVEL` | "warn" | | `LEDS_AW200XX` | n | | `LEDS_BD2606MVV` | n | | `LEDS_PCA995X` | n | | `LEGACY_DIRECT_IO` | y | | `LEGACY_TIOCSTI` | y | | `LENOVO_YMC` | n | | `LIST_HARDENED` | n | | `MARVELL_88Q2XXX_PHY` | n | | `MAX31827` | n | | `MAX_SKB_FRAGS` | 17 | | `MD_BITMAP_FILE` | y | | `MFD_CS42L43_I2C` | n | | `MFD_INTEL_M10_BMC_SPI` | n | | `MFD_MAX77541` | n | | `MFD_SMPRO` | n | | `MFD_TPS6594_I2C` | n | | `MFD_TPS6594_SPI` | n | | `MICROCHIP_T1S_PHY` | n | | `MMU_LAZY_TLB_REFCOUNT` | y | | `MODULE_DEBUG` | n | | `MT7996E` | n | | `NCN26000_PHY` | n | | `NEED_SG_DMA_FLAGS` | y | | `NETCONSOLE_EXTENDED_LOG` | n | | `NETFILTER_BPF_LINK` | y | | `NETFS_STATS` | n | | `NETFS_SUPPORT` | m | | `NET_HANDSHAKE` | y | | `NET_RX_BUSY_POLL` | y | | `NET_XGRESS` | y | | `NLS_UCS2_UTILS` | m | | `NMI_CHECK_CPU` | n | | `NVMEM_LAYOUT_ONIE_TLV` | n | | `NVMEM_LAYOUT_SL28_VPD` | n | | `NXP_CBTX_PHY` | n | | `OVERLAY_FS_DEBUG` | n | | `PER_VMA_LOCK` | y | | `PER_VMA_LOCK_STATS` | n | | `PHY_RTK_RTD_USB2PHY` | n | | `PHY_RTK_RTD_USB3PHY` | n | | `PPPOE_HASH_BITS` | 4 | | `PREEMPT_AUTO` | n | | `PREEMPT_BUILD` | y | | `PREEMPT_BUILD_AUTO` | y | | `PREFIX_SYMBOLS` | y | | `PTP_1588_CLOCK_MOCK` | n | | `RANDOM_KMALLOC_CACHES` | n | | `RCU_CPU_STALL_CPUTIME` | n | | `RCU_DOUBLE_CHECK_CB_TIME` | n | | `RCU_LAZY` | n | | `REGULATOR_AW37503` | n | | `REGULATOR_MAX20411` | n | | `REGULATOR_MAX77857` | n | | `REGULATOR_RAA215300` | n | | `REGULATOR_RT4803` | n | | `REGULATOR_RT5739` | n | | `REGULATOR_RT6190` | n | | `REGULATOR_RTQ2208` | n | | `RPCSEC_GSS_KRB5` | m | | `SCHED_MM_CID` | y | | `SECRETMEM` | y | | `SECURITY_SELINUX_DEBUG` | n | | `SEL3350_PLATFORM` | n | | `SENSORS_HP_WMI` | n | | `SENSORS_HS3001` | n | | `SENSORS_MC34VR500` | n | | `SENSORS_OCC_P8_I2C` | n | | `SENSORS_OXP` | n | | `SERIAL_8250_PCI1XXXX` | n | | `SERIAL_8250_PCILIB` | y | | `SLUB_TINY` | n | | `SPI_PCI1XXXX` | n | | `SQUASHFS_CHOICE_DECOMP_BY_MOUNT` | n | | `SQUASHFS_COMPILE_DECOMP_MULTI` | n | | `SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU` | n | | `SQUASHFS_COMPILE_DECOMP_SINGLE` | y | | `SWIOTLB_DYNAMIC` | n | | `TEST_DHRY` | n | | `TMPFS_QUOTA` | n | | `TOOLS_SUPPORT_RELR` | y | | `TOUCHSCREEN_CYTTSP5` | n | | `TOUCHSCREEN_HIMAX_HX83112B` | n | | `TOUCHSCREEN_HYNITRON_CSTXXX` | n | | `TOUCHSCREEN_IQS7211` | n | | `TOUCHSCREEN_NOVATEK_NVT_TS` | n | | `UNINLINE_SPIN_UNLOCK` | y | | `USB_CDNS2_UDC` | n | | `USER_EVENTS` | n | | `UVC_COMMON` | m | | `VIDEO_CMDLINE` | y | | `VIDEO_DW9719` | n | | `VIDEO_IMX296` | n | | `VIDEO_NOMODESET` | y | | `VIDEO_OV01A10` | n | | `VIDEO_OV08X40` | n | | `VIDEO_OV4689` | n | | `VIDEO_STK1160` | n | | `WPCM450_SOC` | n | | `WQ_CPU_INTENSIVE_REPORT` | n | | `X86_CET` | y | | `X86_USER_SHADOW_STACK` | n | | `XILINX_DMA` | n | | `XILINX_XDMA` | n | | `YOGABOOK` | n |

Changed

Table

| Kconfig option | old value | new value | |-|-|-| | `CPU_IDLE_GOV_HALTPOLL` | n | y | | `CRYPTO_DEFLATE` | y | m | | `CRYPTO_NULL2` | y | m | | `CRYPTO_SHA3` | n | m | | `FB_SYS_COPYAREA` | m | y | | `FB_SYS_FILLRECT` | m | y | | `FB_SYS_FOPS` | m | y | | `FB_SYS_IMAGEBLIT` | m | y | | `LSM` | "landlock,lockdown,yama,loadpin,safesetid,integrity,bpf" | "landlock,lockdown,yama,loadpin,safesetid,bpf" | | `NETFILTER_XTABLES_COMPAT` | y | n | | `X86_KERNEL_IBT` | n | y |

Asked about by make oldconfig

List

- preemption model: `PREEMPT_AUTO` is new - staying with `PREEMPT_RT` (of course) - `RCU_LAZY` is new - seems to batch RCU callbacks, default of `n` makes sense - `RCU_DOUBLE_CHECK_CB_TIME` is new - performs more precise enforcement for "long" (10^-4 s) RCU callbacks, default of `n` makes sense - **might be interesting for nohz?** - `KALLSYMS_SELFTEST` - doubt we want self-test on boot, default of `n` makes sense - `CACHESTAT_SYSCALL` - enables cachestat syscall (which we noticed is new when rebasing) which queries page cache statistics for a file - default of `y` makes sense - `X86_USER_SHADOW_STACK` - enables shadow stack syscall (which we noticed is new when rebasing) which detects return address corruption - default of `n` makes sense - `EFI_RUNTIME_MAP` - exports EFI runtime memory regions to sysfs - needed by kexec - default of `n` makes sense - `ADDRESS_MASKING` - looks to be used for address sanitizers and JITs - default of `n` makes sense - `CALL_DEPTH_TRACKING` - speculative execution mitigation - needs to be enabled on kernel command line - "increases text size by ~5%" - default of `y` **may not** make sense - `CALL_THUNKS_DEBUG` - counts call/ret and to detect imbalances - "Only enable this when you are debugging call thunks as this creates a noticeable runtime overhead." - **might be interesting for debug kernel?** - default of `n` makes sense - `ACPI_FFH` - fixed function hardware stuff, useful for firmware - default of `n` makes sense - `MODULE_DEBUG` - "You don't need these options on production systems." - **might be interesting for debug kernel?** - default of `n` makes sense - `SLUB_TINY` - "not recommended for systems with more than 16MB RAM" - default of `n` makes sense - `RANDOM_KMALLOC_CACHES` - hardening feature for kmalloc alolocations - "memory and CPU overhead that relates to hardware and system workload" - default of `n` makes sense - `DMAPOOL_TEST` - test module for kernel development - default of `n` makes sense - `SECRETMEM` - enables `memfd_secret` system call - default of `y` makes sense - `MAX_SKB_FRAGS` - **unsure of what this is talking about** - "increases memory overhead of small packets" - "If unsure, say 17" - default of `17` makes sense - `BT_LE_L2CAP_ECRED` - we enable Bluetooth Low Energy features already (`BT_LE`), so enabling "Enhanced Credit Flow Control" likely makes sense - default of `y` makes sense - `BT_HCIBTUSB_POLL_SYNC` - "synchronizes the USB data and event endpoints by prioritizing the later" - **unsure** - default of `y` makes sense - `BT_HCIBCM4377` - certain "Bluetooth chipsets attached via PCIe," "usually found in Apple machines" - default of `n` makes sense - `FW_DEVLINK_SYNC_STATE_TIMEOUT` - "build time equivalent of adding kernel command line parameter" - "almost always want to select N here" - default of `n` makes sense - `INTEL_MEI_GSC_PROXY` - **unsure of what this is talking about** - Intel Management Engine interface? - default of `n` - `MD_BITMAP_FILE` - "This is an alternative to [...] very problematic code" - default of `y` makes sense - `NETCONSOLE_EXTENDED_LOG` - more metadata for netconsole messages - default of `n` makes sense - `MARVELL_88Q2XXX_PHY` - support for some Automotive Ethernet PHYs - default of `n` makes sense, **for now?** - `MICROCHIP_T1S_PHY` - support for some network interface - default of `n` makes sense - `NXP_CBTX_PHY` - support for some network interface in an automotive switch family - default of `n` makes sense, **for now?** - `NCN26000_PHY` - support for some (industrial?) network interface - default of `n` makes sense - `MT7996E` - support for some wireless network interface - default of `n` makes sense - `TOUCHSCREEN_CYTTSP5` - support for some touchscreen controllers - default of `n` makes sense - `TOUCHSCREEN_HYNITRON_CSTXXX` - support for some touchscreen controller - default of `n` makes sense - `TOUCHSCREEN_NOVATEK_NVT_TS` - support for some touchscreen controller - default of `n` makes sense - `TOUCHSCREEN_IQS7211` - support for some trackpad/touchscreen controller family - default of `n` makes sense - `TOUCHSCREEN_HIMAX_HX83112B` - support for some touchscreens - default of `n` makes sense - `LEGACY_TIOCSTI` - "considered a dangerous legacy operation" - "Say Y here only if you have confirmed that your system's userspace depends on this functionality to continue operating normally." - default of `y` **may not make sense** - `SERIAL_8250_PCI1XXXX` - "Microchip PCIe Switch with serial port enabled" - default of `n` **may not make sense**, 8250 sounds familiar - `SPI_PCI1XXXX` - "PCI to SPI Bus driver" - default of `n` **may not make sense** - `PTP_1588_CLOCK_MOCK` - "can be used by virtual network device drivers to emulate PTP capabilities" - default of `n` seems to make sense - `GPIO_FXL6408` - driver for a GPIO expander - default of `n` seems to make sense - `GPIO_DS4520` - driver for a GPIO expander - default of `n` seems to make sense - `GPIO_ELKHARTLAKE` - driver for a GPIO - default of `n` seems to make sense - `GPIO_LATCH` - driver for GPIO multiplexers - default of `n` seems to make sense - `CHARGER_RT9467` - driver for a battery charger - default of `n` makes sense - `CHARGER_RT9471` - driver for a battery charger - default of `n` makes sense - `SENSORS_HS3001` - driver for humidity and temperature sensors - default of `n` makes sense - `MAX31827` - driver for temperature switches and sensors - default of `n` makes sense - `SENSORS_MC34VR500` - driver for temperature and input voltage sensors - default of `n` makes sense - `SENSORS_OCC_P8_I2C` - driver for monitoring sensors in some processor controller - default of `n` definitely makes sense - `SENSORS_OXP` - support for fan readings and control in some handhelds - default of `n` definitely makes sense - `SENSORS_HP_WMI` - support for ACPI monitoring interface in HP systems - default of `n` definitely makes sense - `ADVANTECH_EC_WDT` - support for some embedded controller - default of `n` definitely makes sense - `MFD_SMPRO` - support for some processor family - default of `n` definitely makes sense - `MFD_CS42L43_I2C` - support for some audio codec over I2C - default of `n` makes sense - `MFD_MAX77541` - support for some power management ICs - default of `n` makes sense - `MFD_TPS6594_I2C` - support for some PM chips over I2C - default of `n` makes sense - `MFD_TPS6594_SPI` - support for some PM chips over SPI - default of `n` makes sense - `MFD_INTEL_M10_BMC_SPI` - support for some board management controller over SPI - defualt of `n` makes sense - `REGULATOR_AW37503` - support for some power supply - default of `n` makes sense - `REGULATOR_MAX77857` - support for some power regulators over I2C - default of `n` makes sense - `REGULATOR_MAX20411` - support for some power converter - default of `n` makes sense - `REGULATOR_RAA215300` - support for some PMIC - default of `n` makes sense - `REGULATOR_RT4803` - support for some power converter - default of `n` makes sense - `REGULATOR_RT5739` - support for some voltage regulator - default of `n` makes sense - `REGULATOR_RT6190` - support for some voltage controller - default of `n` makes sense - `REGULATOR_RTQ2208` - support for some PMIC - default of `n` makes sense - `VIDEO_STK1160` - video4linux driver for some video capture devices - default of `n` **probably makes sense** - `VIDEO_IMX296` - video4linux2 sensor driver for some camera - default of `n` **probably makes sense** - `VIDEO_OV01A10` - video4linux2 sensor driver for some camera - default of `n` **probably makes sense** - `VIDEO_OV08X40` - video4linux2 sensor driver for some camera - default of `n` **probably makes sense** - `VIDEO_OV4689` - video4linux2 sensor driver for some camera - default of `n` **probably makes sense** - `VIDEO_DW9719` - driver for some camera lens control - default of `n` **probably makes sense** - `DRM_I915_PREEMPT_TIMEOUT_COMPUTE` - controls wait when offloading compute - adjustable via sysfs - default of `7500` ms **might not make sense** - `DRM_VIRTIO_GPU_KMS` - enables modesetting for virtio GPU driver - default of `y` **probably makes sense** - `DRM_PANEL_AUO_A030JTN01` - support for some display panel - default of `n` makes sense - `DRM_PANEL_ORISTECH_OTA5601A` - support for some display panel controller - default of `n` makes sense - `DRM_LOONGSON` - support for some family of graphics chipsets - default of `n` makes sense - `FB_DEVICE` - adds legacy `/dev/fb*` devices - default of `y` **might not make sense** - `BACKLIGHT_KTZ8866` - driver for some backlight - defualt of `n` makes sense - `DRM_ACCEL` - framework for other drivers for compute acceleration - default of `n` **might not make sense** - `HID_SUPPORT` - core support for human interface devices - default of `y` makes sense - `HID_EVISION` - support for some keyboards - default of `n` makes sense - `HID_GOOGLE_STADIA_FF` - support for some game controller - default of `n` makes sense - `HID_BPF` - support for eBPF programs on the HID subsystem - default of `n` **probably makes sense** - `I2C_HID` - no help available - default of `y` **probably makes sense** - `I2C_HID_OF` - support for HID devices connected via I2C as well as Open Firmware (Device Tree)-based systems - default of `n` **probably makes sense** - `USB_CDN2_UDC` - support for some USB controller - default of `n` **probably makes sense** - `LEDS_AW200XX` - support for a matrix LED driver - default of `n` makes sense - `LEDS_PCA995X` - support for some LED driver chips - default of `n` makes sense - `LEDS_BD2606MVV` - support for some LED driver chips - default of `n` makes sense - `XILINX_DMA` - support for "Xilinx AXI VDMA Soft IP" - default of `n` **might not make sense** - `XILINX_XDMA` - support for "Xilinx DMA/Bridge Subsystem DMA engine" - default of `n` **might not make sense** - `HYPERV_VTL_MODE` - support for Virtual Trust Levels besides the usual one - default of `n` makes sense - `YOGABOOK` - support for some tablet - default of `n` makes sense - `LENOVO_YMC` - support for some tablet - default of `n` makes sense - `INTEL_IFS` - support for "In Field Scan capability" "to validate CPU operation" - default of `n` makes sense - `SEL3350_PLATFORM` - support for "LEDs and power supplies" on some computers - default of `n` makes sense - `INTEL_IOMMU_PERF_EVENTS` - support for performance monitoring in some processors - default of `y` **probably makes sense** - `IOMMUFD` - support for `/dev/iommu` - default of `n` **probably makes sense** - `WPCM450_SOC` - driver for some SoC - default of `n` makes sense - `PHY_RTK_RTD_USB2PHY` - support for some SoC transceiver - default of `n` makes sense - `PHY_RTK_RTD_USB3PHY` - support for some SoC transceiver - default of `n` makes sense - `NVMEM_LAYOUT_SL28_VPD` - support for some board - default of `n` makes sense - `NVMEM_LAYOUT_ONIE_TLV` - help is not very useful - default of `n` makes sense - `OVERLAY_FS_DEBUG` - enables "extra debugging checks in overlayfs" - default of `n` makes sense - **might be interesting for debug?** - `NETFS_STATS` - gathers statistics on local caching and exposes them in procfs - "adds a certain amount of overhead to execution" - "very useful for debugging purposes" - "saying 'Y' here is recommended" - default of `n` **probably makes sense** - **might be interesting for debug?** - `TMPFS_QUOTA` - "allows to set per user and group limits for tmpfs usage" - default of `n` **probably makes sense** - `SQUASHFS_CHOICE_DECOMP_BY_MOUNT` - allows specification of decompression options (e.g. parallelization) at mount-time - default of `n` **probably makes sense** - choice: `SQUASHFS_COMPILE_DECOMP_SINGLE`, `SQUASHFS_COMPILE_DECOMP_MULTI`, or `SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU` - choice of parallelization options for decompression of squashfs - "if in doubt, select 'single threaded compression'" - default of `1` **probably makes sense** - `RPCSEC_GSS_KRB5` - enables secure RPC with Kerberos v5 - "if unsure, say Y" - default of `m` **might not make sense** - `SECURITY_SELINUX_DEBUG` - "enables debugging code designed to help SELinux kernel developers" - "unless you know what this does [...] you should leave this disabled" - default of `n` makes sense - `LIST_HARDENED` - adds "minimal integrity checking [...] to catch memory corruptions" - default of `n` **probably makes sense** - `CRYPTO_JITTERENTROPY_TESTINTERFACE` - "allows a privileged process to capture the raw [...] noise" - "intended for testing purposes and is not suitable for production systems" - default of `n` makes sense - **maybe we don't want `CRYPTO_JITTERENTROPY` on RT at all?** - `CRYPTO_ARIA_AESNI_AVX2_X86_64` - use x86_64 extensions' instructions for some ciphers - default of `n` **might not make sense** - `CRYPTO_ARIA_GFNI_AVX512_X86_64` - use x86_64 extensions' instructions for some ciphers - default of `n` **might not make sense*** - `SWIOTLB_DYNAMIC` - "enables dynamic resizing of the software IO TLB" - default of `n` **probably makes sense** - `PER_VMA_LOCK_STATS` - enables counters for page faults handled with per-vma locks - "useful for kernel developers" - "introduces a small overhead in the page fault path" - default of `n` **probably makes sense** - **might be interesting for debug?** - `WQ_CPU_INTENSIVE_REPORT` - enables reporting for work that hogs CPU - default of `n` makes sense - **might be interesting for debug?** - `NMI_CHECK_CPU` - "enables debug prints when a CPU fails to respond to a given backtrace NMI" - default of `n` makes sense - **might be interesting for debug?** - `RCU_CPU_STALL_CPUTIME` - enables collection of statistics for RCU stalls - default of `n` makes sense - **might be interesting for debug?** - `FUNCTION_GRAPH_RETVAL` - "support recording and printing the function return value when using function graph tracer" - default of `n` **probably makes sense** - **might be interesting for debug?** - `USER_EVENTS` - "user-defined trace events that can be used like an existing kernel trace event" - default of `n` **probably makes sense** - **might be interesting for debug?** - `TEST_DHRY` - benchmark - default of `n` makes sense

Other changes

drivers/misc/nirtfeatures.c and drivers/misc/niwatchdog.c

Each of these needed to have their respective *_acpi_remove functions' return types set to void due to 6c0eb5ba3500. This was done in-place in the commits that introduced the functions (a803e305776e -> 63a685716189 and a7877dfc8aaf -> 3f82ae9033ec).

Testing

Other TODOs

Notes for maintainers

This will require a new branch, nilrt/master/6.6.

bstreiff commented 11 months ago

This will require a new branch, nilrt/master/6.6.

I haven't yet looked at these changes but I've gone ahead and pushed v6.6-rc6-rt10 (e7eb3321622c) as nilrt/master/6.6 since we're using that as our start point. (This should help to simplify the Github PR view as now we can skip showing everything from 6.1 -> 6.6)

gratian commented 11 months ago

@mike-petersen-ni since this is a rebase let's keep the history clean; no need to introduce fixup! and revert commits (since we're rebasing anyway).

mike-petersen-ni commented 11 months ago

v2