Linux 5.16 has been released on January 9. As usual, our recommended reading to learn more about this release is the corresponding Kernelnewbies.org page and the two articles from LWN covering the 5.16 merge window: part 1 and part 2.
As usual, Bootlin contributed a number of patches to this release, with a total of 117 commits, making Bootlin the 22th contributing company according to statistics (Unknown and Hobbyists not counting as companies).
Here are the main highlights of our contributions to 5.16:
- Alexandre Belloni, as the maintainer of the RTC subsystem, continued to improve the core subsystem and RTC drivers. He added a new user-space interface to RTC to allow getting/settings RTC parameters. It is used to get the features of an RTC from user-space, to get/set the RTC correction or to configure Backup Switch Mode. In addition, Alexandre made various improvements to several RTC drivers, such as adding Backup Switch Mode, and general refactoring.
- Clément Léger did a small fix in the clock drivers for Microchip ARM platforms, fixing an issue discovered as part of his work porting OP-TEE to Microchip ARM platforms.
- Hervé Codina made some fixes to the
fsmc
NAND controller driver, which is used on a number of old platforms from ST. They fix support of certain NAND chips on those platforms. These issues were discovered as part of the development of a Linux BSP for an old ST Spear320 platform. - Maxime Chevallier fixed a deadlock in the network stack, that was causing the kernel to stop booting when using a root filesystem over NFS combined with the network interface using a SFP module.
- Miquèl Raynal contributed many improvements to the
max1027
ADC driver in the IIO subsystem, supporting hardware triggers. - Miquèl Raynal contributed support for the ADC found on Texas Instruments AM437x platforms. This required significant changes in the MFD driver that is used to support the multiple features of this ADC, as well as improvements in the existing IIO driver for TI ADCs.
- Paul Kocialkowski contributed a small addition enabling the Rockchip VPU on Rockchip PX30 platforms, and merged the Device Tree bindings for the logiCVC display controller (but not yet the driver itself).
And now, the complete list of commits:
- Alexandre Belloni (28):
- rtc: msc313: fix missing include
- rtc: add alarm related features
- rtc: add parameter ioctl
- rtc: expose correction feature
- rtc: add correction parameter
- rtc: add BSM parameter
- rtc: rv3028: add BSM support
- rtc: rv3032: allow setting BSM
- rtc: pcf8523: avoid reading BLF in pcf8523_rtc_read_time
- rtc: expose RTC_FEATURE_UPDATE_INTERRUPT
- rtc: pcf8523: switch to regmap
- rtc: pcf8523: always compile pcf8523_rtc_ioctl
- rtc: pcf8523: remove unecessary ifdefery
- rtc: pcf8523: allow usage on ACPI platforms
- rtc: pcf8523: add BSM support
- rtc: pcf85063: silence cppcheck warning
- rtc: handle alarms with a minute resolution
- rtc: s35390a: let the core handle the alarm resolution
- rtc: rv3032: let the core handle the alarm resolution
- rtc: ab-eoz9: use RTC_FEATURE_UPDATE_INTERRUPT
- rtc: ab-eoz9: support UIE when available
- rtc: ab8500: let the core handle the alarm resolution
- rtc: rx8025: switch to devm_rtc_allocate_device
- rtc: rx8025: let the core handle the alarm resolution
- rtc: rx8025: set range
- rtc: rx8025: clear RTC_FEATURE_ALARM when alarm are not supported
- rtc: rx8025: use rtc_add_group
- rtc: rx8025: use .set_offset/.read_offset
- Clément Léger (1):
- Herve Codina (4):
- Maxime Chevallier (1):
- Miquel Raynal (80):
- mtd: rawnand: fsmc: Fix use of SM ORDER
- mtd: rawnand: Let callers use the bare Hamming helpers
- Revert “mtd: rawnand: txx9ndfmc: Fix external use of SW Hamming ECC helper”
- Revert “mtd: rawnand: tmio: Fix external use of SW Hamming ECC helper”
- Revert “mtd: rawnand: sharpsl: Fix external use of SW Hamming ECC helper”
- Revert “mtd: rawnand: ndfc: Fix external use of SW Hamming ECC helper”
- Revert “mtd: rawnand: lpc32xx_slc: Fix external use of SW Hamming ECC helper”
- Revert “mtd: rawnand: cs553x: Fix external use of SW Hamming ECC helper”
- mtd: rawnand: ams-delta: Keep the driver compatible with on-die ECC engines
- mtd: rawnand: au1550nd: Keep the driver compatible with on-die ECC engines
- mtd: rawnand: gpio: Keep the driver compatible with on-die ECC engines
- mtd: rawnand: mpc5121: Keep the driver compatible with on-die ECC engines
- mtd: rawnand: orion: Keep the driver compatible with on-die ECC engines
- mtd: rawnand: pasemi: Keep the driver compatible with on-die ECC engines
- mtd: rawnand: plat_nand: Keep the driver compatible with on-die ECC engines
- mtd: rawnand: socrates: Keep the driver compatible with on-die ECC engines
- mtd: rawnand: xway: Keep the driver compatible with on-die ECC engines
- mtd: rawnand: arasan: Prevent an unsupported configuration
- iio: adc: max1027: Fix style
- iio: adc: max1027: Drop extra warning message
- iio: adc: max1027: Drop useless debug messages
- iio: adc: max1027: Minimize the number of converted channels
- iio: adc: max1027: Rename a helper
- iio: adc: max1027: Create a helper to enable/disable the cnvst trigger
- iio: adc: max1027: Simplify the _set_trigger_state() helper
- iio: adc: max1027: Ensure a default cnvst trigger configuration
- iio: adc: max1027: Create a helper to configure the channels to scan
- iio: adc: max1027: Prevent single channel accesses during buffer reads
- iio: adc: max1027: Separate the IRQ handler from the read logic
- iio: adc: max1027: Introduce an end of conversion helper
- iio: adc: max1027: Stop requesting a threaded IRQ
- iio: adc: max1027: Use the EOC IRQ when populated for single reads
- iio: adc: max1027: Allow all kind of triggers to be used
- iio: adc: max1027: Don’t reject external triggers when there is no IRQ
- clk: ti: am43xx: Add clkctrl data for am43xx ADC1
- dt-bindings: mfd: ti,am3359-tscadc: Add a yaml description for this MFD
- dt-bindings: touchscreen: ti,am3359-tsc: New yaml description
- dt-bindings: iio: adc: ti,am3359-adc: New yaml description
- dt-bindings: touchscreen: ti,am3359-tsc: Remove deprecated text file
- dt-bindings: mfd: ti,am3359-tscadc: Describe am4372 MFD compatible
- dt-bindings: iio: adc: ti,am3359-adc: Describe am4372 ADC compatible
- mfd: ti_am335x_tscadc: Ensure a balanced number of node get/put
- mfd: ti_am335x_tscadc: Replace license text with SPDX tag
- mfd: ti_am335x_tscadc: Fix style
- mfd: ti_am335x_tscadc: Get rid of useless gotos
- mfd: ti_am335x_tscadc: Drop extra spacing when declaring stack variables
- mfd: ti_am335x_tscadc: Reword the comment explaining the dividers
- mfd: ti_am335x_tscadc: Don’t search the tree for our clock
- mfd: ti_am335x_tscadc: Simplify divisor calculation
- mfd: ti_am335x_tscadc: Move the driver structure allocation earlier
- mfd: ti_am335x_tscadc: Use driver data
- mfd: ti_am335x_tscadc: Mimic the probe from resume()
- mfd: ti_am335x_tscadc: Drop useless variables from the driver structure
- mfd: ti_am335x_tscadc: Always provide an idle configuration
- mfd: ti_am335x_tscadc: Reorder the initialization steps
- mfd: ti_am335x_tscadc: Gather the ctrl register logic in one place
- mfd: ti_am335x_tscadc: Replace the header license text with SPDX tag
- mfd: ti_am335x_tscadc: Fix header spacing
- mfd: ti_am335x_tscadc: Use the new HZ_PER_MHZ macro
- mfd: ti_am335x_tscadc: Drop unused definitions from the header
- mfd: ti_am335x_tscadc: Use BIT(), GENMASK() and FIELD_PREP() when relevant
- mfd: ti_am335x_tscadc: Clarify the maximum values for DT entries
- mfd: ti_am335x_tscadc: Drop useless definitions from the header
- mfd: ti_am335x_tscadc: Rename the subsystem enable macro
- mfd: ti_am335x_tscadc: Add TSC prefix in certain macros
- mfd: ti_am335x_tscadc: Rename a variable
- mfd: ti_am335x_tscadc: Fix an error message
- mfd: ti_am335x_tscadc: Add a boolean to clarify the presence of a touchscreen
- mfd: ti_am335x_tscadc: Introduce a helper to deal with the type of hardware
- mfd: ti_am335x_tscadc: Add ADC1/magnetic reader support
- mfd: ti_am335x_tscadc: Support the correctly spelled DT property
- iio: adc: ti_am335x_adc: Wait the idle state to avoid stalls
- iio: adc: ti_am335x_adc: Replace license text with SPDX tag
- iio: adc: ti_am335x_adc: Fix style
- iio: adc: ti_am335x_adc: Get rid of useless gotos
- iio: adc: ti_am335x_adc: Gather the checks on the delays
- iio: adc: ti_am335x_adc: Add a unit to the timeout delay
- iio: adc: ti_am335x_adc: Add the scale information
- iio: adc: ti_am335x_adc: Add the am437x compatible
- docs: i2c: smbus-protocol: mention the repeated start condition
- Paul Kocialkowski (3):