Linux 6.5 was released yesterday, with as usual over 10,000 commits from a large number of contributors. We recommend reading LWN.net articles on the merge window (part 1, part 2), but also the CNX Software page that focuses on embedded-related improvements.
Bootlin contributed 76 commits to this kernel release, putting us as the #26 contributing company. This time around, our main contributions have been:
- The large stack of patches from Luca Ceresoli on the NVidia Tegra camera interface driver finally landed: they add support for the Tegra20 parallel camera interface to the existing driver, which required a lot of changes to the driver that was so far only support Tegra210 CSI. This work allows one of our customers, who was stuck on an old vendor NVidia kernel to an upstream Linux kernel.
- Hervé Codina contributed a driver for the Renesas X9250 potentiometer, in the IIO subsystem. This will be followed in Linux 6.6 by a glue driver that allows to expose an IIO device as an auxiliary device in the ALSA subsystem, allowing this potentiometer to be used in audio applications
- Alexis Lothoré contributed support for the Marvell MV88E6361 Ethernet switch into the existing mv88e6xxx DSA driver
- Maxime Chevallier contributed a new regmap-based MDIO driver, which required some changes in the regmap code. This allows the Altera TSE driver to use the existing Lynx PCS driver, and drop the custom Altera TSE PCS driver. Finally, the stmmac Ethernet driver is modified to be able to use the Lynx PCS driver as well. Quite an adventure to finally get proper PCS support with stmmac
- Miquèl Raynal contributed improvments in the 802.15.4 stack, especially related to scanning support.
- Miquèl Raynal contributed fixes to the sja1000 CAN driver (to avoid overrun stalls on Renesas processors), to the SPI subsystem (to avoid false timeouts for long transfers), to the DMA engine driver for Xilinx XDMA IP, and a few more.
- Miquèl Raynal also continued his effort of improving the Device Tree bindings for MTD NAND controllers
- Luca Ceresoli added sound card support to the MSC SM2-MB-EP1 carrier board, which runs a i.MX8MP SoM, and he also fixed the timings for one of the panels supported by the simple-panel driver
Here are the details of all our changes that went into Linux 6.5:
- Alexis Lothoré (7):
- dt-bindings: net: dsa: marvell: add MV88E6361 switch to compatibility list
- net: dsa: mv88e6xxx: pass directly chip structure to mv88e6xxx_phy_is_internal
- net: dsa: mv88e6xxx: use mv88e6xxx_phy_is_internal in mv88e6xxx_port_ppu_updates
- net: dsa: mv88e6xxx: add field to specify internal phys layout
- net: dsa: mv88e6xxx: fix 88E6393X family internal phys layout
- net: dsa: mv88e6xxx: pass mv88e6xxx_chip structure to port_max_speed_mode
- net: dsa: mv88e6xxx: enable support for 88E6361 switch
- Herve Codina (3):
- Luca Ceresoli (22):
- dt-bindings: display: tegra: add Tegra20 VIP
- dt-bindings: display: tegra: vi: add ‘vip’ property and example
- staging: media: tegra-video: improve documentation of tegra_video_format fields
- staging: media: tegra-video: document tegra_channel_get_remote_source_subdev
- staging: media: tegra-video: fix typos in comment
- staging: media: tegra-video: improve error messages
- staging: media: tegra-video: slightly simplify cleanup on errors
- staging: media: tegra-video: move private struct declaration to C file
- staging: media: tegra-video: move tegra210_csi_soc to C file
- staging: media: tegra-video: remove unneeded include
- staging: media: tegra-video: Kconfig: allow TPG only on Tegra210
- staging: media: tegra-video: move tegra_channel_fmt_align to a per-soc op
- staging: media: tegra-video: move default format to soc-specific data
- staging: media: tegra-video: move MIPI calibration calls from VI to CSI
- staging: media: tegra-video: add a per-soc enable/disable op
- staging: media: tegra-video: move syncpt init/free to a per-soc op
- staging: media: tegra-video: add syncpts for Tegra20 to struct tegra_vi
- staging: media: tegra-video: add hooks for planar YUV and H/V flip
- staging: media: tegra-video: add H/V flip controls
- staging: media: tegra-video: add support for Tegra20 parallel input
- arm64: dts: imx8mp-msc-sm2s: Add sound card
- drm/panel: simple: Fix AUO G121EAN01 panel timings according to the docs
- Maxime Chevallier (10):
- regmap: mmio: Allow passing an empty config->reg_stride
- net: mdio: Introduce a regmap-based mdio driver
- net: ethernet: altera-tse: Convert to mdio-regmap and use PCS Lynx
- net: pcs: Drop the TSE PCS driver
- net: stmmac: dwmac-sogfpga: use the lynx pcs driver
- net: altera-tse: Initialize local structs before using it
- net: altera_tse: Use the correct Kconfig option for the PCS_LYNX dependency
- net: stmmac: make the pcs_lynx cleanup sequence specific to dwmac_socfpga
- net: altera_tse: explicitly disable autoscan on the regmap-mdio bus
- net: dwmac_socfpga: initialize local data for mdio regmap configuration
- Miquel Raynal (33):
- ieee802154: Add support for user active scan requests
- mac802154: Handle active scanning
- ieee802154: Add support for allowing to answer BEACON_REQ
- mac802154: Handle received BEACON_REQ
- net: ieee802154: Handle limited devices with only datagram support
- ieee802154: ca8210: Flag the driver as being limited
- sysfs: Improve readability by following the kernel coding style
- sysfs: Skip empty folders creation
- power: reset: at91-reset: change the power on reason prototype
- can: sja1000: Prepare the use of a threaded handler
- can: sja1000: Prevent overrun stalls with a soft reset on Renesas SoCs
- spi: Create a helper to derive adaptive timeouts
- dt-bindings: mtd: Accept nand related node names
- dt-bindings: mtd: Create a file for raw NAND chip properties
- dt-bindings: mtd: Mark nand-ecc-placement deprecated
- dt-bindings: mtd: Describe nand-ecc-mode
- dt-bindings: mtd: qcom: Fix a property position
- dt-bindings: mtd: qcom: Prevent NAND chip unevaluated properties
- dt-bindings: mtd: ingenic: Prevent NAND chip unevaluated properties
- dt-bindings: mtd: sunxi: Prevent NAND chip unevaluated properties
- dt-bindings: mtd: meson: Prevent NAND chip unevaluated properties
- dt-bindings: mtd: brcmnand: Prevent NAND chip unevaluated properties
- dt-bindings: mtd: denali: Prevent NAND chip unevaluated properties
- dt-bindings: mtd: intel: Prevent NAND chip unevaluated properties
- dt-bindings: mtd: rockchip: Prevent NAND chip unevaluated properties
- dt-bindings: mtd: stm32: Prevent NAND chip unevaluated properties
- dt-bindings: mtd: mediatek: Reference raw-nand-chip.yaml
- dt-bindings: mtd: mediatek: Prevent NAND chip unevaluated properties
- dt-bindings: mtd: ti,am654: Prevent unevaluated properties
- spi: atmel: Prevent false timeouts on long transfers
- spi: sun6i: Use the new helper to derive the xfer timeout value
- dmaengine: xilinx: xdma: Fix interrupt vector setting
- dmaengine: xilinx: xdma: Fix typo
- Thomas Petazzoni (1):