)]}'
{
  "log": [
    {
      "commit": "fb176d28fe456e7dad471594f5c7f58136e36b1d",
      "tree": "774ac2b97d223a5f4f63582cc71621f2ca51824a",
      "parents": [
        "0ab5c3d6abc7700019e63de0e187b462a4e34203"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Mar 25 15:55:13 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 25 21:53:29 2024 +0000"
      },
      "message": "dediprog: Use more general 4BA write mode for newer protocols\n\nWe used to send the specific WRITE_MODE_4B_ADDR_256B_PAGE_PGM_0x12\ncommand combined with the 0x12 JEDEC SPI opcode. This doesn\u0027t work\non newer programmers anymore,  and it turns out that `dpcmd\u0027 pairs\nit only in special cases with an SF100.\n\n`dpcmd\u0027 suggests that for SF600 and newer,  the more generic write\nmode (WRITE_MODE_4B_ADDR_256B_PAGE_PGM) works with the 0x12 opcode\ntoo. So using that for protocal version 3 seems safe.\n\nTested with \"SF600PG2. V:01.01.012 HW:01.00\".\n\nChange-Id: I8a4a94b574c1bf846173fff89ee9ef65c02d2d33\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/108\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "0ab5c3d6abc7700019e63de0e187b462a4e34203",
      "tree": "63c8d2cbe1fd8382689ddd3b4cc65db4127b1a37",
      "parents": [
        "bdef5c2fc41cc564a5c5716cdf423b06a8bcc45d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 02 13:53:16 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 25 21:53:29 2024 +0000"
      },
      "message": "dediprog: Split device type and version parsing\n\nParse the device type with a separate sscanf() call. This will make\nsupport for newer programmers easier that are identified by more than\na simple number.\n\nChange-Id: I2bb4cb3f88b2e18092458508eb872a668887cf3a\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/93\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "bdef5c2fc41cc564a5c5716cdf423b06a8bcc45d",
      "tree": "2ab52862773f7468752e50e3522f84f1f33f66d0",
      "parents": [
        "5262e29da8852cda587e7b240bbefea408c9f67a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 02 13:51:39 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 25 21:53:29 2024 +0000"
      },
      "message": "dediprog: Use unsigned conversions to parse device string\n\nWe do neither expect nor support negative device or version numbers.\nThis also spares us a cast.\n\nChange-Id: I77f56ea0531a7da601362716fe6f937acf312b52\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/92\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "5262e29da8852cda587e7b240bbefea408c9f67a",
      "tree": "927b97c5d3e58b64dbfd24e4bd72bb702e609147",
      "parents": [
        "e76e21f92e9b0885e2892c414832334467fc7fa7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 02 13:21:25 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 25 21:53:29 2024 +0000"
      },
      "message": "dediprog: Try to request 32B device string (instead of 16B)\n\nIt looks like `dpcmd\u0027 first tries 26B, then 32B. However, older devices\nreturn only 16B.  We get a short, but otherwise valid transfer, so only\ntry once with 32B and allow any string length between 16B and 32B.\n\nThis allows to read the full version string from newer programmers. It\nincludes a hardware version now, probably since the first SF600.\n\nTested with \"SF600PG2. V:01.01.012 HW:01.00\".\nTested with \"SF100   V:5.1.9\".\n\nChange-Id: Id137e4cfe3e1dbffb71ab4b16482822661117e39\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/91\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "e76e21f92e9b0885e2892c414832334467fc7fa7",
      "tree": "a45f57aa8c6ccc2c9f9e546fa0ac31900c2a2555",
      "parents": [
        "5a09d1e1c10750dce2618ef847d54c0cd96e3cae"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Feb 29 23:33:35 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 25 21:53:29 2024 +0000"
      },
      "message": "dediprog: Get rid of some unnecessary hex constants\n\nChange-Id: Id9f3ffb44b1cda04ca2e8e89b5bf1fc8d0ab84e6\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/90\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "5a09d1e1c10750dce2618ef847d54c0cd96e3cae",
      "tree": "bd7777531a7bab3726058d38ddaa2f5e94bc8622",
      "parents": [
        "03ad4a42545591863f3f01be31e15d221cf29c75"
      ],
      "author": {
        "name": "Brian Norris",
        "email": "briannorris@chromium.org",
        "time": "Thu Feb 29 16:29:51 2024 -0800"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 13:21:35 2024 +0000"
      },
      "message": "udelay: Lower the sleep vs delay threshold\n\nBy default, we busy-loop (a.k.a., \"delay\") for most delay values, and\nonly allow sleeping for large delays. But busy-looping is expensive, as\nit wastes CPU cycles.\n\nIn a simple program that runs a bunch of samples of [1] over 1000\nsamples, I find that for 0.1 s (100000 us):\n\n 64x2 AMD CPU (CONFIG_HZ\u003d250 / CONFIG_NO_HZ_FULL\u003dy):\n   min diff: 60 us\n   max diff: 831 us\n   mean diff: 135 us\n\n 4+2 Mediatek MT8183 CPU (CONFIG_HZ\u003d1000 / CONFIG_NO_HZ_IDLE\u003dy /\n                          sysctl kernel.timer_highres\u003d1):\n   min diff: 70 us\n   max diff: 1556 us\n   mean diff: 146 us\n\n 4+2 Mediatek MT8183 CPU (CONFIG_HZ\u003d1000 / CONFIG_NO_HZ_IDLE\u003dy /\n                          sysctl kernel.timer_highres\u003d0):\n   min diff: 94 us\n   max diff: 7222 us\n   mean diff: 1201 us\n\ni.e., maximum 1.5% error, typically ~0.1% error with high resolution\ntimers. Max 7% error, typical 1% error with low resolution timers.\n\nThis seems reasonable.\n\n[1] Stripped / pseudocode:\n\n  clock_gettime(CLOCK_MONOTONIC, before);\n  nanosleep({ .tv_nsec \u003d usecs * 1000 }, NULL);\n  clock_gettime(CLOCK_MONOTONIC, after);\n  diff \u003d abs((after - before) / 1000 - usecs));\n\nChange-Id: Ifd4821c66c5564f7c975c08769a6742f645e9be0\nSigned-off-by: Brian Norris \u003cbriannorris@chromium.org\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/97\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "03ad4a42545591863f3f01be31e15d221cf29c75",
      "tree": "efb04af6d76599817ec93404fe2f48e39592b23e",
      "parents": [
        "211c6ec6011f554a5a9aeacdf0d2c410b343bb2a"
      ],
      "author": {
        "name": "Brian Norris",
        "email": "briannorris@chromium.org",
        "time": "Tue Feb 27 13:01:23 2024 -0800"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 13:21:35 2024 +0000"
      },
      "message": "linux_mtd: Provide no-op delay implementation\n\nFlashrom has several magic programmer_delay() calls scattered\nthroughout its codebase (see cli_classic.s/main() and\nflashrom.c/flashrom_image_write(), at least). These delays are\nsuperfluous for the linux_mtd programmer, because it\u0027s an opaque\nprogrammer in which all protocol details are handled by the kernel\ndriver.\n\nStub out the delay function, so we don\u0027t waste up to 1.1 seconds of\nneedless delay time, depending on the operation and CLI vs libflashrom\nusage.\n\nChange-Id: I3ac69d3fd7cfc689c5b32c130d044516ed846c29\nSigned-off-by: Brian Norris \u003cbriannorris@chromium.org\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/96\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "211c6ec6011f554a5a9aeacdf0d2c410b343bb2a",
      "tree": "98aa11ff12be1c2dc721115c06584ea11c5ddee9",
      "parents": [
        "383b7fe197a781792d4eb42abe1e84551c2b5d0b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 12 01:05:47 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:50:41 2024 +0000"
      },
      "message": "serprog: Refine flushing before synchronization\n\nWe used to wait for 1s before flushing buffers of the tty layer.\nHowever, if the programmer had more data to send than would fit\ninto these buffers, it would continue to send after flushing the\nlatter. So we try to read all the data instead. The added loop\nreads up to 512KiB and stops when no data is received for 10ms.\nOverall, it should time out after at most 10s.\n\nTests show that an stm32-vserprog can be re-synchronized after\ninterrupted reads, where the old implementation failed. In case\nsynchronization is necessary, it also succeeds without notice-\nable delay.\n\nChange-Id: Iaa5dfceac0629381ca0924bb59b988525bacba3f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72996\nReviewed-by: Riku Viitanen \u003criku.viitanen@protonmail.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "383b7fe197a781792d4eb42abe1e84551c2b5d0b",
      "tree": "701fd0785f35754c18bde9421864bf94513ccc1b",
      "parents": [
        "d7318eabdc92bbe4e12838528d40f7f928511b69"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 12 00:38:55 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:50:41 2024 +0000"
      },
      "message": "serprog: Test synchronicity before trying to synchronize\n\nRun one test round ahead of trying to synchronize. If the test\nsucceeds, it saves us the 1s unconditional delay on startup.\n\nChange-Id: I5b727d299cac0cbeadab39af3975dfd8019db8d7\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72995\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Riku Viitanen \u003criku.viitanen@protonmail.com\u003e\n"
    },
    {
      "commit": "d7318eabdc92bbe4e12838528d40f7f928511b69",
      "tree": "17a8e0d36c17d35d383a3f8a21b72097e6821aa1",
      "parents": [
        "9a11cbf21a5078bcdb8db7584c44a9ee17020db4"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 12 00:30:31 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:50:41 2024 +0000"
      },
      "message": "serprog: Move synchronicity test into separate function\n\nExtract the sequence to test for synchronicity into a new\nfunction sp_test_sync().\n\nChange-Id: I9e4aac5b8ac524804a3a8989c2794cdfaacb7b32\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72994\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Riku Viitanen \u003criku.viitanen@protonmail.com\u003e\n"
    },
    {
      "commit": "9a11cbf21a5078bcdb8db7584c44a9ee17020db4",
      "tree": "e67a9eadfdb7a71f81df36c7e97180474a8c59df",
      "parents": [
        "aabb3e0ff54e87c0136c91f105e506ed19184cc6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jan 13 01:19:07 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:40:04 2024 +0000"
      },
      "message": "Let the flash context directly point to the used master\n\nWe used to have a pointer to a full `registered_master` struct in\nour flash context. Beside the used master, this contained a bit\nmask of supported buses. Oddly convenient, this bit mask invited\nto bypass the chip driver and break the abstraction. It allowed\nto place bus-specific details virtually anywhere in flashprog,\nmaking it harder to find a good place for them.\n\nSo, get rid of the `buses_supported` bit mask by pointing directly\nto the master. Only the chip driver will implicitly know which type\nof master is used.\n\nChange-Id: I9ce13d8df0e7ccc67519d888dd9cb2e2ff8d6682\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72533\n"
    },
    {
      "commit": "aabb3e0ff54e87c0136c91f105e506ed19184cc6",
      "tree": "d53c2df274e9550b1f251a94b80add2d7285c5c4",
      "parents": [
        "89569d60e3aeeec651496b2e7a2e6064d782ab3b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jan 13 00:22:30 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "writeprotect: Hook wp functions into the chip driver\n\nChange-Id: I17a06210ec329aba337cf459d581463827182108\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72532\n"
    },
    {
      "commit": "89569d60e3aeeec651496b2e7a2e6064d782ab3b",
      "tree": "bf0c3951886de60086d32ff6e1a850adad926da6",
      "parents": [
        "929d2e1b17a448d3352dbecb6a620ee0c1e65a58"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 12 23:31:40 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "memory_mapped: Reduce `decode_sizes` to a single `max_rom_decode`\n\nWe used to store the maximum decode size, i.e. the maximum memory-mapped\nrange of the flash chip, per bus type (Parallel, LPC, FWH, SPI). There\nwas no programmer in the tree that really made use of it, though:\n* The chipset drivers usually focus on a single bus type. And even if\n  they advertise the whole default set (PAR, LPC, FWH), they only pro-\n  vide a maximum decode size for one of them. The latter is probably\n  wrong, should really more than one bus type be supported.\n* PCI and external programmers all support only a single bus type, with\n  the exception of `serprog` which doesn\u0027t set a maximum decode size.\n\nWhat made the distinction even less useful is that for some chips that\nsupport multiple bus types, i.e. LPC+FWH, we can\u0027t even detect which\ntype it is. The existing code around this also only tried to provide\nthe best possible warning message at the expense of breaking the pro-\ngrammer abstraction.\n\nHence, unify the set of sizes into a single `max_rom_decode` property.\nWe store it inside the `registered_master` struct right away, to avoid\nany more use of globals.\n\nChange-Id: I2aaea18d5b4255eb843a625b016ee74bb145ed85\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72531\n"
    },
    {
      "commit": "929d2e1b17a448d3352dbecb6a620ee0c1e65a58",
      "tree": "dcbad4698ce5741a1080fc7ba89d4bd5c5804417",
      "parents": [
        "7c717c36c533f56ddc7fbac2ff944870fa0249f8"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 12 00:47:05 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "internal: Pass programmer context down into chipset enables\n\nChipset enables potentially need access to programmer data, e.g.\nto process parameters, register masters etc.\n\nChange-Id: Iad211ff97e92d1973f981156bfa3154d1ba71d45\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72528\n"
    },
    {
      "commit": "7c717c36c533f56ddc7fbac2ff944870fa0249f8",
      "tree": "b91afaf1498cde1de33e7222632ec05999bf0b73",
      "parents": [
        "e3a26888e14d16592c2c79d1516828d3d32961a4"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 12 00:28:15 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "internal: Pass programmer context down into board enables\n\nBoard enables potentially need access to programmer data, e.g. to\nprocess parameters, register masters etc.\n\nChange-Id: I1531a6e1be9866adc5dce74c6f62bbbeae1bd274\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72527\n"
    },
    {
      "commit": "e3a26888e14d16592c2c79d1516828d3d32961a4",
      "tree": "02d401e60defd27fe7bee194978bac782284cb39",
      "parents": [
        "2b66ad9c4465432e6f2aff2e95f1e7a556bfc3f0"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jan 11 21:45:51 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "Pass programmer context to programmer-\u003einit()\n\nChange-Id: I064eb4e25c3d382e4e5bde802306698fafe5e1d0\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72526\n"
    },
    {
      "commit": "2b66ad9c4465432e6f2aff2e95f1e7a556bfc3f0",
      "tree": "187edbfe8e16593df21b2c4cb9c392e1011fd339",
      "parents": [
        "4517e9242e8d871db5159ff8afd215f015832c7d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jan 11 20:15:15 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "Start implementing struct flashprog_programmer\n\nOur libflashprog API was already prepared for a programmer level context\nstored in an opaque `struct flashprog_programmer`. We start filling this\nstruct with a pointer to the programmer driver (entry in the programmer\ntable) and a mutable copy of the parameter string.\n\nChange-Id: If9a795627b1e50ea6006569e723f400ff337be20\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72525\n"
    },
    {
      "commit": "4517e9242e8d871db5159ff8afd215f015832c7d",
      "tree": "a34b944c81a5d63416aa964db64201e2dc102eda",
      "parents": [
        "b197402042a065554234700b69057e9b6eedc39a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 12 14:04:04 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "memory_bus: Drop stale `size \u003d\u003d 0` workaround and FIXME\n\nAll chips using the prepare_memory_mapping() function have a size set.\n\nChange-Id: Id5c56a1ebd00563de162b74f762c23aaa0e6d824\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72524\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "b197402042a065554234700b69057e9b6eedc39a",
      "tree": "62e4b15dff887d157ad18dd09b3d47dd2d7f8c1a",
      "parents": [
        "0e76d99a7c0eda11515923c5457f0b5a4af9893f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 12 13:13:12 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "memory_bus: Split register mapping into own function\n\nNow that we have a hook for the memory mapping, we don\u0027t need\nFEATURE_REGISTERMAP anymore and can clean up around it.\n\nChange-Id: If11ece9ce81ddf214b75764007a1006d271dc8af\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72523\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "0e76d99a7c0eda11515923c5457f0b5a4af9893f",
      "tree": "c914d5266909dad441bece2705593131f032c19c",
      "parents": [
        "9eec40780207a110f3ba7ea70d11c042c6d86abf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 12 20:22:55 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "memory_bus: Move (un)map_flash_region into par master\n\nNow that the map/unmap_flash functions are only called from memory-\nmapped chip drivers, we can safely move the hooks into the parallel\nmasters.\n\nThis also allows us to move the code away from the globals in\n`flashprog.c` into a new `memory_bus.c`.\n\nChange-Id: Ic476cf4d96200232900537b997e1d07bb4e8b809\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72522\nReviewed-by: Riku Viitanen \u003criku.viitanen@protonmail.com\u003e\n"
    },
    {
      "commit": "9eec40780207a110f3ba7ea70d11c042c6d86abf",
      "tree": "f48e0860e967bd720901e9cf12faaa82363bf2c8",
      "parents": [
        "56b53dd4c892c6f400f6b05797eb6ed4b96179db"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 12 01:17:30 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "Perform default mapping only for respective chips\n\nThe default memory mapping for the whole flash chip only makes sense\nfor chips that are directly connected to a bus serving memory cycles,\ni.e. parallel, LPC and FWH chips. Use the new `.prepare_access` and\n`.finish_access` hooks to map/unmap respective chips.\n\nGoing through the chip driver for this allows us to free the core\nflashprog code from this peculiarity.\n\nChange-Id: I54d1554b44b7e21fc18ef066103a9a26a2783b36\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72521\n"
    },
    {
      "commit": "56b53dd4c892c6f400f6b05797eb6ed4b96179db",
      "tree": "341312a9977976a9d6973f1aacf56bdc690a1148",
      "parents": [
        "55961909ea03d6affef188895fa0992bbea0b752"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jan 11 23:15:20 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "wbsio_spi: Request memory mapping locally\n\nOur SPI chip drivers are not aware of any memory mapping. However, two\nof our SPI master drivers that implement an LPC-to-SPI bridge make use\nof the memory mapping originally intended for memory mapped flash chips.\n\nThis unnecessarily breaks the abstraction in core flashprog code. There\nis no other component than the master driver involved with the mapping,\nhence we can simply perform it locally in this driver.\n\nThe driver already assumed a maximum memory mapped space of 1MiB. We\nalways try to map this whole space and than adapt the address offsets\naccordingly.\n\nChange-Id: If95bad2ca40611452e34a865d520e9aa88e8f163\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72520\n"
    },
    {
      "commit": "55961909ea03d6affef188895fa0992bbea0b752",
      "tree": "6e9223a9d6c24091706276ed2caccaf6ac356811",
      "parents": [
        "46449b4d17c549a68d0b8ce287f20e4b46f13333"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jan 11 23:01:37 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "it87spi: Request memory mapping locally\n\nOur SPI chip drivers are not aware of any memory mapping. However, two\nof our SPI master drivers that implement an LPC-to-SPI bridge make use\nof the memory mapping originally intended for memory mapped flash chips.\n\nThis unnecessarily breaks the abstraction in core flashprog code. There\nis no other component than the master driver involved with the mapping,\nhence we can simply perform it locally in this driver.\n\nThe driver already assumed a maximum memory mapped space of 512KiB. We\nalways try to map this whole space and than adapt the address offsets\naccordingly.\n\nChange-Id: I1cd828d3286ce0f7a02d15b035df368c67e0b2db\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72519\n"
    },
    {
      "commit": "46449b4d17c549a68d0b8ce287f20e4b46f13333",
      "tree": "14b936a26e05bd97eb60223dd1f9c1bec94b4899",
      "parents": [
        "ab6b18f0e0d4f4b2b8348306576b701b63372bd2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 12 23:58:19 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "spi25: Drop stale `bus \u003d\u003d SPI` guards\n\nThese guards were necessary workarounds because we used to call\nthe functions from core flashprog code. Now that the related code\nis contained in the chip driver, we can drop them.\n\nChange-Id: Ib06044a716e2d1c295d902877d0342deb2d78908\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72518\n"
    },
    {
      "commit": "ab6b18f0e0d4f4b2b8348306576b701b63372bd2",
      "tree": "f9adeb7ab53e6fed6d940f852979b5da86dd7de1",
      "parents": [
        "901fb957742edef9307948c397bdd28c8b5ebfac"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jan 11 23:38:20 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "spi25: Move 4BA preparations into spi_prepare_4ba() hook\n\nThese preparations are specific to 4BA SPI chips and don\u0027t have to\nclutter `flashprog.c`.\n\nChange-Id: I842244c57e575f93b9c505e16f1f20c7afd23733\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72517\n"
    },
    {
      "commit": "901fb957742edef9307948c397bdd28c8b5ebfac",
      "tree": "c69fc13d64764e08ce22df9a08772cb4eb9cde20",
      "parents": [
        "a96aaa3c716e13c62e1a7d93b5e6580e817cd2f5"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jan 11 23:24:23 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "Add prepare/finish_access() hooks for chip drivers\n\nSome of the arrangements we perform in prepare_flash_access()\nare actually specific to the flash chip. Allow to clean that\nup by adding respective hooks into `struct flashchip`.\n\nChange-Id: Iff79ba3d190dba04ecf58c5c53faa428bf592bdf\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72516\n"
    },
    {
      "commit": "a96aaa3c716e13c62e1a7d93b5e6580e817cd2f5",
      "tree": "88bde45963ab387837755eec887ccb587e33da65",
      "parents": [
        "1338936efbd5301880063461b74eaf883db6e363"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Mar 05 12:56:13 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 08 18:09:43 2024 +0000"
      },
      "message": "dediprog: Support long writes of 16MiB and more\n\nOriginally, the core of flashprog never sent more than an erase block\nat once to write. And with the strategy to use the smallest erase-block\nsize by default, we never run into any issue with the dediprog driver.\nNow that we write bigger chunks at once, after all necessary erasure,\nit can be an issue when 16MiB or more are sent.\n\nAs all other driver implementations allow arbitrary length writes,\nhandle this with a simple loop inside the dediprog driver.\n\nTested with (WIP) SF600Plus-G2 and W25Q128FV.\n\nChange-Id: I9db2d84964dbdfe25dfdb93148f4687a34150bc8\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/98\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "1338936efbd5301880063461b74eaf883db6e363",
      "tree": "ec0fd82dbaafd435bd3784d13378b1c4334f9e93",
      "parents": [
        "8d36db619b5bca0d5a1ddf05c26926b460605e31"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Mar 05 18:35:30 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 08 18:09:43 2024 +0000"
      },
      "message": "Consider 4BA support when filtering erase functions\n\nWhen we decide which erase functions to use, we need to know exactly\nwhich functions are supported by the used programmer. We missed that\nsome programmers can\u0027t send 4-byte adddresses.  As we already have a\nfeature flag for this, check it right away for all 4BA erase opcodes.\n\nThis affects mostly rare combinations of external programmers with\nmodern 4BA flash chips. For instance early versions of the Dediprog\nSF100.\n\nTests confirmed that this fixes the combination of a first protocol\ngeneration SF100 with a Winbond W25Q256JV.\n\nChange-Id: I51da2832a6a703058da57cdc0335b214653453ed\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/99\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "8d36db619b5bca0d5a1ddf05c26926b460605e31",
      "tree": "17994c0c204f7e28c630c751f668b37c49164f00",
      "parents": [
        "d2ac3034a85c8eafd4a93a4be6fb3cf8bfa9e4cf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Feb 24 20:50:42 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 02 13:36:47 2024 +0000"
      },
      "message": "flashprog.8: Fix up serprog example\n\nAn example should be something that could work, i.e. not contain place\nholders. So replace `/dev/device:baud` with a `/dev/ttyACM0` which\nshould serve well for the SPI-speed example.\n\nChange-Id: If6185c19cbe825586f97401fc5392c3507f8e3ca\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/89\nReviewed-by: Riku Viitanen \u003criku.viitanen@protonmail.com\u003e\n"
    },
    {
      "commit": "d2ac3034a85c8eafd4a93a4be6fb3cf8bfa9e4cf",
      "tree": "5c330051a6fb4a510aaf673bcfb714f81aa3918c",
      "parents": [
        "d1b91532627cdfd1bfde530baa6975f8f5d63d88"
      ],
      "author": {
        "name": "Riku Viitanen",
        "email": "riku.viitanen@protonmail.com",
        "time": "Sat Feb 24 21:23:19 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 02 13:36:01 2024 +0000"
      },
      "message": "flashprog.8: document new serprog cs parameter\n\nChange-Id: Iacf3b26fbacb928d5f1b69427eabe9edc8cdcb24\nSigned-off-by: Riku Viitanen \u003criku.viitanen@protonmail.com\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/88\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "d1b91532627cdfd1bfde530baa6975f8f5d63d88",
      "tree": "2c4178e9d2b7abfaa7810bb44fc508ccb00b74d3",
      "parents": [
        "ddb6d926783d4f9cbee04c7392718ed8f89daa0e"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Mon Mar 20 23:26:13 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Feb 23 20:52:40 2024 +0000"
      },
      "message": "chipset_enable.c: Add Genoa to mendocino entry\n\nTESTED on AMD Onyx board.\n\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nChange-Id: Ib2c64026f89b57edf40b76893758b161145de265\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/73837\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "ddb6d926783d4f9cbee04c7392718ed8f89daa0e",
      "tree": "4979302b7b8e3917bb6a01264983df6a34634aa2",
      "parents": [
        "ddfbbe84b41d6a2fa3e2e7d031f55a82e05e6c76"
      ],
      "author": {
        "name": "Riku Viitanen",
        "email": "riku.viitanen@protonmail.com",
        "time": "Mon Jan 15 19:15:49 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jan 26 19:28:00 2024 +0000"
      },
      "message": "serprog: Add support for multiple SPI chip selects\n\nTested with an EN25F80, Pi Pico, and this serprog firmware:\nhttps://codeberg.org/Riku_V/pico-serprog/commits/branch/multi-cs\n\nChange-Id: If8052bc6f5c314dcc493bc083bb8270723efaae7\nSigned-off-by: Riku Viitanen \u003criku.viitanen@protonmail.com\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/51\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "ddfbbe84b41d6a2fa3e2e7d031f55a82e05e6c76",
      "tree": "47ee340dd67aa6a1b59d0e4f883f88520b8ee9f1",
      "parents": [
        "f9b777dde3a5f35cbd6d1d910d29bf70a4af5a98"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Dec 21 16:31:27 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 25 09:24:39 2024 +0000"
      },
      "message": "flashchips: Mark W25Q256JV_Q as tested\n\nMark probe, read, erase and write tested for W25Q256JV_Q. As reported in\nhttps://mail.sourcearcade.org/hyperkitty/list/flashprog@flashprog.org/thread/3HRWA76VCCW5S54KLUBJW3HGFFHPQLK6/\n\nChange-Id: Ia7526263dea5ddd692eb5d485c5919af1784c7d2\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReported-by: Mathieu Pilato \u003cpilatomic@gmail.com\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/41\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "f9b777dde3a5f35cbd6d1d910d29bf70a4af5a98",
      "tree": "231e5504c10c03fcbcce8e0bc0a817bbf15db201",
      "parents": [
        "182229d10c7719dfecd459ae0c922887cebceedc"
      ],
      "author": {
        "name": "Riku Viitanen",
        "email": "riku.viitanen@protonmail.com",
        "time": "Sun Jan 21 12:23:29 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jan 23 12:21:03 2024 +0000"
      },
      "message": "Documentation: libjaylink now available on Arch\n\nhttps://archlinux.org/packages/extra/x86_64/libjaylink/\n\nTest: Builds on Artix.\n\nChange-Id: Ie8a19e547798dec4a96e6a50fe2f6cbd09fba190\nSigned-off-by: Riku Viitanen \u003criku.viitanen@protonmail.com\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/86\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "182229d10c7719dfecd459ae0c922887cebceedc",
      "tree": "44d872dd42fa97143dc0c5e0d5cee9df747d0047",
      "parents": [
        "8d2c0df9f361550e224b1dd3fc4542647b22c4f8"
      ],
      "author": {
        "name": "Riku Viitanen",
        "email": "riku.viitanen@protonmail.com",
        "time": "Mon Jan 15 20:10:40 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jan 20 13:36:42 2024 +0000"
      },
      "message": "serprog: clean up documentation\n\n* serprog.h doesn\u0027t exist, at least not in this repo\n* in the doc, no other command has S_CMD_ prefix either\n\nChange-Id: Ic83e7fd80840f2db0b006935a964721da0388068\nSigned-off-by: Riku Viitanen \u003criku.viitanen@protonmail.com\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/52\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "8d2c0df9f361550e224b1dd3fc4542647b22c4f8",
      "tree": "14cce4178dd62a8aea58be0bb61bc87d92867a3c",
      "parents": [
        "64f279083fbdee04d3d5b7ce4fb643bfb6f73466"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 14 23:39:40 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jan 17 19:17:47 2024 +0000"
      },
      "message": "Add libgpiod v2 compatible bitbang master\n\nThe API was completely re-invented with libgpiod 2.0. Hence we add a\nnew driver as we would otherwise only share boilerplate with the old\ndriver. The new API makes it easier to re-configure GPIO pins on-the-\nfly. Which we will use to implement dual- and quad-i/o modes in the\nfuture.\n\nOne downside of the new API is that there is no function to open a\nchip by number anymore. So we have to emulate that behavior now for\nbackwards compatibility.\n\nChange-Id: If6a02d98f15def51b61fe0c3f09092cf286a37eb\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/83\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "64f279083fbdee04d3d5b7ce4fb643bfb6f73466",
      "tree": "b6057fc564f6d7f5201e5d254efc11d7bd0fa7c1",
      "parents": [
        "78615a734a09ba310801cd37133db1275e181d80"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Fri Dec 22 13:50:02 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 27 17:20:07 2023 +0000"
      },
      "message": "Add a .gitreview file\n\nThis makes dealing with gerrit from the commandline easier with the\ngit-review tool.\n\nChange-Id: I510e837715599f5edf7e0441f78cacc2f0127ed4\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/42\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "78615a734a09ba310801cd37133db1275e181d80",
      "tree": "b775a8dbbde3be54c61bfc93fff38c0a4e685e6a",
      "parents": [
        "5455786bfb4b09af11f4354a6bb4842d37d78419"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Fri Dec 22 13:51:22 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 27 17:19:55 2023 +0000"
      },
      "message": "Add an .editorconfig file\n\nSome editors pick this file up to set default style options.\n\nChange-Id: Ia043d0a3bd8730e3ec576e26e93fef7602fede56\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/62\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "5455786bfb4b09af11f4354a6bb4842d37d78419",
      "tree": "4444295adb9d0e6f9e13e08a16bc5c88a0b14352",
      "parents": [
        "c3b02dce51aad2766512d1939a1b7447c2d526b8"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 15 12:01:04 2023 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Dec 08 19:56:50 2023 +0000"
      },
      "message": "spi95: Avoid automatic probing\n\nIt turned out that the read ID command for the ST/M95 family (0x83)\nis a write command for AT45DB chips. We\u0027ll tag respective chips as\nusing a SPI95 command set, like we did for EDI, to avoid automatic\nprobing.\n\nChange-Id: Ibdf364424ac9cd8a734507a05fe769f008f8178e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/75218\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "c3b02dce51aad2766512d1939a1b7447c2d526b8",
      "tree": "58069f464bb8a777ef06e93767813a4c5a042cb0",
      "parents": [
        "a02df33fbf1c196395a61049e60895d4ae0e0a5b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Aug 12 01:13:45 2023 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Sep 18 19:24:39 2023 +0000"
      },
      "message": "Rebrand to flashprog and update URLs\n\nMostly automated `sed` work. As of now, URLs to the old wiki are broken\neither way, so changing them shouldn\u0027t hurt. Other URLs (e.g. to mailing\nlist archives) were hopefully filtered correctly.\n\nChange-Id: I9d43bfd0e675eff2fcbad05f304b9ce9f5006b08\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashrom-stable/+/21\n"
    },
    {
      "commit": "a02df33fbf1c196395a61049e60895d4ae0e0a5b",
      "tree": "74b57107a33e26ea4989deab69b9ee1d2a4b71e7",
      "parents": [
        "d96e70348ee5cad2eefe7a319a7eb14f65ce2150"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jan 14 23:06:27 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu May 18 14:51:17 2023 +0000"
      },
      "message": "flashrom.c: Use a simpler for-loop in init_eraseblock()\n\nChange-Id: I3b0b51a48e9de8522e0d39c2781e980405af84ba\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72554\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "d96e70348ee5cad2eefe7a319a7eb14f65ce2150",
      "tree": "5aa86db61a7f06252f3a3748dc55a7a15e2d6c2c",
      "parents": [
        "ad5b71994ef7cdf7ecacd967d27d13b487805607"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jan 14 22:31:48 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu May 18 14:51:17 2023 +0000"
      },
      "message": "flashrom.c: Rewrite calculate_block_count()\n\nThere is not need to do address calculations in calculate_block_count().\nWe only want to return the final count, so only add that up. As a bonus,\nwe only need to pass the eraser and not the whole chip reference.\n\nChange-Id: I0cdfaad85aeda90513268d08da47acbe72ca57e5\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72553\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "ad5b71994ef7cdf7ecacd967d27d13b487805607",
      "tree": "5fccb97c12eca8807c7403fe69b42a37bcb780ea",
      "parents": [
        "c09fca49c925e62271632ac7bf6ad40fe53b5d98"
      ],
      "author": {
        "name": "Angel Pons",
        "email": "th3fanbus@gmail.com",
        "time": "Tue May 16 11:13:17 2023 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu May 18 13:54:53 2023 +0000"
      },
      "message": "chipset_enable.c: Drop `_LARGEFILE64_SOURCE`\n\nThis file does not access any large files, so there\u0027s no need to define\nthis feature test macro.\n\nChange-Id: I866cfa2f996eeea5846e5d9189647ad7a4a4e3e4\nSigned-off-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/75272\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "c09fca49c925e62271632ac7bf6ad40fe53b5d98",
      "tree": "9b62ce0616858d4f187d12ef4892434c893a8586",
      "parents": [
        "1494f8e35e761d8205ac2260506a7770cf05e8d6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 15:58:09 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun May 14 15:20:17 2023 +0000"
      },
      "message": "flashrom.c: Integrate new erase-function selection\n\nThis requires almost a rewrite of walk_eraseblocks(): Instead of walking\nall blocks for a given function, we walk the presented erase layout.\nHowever, the overall structure stays the same.\n\nwalk_by_layout() now runs the new erase-function selection per region\nto present walk_eraseblocks() the new erase layout.\n\nChange-Id: I2535f211c49d050d21983cadb4df5005fa2e5659\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72562\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "1494f8e35e761d8205ac2260506a7770cf05e8d6",
      "tree": "1bc60efc1c6c2d3191b06deb9eeffd3e5f3c5637",
      "parents": [
        "cf6ff0ab5baac7cfb295d0b393e7476693106b12"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 15:48:00 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun May 14 15:20:17 2023 +0000"
      },
      "message": "flashrom.c: Allow to use select_erase_function() for explicit erase\n\nWhen we are explicitly called to erase, we simply select every block\nthat overlaps the given region.\n\nChange-Id: I2085855adb4406fdc6d6e813ea4bd912db13473d\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72561\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "cf6ff0ab5baac7cfb295d0b393e7476693106b12",
      "tree": "8162b3d4bcd813587255c8fa7c444bab2e89b774",
      "parents": [
        "a62124848abcbaffefc747b545c6cf2752d85f00"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 15:45:06 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun May 14 15:20:17 2023 +0000"
      },
      "message": "flashrom.c: Allow unaligned erase blocks in select_erase_function()\n\nSimply check if an erase block overlaps the given region.\n\nChange-Id: I06f64dad2cbf7e710d4129aec55496518d7c452e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72560\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "a62124848abcbaffefc747b545c6cf2752d85f00",
      "tree": "181638ff0ab3ddf3932410e69f2505df8048a533",
      "parents": [
        "b11b72c60d8b7009906ed7b12887771a3b0b3c76"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 15:39:26 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun May 14 15:20:17 2023 +0000"
      },
      "message": "flashrom.c: Don\u0027t check for erase outside of selected region\n\nOriginally, select_erase_functions() was intended to be called only\nwith regions that are erase-block aligned. To prepare for unaligned\nregions, we limit the range passed to need_erase() to what should be\nwritten.\n\nChange-Id: Iae38ecbf79bf6fccc0ff6f874056e0c071636f89\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72559\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "b11b72c60d8b7009906ed7b12887771a3b0b3c76",
      "tree": "25409fb6b5826e47647af1e10c9988ba19b61c85",
      "parents": [
        "00d1b9fece5368a9335f8439d6329e5b5bd20ea9"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 15:33:11 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun May 14 15:20:17 2023 +0000"
      },
      "message": "flashrom.c: Wrap recursive select_erase_functions()\n\nRename the recursive function to select_erase_functions_rec() and handle\nthe first erase-function level in a separate function.\n\nChange-Id: I2cf0c14eb0038ecb8b457c1b5b0f7d7b8a4bcb55\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72558\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "00d1b9fece5368a9335f8439d6329e5b5bd20ea9",
      "tree": "94631a75784b80a107755695ec8db601c7257d7c",
      "parents": [
        "13f97a500a4935eb8b18ba8f38c69bf5dcd4affc"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 15:07:33 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun May 14 15:20:17 2023 +0000"
      },
      "message": "flashrom.c: Refactor parameters of select_erase_functions()\n\nReplace separate parameters with a pointer to the current `walk_info`.\n\nChange-Id: I46890589971183ca91684a8e275112d822780253\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72557\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "13f97a500a4935eb8b18ba8f38c69bf5dcd4affc",
      "tree": "61cb02939794f04f7e1dab903e1f8f88c5a19ccc",
      "parents": [
        "d34864bf82b472370d0d1e5d12da7942c5dc2fe4"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jan 14 23:55:06 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun May 14 15:20:17 2023 +0000"
      },
      "message": "flashrom.c: Declare loop index outside of `for`\n\nRight now it\u0027s still needed to compile everywhere (where we test).\n\nChange-Id: Ie303d35c83dbc08e4a1d8686e38c8ee4988a0144\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72556\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "d34864bf82b472370d0d1e5d12da7942c5dc2fe4",
      "tree": "c6bc8865ad7d9ef9df20ef8ff62e42959df4d999",
      "parents": [
        "632131590aa13544515f84822f94eb8f54d78e38"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jan 14 23:47:19 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun May 14 15:20:17 2023 +0000"
      },
      "message": "flashrom.c: Sort initial error checks in create_erase_layout()\n\nWith the original order, we might report the wrong error in case\ncalloc() returns `NULL` for `nmemb \u003d\u003d 0`.\n\nChange-Id: If1330ab1cbde817fb7ef91f7dc6ace219cb6ecbc\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72555\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "632131590aa13544515f84822f94eb8f54d78e38",
      "tree": "7ba2063d0a8136be60866dc40fa79f11b2415598",
      "parents": [
        "7a480310de5f7ec35d2d2acc7b60ca1ff8296944"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Apr 24 12:00:58 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 02 14:28:17 2023 +0000"
      },
      "message": "chipset_enable: Mark C236 as DEP\n\nAs reported working by Tomas on the ML:\nhttps://mail.coreboot.org/hyperkitty/list/flashrom@flashrom.org/thread/2YSYIYKBUL5K26ZR5XIBV2YCXSNRWTNT/\n\nChange-Id: I575956d7e121350530e5b3e4e21384c0ea338d8f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/74857\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "7a480310de5f7ec35d2d2acc7b60ca1ff8296944",
      "tree": "c358fc379a93b9ccee17742564c7cbbbed00962e",
      "parents": [
        "d33bea4a0cb0921ba85f69fb6ca1fa27c68dc67b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Apr 10 14:54:22 2023 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 02 14:26:43 2023 +0000"
      },
      "message": "test_build: Add simple sanity check for explicit erase (-E)\n\nChange-Id: I210bd45431d2fa67118ab357df1b946bc83a3235\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/74323\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "d33bea4a0cb0921ba85f69fb6ca1fa27c68dc67b",
      "tree": "f751dd7908b3a17a9def2d66ba496c65f7f4662d",
      "parents": [
        "18cc8d3deb67ddf42ac0cb47e8ab303481b38c17"
      ],
      "author": {
        "name": "Aarya Chaumal",
        "email": "aarya.chaumal@gmail.com",
        "time": "Thu Jul 14 12:51:14 2022 +0530"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Apr 20 21:01:25 2023 +0000"
      },
      "message": "flashrom.c: Add a function to get list of sectors that need erasing\n\nAdd a function that returns a list of sectors (as seen by the first\nerase function) that need erasing.\n\nChange-Id: Ic57ca1cca3d1646543f6b5939ba9c35db8d08256\nSigned-off-by: Aarya Chaumal \u003caarya.chaumal@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72552\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "18cc8d3deb67ddf42ac0cb47e8ab303481b38c17",
      "tree": "f6bb6635687853025a72151369829df1acb1d64b",
      "parents": [
        "05017c10ea859170973cc3163767e70c117ad21a"
      ],
      "author": {
        "name": "Aarya Chaumal",
        "email": "aarya.chaumal@gmail.com",
        "time": "Fri Jul 15 16:51:27 2022 +0530"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Apr 20 21:01:25 2023 +0000"
      },
      "message": "flashrom.c: Add function to get a flattened view of the chip erase blocks\n\nAdd a function to flatten out the addresses of the flash chip as per the\ndifferent erase functions. This function will return a list of layouts\nwhich is dynamically allocated. So after use all the layouts as well as\nthe list itself should be freed. The free_erase_layout function does\nthat.\n\nChange-Id: Iafe78de00daa55f7114bd4ce09465dd88074ece4\nSigned-off-by: Aarya Chaumal \u003caarya.chaumal@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72551\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "05017c10ea859170973cc3163767e70c117ad21a",
      "tree": "ad2248c3c437f184a6120a2affcc5a4a6cb4ce74",
      "parents": [
        "2f7c1df8293e359706ae9bb01314202ecb62981f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 19 14:24:55 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Apr 20 21:00:40 2023 +0000"
      },
      "message": "meson.build: Update default status for jlink_spi\n\nIn commit 07dd1219ff15 (Makefile: Enable jlink_spi by default) we\nforgot to update the `meson.build` file. We actually never needed\nthe `\u0027default\u0027 : false` because our Meson setup would disable it\nautomatically if the library is missing.\n\nChange-Id: I9c68d00a7cbf3c8be50cd1e58e54262bf14bd779\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73855\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "2f7c1df8293e359706ae9bb01314202ecb62981f",
      "tree": "2cbb632fdc8a674b09f74d9b68e85d54508c9c9a",
      "parents": [
        "5ff6fdc75bdbdbeac9bb43bee7c72bed82dbe059"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Mar 07 23:36:44 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 04 10:19:22 2023 +0000"
      },
      "message": "ft2232_spi: Fix resource leaking on failed init\n\nMove the allocation of `spi_data` down. OOM errors are less likely,\nhence it won\u0027t hurt to check that late. OTOH, it simplifies error\nhandling when we separate init parts that require dynamic resources\nfrom those that don\u0027t.\n\nChange-Id: Ibfc35832e71eb05571801216763af238c1dfd1eb\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73575\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "5ff6fdc75bdbdbeac9bb43bee7c72bed82dbe059",
      "tree": "3990b4ed4aec9d2df88bb31791cb945aa99181d1",
      "parents": [
        "3b9c86dca807b8940e4af74c42ee911d4c03530e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 15 23:43:12 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 04 10:12:02 2023 +0000"
      },
      "message": "flashrom.c: Write whole layout regions at once\n\nWe used to write per erase block, right after erasing in case\nwe had to. To ease integration of a new erase-block selection,\nthe write step is postponed now, after all blocks in a region\nthat need erasing are erased.\n\nThis also moves the decision whether to call erase_block() on\na given block to a higher level and prepares for the new erase-\nblock selection algorithm.\n\nChange-Id: I325c4873f9bde8183e9f43239929075ac31b80cc\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72550\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "3b9c86dca807b8940e4af74c42ee911d4c03530e",
      "tree": "ca9870bdd95c42ef2da7027a5fbd19066b938f51",
      "parents": [
        "b8e81051b451a993cb6c21a49b51dad5f096adad"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 15 22:58:06 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 04 10:12:02 2023 +0000"
      },
      "message": "flashrom.c: Extract write loop into new write_range()\n\nerase_block() and write_block() use the same loop logic to decide what\nparts of a range need to be written. Move that into a new function,\nwrite_range().\n\nChange-Id: I13637978c03419ef06fbf3d4e0640c4630c49964\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72549\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "b8e81051b451a993cb6c21a49b51dad5f096adad",
      "tree": "b37dfbfbfcdfa0f3213f85b08e7adf9bda43bc75",
      "parents": [
        "d34af7a7d741c4b71b7d560984058a5f96900597"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 15 22:40:14 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 04 10:12:02 2023 +0000"
      },
      "message": "flashrom.c: Simplify read_erase_write_block()\n\nSince erase_block() learned to handle potentially unaligned regions,\nand read_erase_write_block() uses it internally, we don\u0027t have to\nhandle that inside the latter anymore. This allows a much simpler\nimplementation. Also change the name to write_block().\n\nChange-Id: I46826951d8bd345957368da83f8d4e8b3b6c53b2\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72548\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "d34af7a7d741c4b71b7d560984058a5f96900597",
      "tree": "555984700c27b5975526bdfcb21ba1619190bdab",
      "parents": [
        "3ac761c3c47a6476b8b0f9ce613b32914b163c46"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 15 23:58:18 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 04 10:12:02 2023 +0000"
      },
      "message": "flashrom.c: Drop retry logic for failed erase/write\n\nNow that we check first if an erase function should work with the\ngiven programmer, we can drop the retry logic. This also simplifies\nsurrounding return codes a little.\n\nChange-Id: I6db645dd3496f7c7f97c51aa5e8e088119012261\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72547\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "3ac761c3c47a6476b8b0f9ce613b32914b163c46",
      "tree": "146db2e06439bf76f4c66fd48facb10ec3c0bf79",
      "parents": [
        "b77607f048e5cdfbf8fb1e9ad3b110c9a67e80e0"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jan 16 02:43:17 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 04 10:12:02 2023 +0000"
      },
      "message": "layout: Verify that regions to be written are granularity aligned\n\nThis will be important with the new erase/write strategy when we don\u0027t\nwrite per erase block anymore.\n\nChange-Id: Ie3c74ff4313c9d72ac92d3226804e0407088c17d\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72546\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "b77607f048e5cdfbf8fb1e9ad3b110c9a67e80e0",
      "tree": "700075b85574ba14e043073866ef3e3946d2a357",
      "parents": [
        "2f75379fa20f5415c70b837001473ff8ba070ab7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jan 16 02:25:45 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 04 10:12:02 2023 +0000"
      },
      "message": "flashrom.c: Introduce gran_to_bytes()\n\nChange-Id: Ib41f9581060350f41620e9e377b9bafa58677882\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72545\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "2f75379fa20f5415c70b837001473ff8ba070ab7",
      "tree": "0f549c33c16f70f1c619926d91ce217e95eccd6a",
      "parents": [
        "b1d4b1d6b8a7876496af6b8af422d1c8058d5f4e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Mar 28 00:46:50 2023 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 04 09:59:35 2023 +0000"
      },
      "message": "internal: Don\u0027t try linux_mtd on x86\n\nWe assume that the first MTD device found represents the \"internal\"\nfirmware flash. This is true on many architectures, and assumed to\nbe working. On x86, however, there is traditionally no MTD device.\nOne exception is the `spi-intel` driver, but this one is tagged\n\"DANGEROUS\" and often makes trouble if a Linux distribution enabled\nit nevertheless.\n\nSo, let\u0027s disable the internal/MTD automatism on x86. Flashrom has\nbetter drivers, and if somebody runs into a situation where the MTD\ndriver would work but the internal one doesn\u0027t, they can still use\n`linux_mtd` explicitly.\n\nChange-Id: I813980786a09fe64f541906e1963b0abd8b93cb5\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73987\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Matt DeVillier \u003cmatt.devillier@gmail.com\u003e\n"
    },
    {
      "commit": "b1d4b1d6b8a7876496af6b8af422d1c8058d5f4e",
      "tree": "345667dcd81b78d57450f65bef9f8a1dc61188a0",
      "parents": [
        "da09599c1230e7461129c19fea919e2b536a26ba"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 13:32:06 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 18 13:28:45 2023 +0000"
      },
      "message": "manibuilder: Update overrides for missing libraries\n\nNow that we bail-out on missing dependencies again, we have a lot of\nadditional overrides to provide.\n\nChange-Id: I5401c88b85333b5a6d6d5ed9f34fb83e0c677364\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73777\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "da09599c1230e7461129c19fea919e2b536a26ba",
      "tree": "c0fc80701833e0c014c2c143bc1be7db82c214e8",
      "parents": [
        "6f6a1c3f55fc3b8dfe936a81287bb71c1e0d011d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 13:02:31 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 18 13:28:45 2023 +0000"
      },
      "message": "README,manibuilder: Update environment overrides for DJGPP\n\nThe currently documented DJGPP setup doesn\u0027t utilize pkg-config, hence\nwe have to specify the presence of libpci explicitly.\n\nChange-Id: I1e5cc9e0235fd49948edd9d39087735b8685638e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73776\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "6f6a1c3f55fc3b8dfe936a81287bb71c1e0d011d",
      "tree": "a4b403b5eb9f955546fd4dff1c5a6d091bf41c20",
      "parents": [
        "547b9b099c38ef76aef785b17e471786aaf66522"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 12:56:49 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 18 13:28:45 2023 +0000"
      },
      "message": "manibuilder: Move environment overrides into new Makefile.env\n\nChange-Id: I7e1db64ab04c99a472770123865589278778e5f3\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73775\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "547b9b099c38ef76aef785b17e471786aaf66522",
      "tree": "0310cc7e3b7324d342005299ff3a0bae6e042b1e",
      "parents": [
        "b750149939df1ecb020e31626634804f32eb143a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 14:50:44 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 18 13:28:45 2023 +0000"
      },
      "message": "manibuilder/anita: Compensate for missing pkg-config\n\nThe old anita:7.1 images don\u0027t have pkg-config and packages are not\navailable anymore. Hence configure the available libraries manually.\n\nChange-Id: Id86f77690cd595380fd32c9d7633dcacac9d258a\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73774\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "b750149939df1ecb020e31626634804f32eb143a",
      "tree": "79dc1682a0992d038e762ce590bf2931dd3f5926",
      "parents": [
        "f7dea1ad514ba90235fc68cda1958206e0731a66"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 12:42:16 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 18 13:28:45 2023 +0000"
      },
      "message": "manibuilder/anita: Move environment overrides to Makefile.anita\n\nAlso be specific where we have to allow warnings and drop a long unused\noverride for anita:7.1-sparc.\n\nChange-Id: I962ecbbeee2813237421ab866b54f2de79cc4a20\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73773\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "f7dea1ad514ba90235fc68cda1958206e0731a66",
      "tree": "71b0db7de14a830d7cee7b888d781ec4581a2cf8",
      "parents": [
        "24ad6b2bcc6db66db859929e5e0c7fc1b690be8b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 13:15:50 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 18 13:21:47 2023 +0000"
      },
      "message": "Makefile: Mark Linux-specific libgpiod as unsupported on other OS\u0027s\n\nChange-Id: Ia453149bd0883900d470303337e772b8f7f716fa\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73772\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "24ad6b2bcc6db66db859929e5e0c7fc1b690be8b",
      "tree": "d73622a8310527a5ae78a218bc62899f92fcd912",
      "parents": [
        "d2ba438392611073335ab8a5d130202be2b1721e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 00:21:38 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 18 13:21:47 2023 +0000"
      },
      "message": "Makefile: Mark unsupported libraries for DOS (DJGPP)\n\nDOS will probably never get USB support.\n\nChange-Id: I6bcc67dc35740b58752663bfcb1c947ba7f70581\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73771\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "d2ba438392611073335ab8a5d130202be2b1721e",
      "tree": "53a2ea07022c0e85a0352691185e1c7cf71c5a63",
      "parents": [
        "6272eb658c1b58a696f4f06b855fa9c506d8e9d1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 00:20:12 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 18 13:21:47 2023 +0000"
      },
      "message": "Makefile: Fix typo DEPENDS_ON_LIBFTDI --\u003e DEPENDS_ON_LIBFTDI1\n\nChange-Id: I51ca78b64109f8f7bd1b73d4f275ca38e4f1dfd8\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73770\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "6272eb658c1b58a696f4f06b855fa9c506d8e9d1",
      "tree": "fefb73e45a0df65d879c009d7b9f6115d6c47676",
      "parents": [
        "59848a94cfc19e626239b934fecf40243d1279ad"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 16 22:59:50 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 18 13:21:47 2023 +0000"
      },
      "message": "Makefile.include: Add line continuations between $(eval) calls\n\nOlder GNU Make versions (e.g. v4.1) don\u0027t like the `mark_missing_deps`\nmacro without line continuations. Probably because the lines are tech-\nnically empty after evaluation.\n\nChange-Id: I790c21999b2fc9c698f6bf9302f670470fe1bab8\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73749\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "59848a94cfc19e626239b934fecf40243d1279ad",
      "tree": "c2dcdfe75ba618e7e8a834f86d67ad8d32db457a",
      "parents": [
        "2044af08cad0c36fa4fd677294f56929569eb72d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 04 00:41:18 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 15:24:18 2023 +0000"
      },
      "message": "manibuilder: Add official AlmaLinux images\n\nThe dockerfile is a mix from the CentOS and the Fedora one. For Meson,\nwe require an additional repository, `powertools` in AlmaLinux 8 and\n`crb` in AlmaLinux 9. As `ccache` is missing, we have to override $(CC).\n\nChange-Id: I33c62a5cc9bf05c626179acb35250a8a3293f8c1\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73473\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "2044af08cad0c36fa4fd677294f56929569eb72d",
      "tree": "76cc669406f12382e92acc03e8587f9e842da752",
      "parents": [
        "494561a7700ecd0053677a72dc20d6422749418e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 04 00:40:47 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 15:24:18 2023 +0000"
      },
      "message": "manibuilder/fedora: Add official multi-arch tags for 35, 36 and 37\n\nChange-Id: I1ea30cb509ea1d24b0c08488ba5433b3cfe8ac4c\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73472\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "494561a7700ecd0053677a72dc20d6422749418e",
      "tree": "ec7fbaa2bccf984cd4e1d183cadfb355a9c74b47",
      "parents": [
        "f137f44acd36359e9daa4f1bf0a4b8bc847cb077"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 03 17:12:32 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 15:24:18 2023 +0000"
      },
      "message": "manibuilder/debian: Add official multi-arch tags for Bookworm\n\nChange-Id: I7915d75d7df89c4d583528c328f37b8694397fc4\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73435\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "f137f44acd36359e9daa4f1bf0a4b8bc847cb077",
      "tree": "abb1e975254688d94acc0a1feed18b378b18c8ca",
      "parents": [
        "05f0f7c2c5bb0a5fdcc3d683e8d73960bd3cd119"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 03 17:12:14 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 15:24:18 2023 +0000"
      },
      "message": "manibuilder/alpine: Add official multi-arch tags for 3.15, 3.16 and 3.17\n\nChange-Id: Ib587f5f0e1e21b662265b9cf17b982fc2daf5e1c\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73434\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "05f0f7c2c5bb0a5fdcc3d683e8d73960bd3cd119",
      "tree": "2a90f7f36158ce6b795b4c58f66cdc2ed07c6bd7",
      "parents": [
        "93bffcd0a4c969a52a6b49272b7e200a338613af"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 03 17:08:16 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 15:24:18 2023 +0000"
      },
      "message": "manibuilder: Prepare for official multi-arch images\n\nNow that we can use official multi-arch images prepare for tag names\nmatching the upstream ones. These will be prefixed with their respective\narchitecture, e.g. `ppc64le/`. To make the existing dockerfiles for\nDebian and Ubuntu usable with the official images, remove their\n`-debootstrap` suffix.\n\nChange-Id: I11a7d13c7eb976205093f16dc9d3f5a57bc8f1bb\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73433\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "93bffcd0a4c969a52a6b49272b7e200a338613af",
      "tree": "c130077d719bdf76df940891d7a57add78e4c154",
      "parents": [
        "fb433baeeaa721a8ee90a10e8d3c41bc68ddb131"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 03 17:15:40 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 15:24:18 2023 +0000"
      },
      "message": "manibuilder/multiarch: Use persistence feature of qemu-user-static\n\nWe can use a single container now to provide `qemu-user` binaries for\nmulti-arch containers. This allows us to use official multi-arch\ncontainers that don\u0027t contain such a binary for the host architecture.\n\nWe pin the version to 7.2.0-1 for reproducibility. However, in this\nversion, `qemu-arm-static` has some trouble running Alpine containers\n(programs crashing on 3.14 and 3.15). So keep that one at 6.3.0-8.\n\nChange-Id: Iadf7ac318f99e521ce8c0acc0c41f59711e7c397\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73432\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "fb433baeeaa721a8ee90a10e8d3c41bc68ddb131",
      "tree": "b351bf56a3fe4df91dfb8de85ede6b0343614771",
      "parents": [
        "25ea7173f089ef3a615aee644fdc8edb98f462d1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 04 19:09:47 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 15:24:18 2023 +0000"
      },
      "message": "manibuilder: Switch to a per-image ccache\n\nWe used to have one big, shared ccache dir used by almost all images.\nThis doesn\u0027t scale well when we already know that parallel builds\n(for different architectures, for instance) don\u0027t have a chance to\nhit the same cache entries. Also, newer versions of ccache seem to\nhave a problem with this setup (Debian Bookworm and Fedora 37, to be\ninvestigated).\n\nWe pass a per-image identifier `${IDENT}` into the build and place\nthe cache in `/ccache/${IDENT}`. However, the configuration is kept\nin the default location, e.g. `~/.ccache/ccache.conf`. We can\u0027t\nconfigure this via ENV variables easily, because some distributions\noverride them.\n\nWe used to have the default 5GiB ccache limit. Now with the growing\nlist of images, we set a 32MiB limit per image. This should keep us\nwithin 5GiB for a while.\n\nChange-Id: I082f95aee050efad85867b309d363f61bfea751e\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73471\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "25ea7173f089ef3a615aee644fdc8edb98f462d1",
      "tree": "0d6683f5ee037c3a5ae283652573a41a927eef42",
      "parents": [
        "9b243b7adaf856e5e3f31a28df0bc35917656806"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 03 17:06:30 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 15:24:18 2023 +0000"
      },
      "message": "manibuilder: Replace `master` branch with `main`\n\nChange-Id: I4a7c6d0238cf915473cd5a2143e6afc00817caac\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73431\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "9b243b7adaf856e5e3f31a28df0bc35917656806",
      "tree": "e50145a8504318ac1a962863eb706202806ed5aa",
      "parents": [
        "c5077dd1e310a3a51359a82acef864ffec9f1cb3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 02 23:13:38 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 15:24:18 2023 +0000"
      },
      "message": "manibuilder/fedora: Add meson package\n\nChange-Id: Ib3a9e86f7c848f49b6abc9c56697d1e2cd4877a7\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73430\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "c5077dd1e310a3a51359a82acef864ffec9f1cb3",
      "tree": "11eac56a08616fab36bd57e36a278a8d26037091",
      "parents": [
        "b115c9856191947f50d64c0e3bce25d8c8817b59"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 02 23:12:51 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 15:24:18 2023 +0000"
      },
      "message": "manibuilder/fedora: Drop libusb-devel\n\nOnly the newer libusbx-devel is needed by flashrom nowadays.\n\nChange-Id: Ie972417c3d33e71156df3d2c0db0a0a5387ab4a2\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73409\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "b115c9856191947f50d64c0e3bce25d8c8817b59",
      "tree": "232e617feb657bfdbdd3de63dba03362671eadfc",
      "parents": [
        "e59061aed9d9553785c5d922b38382a3cea4ee60"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 02 23:10:05 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 15:24:18 2023 +0000"
      },
      "message": "manibuilder/debian,ubuntu: Add meson package\n\nChange-Id: Id887c77ce86d6a008dbab001674dd729d6b24c81\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73408\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "e59061aed9d9553785c5d922b38382a3cea4ee60",
      "tree": "2c7d19d853cabd189a38129cf6fa2cd9439b4bf1",
      "parents": [
        "b50d73d47303bd2601445557829e567e4c7af1f1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 02 23:08:09 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 15:24:18 2023 +0000"
      },
      "message": "manibuilder/debian,ubuntu: Drop old libusb, switch to libftdi1\n\nThe old libusb is not used by flashrom anymore. It turned out that\nthere are two versions of libftdi packaged too, so we switch to the\nnewer one.\n\nChange-Id: Id0799aaca74ab1a195599eacfa95f1201ad88bee\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73407\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "b50d73d47303bd2601445557829e567e4c7af1f1",
      "tree": "5a0adfec2a30cacdbef8abb69fed063c162c8cad",
      "parents": [
        "bad19ae4e38885f91c5a0d9870fcd9bc7ebb4dc0"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Mar 01 17:25:12 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 15:24:18 2023 +0000"
      },
      "message": "manibuilder/anita: Update to NetBSD 9.3\n\nContainer images need to be rebuilt for Meson support anyway.\n\nChange-Id: I4f1a034fac6e2e43c6572bf59f98548e39273801\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73406\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "bad19ae4e38885f91c5a0d9870fcd9bc7ebb4dc0",
      "tree": "bc0f808eda66fb6536cc5469484052088b09720f",
      "parents": [
        "74e0f52b7d7809cc8830be1e179723265a9cbbf8"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Mar 01 17:24:28 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 15:24:18 2023 +0000"
      },
      "message": "manibuilder/anita: Install meson package\n\nChange-Id: I1a988c316959e27168f6c7d3d856edd49d526446\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73405\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "74e0f52b7d7809cc8830be1e179723265a9cbbf8",
      "tree": "1b36ade21c2f3e38cae8fe6f1c2a2fb35002f53e",
      "parents": [
        "582267fb959f1db4ab477442aa0b4ba22e21d121"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 26 15:23:37 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 15:24:18 2023 +0000"
      },
      "message": "manibuilder/alpine: Optionally add meson\n\nMeson is available since Alpine v3.7.\n\nChange-Id: I19f0c040d6a64abaf2c284d4159ec2d87fa6ee71\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73404\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "582267fb959f1db4ab477442aa0b4ba22e21d121",
      "tree": "7afbb925152ee9641d0abcad5cfa6865d1d947e0",
      "parents": [
        "9b2f05235353e65ce17f3144d8634032e4e18aea"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 26 15:22:37 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 15:24:18 2023 +0000"
      },
      "message": "manibuilder/alpine: Drop libusb-compat, add libftdi\n\nChange-Id: Ie04d8555e55456231141d931c94ea40fb36681c4\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73403\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "9b2f05235353e65ce17f3144d8634032e4e18aea",
      "tree": "564ded34728e8aee64be71726cd358bf92301f06",
      "parents": [
        "8fbd36fe10a76cc770e9ae117411a67239eebbd4"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 26 15:17:03 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Mar 17 15:24:18 2023 +0000"
      },
      "message": "manibuilder/alpine: Fix SSL cert issues\n\nOnce more, try to find a way to build all the containers. They enabled a\nredirection from http to https recently and there is no option to skip\ncertificate checks. So the only move is to provide a current CA certifi-\ncate by ourselves. Note, the added certificate is the current Root CA\nof Let\u0027s Encrypt. Due to issues with the ca-certificates packages in\nAlpine v3.7, nothing using another Root CA will work this way.\n\nChange-Id: I3bb340428b863ea5e24ad6e1da6f3fe428eb187d\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73402\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "8fbd36fe10a76cc770e9ae117411a67239eebbd4",
      "tree": "ddff0334166dbfa732e4b62291ba5a4b14831fcc",
      "parents": [
        "abdb07fdd7e931e6e13122fad4f5d6e9f1633e00"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 26 20:57:32 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 16 23:09:46 2023 +0000"
      },
      "message": "dirtyjtag_spi: Add DJTAG2 support\n\nThe new DJTAG2 protocol supports special command modifiers to speed\nthings up:\n\n* NO_READ allows a write without returning the sampled MISO data.\n* EXTEND_LENGTH allows to send 32B extra per transfer.\n\nAs SPI flash commands are basically half-duplex, we utilize NO_READ\nto send all the write data in a first loop and then receive data in\na second loop. Only flash writes can benefit from this and due to\ntheir programming delay the difference is marginal ~2%.\n\nLong reads, OTOH, benefit from the increased transfer size and we\nare about 45% faster.\n\nTested with DJTAG2 on a Blue Pill (STM32F103).\n\nChange-Id: Ie38b309f5865c7704c6b2a85e7437fe2621623d3\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73265\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Jean THOMAS \u003cvirgule@jeanthomas.me\u003e\n"
    },
    {
      "commit": "abdb07fdd7e931e6e13122fad4f5d6e9f1633e00",
      "tree": "761b694bc084d07b94f23296fb719a4effbae304",
      "parents": [
        "6be0655ceb9e7de86c1a40b72d45b54a8fd7de60"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 26 17:09:34 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 16 23:09:46 2023 +0000"
      },
      "message": "dirtyjtag_spi: Add DJTAG version detection\n\nRead the version with CMD_INFO and set our `spi_master.command`\naccordingly.\n\nChange-Id: Idbbeb149b1c3d92354817a2c8db570426d834452\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73264\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Jean THOMAS \u003cvirgule@jeanthomas.me\u003e\n"
    },
    {
      "commit": "6be0655ceb9e7de86c1a40b72d45b54a8fd7de60",
      "tree": "d41d9b57cc4e561042e61a921a892bd58cf6ef03",
      "parents": [
        "a2eaf4aa0166e107b3a3f9c50040d1b983cf4622"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 12 00:18:09 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 16 21:49:52 2023 +0000"
      },
      "message": "spi95: Fix error return code of probe_spi_st95()\n\nProbing methods return 1 for success, 0 if nothing was found or\non error.\n\nChange-Id: I3e6242d24e1cf5fa75100ecc56de721248dca174\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72993\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "a2eaf4aa0166e107b3a3f9c50040d1b983cf4622",
      "tree": "0b0d4dc14d8898f4456705ab968d66e9a85cdc29",
      "parents": [
        "07dd1219ff158a63dc9fa2d0f32f91bb03d8722e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Feb 15 22:56:53 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 16 21:49:40 2023 +0000"
      },
      "message": "flashchips: Add entries for SST26VF016/032\n\nThey share a datasheet and look similar to the A/B variants that\nalready had entries but different IDs.\n\nChange-Id: I62ca123de917dc5c4766f3cf00a11d05b3befd4f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73043\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "07dd1219ff158a63dc9fa2d0f32f91bb03d8722e",
      "tree": "6727a19be021623cb27d4ce985da511351055237",
      "parents": [
        "da5daed724eeb11449b89d06618b2c4e77a7bb80"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 04 16:36:28 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 16 21:48:53 2023 +0000"
      },
      "message": "Makefile: Enable jlink_spi by default\n\nNow that we give proper hints in case of missing dependencies, we can\nenable the `jlink_spi` driver by default.\n\nChange-Id: Idb3d40ba39ef720093409158d39ec32266969410\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73447\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "da5daed724eeb11449b89d06618b2c4e77a7bb80",
      "tree": "ee4a1f57f987542f647791c73fc13e6149c4147e",
      "parents": [
        "aded7cc15ca380b22a08b10c92c12d48ac3e01d9"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 04 16:33:35 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 16 21:48:53 2023 +0000"
      },
      "message": "Makefile: Port library dependency checks to mark_missing_dep\n\nThe dependency checks have to be moved after setting the CONFIG_*\ndefaults so that we can alert the user of missing dependencies for\nthings that should be enabled by default.\n\nChange-Id: Ibf54b41b104a01029855f957c867208b36fe0714\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73446\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "aded7cc15ca380b22a08b10c92c12d48ac3e01d9",
      "tree": "6c03f6aeb32aa2743d6953968552a7116000294f",
      "parents": [
        "054c0b5c42b2a6dbf964eccc28a0640b0ea14559"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 04 16:06:11 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 16 21:48:53 2023 +0000"
      },
      "message": "Makefile: Add infrastructure to handle missing dependencies\n\nAdd a macro `mark_missing_dep` to gather information about missing\ndependencies for selected (default or explicit) features. If anything\nis tagged as missing, we print an error message and bail out.\n\nThis should make sure that we don\u0027t miss anything when building\nreleases. It comes with a slight inconvenience for casual builds:\nOne has to disable the affected features manually. This should be\nhandled better with Meson which discerns release builds by default.\n\nChange-Id: I7a816de20df4313985d7d270c08be1871616ea41\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73445\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "054c0b5c42b2a6dbf964eccc28a0640b0ea14559",
      "tree": "78aeb468db1a91c67921ff7269c726adf89160ff",
      "parents": [
        "aa5268df1dde6a952465e345bcdf806c22d3154b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 04 15:29:24 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 16 21:48:53 2023 +0000"
      },
      "message": "Makefile: Add missing semicolon after \u0027unsupported\u0027 message\n\nMake it bail out instead of printing \"exit 1\".\n\nChange-Id: I58c00eb7faa661351b1f00e477f0e8ccc08854a3\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73444\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "aa5268df1dde6a952465e345bcdf806c22d3154b",
      "tree": "45d2547b29ac97dc17f0bbe73ccfbd62a78aae54",
      "parents": [
        "71c97eebf266e1b682e4d1643b50cf4bc753b0be"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Mar 09 17:15:23 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Mar 16 21:48:53 2023 +0000"
      },
      "message": "Rename CONFIG_LINUX_GPIOD --\u003e CONFIG_LINUX_GPIO_SPI\n\nRename the config variable so it matches the programmer driver\u0027s name.\n\nChange-Id: I5cb44203dc9bb3db6de0c79e97435a376c059723\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73588\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "71c97eebf266e1b682e4d1643b50cf4bc753b0be",
      "tree": "c59ee9d66730dab1567cb1570afdcf494838472b",
      "parents": [
        "819ba502d65b46adb734375adb974a665ac9d349"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Mar 07 23:01:53 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Mar 15 00:08:27 2023 +0000"
      },
      "message": "test_build: Use Meson if present\n\nIf Meson is available, do a release build. Allow ${CPUS} to override\nthe number of Ninja jobs.\n\nChange-Id: Ie2afa3ceb31396822ac9a127011cb9a7fc92e988\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73574\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    }
  ],
  "next": "819ba502d65b46adb734375adb974a665ac9d349"
}
