comparison 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
comparison
equal deleted inserted replaced
82:e2161ac7d641 83:d7a1e7a6d6ba
1 This directory contains several versions of the Linux kernel ftdi_sio driver
2 patch that adds support for FreeCalypso DUART28C adapter, i.e., the optional
3 configuration of DUART28 with boot control outputs.
4
5 The version in the orig-202007 directory was produced at the end of 2020-07,
6 when DUART28 hardware was still being designed; this original version of the
7 patch was created to test the idea and to prove it working (using a generic
8 FT2232D board and an oscilloscope), and it was created with the mindset of a
9 hardware engineer, rather than that of Linux kernel maintainers. This original
10 patch version was made against kernel version 4.4.14 (the version used by the
11 Mother), and it predates all later mainline submission and integration attempts.
12
13 A patch series against then-current mainline was submitted to ftdi_sio driver
14 maintainer Johan Hovold in 2020-09 for inclusion in mainline Linux. The
15 preliminary patch adding support for FreeCalypso JTAG+UART USB ID codes was
16 readily accepted and has since been propagated to several stable kernel branches
17 (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),
18 but this patch by itself does not help in any way with DUART28C support. The
19 remaining two patches from the original 2020-09 patch series (a preliminary
20 patch fixing an oversight in the quirk interface and then the main patch of
21 interest) were met with resistance, however, and the goal of bringing DUART28C
22 support into mainline Linux is still in limbo as of 2020-12.
23
24 Johan (the ftdi_sio driver maintainer who was the target of our initial pressure
25 campaign to get the needed driver quirk accepted) has now proposed a generalized
26 version of Mother Mychaela's original idea; this generalized version is just as
27 good for our purposes because in the end it still recognizes our custom USB ID
28 and sets the quirk flag which we require, but it also helps other potential
29 users who may have similar needs, but who work with "any" serial port rather
30 than a custom USB ID. The current version as of this writing of Johan's patch
31 series implementing his proposed generalized solution is this one:
32
33 https://lore.kernel.org/linux-serial/X8iuCXYhOBVMGvXv@localhost/T/
34
35 However, the comments in that thread indicate that the maintainers seem intent
36 on delaying this integration until 5.12 merge window if not even later, thus we
37 are still months away from any hope of resolution. Because We The End Users
38 cannot be expected to put our lives on hold and just sit and wait for kernel
39 maintainers to get their act together, we need some immediate solution for our
40 use right now - and the minpatch-* series presented here is our current best
41 offering for end user purposes.
42
43 3 end user patch series versions are presented in minpatch-4.4.14,
44 minpatch-4.4.240 and minpatch-4.9.240. 4.4.240 and 4.9.240 already include the
45 preliminary JTAG+UART USB ID code support patch (which serves mainly as an
46 anchor marking the place where the new DUART28C USB ID code needs to go in
47 ftdi_sio_ids.h and in the ftdi_sio.c ID code table), but 4.4.14 predates this
48 patch by a few years, thus minpatch-4.4.14 includes a backport of this
49 preliminary patch as well. After this preliminary patch, each minpatch-*
50 version includes the quirk port_probe patch and the main patch adding DUART28C
51 support with the needed quirk. These latter patches are the closest version we
52 have to what we are hoping to see eventually merged into mainline, and they have
53 already undergone rounds of revision in response to maintainer Johan's criticism
54 - but this "minimal patch" version is limited to just the ftdi_sio driver, not
55 extending into more generic layers, hence the actual quirk flag is implemented
56 inside ftdi_sio, not fully generalized like it is in the version which we are
57 hoping to see merged into mainline in future months/years.