Pengutronix Recent Open Source Efforts -
Linux 7.3 Edition
It's already been two weeks since Linus released Linux 7.3 64 days after Linux 7.2. It's composed of 18765 non-merge changes, of which 11 were contributed by us at Pengutronix. This blog post gives an overview of those changes, and our contributions to other projects in the same period.
Kernel
In the RGA3 driver he recently added to the kernel, Sven Püschel resolved an issue where workarounds for limitations of the hardware were applied in cases where they were not needed.
In the etnaviv GPU driver, Lucas Stach contributed two patches to assure that a reset is carried out completely: check all modules for idle after reset and check MMUv2 status after reset.
Oleksij Rempel has resolved the RTL8168h PHY getting stuck due to a defect related to Energy Efficient Ethernet (EEE).
Ahmad Fatoum has silenced an unnecessary warning in the driver for the realtek RTL83xx series of ethernet switches by driving its reset GPIO now via gpiod_set_value_cansleep().
Jonas Rebmann has introduced a new device tree property that allows setting the default color of a multicolor LED. For multicolor LED drivers that initialized the color to "black", this is needed to turn on the LED without a userspace helper.
Philipp Zabel has sent a patch to allow reading the Extended Display Identification Data via HDMI on the FRDM-i.MX8MP development platform.
To allow for runtime bounds checking, recent compilers like GCC-15 support bounds-checking sanitization with the help of the counted_by attribute. The attribute associates a flexible array member with a counter that tells the compiler how many elements it contains. To avoid false-positives, this counter must be properly initialized before accessing the array. Because of this, the kmalloc_flex() allocator introduced early this year will initialize the counter attribute if counted_by is supported by the compiler. Our colleague Sascha Hauer fixed a bug in the PXA DMA driver, which after migration to kmalloc_flex() still relied on a flex array's counter to be zero after allocation.
Finally, Marc Kleine-Budde contributed two cleanups to the spi-fsl-lpspi driver, the driver for the Low-Power Serial Peripheral Interface on the i.MX platform.
OpenSSL
Cryptographic Message Syntax (CMS) is a standard for the cryptographic component used amongst others in S/MIME and PKCS #12. OpenSSL supports CMS-signing data with multiple certificates but could only verify those if all of the signatures were valid. To allow for using CMS in schemes such as certificate roll-over, where of multiple signatures only some needed to be verifiable, our colleague Jan Lübbe contributed a verify_partial-feature that would still allow verification when, for example, one of the signatures is outdated.
Mesa
In Mesa, Lucas Stach removed some dead code and switched some macros for consistency.
OP-TEE
On systems with a device-tree passed to OP-TEE by the bootloader, Sascha Hauer improved boot times by allowing the device-tree's memory region to be cached.
Wider Ecosystem
Again we contributed improvements back to the yocto/openembedded projects.
Beyond contributing to projects in the wider ecosystem, we also maintain open source projects, including barebox, rauc, labgrid, ptxdist and others, with too many changes from us to list them here.
Further Readings
Pengutronix Recent Open Source Efforts -
Linux 7.2 Edition
As another kernel version turns stable, we're once again looking back at two months of our efforts to improve Linux and its open source ecosystem.
Pengutronix Recent Open Source Contributions - Linux 7.1 Edition
A tour trough Pengutronix' contributions to Linux 7.1, and to other open source projectsPengutronix Recent Open Source Contributions - Linux 7.0 Edition
Let's take the Linux 7.0 release as an occasion to look at the Open Source code we've contributed to various upstreams in the last two months.Pengutronix Recent Open Source Contributions
Let's take the Linux 6.19 release as an occasion to look at the Open Source code we've contributed to various upstreams in the last three months.Pengutronix at the Linux Plumbers Conference
The Linux Plumbers Conference 2024 will take place in Vienna from 18. to 20.09.2024. Luckily this does not overlap with the ELCE. Pengutronix will attend the LPC with six colleagues - so watch out for our T-shirts and hoodies and and feel free to chat with us.
umpf - Git on a New Level
Modern software development is commonly accompanied by a version control system like Git in order to have changes to the source code being documented in a traceable manner. Furthermore, any version state should be easily reproducible at any time. However, for work on complex projects such as the BSP ("Board Support Package") of an embedded system with its multiple development aspects, the simple stacking of the individual changes on top of each other does not scale.
Pulse Width Modulation (PWM) is easy, isn't it? - Turning it off and on again
Part of Uwe Kleine-König's work at Pengutronix is to review PWM (Pulse Width Modulation) drivers. In addition, he also sometimes refactors existing drivers and the Linux kernel PWM subsystem in general.
Pengutronix at Embedded World 2022
Welcome to our booth at the Embedded World 2022 in Nürnberg!
Pengutronix Kernel Contributions in 2021
2022 has started, and although Corona had a huge impact on our workflow, the Pengutronix team again made quite some contributions to the Linux kernel. The last kernel release in 2020 was 5.10, the last one in 2021 was 5.15, so let's have a look at what happened in between.
Pengutronix at FOSDEM 2021
"FOSDEM is a free event for software developers to meet, share ideas and collaborate. Every year, thousands of developers of free and open source software from all over the world gather at the event in Brussels. In 2021, they will gather online." -- FOSDEM