The 6.18 version of the Linux kernel has just been released, and as usual we recommend our readers to look at the 6.18 merge window coverage by LWN.net (part 1, part 2) to get the best overview of the major changes in this release.
On our side, we contributed a total of 77 patches to this kernel release, and our engineers who work as maintainers review/merged 111 patches from other contributors.
Here are the main highlights of our contributions:
- Mathieu Dubois-Briand and Kamel Bouhara together contributed a set of drivers to support the Analog Devices MAX7360, with an MFD driver, a keypad matrix driver, a rotary encoder driver, a GPIO driver, a pinctrl driver and a PWM driver. Check out our blog post Adding support for the MAX7360 keypad controller in the Linux kernel for more details.
- Thomas Richard contributed a rather complex pinctrl driver to support the I/Os of the Intel-based AAeon UP boards, which also required a number of improvements in the GPIO aggregator code. We will soon publish a blog post with more details on this work.
- Alexandre Belloni, acting as both the maintainer of the I3C and RTC subsystems, contributed a few small improvements to those subsystems.
- Bastien Curutchet contributed some small improvements to the Microchip Ethernet switch driver, and we have more coming on this topic in the next kernel releases.
- Benoit Monin extended the MMC subsystem to support read gap tuning, which is now support with the Cadence SDHCI driver.
- Louis Chauvet contributed support for several additional pixel formats in the VKMS kernel driver.
- Luca Ceresoli continued his work to improve the APIs of the DRM subsystem used to handle display bridges, with the ultimate goal of supporting hotpluggable bridges.
- Théo Lebrun made a few contributions to the Cadence MACB Ethernet controller driver, in preparation to add Ethernet support for Mobileye MIPS platforms.
- Hervé Codina, Köry Maincent, Maxime Chevallier and Miquèl Raynal each did a small number of miscellaneous contributions.
Here are all the commits from Bootlin engineers for this 6.18 release:
- Alexandre Belloni (4):
- Bastien Curutchet (2):
- Bastien Curutchet (Schneider Electric) (7):
- dt-bindings: net: dsa: microchip: Group if clause under allOf tag
- dt-bindings: net: dsa: microchip: Add strap description to set SPI mode
- net: dsa: microchip: common: Fix checks on irq_find_mapping()
- net: dsa: microchip: ptp: Fix checks on irq_find_mapping()
- net: dsa: microchip: Don’t free uninitialized ksz_irq
- net: dsa: microchip: Free previously initialized ports on init failures
- net: dsa: microchip: Fix symetry in ksz_ptp_msg_irq_{setup/free}()
- Benoît Monin (8):
- mmc: core: add mmc_card_can_cmd23
- mmc: card: add mmc_card_blk_no_cmd23
- mmc: mmc_test: use mmc_card cmd23 helpers
- mmc: block: use mmc_card cmd23 helpers
- mmc: core: add mmc_read_tuning
- mmc: sdhci-cadence: implement multi-block read gap tuning
- i2c: designware: convert to dev_err_probe() on request IRQ error
- i2c: designware: use dev_err_probe() when probing platform device
- Herve Codina (1):
- Kamel Bouhara (2):
- Kory Maincent (Dent Project) (1):
- Louis Chauvet (8):
- drm/vkms: Create helpers macro to avoid code duplication in format callbacks
- drm/vkms: Add support for ARGB8888 formats
- drm/vkms: Add support for ARGB16161616 formats
- drm/vkms: Add support for RGB565 formats
- drm/vkms: Add support for RGB888 formats
- drm/vkms: Change YUV helpers to support u16 inputs for conversion
- drm/vkms: Create helper macro for YUV formats
- drm/vkms: Add P01* formats
- Luca Ceresoli (18):
- drm/bridge: add a cleanup action for scope-based drm_bridge_put() invocation
- drm/bridge: get the bridge returned by drm_bridge_chain_get_first_bridge()
- drm/mxsfb: put the bridge returned by drm_bridge_chain_get_first_bridge()
- drm/atomic-helper: put the bridge returned by drm_bridge_chain_get_first_bridge()
- drm/probe-helper: put the bridge returned by drm_bridge_chain_get_first_bridge()
- drm/bridge: get the bridge returned by drm_bridge_get_prev_bridge()
- drm/bridge: select_bus_fmt_recursive(): put the bridge obtained by drm_bridge_get_prev_bridge()
- drm/bridge: display-connector: put the bridge obtained by drm_bridge_get_prev_bridge()
- drm/debugfs: bridges_show: show refcount
- list: add list_last_entry_or_null()
- drm/bridge: add drm_bridge_chain_get_last_bridge()
- drm/bridge: imx93-mipi-dsi: use drm_bridge_chain_get_last_bridge()
- drm/omapdrm: use drm_bridge_chain_get_last_bridge()
- drm/bridge: add drm_bridge_is_last()
- drm/display: bridge_connector: use drm_bridge_is_last()
- drm/display: bridge-connector: remove unused variable assignment
- drm/imx: parallel-display: convert to devm_drm_bridge_alloc() API
- drm/imx: parallel-display: add the bridge before attaching it
- Mathieu Dubois-Briand (8):
- dt-bindings: mfd: gpio: Add MAX7360
- pinctrl: Add MAX7360 pinctrl driver
- gpio: regmap: Allow to allocate regmap-irq device
- gpio: regmap: Allow to provide init_valid_mask callback
- gpio: max7360: Add MAX7360 gpio support
- input: keyboard: Add support for MAX7360 keypad
- input: misc: Add support for MAX7360 rotary
- MAINTAINERS: Add entry on MAX7360 driver
- Maxime Chevallier (1):
- Miquel Raynal (1):
- Thomas Richard (11):
- gpiolib: add support to register sparse pin range
- gpio: aggregator: move GPIO forwarder allocation in a dedicated function
- gpio: aggregator: refactor the code to add GPIO desc in the forwarder
- gpio: aggregator: refactor the forwarder registration part
- gpio: aggregator: update gpiochip_fwd_setup_delay_line() parameters
- gpio: aggregator: export symbols of the GPIO forwarder library
- gpio: aggregator: handle runtime registration of gpio_desc in gpiochip_fwd
- gpio: aggregator: add possibility to attach data to the forwarder
- lib/string_choices: Add str_input_output() helper
- pinctrl: Add pin controller driver for AAEON UP boards
- gpio: aggregator: restore the set_config operation
- Théo Lebrun (5):
