Linux 5.8 was released recently. See our usual resources for a good coverage of the highlights of this new release: KernelNewbies page, LWN.net article on the first part of the merge window, LWN.net article on the second part of the merge window.
On our side, we contributed a total of 155 commits to Linux 5.8, which makes Bootlin the 19th contributing company by number of commits according to Linux Kernel Patch Statistic. The highlights of our contributions are:
- Miquèl Raynal contributed a completely new NAND controller driver: the
arasan-nand-controller
driver, used on Xilinx platforms. - In the MTD subsystem, Miquèl Raynal, as one of the co-maintainers, made a substantial number of contributions: cleanups in the
nandsim
driver, drop of thenand_release()
API, support in the NAND core for the specificities of thearasan-nand-controller
driver in terms of ECC handling (we will soon publish a blog post on this topic!) - On the support of Atmel/Microchip platforms
- Alexandre Belloni migrated the SAMA5D3, AT91SAM9N12, AT91RM9200 and AT91SAM9G45 Device Tree files to use the new clock DT bindings
- Grégory Clement modified the
atmel_usba_udc
USB device controller driver to no longer require describing all USB endpoints in the Device Tree, since they are always the same for a given SoC.
- Grégory Clement contributed a number of improvements and fixes for the n_gsm line discipline driver, which allows to multiplex an UART used to communicate with a GSM modem. These improvements and fixes allowed the
n_gsm
driver to be fully stable for one of our customers. - In the RTC subsystem, Alexandre Belloni (maintainer of that subsystem) did a number of small improvements to various RTC drivers.
- Antoine Ténart has done a number of improvements in the support for Microchip/Microsemi networking products: improvements to the
mscc-miim
MDIO driver, improvements to the MSCC Ocelot Ethernet switch driver, improvements to the MSCC Ethernet PHY Driver.
Also, several Bootlin engineers are maintainers of various areas of the Linux kernel:
- Miquèl Raynal, as the NAND maintainer and MTD co-maintainer, reviewed and merged 57 patches from other contributors
- Alexandre Belloni, as the RTC maintainer and Microchip platform support co-maintainer, reviewed and merged 54 patches from other contributors
- Grégory Clement, as the Marvell EBU platform support co-maintainer, reviewed and merged 13 patches from other contributors
Here is the complete list of our contributions:
- Alexandre Belloni (13):
- ARM: dts: at91: sama5d3: switch to new clock bindings
- ARM: dts: at91: at91sam9n12: switch to new clock bindings
- ARM: dts: at91: at91sam9g45: switch to new clock bindings
- ARM: dts: at91: rm9200: switch to new clock bindings
- rtc: mt2712: remove unnecessary error string
- rtc: mt2712: switch to devm_platform_ioremap_resource
- rtc: 88pm860x: remove useless range check
- rtc: add new VL flag for backup switchover
- rtc: pcf2127: let the core handle rtc range
- rtc: pcf2127: remove unnecessary #ifdef
- rtc: pcf2127: set regmap max_register
- rtc: pcf2127: report battery switch over
- net: macb: use phy_interface_mode_is_rgmii everywhere
- Antoine Tenart (8):
- net: phy: mscc-miim: use more reasonable delays
- net: phy: mscc-miim: remove redundant timeout check
- net: phy: mscc-miim: improve waiting logic
- net: phy: mscc-miim: read poll when high resolution timers are disabled
- net: mscc: use the PHY MII ioctl interface when possible
- net: mscc: allow offloading timestamping operations to the PHY
- net: phy: mscc: fix PHYs using the vsc8574_probe
- net: phy: mscc: fix Serdes configuration in vsc8584_config_init
- Boris Brezillon (1):
- Gregory CLEMENT (8):
- tty: n_gsm: Improve debug output
- tty: n_gsm: Fix SOF skipping
- tty: n_gsm: Fix waking up upper tty layer when room available
- tty: n_gsm: Remove unnecessary test in gsm_print_packet()
- tty: n_gsm: Fix bogus i++ in gsm_data_kick
- usb: gadget: udc: atmel: Don’t use DT to configure end point
- dt-bindings: usb: atmel: Mark EP child node as deprecated
- ARM: dts: at91: Remove the USB EP child node
- Miquel Raynal (125):
- mtd: rawnand: Give more information about the ECC weakness
- mtd: rawnand: marvell: Fix the condition on a return code
- mtd: rawnand: marvell: Use devm_platform_ioremap_res()
- mtd: rawnand: marvell: Use nand_cleanup() when the device is not yet registered
- mtd: rawnand: marvell: Fix probe error path
- mtd: rawnand: marvell: Rename a function to clarify
- mtd: rawnand: marvell: Rename the ->correct() function
- mtd: rawnand: timings: Add mode information to the timings structure
- mtd: rawnand: timings: Fix default tR_max and tCCS_min timings
- mtd: rawnand: onfi: Fix redundancy detection check
- mtd: rawnand: onfi: Use intermediate variables to improve readability
- mtd: rawnand: onfi: Define the number of parameter pages
- mtd: rawnand: onfi: Avoid doing a copy of the parameter page
- mtd: rawnand: onfi: Drop a useless parameter page read
- mtd: rawnand: jedec: Define the number of parameter pages
- mtd: rawnand: jedec: Use intermediate variables to improve readability
- mtd: rawnand: Translate obscure bitfields into readable macros
- mtd: rawnand: Reorder the nand_chip->options flags
- mtd: rawnand: Rename a NAND chip option
- mtd: rawnand: Fix comments about the use of bufpoi
- mtd: rawnand: Rename the use_bufpoi variables
- mtd: rawnand: Avoid indirect access to ->data_buf()
- mtd: rawnand: Add a helper to check supported operations
- mtd: rawnand: Give the possibility to verify a read operation is supported
- mtd: rawnand: onfi: Adapt the parameter page read to constraint controllers
- mtd: rawnand: jedec: Adapt the parameter page read to constraint controllers
- mtd: rawnand: Expose monolithic read/write_page_raw() helpers
- mtd: rawnand: Allow controllers to overload soft ECC hooks
- mtd: rawnand: micron: Allow controllers to overload raw accessors
- MAINTAINERS: Remove Piotr Sroka and mark Cadence NFC as orphaned
- MAINTAINERS: Remove Xiaolei Li and mark MTK NFC as orphaned
- mtd: rawnand: micron: Adapt the PAGE READ flow to constraint controllers
- lib/bch: Rework a little bit the exported function names
- lib/bch: Allow easy bit swapping
- mtd: rawnand: Ensure the number of bitflips is consistent
- mtd: rawnand: Add nand_extract_bits()
- MAINTAINERS: Add Arasan NAND controller and bindings
- dt-bindings: mtd: Document ARASAN NAND bindings
- mtd: rawnand: arasan: Add new Arasan NAND controller
- mtd: rawnand: arasan: Support the hardware BCH ECC engine
- mtd: rawnand: ams-delta: Stop using nand_release()
- mtd: rawnand: au1550nd: Stop using nand_release()
- mtd: rawnand: bcm47xx: Stop using nand_release()
- mtd: rawnand: brcmnand: Stop using nand_release()
- mtd: rawnand: cadence: Stop using nand_release()
- mtd: rawnand: cafe: Stop using nand_release()
- mtd: rawnand: cs553x: Stop using nand_release()
- mtd: rawnand: davinci: Stop using nand_release()
- mtd: rawnand: denali: Delete items from the list in the _remove() path
- mtd: rawnand: denali: Stop using nand_release()
- mtd: rawnand: diskonchip: Fix the probe error path
- mtd: rawnand: diskonchip: Stop using nand_release()
- mtd: rawnand: fsl_elbc: Stop using nand_release()
- mtd: rawnand: fsl_ifc: Stop using nand_release()
- mtd: rawnand: fsl_upm: Stop using nand_release()
- mtd: rawnand: fsmc: Stop using nand_release()
- mtd: rawnand: gpio: Stop using nand_release()
- mtd: rawnand: gpmi: Stop using nand_release()
- mtd: rawnand: hisi504: Stop using nand_release()
- mtd: rawnand: ingenic: Fix the probe error path
- mtd: rawnand: ingenic: Stop using nand_release()
- mtd: rawnand: lpc32xx_mlc: Stop using nand_release()
- mtd: rawnand: lpc32xx_slc: Stop using nand_release()
- mtd: rawnand: marvell: Stop using nand_release()
- mtd: rawnand: mpc5121: Stop using nand_release()
- mtd: rawnand: mtk: Fix the probe error path
- mtd: rawnand: mtk: Stop using nand_release()
- mtd: rawnand: mxc: Stop using nand_release()
- mtd: rawnand: mxic: Stop using nand_release()
- mtd: rawnand: ndfc: Stop using nand_release()
- mtd: rawnand: omap2: Stop using nand_release()
- mtd: rawnand: orion: Fix the probe error path
- mtd: rawnand: orion: Stop using nand_release()
- mtd: rawnand: oxnas: Keep track of registered devices
- mtd: rawnand: oxnas: Fix the probe error path
- mtd: rawnand: oxnas: Unregister all devices on error
- mtd: rawnand: oxnas: Release all devices in the _remove() path
- mtd: rawnand: oxnas: Stop using nand_release()
- mtd: rawnand: pasemi: Fix the probe error path
- mtd: rawnand: pasemi: Stop using nand_release()
- mtd: rawnand: plat_nand: Fix the probe error path
- mtd: rawnand: plat_nand: Stop using nand_release()
- mtd: rawnand: qcom: Stop using nand_release()
- mtd: rawnand: r852: Stop using nand_release()
- mtd: rawnand: s3c2410: Stop using nand_release()
- mtd: rawnand: sh_flctl: Stop using nand_release()
- mtd: rawnand: sharpsl: Fix the probe error path
- mtd: rawnand: sharpsl: Stop using nand_release()
- mtd: rawnand: socrates: Fix the probe error path
- mtd: rawnand: socrates: Stop using nand_release()
- mtd: rawnand: stm32_fmc2: Stop using nand_release()
- mtd: rawnand: sunxi: Fix the probe error path
- mtd: rawnand: sunxi: Stop using nand_release()
- mtd: rawnand: tango: Stop using nand_release()
- mtd: rawnand: tmio: Fix the probe error path
- mtd: rawnand: tmio: Stop using nand_release()
- mtd: rawnand: txx9ndfmc: Stop using nand_release()
- mtd: rawnand: vf610: Stop using nand_release()
- mtd: rawnand: xway: Fix the probe error path
- mtd: rawnand: xway: Stop using nand_release()
- mtd: rawnand: gpmi: Use nand_extract_bits()
- mtd: rawnand: nandsim: Consistent use of ‘ns’ instead of ‘dev’
- mtd: rawnand: nandsim: Use octal permissions
- mtd: rawnand: nandsim: Use a consistent ns_ prefix for all functions
- mtd: rawnand: nandsim: Clean error handling
- mtd: rawnand: nandsim: Keep track of the created debugfs entries
- mtd: rawnand: nandsim: Remove debugfs entries at unload time
- mtd: rawnand: nandsim: Fix the two ns_alloc_device() error paths
- mtd: rawnand: nandsim: Free partition names on error in ns_init()
- mtd: rawnand: nandsim: Free the allocated device on error in ns_init()
- mtd: rawnand: nandsim: Free the partition names in ns_free()
- mtd: rawnand: nandsim: Stop using nand_release()
- mtd: rawnand: nandsim: Use an additional label when freeing the nandsim object
- mtd: rawnand: nandsim: Free erase_block_wear on error
- mtd: rawnand: nandsim: Fix the label pointing on nand_cleanup()
- mtd: rawnand: nandsim: Manage lists on error in ns_init_module()
- mtd: rawnand: nandsim: Rename a label in ns_init_module()
- mtd: rawnand: nandsim: Reorganize ns_cleanup_module()
- mtd: rawnand: Stop using nand_release()
- mtd: Fix typo in mtd_ooblayout_set_databytes() description
- mtd: rawnand: Avoid a typedef
- mtd: rawnand: Drop OOB_FIRST placement scheme
- mtd: rawnand: Return an enum from of_get_nand_ecc_algo()
- mtd: rawnand: Add an invalid ECC mode to discriminate with valid ones
- mtd: rawnand: xway: Fix build issue