The GPIO updates for the newly-opened Linux 5.3 kernel merge window is dropping the FMC subsystem as they deem it easier to re-start from scratch writing that code than to try to repair it, or “start over using the proper kernel subsystems than try to polish the rust shiny.” Funny enough, this code is being used by the CERN’s well known Large Hadron Collider.
After talking about it for months on the kernel mailing list, the Linux 5.3 kernel is set to delete the FMC bus subsystem that was developed by CERN and others for the past roughly seven years. FMC is for supporting the FPGA Mezzanine Card specification for modules connecting FPGAs and other devices with I/O. The FMC subsystem code works and is even used by CERN’s LHC particle accelerator, but continued work on the FMC kernel code has revealed architectural faults.
The FMC bus Linux code implements much of its own functionality right now that with a re-engineered subsystem could better re-use existing Linux kernel functionality around FPGA, GPIO, and I2C subsystems among other fresh design improvements. But at this time they don’t have an active maintainer/developer/organization stepping up to do a clean slate design of this subsystem. Those at CERN and elsewhere appear to be content in using the older or out-of-tree code to continue with their FMC bits. Thus any new FMC implementation could still be some kernel cycles away at least.
FMC cards continue to be sold by the likes of Xilinx/Abaco and other vendors.
So with the GPIO changes for Linux 5.3 it’s deleting the FMC subsystem. “As it turns out, that is not the only subsystem it reimplements and the authors think it is better do scratch it and start over using the proper kernel subsystems than try to polish the rust shiny.“