Linux 6.2 was released a few days ago, and as usual we point our readers to the LWN coverage of the merge window (part 1 and part 2), or the traditional KernelNewbies page or alternatively the embedded focused CNX Software coverage.
At Bootlin, we contributed a total of 122 patches to this release, making Bootlin the 21st contributing company by number of commits according to statistics. Also Bootlin engineer Paul Kocialkowski appears in the top developers by changed lines in the Linux 6.2 statistics.
Here are the main highlights of our contributions:
- Paul Kocialkowski contributed the remainder of the massive rework of Allwinner’s camera driver, for which the initial parts had been merged in Linux 6.1. This rework was needed to allow the camera driver to interact with the ISP.
- Paul Kocialkowski contributed a brand new driver for the Allwinner ISP. This is a major milestone, as the Allwinner ISP was a hardware block that was so far only supported using a closed-source proprietary blob. So this fully open-source, standard and upstream driver is a major achievement in supporting more features on Allwinner processors. So far the driver only supports debayering and noise filtering, but it can be improved to cover other features of the ISP hardware. Do not hesitate to contact us if you are interested and want to fund some of this effort.
- Miquèl Raynal continued massive contributions to the IEEE 802.15.4 stack of the Linux kernel, with a bunch of changes aiming at bringing support for controlled MLME transmissions in order to later add support for PAN management commands. This includes a more thorough support of the different address filtering capabilities exposed to the MAC, as well as the introduction of coordinator interfaces to supplement the existing nodes and monitors.
- Miquèl Raynal did a lot of cleanup in the Device Tree bindings related to the description of partitions in MTD devices.
- Köry Maincent made a number of fixes and small improvements to the support of the ST SPEAr600 platform, especially related to enabling SPI controllers and the display controller. Bootlin has been supporting its customers in running a modern upstream Linux kernel on old SPEAr600 platforms.
- Miquèl Raynal made some small changes around NVMEM, in preparation for larger work to come in a future kernel release. In particular, he changed the mvpp2 network driver so that it can get its MAC address from NVMEM.
- Alexandre Belloni made some assorted fixes mainly on the RTC subsystem that he maintains, Luca Ceresoli a few fixes on the NVidia Tegra camera driver to which he is contributing support for Tegra20 as part of a separate patch series, and Clément Léger mainly refcounting fixes.
And finally the full details of our contributions, commit by commit:
- Alexandre Belloni (5):
- Clément Léger (4):
- Kory Maincent (6):
- Luca Ceresoli (2):
- Maxime Chevallier (3):
- Miquel Raynal (55):
- net: mac802154: Rename the synchronous xmit worker
- net: mac802154: Rename the main tx_work struct
- net: mac802154: Enhance the error path in the main tx helper
- net: mac802154: Follow the count of ongoing transmissions
- net: mac802154: Bring the ability to hold the transmit queue
- net: mac802154: Create a hot tx path
- net: mac802154: Introduce a helper to disable the queue
- net: mac802154: Introduce a tx queue flushing mechanism
- net: mac802154: Introduce a synchronous API for MLME commands
- net: mac802154: Add a warning in the hot path
- net: mac802154: Add a warning in the slow path
- net: mac802154: Fix a Tx warning check
- mac802154: Introduce filtering levels
- ieee802154: hwsim: Record the address filter values
- ieee802154: hwsim: Implement address filtering
- mac802154: Drop IEEE802154_HW_RX_DROP_BAD_CKSUM
- mac802154: Avoid delivering frames received in a non satisfying filtering mode
- net: mac802154: Avoid displaying misleading debug information
- ieee802154: hwsim: Introduce a helper to update all the PIB attributes
- ieee802154: hwsim: Save the current filtering level and use it
- mac802154: Ensure proper scan-level filtering
- mac802154: Move an skb free within the rx path
- mac802154: Clarify an expression
- mac802154: Allow the creation of coordinator interfaces
- dt-bindings: mtd: Clarify all partition subnodes
- dt-bindings: mtd: Remove useless file about partitions
- dt-bindings: mtd: nand-chip: Reference mtd.yaml
- dt-bindings: mtd: nand: Drop common properties already defined in generic files
- dt-bindings: mtd: nand: Standardize the child node name
- dt-bindings: mtd: ingenic: Mark partitions in the controller node as deprecated
- dt-bindings: mtd: onenand: Mention the expected node name
- dt-bindings: mtd: sunxi-nand: Add an example to validate the bindings
- dt-bindings: mtd: spi-nor: Drop common properties
- dt-bindings: mtd: physmap: Reuse the generic definitions
- dt-bindings: mtd: partitions: Constrain the list of parsers
- dt-bindings: mtd: partitions: Change qcom,smem-part partition type
- dt-bindings: mtd: nvmem-cells: Drop range property from example
- dt-bindings: mtd: nvmem-cells: Inherit from MTD partitions
- dt-bindings: mtd: Argue in favor of keeping additionalProperties set to true
- dt-bindings: mtd: Drop object types when referencing other files
- dt-bindings: mtd: Standardize the style in the examples
- dt-bindings: nvmem: Fix example
- dt-bindings: nvmem: Introduce the nvmem-layout container
- dt-bindings: eeprom: Inherit from nvmem.yaml
- dt-bindings: vendor-prefixes: Add ONIE
- dt-bindings: nvmem: add YAML schema for the ONIE tlv layout
- Revert “dt-bindings: marvell,prestera: Add description for device-tree bindings”
- dt-bindings: net: marvell,dfx-server: Convert to yaml
- dt-bindings: net: marvell,prestera: Convert to yaml
- dt-bindings: net: marvell,prestera: Describe PCI devices of the prestera family
- of: net: export of_get_mac_address_nvmem()
- net: marvell: prestera: Avoid unnecessary DT lookups
- net: mvpp2: Consider NVMEM cells as possible MAC address source
- ieee802154: Advertize coordinators discovery
- mac802154: Fix possible double free upon parsing error
- Paul Kocialkowski (47):
- media: sun6i-csi: Add bridge v4l2 subdev with port management
- media: sun6i-csi: Rename sun6i_video to sun6i_csi_capture
- media: sun6i-csi: Add capture state using vsync for page flip
- media: sun6i-csi: Rework register definitions, invert misleading fields
- media: sun6i-csi: Add dimensions and format helpers to capture
- media: sun6i-csi: Implement address configuration without indirection
- media: sun6i-csi: Split stream sequences and irq code in capture
- media: sun6i-csi: Move power management to runtime pm in capture
- media: sun6i-csi: Move register configuration to capture
- media: sun6i-csi: Rework capture format management with helper
- media: sun6i-csi: Remove custom format helper and rework configure
- media: sun6i-csi: Add bridge dimensions and format helpers
- media: sun6i-csi: Get mbus code from bridge instead of storing it
- media: sun6i-csi: Tidy capture configure code
- media: sun6i-csi: Introduce bridge format structure, list and helper
- media: sun6i-csi: Introduce capture format structure, list and helper
- media: sun6i-csi: Configure registers from format tables
- media: sun6i-csi: Implement capture link validation with logic
- media: sun6i-csi: Get bridge subdev directly in capture stream ops
- media: sun6i-csi: Move hardware control to the bridge
- media: sun6i-csi: Rename the capture video device to sun6i-csi-capture
- media: sun6i-csi: Cleanup headers and includes, update copyright lines
- media: sun6i-csi: Add support for MIPI CSI-2 to the bridge code
- media: sun6i-csi: Only configure capture when streaming
- media: sun6i-csi: Add extra checks to the interrupt routine
- media: sun6i-csi: Request a shared interrupt
- media: MAINTAINERS: Add myself as sun6i-csi maintainer and rename/move entry
- media: dt-bindings: media: Add Allwinner A31 ISP bindings documentation
- media: dt-bindings: media: sun6i-a31-csi: Add internal output port to the ISP
- media: staging: media: Add support for the Allwinner A31 ISP
- media: MAINTAINERS: Add entry for the Allwinner A31 ISP driver
- media: sun6i-csi: Detect the availability of the ISP
- media: sun6i-csi: Add support for hooking to the isp devices
- media: sun6i-mipi-csi2: Require both pads to be connected for streaming
- media: sun8i-a83t-mipi-csi2: Require both pads to be connected for streaming
- media: sun6i-mipi-csi2: Register async subdev with no sensor attached
- media: sun8i-a83t-mipi-csi2: Register async subdev with no sensor attached
- media: sun6i-csi: bridge: Error out on invalid port to fix warning
- media: sun6i-csi: capture: Remove useless ret initialization
- media: sun6i-mipi-csi2: Clarify return code handling in stream off path
- media: sun8i-a83t-mipi-csi2: Clarify return code handling in stream off path
- media: sun6i-isp: proc: Fix return code handling in stream off path
- media: sun6i-isp: proc: Error out on invalid port to fix warning
- media: sun6i-isp: proc: Declare subdev ops as static
- media: sun6i-isp: capture: Fix uninitialized variable use
- media: sun6i-isp: params: Fix incorrect indentation
- media: sun6i-isp: params: Unregister pending buffer on cleanup
Great work! Especially the Allwinner ISP work.