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-controllerdriver, 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
nandsimdriver, drop of thenand_release()API, support in the NAND core for the specificities of thearasan-nand-controllerdriver 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_udcUSB 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_gsmdriver 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-miimMDIO 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
