FreeCalypso > hg > freecalypso-hwlab
diff linux-patch/README @ 83:d7a1e7a6d6ba
linux-patch: current best offering of minpatch-*
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 06 Dec 2020 02:55:40 +0000 |
parents | |
children | 95c2a67e1219 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/linux-patch/README Sun Dec 06 02:55:40 2020 +0000 @@ -0,0 +1,57 @@ +This directory contains several versions of the Linux kernel ftdi_sio driver +patch that adds support for FreeCalypso DUART28C adapter, i.e., the optional +configuration of DUART28 with boot control outputs. + +The version in the orig-202007 directory was produced at the end of 2020-07, +when DUART28 hardware was still being designed; this original version of the +patch was created to test the idea and to prove it working (using a generic +FT2232D board and an oscilloscope), and it was created with the mindset of a +hardware engineer, rather than that of Linux kernel maintainers. This original +patch version was made against kernel version 4.4.14 (the version used by the +Mother), and it predates all later mainline submission and integration attempts. + +A patch series against then-current mainline was submitted to ftdi_sio driver +maintainer Johan Hovold in 2020-09 for inclusion in mainline Linux. The +preliminary patch adding support for FreeCalypso JTAG+UART USB ID codes was +readily accepted and has since been propagated to several stable kernel branches +(4.4.240, 4.9.240, 4.14.202, 4.19.152, 5.4.72, 5.8.16, 5.9.1 and mainline 5.10), +but this patch by itself does not help in any way with DUART28C support. The +remaining two patches from the original 2020-09 patch series (a preliminary +patch fixing an oversight in the quirk interface and then the main patch of +interest) were met with resistance, however, and the goal of bringing DUART28C +support into mainline Linux is still in limbo as of 2020-12. + +Johan (the ftdi_sio driver maintainer who was the target of our initial pressure +campaign to get the needed driver quirk accepted) has now proposed a generalized +version of Mother Mychaela's original idea; this generalized version is just as +good for our purposes because in the end it still recognizes our custom USB ID +and sets the quirk flag which we require, but it also helps other potential +users who may have similar needs, but who work with "any" serial port rather +than a custom USB ID. The current version as of this writing of Johan's patch +series implementing his proposed generalized solution is this one: + +https://lore.kernel.org/linux-serial/X8iuCXYhOBVMGvXv@localhost/T/ + +However, the comments in that thread indicate that the maintainers seem intent +on delaying this integration until 5.12 merge window if not even later, thus we +are still months away from any hope of resolution. Because We The End Users +cannot be expected to put our lives on hold and just sit and wait for kernel +maintainers to get their act together, we need some immediate solution for our +use right now - and the minpatch-* series presented here is our current best +offering for end user purposes. + +3 end user patch series versions are presented in minpatch-4.4.14, +minpatch-4.4.240 and minpatch-4.9.240. 4.4.240 and 4.9.240 already include the +preliminary JTAG+UART USB ID code support patch (which serves mainly as an +anchor marking the place where the new DUART28C USB ID code needs to go in +ftdi_sio_ids.h and in the ftdi_sio.c ID code table), but 4.4.14 predates this +patch by a few years, thus minpatch-4.4.14 includes a backport of this +preliminary patch as well. After this preliminary patch, each minpatch-* +version includes the quirk port_probe patch and the main patch adding DUART28C +support with the needed quirk. These latter patches are the closest version we +have to what we are hoping to see eventually merged into mainline, and they have +already undergone rounds of revision in response to maintainer Johan's criticism +- but this "minimal patch" version is limited to just the ftdi_sio driver, not +extending into more generic layers, hence the actual quirk flag is implemented +inside ftdi_sio, not fully generalized like it is in the version which we are +hoping to see merged into mainline in future months/years.