view linux-patch/README @ 129:2adb802b2a98

fc-simtool: verify-ext command implemented
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 02 Feb 2021 17:12:17 +0000
parents 95c2a67e1219
children b8473892b0ce
line wrap: on
line source

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 - please see the article in
doc/Linux-DTR-RTS-flaw for the full explanation.  The short version is that
Linux kernel maintainers are refusing to accept our patch on the basis of their
assininity, and thus We The End Users will need to apply this patch locally on
our own systems, probably forever, or at least for the next few billion years
until the Sun swells into a red giant and engulfs the Earth.

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
ever got to a mainline-acceptable state: they already underwent rounds of
revision in response to the maintainer's criticism, addressing and fixing
various nitpick issues before the whole idea got shot down on more ideological
grounds.