)]}'
{
  "log": [
    {
      "commit": "610c1aad71bfa118c4f49ac01761f586b8dede69",
      "tree": "8ad4cfd904cf909526b32b03561ad369f42720d9",
      "parents": [
        "b95fe9b9751746b269a3bbd7021cf731d8553715"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Feb 15 02:56:05 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 15 14:27:20 2026 +0000"
      },
      "message": "spi: Pass master instead of flash to .send_command\n\nIn the SPI-master API, `.send_command` should only forward commands to\nthe SPI bus. All details about the commands and the SPI slave should be\nhandled in the chip driver. Hence, replace the `flashctx` pointer with\none to the `spi_master` to enforce proper separation.\n\nChange-Id: I50934a1294217794b7e23cc98ade7e4279c059a1\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/74897\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "d518563f197241cc72f5da4b2108b2df10f00372",
      "tree": "8ec807be43adf3b5c9f66a2701b7bf0ea3a4a11f",
      "parents": [
        "bd72a470b9b58386b52ca4568313be71b4d2c472"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jan 05 18:44:41 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jul 22 10:08:47 2024 +0000"
      },
      "message": "spi: Prepare for multi i/o and dummy bytes\n\nMulti-i/o commands split SPI transactions into multiple phases that\ncan be transferred over 1, 2 or 4 wires. For this, we adapt `struct\nspi_command` with a new enum, specifying the transfer mode, and ad-\nditional size fields.  While we are at it, move everything related\ninto a new header file `spi_command.h` so we won\u0027t further clutter\n`flash.h`.\n\nOn the master side, we add respective feature flags for the multi-\ni/o modes.\n\nSee also the comment in `spi_command.h` about multi-i/o commands.\n\nChange-Id: I79debb845f1c8fec77e0556853ffb01735e73ab8\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/44\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\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": "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": "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": "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": "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": "0cea753aff33b78051febadf8786df83144b5ee7",
      "tree": "8972ea6cf44e249659ddad7ea3d9aa2dedffc0b6",
      "parents": [
        "ab9f25893f1fa87cbbaf656869e346391eccdb31"
      ],
      "author": {
        "name": "Aarya Chaumal",
        "email": "aarya.chaumal@gmail.com",
        "time": "Mon Jul 04 18:21:50 2022 +0530"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 19 13:50:18 2023 +0000"
      },
      "message": "spi: Add function to probe erase command opcode for all spi_master\n\nAdd a field, probe_opcode, to struct spi_master which points to a\nfunction returning a bool by checking if a given command is supported by\nthe programmer in use. This is used for getting a whitelist of commands\nsupported by the programmer, as some programmers like ichspi don\u0027t\nsupport all opcodes.\n\nMost programmers use the default function, which just returns true.\nICHSPI and dummyflasher use their specialized function.\n\nflashrom-stable: Added `.probe_opcode` for `dirtyjtag_spi`, `ich7`.\n\nChange-Id: I6852ef92788221f471a859c879f8aff42558d36d\nSigned-off-by: Aarya Chaumal \u003caarya.chaumal@gmail.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/65183\nOriginal-Reviewed-by: Thomas Heijligen \u003csrc@posteo.de\u003e\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72539\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "0b587f921aebd36aaa9f69faea0d2601386d7379",
      "tree": "c13c57f89dd385d3ed1bd76893cf7a251f8eba1a",
      "parents": [
        "7310f19a07d70a16a0e6342ceb538854729282cd"
      ],
      "author": {
        "name": "Edward O\u0027Callaghan",
        "email": "quasisec@google.com",
        "time": "Fri Sep 09 23:01:05 2022 +1000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "spi: Make \u0027default_spi_write_aai\u0027 the default unless defined\n\nA NULL func pointer is necessary and sufficient for the\ncondition `NULL func pointer \u003d\u003e default_spi_write_aai\u0027 as to not\nneed this explicit specification of \u0027default\u0027.\n\nTherefore drop the explicit need to specify the \u0027default_spi_write_aai\u0027\ncallback function pointer in the spi_master struct. This is a reasonable\ndefault for every other driver in the tree with only a few exceptions.\n\nThis simplifies the code and driver development.\n\nflashrom-stable: Updated `dirtyjtag_spi` which was added earlier.\n\nChange-Id: I7f14aaea0edcf0c08cea0e9cd27d58152707fb2a\nSigned-off-by: Edward O\u0027Callaghan \u003cquasisec@google.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/67479\nOriginal-Reviewed-by: Peter Marheine \u003cpmarheine@chromium.org\u003e\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72369\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "621208c341cb400b9b13b5874da49504818a9f49",
      "tree": "1a851dd54e96add7fe6e30de98fe3b5e4424a775",
      "parents": [
        "56684d9a2ed8a0f878472d5aa0518a3200526812"
      ],
      "author": {
        "name": "Edward O\u0027Callaghan",
        "email": "quasisec@google.com",
        "time": "Wed Sep 07 22:21:39 2022 +1000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "drivers/: Make \u0027fallback_{un}map\u0027 the default unless defined\n\nDrop the explicit need to specify the default \u0027fallback_{un}map\u0027\ncallback function pointer from the \u0027programmer_entry\u0027 struct.\nThis is a reasonable default for every other driver in the tree\nwith only a select few exceptions [atavia, serprog, dummyflasher\nand internal].\n\nThus this simplifies driver development and paves way\nto remove the \u0027programmer\u0027 global handle.\n\nflashrom-stable: Updated `dirtyjtag_spi` which was added earlier.\n\nChange-Id: I5ea7bd68f7ae2cd4af9902ef07255ab6ce0bfdb3\nSigned-off-by: Edward O\u0027Callaghan \u003cquasisec@google.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/67404\nOriginal-Reviewed-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72360\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "56684d9a2ed8a0f878472d5aa0518a3200526812",
      "tree": "020c2d8db0e05a74981b5b381c37febd46fb796d",
      "parents": [
        "78ed668a924db5dd78c3530655127f895728fe59"
      ],
      "author": {
        "name": "Edward O\u0027Callaghan",
        "email": "quasisec@google.com",
        "time": "Wed Sep 07 10:47:45 2022 +1000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "drivers/: Make \u0027internal_delay\u0027 the default unless defined\n\nDrop the explicit need to specify the default \u0027internal_delay\u0027\ncallback function pointer in the programmer_entry struct.\nThis is a reasonable default for every other driver in the\ntree with only the two exceptions of ch341a_spi.c and serprog.c.\n\nThus this simplifies driver development.\n\nflashrom-stable: Updated `dirtyjtag_spi` which was added earlier.\n\nChange-Id: I17460bc2c0aebcbb48c8dfa052b260991525cc49\nSigned-off-by: Edward O\u0027Callaghan \u003cquasisec@google.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/67391\nOriginal-Reviewed-by: Peter Marheine \u003cpmarheine@chromium.org\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nOriginal-Reviewed-by: Thomas Heijligen \u003csrc@posteo.de\u003e\nOriginal-Reviewed-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\nOriginal-Reviewed-by: Nikolai Artemiev \u003cnartemiev@google.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72359\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "51264d5def2188624a3354c62722a95e64224645",
      "tree": "f8b01a56582b453253d7a7b09b26cedd61bbe96f",
      "parents": [
        "121a5b8d63008db1d179ab69fc1c6b39e03d575c"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "thomas.heijligen@secunet.de",
        "time": "Tue Sep 21 10:00:14 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "remove compile guards\n\nThe build system handles the decision when to build a file.\nExtra compile guards for the source files are not necessary.\n\nChange-Id: I76a76e05c7a7dd27637325ab1e9d8946fd5f9076\nSigned-off-by: Thomas Heijligen \u003cthomas.heijligen@secunet.de\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/57797\nOriginal-Reviewed-by:  Felix Singer \u003cfelixsinger@posteo.net\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72260\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "c63d9184aaef45d5a970f045ae901bf9f7221108",
      "tree": "424ae7b122e2ff722d5fdf3ba486b701bd9bd052",
      "parents": [
        "72c02ff4b0ea4111d4f2632ba102506683607749"
      ],
      "author": {
        "name": "Anastasia Klimchuk",
        "email": "aklm@chromium.org",
        "time": "Tue Jul 06 16:18:44 2021 +1000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "spi_master: Use new API to register shutdown function\n\nThis allows spi masters to register shutdown function in spi_master\nstruct, which means there is no need to call register_shutdown in init\nfunction, since this call is now a part of register_spi_master.\n\nAs a consequence of using new API, two things are happening here:\n1) No resource leakage anymore in case register_shutdown() would fail,\n2) Fixed propagation of register_spi_master() return values.\n\nBasic testing: when I comment out free(data) in linux_spi_shutdown, test\nfails with error\n../linux_spi.c:235: note: block 0x55a4db276510 allocated here\nERROR: linux_spi_init_and_shutdown_test_success leaked 1 block(s)\nMeans, shutdown function is invoked.\n\nTested:  1) builds and ninja test including CB:56911\n2) On ARMv7 device\nflashrom -p linux_spi -V\n-\u003e using linux_spi, chip found\n3) On x86_64 AMD device\nflashrom -p internal -V\n-\u003e this is actually using sb600spi, chip found\n\nflashrom-stable: Updated `dirtyjtag_spi` which was added earlier.\n\nChange-Id: Ib60300f9ddb295a255d5ef3f8da0e07064207140\nSigned-off-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/56103\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nOriginal-Reviewed-by: Edward O\u0027Callaghan \u003cquasisec@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72231\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "03f3a6d13e8bd62ef84ef6a4a6f21d6fb8b2a7b8",
      "tree": "0fc0ec55b781d30d58a9b2fbc4b2e0c1ec83aab2",
      "parents": [
        "5e08e3e829e3f736e18cef7b8f4a8929c9e06257"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 11 17:53:34 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "programmer: Make use of new register_spi_master() API\n\nPass pointers to dynamically allocated data to register_spi_master().\nThis way we can avoid some mutable globals.\n\nflashrom-stable: Updated `dirtyjtag_spi` and `dediprog`\n                 that were added/refactored earlier.\n\nChange-Id: Id7821f1db3284b7b5b3d0abfd878b979c53870a1\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/54067\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72200\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "5e08e3e829e3f736e18cef7b8f4a8929c9e06257",
      "tree": "cfe9483275582e2ff2a50628824cf8e842c1feef",
      "parents": [
        "6c33185c81f4aab0d048be7c4b68dca1a91800c2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 11 17:38:14 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "programmer: Smoothen register_spi_master() API\n\nIt was impossible to register a const struct spi_master that would\npoint to dynamically allocated `data`. Fix that so that we won\u0027t\nhave to create more mutable globals.\n\nChange-Id: I0c753b3db050fb87d4bbe2301a7ead854f28456f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/54066\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72179\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "518674c20d8dab1d6b877535b8b154079243fd32",
      "tree": "244af7cfe4453b930995f6a902ef1a9da321b9f0",
      "parents": [
        "f7a84fdb326446478f946cd4cd7c6bbadc56e86b"
      ],
      "author": {
        "name": "Nikolai Artemiev",
        "email": "nartemiev@google.com",
        "time": "Wed Jun 24 18:53:03 2020 +1000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 22 00:55:18 2023 +0000"
      },
      "message": "ft2232_spi.c: align with Chrome OS flashrom\n\nBrings over various changes:\n- Use DIS_DIV_5 constant\n- Update some comments\n- Wrap long lines\n\nflashrom-stable: Kept long lines\n\nSigned-off-by: Nikolai Artemiev \u003cnartemiev@google.com\u003e\nChange-Id: I24c20e9b5d7e661d0180699bbd0d1447f6bf816f\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/42796\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72161\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "7b83f3c2e3e201faf63c04b8ec2477eb3ebe9577",
      "tree": "1e0857735df89e5508adbc7240d7c253081d2cfc",
      "parents": [
        "d1ab7d2bb0c4ea7be2e251caa564ab91d27ee7ea"
      ],
      "author": {
        "name": "Felix Singer",
        "email": "felixsinger@posteo.net",
        "time": "Fri Aug 19 03:16:19 2022 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:35:01 2023 +0000"
      },
      "message": "ft2232_spi.c: Retype variable `clock_5x` with bool\n\nUse the bool type instead of an integer for the variable `clock_5x`,\nsince this represents its purpose much better.\n\nSigned-off-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\nChange-Id: Ie3005f9dcb2dcfe63261c52a36d865d175a0a75c\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/66895\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71486\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "24e1bbbbc48ae4ab51eed508d8e5288ad009193b",
      "tree": "eae17460b9eab81a921725bd47434b885d857257",
      "parents": [
        "5dc7d949366c84833d9bf84e0ff3bf7c347c9273"
      ],
      "author": {
        "name": "Jacek Naglak",
        "email": "jnaglak@tlen.pl",
        "time": "Wed May 18 02:25:13 2022 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:35:01 2023 +0000"
      },
      "message": "ft2232_spi.c: Add support for kt-link jtag interface\n\nChange tested writing, reading and erasing spi flashes\npinout:\n  jtag - spi\n 1 vcc - vcc, wp#, hold#\n 4 gnd - gnd\n 5 tdi - si\n 7 tms - cs#\n 9 tck - sck\n13 tdo - so\nConnect pins 9 and 12 in EXT connector for 3.3V power.\n\nSigned-off-by: Jacek Naglak \u003cjnaglak@tlen.pl\u003e\nChange-Id: Id58c675bc410ec3ef6d58603d13efc9ca53bb87c\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/64440\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71469\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "8efb0b337a46aaa5f2da902aa862d30e6a1305be",
      "tree": "66158792850ac6baa99ae42cfc0ac628d8c880dd",
      "parents": [
        "6fb2f6224e03c4a0688b883a01defdd0a59bb46b"
      ],
      "author": {
        "name": "Charles Parent",
        "email": "charles.parent@orolia2s.com",
        "time": "Mon Feb 28 14:55:58 2022 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:15:22 2023 +0000"
      },
      "message": "ft2232_spi.c: Add FTDI FT4233H\n\nChange tested to probe, read, write and erase a MT25QU256 through a\nFT4233H FTDI\n\nChange-Id: I73cee8fd2a6613a8fbc26508d99bbe67da2b4f72\nSigned-off-by: Charles Parent \u003ccharles.parent@orolia2s.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/62480\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71447\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "ece63c829acde03ed66ee00824d8b371af542333",
      "tree": "5a944aff6b54520105fd6c72892743ad3968c842",
      "parents": [
        "1da06355905f403a0206ca817ece534155b3c3c4"
      ],
      "author": {
        "name": "Michael Niewöhner",
        "email": "foss@mniewoehner.de",
        "time": "Tue Sep 21 20:15:32 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:15:22 2023 +0000"
      },
      "message": "ft2232_spi: reintroduce generic GPIOL control\n\nThis reintroduces a reworked version of the GPIOL pin control first\nintroduced in commit 3207844 (CB:49637), which was reverted in commit\n6518cf3 (CB:55692) due to breakage.\n\nThis change introduces a new argument `gpiolX` to allow use of the four\nGPIOL pins either as generic gpios or as additional CS# signal(s). `X`\nspecifies the GPIOL pin (0-3) to be set to one of [HLC] with the\nfollowing meaning:\n\n * H - set the pin as output high\n * L - set the pin as output low\n * C - use the pin as additional CS# signal\n\nThe third value, `C`, aims to replace the parameter `csgpiol`, that is\nnow marked as deprecated and can be removed at some point in the future.\n`gpiol` and `csgpiol` are mutually exclusive and use of both results in\nan error.\n\nMultiple pins may be set by specifying the parameter multiple times.\n\nDocumentation was updated/added accordingly.\n\nTest: All pin levels/modes have been verified to behave correctly with a\n      logic analyzer.\n\nChange-Id: I3989f0f9596c090de52dca67183b1363dae59d3a\nSigned-off-by: Alan Green \u003cavg@google.com\u003e\nSigned-off-by: Michael Niewöhner \u003cfoss@mniewoehner.de\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/57810\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71431\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "b50d9eb29c61993cae7c55e39d14c42406263328",
      "tree": "0f504b5eab82e2932a98cb2f2ac0018f7a3257b1",
      "parents": [
        "f0c03fb87d75a3be3a10dcd6abfc24a193dd2f93"
      ],
      "author": {
        "name": "Michael Niewöhner",
        "email": "foss@mniewoehner.de",
        "time": "Tue Sep 21 19:43:04 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:15:22 2023 +0000"
      },
      "message": "ft2232_spi: prevent use of reserved pins on some programmers\n\nOn some programmers an output buffer needs to be enabled by pulling a\ngpio high/low. This gpio can not be used for `csgpiol`. Prevent this by\nprinting an error.\n\nChange-Id: Ied450fa5ef358153adefec3beabc63a62c9f60cd\nSigned-off-by: Michael Niewöhner \u003cfoss@mniewoehner.de\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/57809\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71429\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "c2b303bba8bbb99bda6fee0383def382bb4db24d",
      "tree": "16ca0b80f727be7feb6d41ee12d52f98dc307985",
      "parents": [
        "7d973885e5c323ac64d5414f88289efdd4221753"
      ],
      "author": {
        "name": "Michael Niewöhner",
        "email": "foss@mniewoehner.de",
        "time": "Tue Sep 21 18:03:29 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:15:22 2023 +0000"
      },
      "message": "ft2232_spi: clarify the comment about gpio configuration\n\nThe comment explaining gpio levels might be easily misunderstood when\nthe reader misses the word `output`. Add an explicit description of\nhandling of the GPIOL* pins to avoid that and make things even more\nclear.\n\nChange-Id: Iaceec889a65ead8cdde917f61b2a9695d440f781\nSigned-off-by: Michael Niewöhner \u003cfoss@mniewoehner.de\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/57808\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71424\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "9fc8e258914a1e891fd4025a3d50edfa8153a141",
      "tree": "9636cc3c6b8dd8408740e0c6f0beb7905a98bf4f",
      "parents": [
        "d75e1b1fda75e3573140912cb0af246ccf86c8ee"
      ],
      "author": {
        "name": "Harry Johnson",
        "email": "johnsonh@waymo.com",
        "time": "Thu Jul 08 14:28:39 2021 -0700"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:15:22 2023 +0000"
      },
      "message": "ft2232_spi: Add FTDI search by description.\n\nThis adds to the search-by-serial functionality with\nsearch-by-description (product string). This is useful when e.g. one has\nmultiple FTDIs in a system and wants the serial numbers to reflect the\nsystem-level serial number, and the description to reflect the\nsubcomponent names.\n\nTested manually by running with both serial and description searches, on\na machine with multiple FTDIs plugged in. Ensured that when two devices\nwith the same vid/pid/serial number are plugged in, description can\nbe used to differentiate.\n\nVerifed no-description, no-serial, one FTDI plugged in base case works.\n\nOriginal version of this code used the original single \"arg\" char*, but\non further thought, this wasn\u0027t worth the readability and functionality\nlosses. The new version with arg2 gets rid of several lines of code, the\ngotos, and adds the ability to filter by both description and serial\nsimultaneously.\n\nChange-Id: Ib4be23247995710900175f5f16e38db577ef08fa\nSigned-off-by: Harry Johnson \u003cjohnsonh@waymo.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/56164\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71415\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "fda5f1f18d8e104cf9898f38a111f5d24dc9e31c",
      "tree": "139173f9b3d2266c08adad116859ccc5729a79d7",
      "parents": [
        "4c40a794b2cbe43f7b4e6533f6301fd2053e056c"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 20 16:46:31 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:15:22 2023 +0000"
      },
      "message": "ft2232_spi: Revise error message\n\nReword the message and drop the error string from libftdi. It is\nalready printed in send_buf().\n\nChange-Id: I125ae9ec0d5487fc26d588a7fd6c54da4ebd0d70\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/55697\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-by: Edward O\u0027Callaghan \u003cquasisec@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71395\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "4c40a794b2cbe43f7b4e6533f6301fd2053e056c",
      "tree": "0731a507e097a3efad890a6f97eff7af69c59558",
      "parents": [
        "cf88068581f75029314e1068626ab63795b52dd2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 20 16:38:57 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:15:22 2023 +0000"
      },
      "message": "ft2232_spi: Normalize error paths in ft2232_shutdown()\n\nWe missed to `free(spi_data)` on one path. It also seems odd to leak\nthe return code of a locally used library into our common infrastruc-\nture, so normalize all error paths to return 1.\n\nChange-Id: I5158d06127a9a8934b083e48b69d29c4d5a11831\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/55696\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-by: Edward O\u0027Callaghan \u003cquasisec@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71394\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "cf88068581f75029314e1068626ab63795b52dd2",
      "tree": "181f0a32f0615cdce48b11f68181d8d777f6cb0c",
      "parents": [
        "13b33bcf57f6dc3ea4edafc9dda34f3155d2dbbf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 20 15:59:57 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:15:22 2023 +0000"
      },
      "message": "ft2232_spi: Revise comments about output pin states\n\nThe meaning of the variables is easy to misunderstand as some\nstates are merely implicit: All output pins that are not set\nin the `cs_bits` mask will be constantly driven low. This may\nbe sheer coincidence as all programmers that need additional\npins driven use active-low signals to enable buffers.\n\nWhile other pins stay low, *all* pins set in the `cs_bits`\nmask are supposed to be toggled during SPI transactions.\n\nAlso drop some irritating dead code and try to explain things\nin a comment.\n\nChange-Id: I2b84ede01759c80f69d5ad17e43783d09ecd1107\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/55695\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71393\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "13b33bcf57f6dc3ea4edafc9dda34f3155d2dbbf",
      "tree": "c1ae50591e65a1084b34115b142bf3871e5e3093",
      "parents": [
        "fc16212c44a72ee8b67525020ca2e68ffc162733"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 20 13:20:33 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:15:22 2023 +0000"
      },
      "message": "ft2232_spi: Drop ft2232_spi_send_command()\n\nNow that ft2232_spi_send_multicommand() is implemented, we don\u0027t need\nthe single-command version anymore.\n\nChange-Id: I2e7fa1046e260f490b881a33e02ad73d16f0a30c\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/55684\nOriginal-Reviewed-by: Edward O\u0027Callaghan \u003cquasisec@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71392\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "fc16212c44a72ee8b67525020ca2e68ffc162733",
      "tree": "122f3ec3a34932b6485c84dfcaf4f5037dfb610e",
      "parents": [
        "db9be31735c8d4e018fefc615c83e570f49dbb7a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jun 20 13:09:30 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:15:22 2023 +0000"
      },
      "message": "ft2232_spi: Don\u0027t lower write data chunksize\n\nThis \"chunk size\" limits the amount of data that is passed to libusb\nat once. If we had exceeded the chunk size, libftdi would have split\nthe data into individual, synchronous bulk transfers. But the chunk\nsize was actually chosen to avoid this. So without any known effect,\nsetting the chunk size is useless. Drop it.\n\nChange-Id: I779e24dc3f3379a98ddce02c3765062ac3241884\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/55683\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nOriginal-Reviewed-by: Edward O\u0027Callaghan \u003cquasisec@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71391\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "db9be31735c8d4e018fefc615c83e570f49dbb7a",
      "tree": "1cb60f3310af75dcc24633626bfcde1e4091ab07",
      "parents": [
        "98bdcb46de824e6671671ed83465cec3087f69ba"
      ],
      "author": {
        "name": "Simon Buhrow",
        "email": "simon.buhrow@sieb-meyer.de",
        "time": "Fri Apr 09 14:48:39 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:15:22 2023 +0000"
      },
      "message": "ft2232_spi.c: Implement spi_send_multicommand()\n\nEvery ftdi_write_data() call is quite time consuming as the ftdi-chips\nseems to take always 2-3ms to respond. This leads to what the comment\nalready says: Minimize USB transfers by packing as many commands as\npossible together. So I packed the WREN command together with the\nfollowing operation which can be program or erase operation.\n\nThis saves about 1 minute when programming a 128MBit Flash within a\nvirtualized setup.\n\nSigned-off-by: Simon Buhrow \u003csimon.buhrow@posteo.de\u003e\nChange-Id: Ie4a07499ec5ef0af23818593f45dc427285a9e8a\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/40477\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71390\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "cc853d84ed2f8ecafc1f6daa443f8baa4c871805",
      "tree": "8e5f3e0b7a75d272a109e20af5aeeeec11dfebf7",
      "parents": [
        "7e1345602641114c8eeb5cfef992bf1da8d7fa6a"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "thomas.heijligen@secunet.de",
        "time": "Tue May 04 15:32:17 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:15:22 2023 +0000"
      },
      "message": "programmer_table: move each entry to the associated programmer source\n\nChange-Id: I3d02bd789f0299e936eb86819b3b15b5ea2bb921\nSigned-off-by: Thomas Heijligen \u003cthomas.heijligen@secunet.de\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/52946\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71373\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "44cfbb06284d4118d34fdbfc2cb1fd9b0de60462",
      "tree": "b79675d6ec8fca1a1abae236fbe59fd65023df60",
      "parents": [
        "acb24d435a4d2f523f7814adfd69b4aa7d8a97a2"
      ],
      "author": {
        "name": "Angel Pons",
        "email": "th3fanbus@gmail.com",
        "time": "Sat Apr 17 17:07:34 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:07:04 2023 +0000"
      },
      "message": "ft2232_spi.c: Fix typo in comment\n\nhis ---\u003e this\n\nChange-Id: Ibcc04a1581b3ba0dcd86e6f900c146823ebcd84a\nSigned-off-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/52471\nOriginal-Reviewed-by: Edward O\u0027Callaghan \u003cquasisec@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71345\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "e8106ba746046693fb8d3d2371ef2e07b221f085",
      "tree": "c3023d7fd1804ae111d56e4d6857ce9371a02005",
      "parents": [
        "7630390672170718d6114f1439705d03765ac036"
      ],
      "author": {
        "name": "Anastasia Klimchuk",
        "email": "aklm@chromium.org",
        "time": "Mon Apr 12 10:05:57 2021 +1000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:07:04 2023 +0000"
      },
      "message": "ft2232_spi.c: Refactor singleton states into reentrant pattern\n\nMove global singleton states into a struct and store within\nthe spi_master data field for the life-time of the driver.\n\nThis is one of the steps on the way to move spi_master data\nmemory management behind the initialisation API, for more\ncontext see other patches under the same topic \"register_master_api\".\n\nflashrom-stable:\n* Fix resource leaking\n* Fix return value on failed register_shutdown()\n* Re-add `ftdic` pointer to reduce diff noise\n* Drop redundant `c` from `ftdic_context`\n\nChange-Id: I67518a58b4f35e0edaf06ac09c9374bdf06db0df\nSigned-off-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/52256\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nOriginal-Reviewed-by: Edward O\u0027Callaghan \u003cquasisec@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71342\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "460c1c0462af16d04002deb0833aee3f3e42ff81",
      "tree": "7d00272d317ad120809076e08db86c75b518c641",
      "parents": [
        "0b1fb92b5e6e3a057709ab3b82032f81f2b564ec"
      ],
      "author": {
        "name": "Alan Green",
        "email": "avg@google.com",
        "time": "Fri Jan 08 09:36:45 2021 +1100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:07:04 2023 +0000"
      },
      "message": "ft2232_spi.c: release I/Os on shutdown\n\nReset FTDI I/O pins to high-Z (input) when shutting down. This allows\nother devices to use the SPI bus without having to disconnect the\nprogrammer.\n\nThis change will introduce a backward incompatibility in the case where\na user is relying on the state of FTDI outputs post-programming (eg. to\ndisallow another device from driving CS low).\n\nHowever, there are likely more cases where releasing the SPI bus is the\ncorrect thing to do.\n\nSigned-off-by: Alan Green \u003cavg@google.com\u003e\nChange-Id: I9fae55e532595752983f55fac2298f81699dbe5b\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/49632\nOriginal-Reviewed-by: Edward O\u0027Callaghan \u003cquasisec@chromium.org\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71338\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "6d42d2ba8c718c5123286401bbcc61b0142aecef",
      "tree": "ab5eae104b4b15f3b6512cb107eabf5f4dc970c6",
      "parents": [
        "739899a8ca23dd12430b1cb73b30960252ea8318"
      ],
      "author": {
        "name": "Angel Pons",
        "email": "th3fanbus@gmail.com",
        "time": "Tue Mar 31 15:34:35 2020 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:07:04 2023 +0000"
      },
      "message": "ft2232_spi.c: Improve handling of static buffer\n\nIf `buf` became NULL because of an error, subsequent calls to the\n`ft2232_spi_send_command` function with a smaller buffer size will\nresult in a null pointer dereference. Add an additional null check\nbefore using `buf` to prevent that. Moreover, use `size_t` for the\n`bufsize` and `oldbufsize` variables, as it\u0027s what `realloc` uses.\n\nChange-Id: Idc4237ddca94c42ce2a930e6d00fd2d14e4f125c\nSigned-off-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/39975\nOriginal-Reviewed-by: HAOUAS Elyes \u003cehaouas@noos.fr\u003e\nOriginal-Reviewed-by: Edward O\u0027Callaghan \u003cquasisec@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71308\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "eb75123e3cf94631d884f0ec711d25dc3230a638",
      "tree": "7de399cbe11cf9aabede37087d4ca8dfab52deed",
      "parents": [
        "77a2a6e43576ab3c3b31263ec7464e30fa62b44d"
      ],
      "author": {
        "name": "el-coderon",
        "email": "simon.buhrow@sieb-meyer.de",
        "time": "Fri Mar 20 18:52:15 2020 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:07:04 2023 +0000"
      },
      "message": "ft2232_spi.c: change the chunksize from 256 to 270\n\nThis is to really make use of page write time advantage.\nBecause the Chunksize must be 256Byte raw data plus the address and cmd bytes.\n\nFor details check:\nhttps://mail.coreboot.org/hyperkitty/list/flashrom@flashrom.org/message/W2HULJTDPHWPBZY6MLM6TGT7RTHSGHON/\n\nSigned-off-by: Simon Buhrow \u003csimon.buhrow@posteo.de\u003e\nChange-Id: Iac067a23025e9df053ab9cd4e82a98de70046c18\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/39632\nOriginal-Reviewed-by: David Hendricks \u003cdavid.hendricks@gmail.com\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71305\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "5eca427ae64519b70d1c4ccfb427305ca9974ba0",
      "tree": "1ca22ef1e0072a76650fdd182206844f8ebddd7d",
      "parents": [
        "1bbc501f79319cc6c8d839bc44fa55e96afab33a"
      ],
      "author": {
        "name": "Edward O\u0027Callaghan",
        "email": "quasisec@google.com",
        "time": "Sun Apr 12 17:27:53 2020 +1000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Dec 30 01:16:34 2022 +0100"
      },
      "message": "const\u0027ify flashctx to align signatures with cros flashrom\n\nThe ChromiumOS flashrom fork has since const\u0027ify flashctx\nin a few places. This aligns the function signatures to\nmatch with downstream to ease forward porting patches\nout of downstream back into mainline flashrom.\n\nThis patch is minimum viable alignment and so feedback is\nwelcome.\n\nChange-Id: Iff6dbda13cb0d941481c0d204b9c30895630fbd1\nSigned-off-by: Edward O\u0027Callaghan \u003cquasisec@google.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/40324\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/70933\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "7bd31a435b7c8f2b278b9e8233083ff2134abe2d",
      "tree": "a9f64423fa32bbb53adaa48eb08812d1274039b9",
      "parents": [
        "e28d75ed7204d7fac2c0fac13978098530b0574e"
      ],
      "author": {
        "name": "Russ Dill",
        "email": "Russ.Dill@gmail.com",
        "time": "Wed Oct 30 00:40:43 2019 -0700"
      },
      "committer": {
        "name": "David Hendricks",
        "email": "david.hendricks@gmail.com",
        "time": "Sun Dec 01 22:23:08 2019 +0000"
      },
      "message": "ft2232_spi: Add support for Tin Can Tools Flyswatter/Flyswatter 2\n\nThe Tin Can Tools Flyswatter and Flyswatter 2 have a FT2232H\nwith a  JTAG interface wired to port A. The buffers that drive the\nJTAG pins need to be enabled with an nOE signal from the\nFT2232H ADBUS6 and ADBUS7 pins.\n\nFlyswatter has an ARM-14 JTAG interface and Flyswatter 2 has\nan ARM-20 JTAG interface.\n\nChange-Id: I56b1fb76dcda32bb02980cd54a2853506bfc9dfd\nSigned-off-by: Russ Dill \u003cRuss.Dill@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom/+/36896\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "deeac7e41a311a0806af0e65a2ce5c6673f9cf92",
      "tree": "2ff1082bf9ed049c2863deff9a6d66b6980b1812",
      "parents": [
        "959aafa53eeae4f22766b9d098e5ca952af8c070"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Apr 22 00:09:42 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jun 27 10:25:15 2019 +0000"
      },
      "message": "spi: Drop spi_controller type\n\nNot needed anymore. Drop it fast before it encourages anyone to\nviolate layers again!\n\nChange-Id: I8eda93b429e3ebaef79e22aba76be62987e496f4\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom/+/33651\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "712ba3a0659a70c2e93a55d9e194b2fae6db28d1",
      "tree": "fe655d8877332059bcda1ea220466d2e45589d42",
      "parents": [
        "e276411e82588e93a8578b5eadd672ecd35058ee"
      ],
      "author": {
        "name": "Elyes HAOUAS",
        "email": "ehaouas@noos.fr",
        "time": "Sun Jun 09 17:11:49 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 21 15:08:58 2019 +0000"
      },
      "message": "ft2232_spi.c: Remove unneeded \u0027else\u0027\n\n\u0027else\u0027 is not needed after a \u0027break\u0027 or \u0027return\u0027.\n\nChange-Id: Ia4762d0c0601d56528de56658b869b62fbe5b263\nSigned-off-by: Elyes HAOUAS \u003cehaouas@noos.fr\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom/+/33346\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "4acc3f3a8990cda15f04e5eabf028c5cda0d6619",
      "tree": "ce763d072afff4636de2c9fc9f8622ebfc67cc18",
      "parents": [
        "73ab88d58ee6ca1f0a822faafe0b14996e65ddbf"
      ],
      "author": {
        "name": "Sergey Alirzaev",
        "email": "zl29ah@gmail.com",
        "time": "Wed Aug 01 16:39:17 2018 +0300"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Oct 08 14:01:08 2018 +0000"
      },
      "message": "ft2232_spi: add an ability to use GPIO for chip selection\n\nChange-Id: I6db05619e0d69ad18549c8556ef69225337b1532\nSigned-off-by: Sergey Alirzaev \u003czl29ah@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/28911\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "e083880279119677e443fc16b4694f8c81bf2c40",
      "tree": "03413b996779bc4c86ec41590f3e7bcdd97d0ef5",
      "parents": [
        "124ef38f7afc61ad7c713c22aad7c5c7f79bdb9b"
      ],
      "author": {
        "name": "Elyes HAOUAS",
        "email": "ehaouas@noos.fr",
        "time": "Mon Apr 02 11:14:02 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 24 20:21:41 2018 +0000"
      },
      "message": "Remove address from GPLv2 headers\n\nChange-Id: I7bfc339673cbf5ee2d2ff7564c4db04ca088d0a4\nSigned-off-by: Elyes HAOUAS \u003cehaouas@noos.fr\u003e\nReviewed-on: https://review.coreboot.org/25381\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "1cf407b4f8d56035816efaf936a40553441eca46",
      "tree": "c8e41e1172aaeb567af161a9763521c53073bdc4",
      "parents": [
        "ed098d62d66d91cf7330a37f9b83e303eb7f56d8"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Nov 10 20:18:23 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Jan 02 20:14:34 2018 +0000"
      },
      "message": "spi_master: Introduce SPI_MASTER_4BA feature flag\n\nAdd a feature flag SPI_MASTER_4BA to `struct spi_master` that advertises\nprogrammer-side support for 4-byte addresses in generic commands (and\nread/write commands if the master uses the default implementations). Set\nit for all masters that handle commands address-agnostic.\n\nDon\u0027t prefer native 4BA instructions if the master doesn\u0027t support them.\n\nChange-Id: Ife66e3fc49b9716f9c99cad957095b528135ec2c\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/22421\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: David Hendricks \u003cdavid.hendricks@gmail.com\u003e\n"
    },
    {
      "commit": "6800c953ef37820e2b0378ccb27064395d32ddf9",
      "tree": "8675d3d21b010cd74786f61fce00c5e8241573dd",
      "parents": [
        "e5dcc15beaca17c73795067bfec36be83b48c5b0"
      ],
      "author": {
        "name": "Todd Broch",
        "email": "tbroch@chromium.org",
        "time": "Sun Feb 14 15:46:00 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Feb 14 15:46:00 2016 +0000"
      },
      "message": "ft2232_spi: Add support for Google Servo boards (v1 + v2)\n\nThis patch has been cherry-picked from various patches in the chromiumos\ntree denoted below.\n\nChange-Id: I4b679e23ab37a4357b1e3d23f6f65a1c31f7d71a\nChange-Id: Ibda56201ab4519315431c08206c61ceffb7c7e65\nChange-Id: I540ad2d304dc69a7c79ca154beb744ef947ff808\n\nServo V2 has two FT4232H parts. The first one (denoted \u0027legacy\u0027) is\ndedicated to supporting orginal Servo V1 functionality. The second,\nresiding at USB ID 0x18d1:5003 provides two other SPI interfaces on\nport A and B respectively.\n\nAdditional changes by Alexandru Gagniuc, Hatim Kanchwala and Urja Rannikko:\n\n - The clock divisor is set to \u00276\u0027, as this creates a 10MHz SPI clock,\n   which is the same SPI clock that the chromiumos branch produced.\n - Add udev rule for Google servo boards to util/flashrom.rules.\n - Add Google servo entry to manpage.\n\nCorresponding to flashrom svn r1925.\n\nSigned-off-by: Todd Broch \u003ctbroch@chromium.org\u003e\nSigned-off-by: Alexandru Gagniuc \u003cmr.nuke.me@gmail.com\u003e\nSigned-off-by: Hatim Kanchwala \u003chatim@hatimak.me\u003e\nSigned-off-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nAcked-by: Hatim Kanchwala \u003chatim@hatimak.me\u003e\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "74dc73f6907ea159c0d5d221309e266528ea6134",
      "tree": "15dba04ff8d31e6a4dce586a520311cc9e58f1d7",
      "parents": [
        "adadca66f2ce2cb03ece016ab07fef604283c667"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 01 22:04:38 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 01 22:04:38 2015 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 23\n\nTested mainboards:\nOK:\n - Elitegroup GF7050VT-M\n   Reported by Alex\n - Fujitsu D2724-A1x (used in ESPRIMO E5625)\n   Reported by Rainer Spillmann\n - Teclast X98 Air 3G\n   Reported by Antonio Ospite\n\nFlash chips:\n - Fix MX25L6405(D) definition by splitting it.\n   Reported by Reggie McMurtrey\n - Add Macronix MX25L..08E family and rearrange MX25L6436E.\n - Pm49FL004 to PREW (+EW)\n   Reported by Georg Sauthoff\n\nMiscellaneous:\n - Add board enable for abit KN9 Ultra.\n - Mark ARM-USB-OCD as working OK.\n - Use \"mobile devices\" instead of \"laptops\" in output.\n - Tiny other stuff.\n\nCorresponding to flashrom svn r1886.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "05151b6dcbba16746aa803069dd6046a82e33599",
      "tree": "d652c4d3fdc85e6620a42a602a5e423f19528996",
      "parents": [
        "b4dd40c5da6e2bf862e587ec3c49d60bcec2f7ee"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jan 25 23:42:57 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jan 25 23:42:57 2015 +0000"
      },
      "message": "ftdi2232_spi: revert usage of DIS_DIV_5 macro\n\nIn r1872 we replaced some magic values with constant macros from\nftdi.h. Among them was DIS_DIV_5 that represents the opcode that\ndisables the use of the 5x prescaler on newer devices. Unfortunately\nthis macro was only introduced with support for FT232H and hence is\nnot available in older versions of the library. Revert back to using\nthe magic constant.\n\nCorresponding to flashrom svn r1873.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "b4dd40c5da6e2bf862e587ec3c49d60bcec2f7ee",
      "tree": "0b86b43f06def2e1c80b5ece8b94dd06e1b5a2f2",
      "parents": [
        "57f276f20831cd923f4dfa3e48cb974148b5daef"
      ],
      "author": {
        "name": "Antony Pavlov",
        "email": "antonynpavlov@gmail.com",
        "time": "Sun Jan 25 03:52:47 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jan 25 03:52:47 2015 +0000"
      },
      "message": "ft2232_spi.c: use constants from ftdi.h instead of magic numbers\n\nAlso, improve documentation of static variables cs_bits and pindir.\n\nCorresponding to flashrom svn r1872.\n\nSigned-off-by: Antony Pavlov \u003cantonynpavlov@gmail.com\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "6697f71ade7b6428c7be6051c02dbb9768900e04",
      "tree": "23a2f8596d493396b7d9571ee91888e3f49c49f9",
      "parents": [
        "88b19257cb41c97123d832460c944abc588a8e89"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Aug 06 15:09:15 2014 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Aug 06 15:09:15 2014 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 21\n\nTested mainboards:\nOK:\n - ASUS F2A85-M\n   Reported by various corebooters\n - ASUS M2N-MX SE Plus\n   Reported by Antonio\n - ASUS P5LD2\n   Reported by François Revol\n - Lenovo ThinkPad T530\n   Reported and partially authored by Edward O\u0027Callaghan\n - MSI MS-7502 (Medion MD8833)\n   Reported by naq on IRC\n - Shuttle AB61\n   Reported by olofolleola4\n - ZOTAC IONITX-F-E\n   Reported by Bernardo Kuri\n\nFlash chips:\n - Atmel AT45DB021D to PREW (+PREW)\n   Reported by The Raven\n - Atmel AT25F4096 to PREW (+PREW)\n   Reported by 공준혁\n - GigaDevice GD25Q16(B) to PREW (+PREW)\n   Reported by luxflow@live.com using a GD25Q16BSIG\n - Catalyst CAT28F512\n   Mark erase and write as known bad (not implemented)\n\nMiscellaneous:\n - Various spelling corrections by Daniele Forsi.\n - Added and refined a bunch of chips originally investigated by Carl-Daniel.\n - Marked the ARM-USB-OCD-H programmer as tested\n   (reported by Ruud Schramp).\n - Tiny other stuff.\n\nCorresponding to flashrom svn r1839.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "a5bcbceb581f27cfc0055369d3dd9cfd1ae00bfa",
      "tree": "5daecd880a16b7011be28e064fb7550f3e6b7e58",
      "parents": [
        "82b6ec1df30d3fca55547f230c76718d6e613b2a"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jul 19 22:03:29 2014 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jul 19 22:03:29 2014 +0000"
      },
      "message": "Rename programmer registration functions\n\nRegister_programmer suggests that we register a programmer. However,\nthat function registers a master for a given bus type, and a programmer\nmay support multiple masters (e.g. SPI, FWH). Rename a few other\nfunctions to be more consistent.\n\nCorresponding to flashrom svn r1831.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "c2eec2c92015785ead5a5bcba4ce3a42501084c8",
      "tree": "830a7bc9e2b33e1e56809979affa14d6ca0915bd",
      "parents": [
        "f80419c75a344b303275e380add3b8cb750bab9d"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat May 03 21:33:01 2014 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat May 03 21:33:01 2014 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 20\n\nTested mainboards:\nOK:\n - abit BX6 2.0\n   Reported by Stefan Tauner\n - Acer EM61SM/EM61PM (used in Acer Aspire T180)\n   Reported by Benjamin Bellec\n - ADLINK Express-HR\n   Reported by Obermair Thomas\n - ASUS M3N-H/HDMI\n   Reported by Franc Serres\n - Attro G5G100-P\n   Reported by Christoph Grenz\n - ASRock 960GM-GS3 FX\n   Reported by Fuley Istvan\n - Elitegroup P6BAP-A+ (V2.2)\n   Reported by Arnaldo Pirrone\n - Elitegroup GeForce7050M-M (V2.0)\n   Reported by Leif Middelschulte\n - Fujitsu D3041-A1 (used in ESPRIMO P2560)\n   Reported by Daggi Duck\n - GIGABYTE GA-8S648\n   Reported by TeslaBIOS\n - GIGABYTE GA-970A-D3P (rev. 1.0)\n   Reported by Jean-Francois Pirus\n - GIGABYTE GA-B85M-D3H\n   Reported by Mladen Milinković\n - GIGABYTE GA-X79-UD3\n   Reported by Jeff O\u0027Neil\n - GIGABYTE GA-X79-UP4 (rev. 1.0)\n   Reported by George Spelvin\n - GIGABYTE GA-Z68MA-D2H-B3 (rev. 1.3)\n   Reported by Vangelis Skarmoutsos\n - GIGABYTE GA-Z87-HD3\n   Reported by virii5\n - Lenovo Tilapia CRB\n   Reported by jenkins56 on IRC\n - MSI GT60-2OD (notebook, only with layout patches)\n   Reported by Vasiliy Vylegzhanin\n - MSI MS-6704 (845PE Max2 PCB 1.0) (Pure Version w/o raid)\n   Reported by professorll\n - MSI MS-7399 1.1 (used in Acer Aspire M5640/M3640)\n   Reported by Koen Rousseau\n - MSI MS-7125 (K8N Neo4(-F/FI/FX))\n   We had a board enable for that one for years, but it was not (and still is not)\n   completely clear which boards are covered.\n - MSI MS-7522 (MSI X58 Pro-E)\n   Reported by Gianluigi Tiesi\n - PCWARE APM80-D3\n   Reported by César Augusto Jakoby\n - Pegatron IPP7A-CP\n   Reported by Илья Шипко\n - Supermicro H8QME-2\n   Reported by Greg Tippitt\n - Supermicro X7SPA-H\n   Reported by Kyle Bentley\n - Supermicro X7SPE-HF-D525\n   Reported by Micah Anderson\n - Supermicro X8DTE\n   Reported by Mark Nipper\n - Supermicro X8SIL-F\n   Reported by Peter Samuelson\n - ZOTAC IONITX-A (-E) version\n   Reported by Maciej Wroniecki\nNOT OK:\n - Supermicro X10SLM-F\n   Reported by Micah Anderson\n\nFlash chips:\n - Atmel AT29C020 to PREW (+PREW)\n   It was marked like that in the past, but I could not find the reason why the\n   test bits were reset. Urja Rannikko tested it again and it still works.\n - Eon EN25F10 to PREW (+PREW)\n   Reported by Stolmár Tamás\n - Eon EN25QH64 to PR (+PR)\n   Reported by Vladimir \u0027φ-coder\u0027 Serbinenko\n - GigaDevice GD25Q32(B) to PREW (+PREW)\n   Reported by mrnuke\n - Macronix MX25L512(E)/MX25V512(C) to PREW (+PREW)\n   Reported by Jamie Nichol\n - Macronix MX25L2005(C) to PREW (+PREW)\n   Reported by Давыдов Дмитрий\n - Micron/Numonyx/ST N25Q064..1E to PREW (+PREW)\n   Reported by Paolo Zambotti\n - Pmc Pm25LD010(C) to PREW (+PREW)\n   Reported by Vasile Ceteras\n - Micron/Numonyx/ST M25P16 to PREW (+EW)\n   Reported by raven\n - Micron/Numonyx/ST M25PX64 to PREW (+W)\n   Reported by Zaolin\n - SST SST25VF020B to PREW (+PREW)\n   Reported by Michaël Zweers\n - SST SST49LF040 to PREW (+W)\n   Reported by Oskar Enoksson\n - Add support for MX25L3273E (evil twin of MX25L3205 et al.)\n   Also, add MX25L1673 and MX25L6473E to the names of their twins and\n   add a note about MX25L8073E.\n - Winbond W25X32 to PREW (+REW)\n   Reported by The Raven\n - Winbond W29C010 etc. to PREW (+W)\n   Reported by san\n\nChipsets tested OK:\n - Intel NM70 (8086:1e5f)\n   Reported by mrnuke\n - Intel C204 (8086:1c54)\n   Reported by Vasiliy Vylegzhanin\n - Intel QM67 (8086:1c4f)\n   Reported by Obermair Thomas\n - Intel HM77 (8086:1e57)\n   Reported by Vasiliy Vylegzhanin\n - Intel B85 (8086:8c50)\n   Reported by Mladen Milinković\n - Intel HM87 (8086:8c4b)\n   Reported by Vasiliy Vylegzhanin\n - Intel Z87 (8086:8c44)\n   Reported by virii5\n - NVIDIA MCP51 (10de:0261)\n   Reported by Marcin Kościelnicki\n - SiS 648 (1039:0648)\n   Reported by TeslaBIOS\n\nMiscellaneous:\n - Mark ARM-USB-TINY-H as tested in ft2232_spi (reported by _nanodev_).\n - getrevision.sh: Ignore failing date calls.\n - getrevision.sh: Fix -u and -l for older git versions which require \u003d for the\n   git log grep parameter.\n - Corrected K8T Neo2-F entries due to a report from Stelios Tsampas.\n - Add \"-p internal\" to output that requests users to send flashrom -V logs.\n - Add Macbook2,1, Thinkpad X230, EasyNote LM85 to laptop whitelist.\n - Tiny other stuff.\n\nCorresponding to flashrom svn r1783.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "b66ed84d193b8c0eddf5d946c6d2d94a8e8360ee",
      "tree": "ead673f7826ef594b48e43d3c5af0b0934b6a47e",
      "parents": [
        "59c4d790bd5cc172041f780e103a85eb1595c23f"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Apr 27 05:07:35 2014 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Apr 27 05:07:35 2014 +0000"
      },
      "message": "ft2232_spi: Add support for TUMPA Lite\n\nhttp://www.tiaowiki.com/w/TIAO_USB_Multi_Protocol_Adapter_Lite_User\u0027s_Manual\n\nInitial patch from Jadran Puharic \u003cjpuharic@gmail.com\u003e.\n\nCorresponding to flashrom svn r1781.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "4b24a2d70b79f3288370fd5b4f472bdf218f16e8",
      "tree": "b4ba0971a1d5ff2f8e1693ae66b33e8c8cda1843",
      "parents": [
        "af358d6af23b21f93f6e27278e76eec21a3d148f"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Dec 27 18:40:36 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Dec 27 18:40:36 2012 +0000"
      },
      "message": "Unify usbdev_status and pcidev_status into dev_entry\n\nOnce upon a time usbdev_status was created for the ft2232\nprogrammer. Its IDs are semantically different to pcidev_status\nbecause they indicate USB instead of PCI IDs, but apart from that\nboth data structures are equal. This change makes life easier for\neverything involved in handling and printing the status of devices\nthat is noted in those structures by combining them into dev_entry.\n\nIt is still possible to distinguish between PCI and USB devices\nindirectly by using the struct programmer\u0027s type field.\n\nAlso, add a programmer column to the PCI and USB devices lists.\n\nCorresponding to flashrom svn r1632.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "af358d6af23b21f93f6e27278e76eec21a3d148f",
      "tree": "be7adedc94b5c55dec0e7e1f1dae88ef4e127fad",
      "parents": [
        "a6d96480176417478350e97338451554b5450cba"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Dec 27 18:40:26 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Dec 27 18:40:26 2012 +0000"
      },
      "message": "Refactor PCI and USB device status printing\n\nTo be able to get rid of lots of #ifdefs and centralize programmer-specific\ndata more...\n - introduce two new fields to struct programmer_entry, namely\n   enum type (OTHER, USB, PCI) and union devs (pcidev_status, usbdev_status\n   or char *note).\n - use those fields to generate device listings in print.c and print_wiki.c.\n\nBonus: add printing of USB devices to print_wiki.c and count supported PCI\nand USB devices.\n\nCorresponding to flashrom svn r1631.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "d7d423bbc1d2564c60daaecd9ab1dca3843c5fea",
      "tree": "bc9d591677afbe3dae8f9a01a70f95f9487982a7",
      "parents": [
        "99f947ddc8156eb37b5dafc076480f405c9be0b6"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Oct 20 09:13:16 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Oct 20 09:13:16 2012 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 15\n\nTested Mainboards:\nOK:\n - Foxconn P55MX\n   http://www.flashrom.org/pipermail/flashrom/2012-October/010002.html\n\nTested flash chips:\n - Eon EN25F64 to PR (+PR)\n   http://paste.flashrom.org/view.php?id\u003d1426\n - Macronix MX25L1005 to PREW (+PREW)\n   http://www.flashrom.org/pipermail/flashrom/2012-October/010004.html\n - Set SST39VF512 to PREW (+W)\n   http://www.flashrom.org/pipermail/flashrom/2012-September/009958.html\n\nTested chipsets:\n - Z77 (only reading was really tested)\n\nMiscellaneous:\n - Fix ft2232_spi\u0027s parameter parsing.\n - Fix nicrealtek\u0027s init (always segfaulted since r1586 oops).\n - Add another T60 variant to the laptop whitelist.\n - Improve message shown when image file size does not match flash chip\n - Refine messages regarding the flash descriptor override strap according\n   to the findings by Vladislav Bykov on his P55MX.\n - Fix the ID of EN25F64.\n - Demote and clarify debug message in serprog_delay().\n - Minor other cleanups.\n\nCorresponding to flashrom svn r1613.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "3e515e288395aa30aff25bd6d6964eace0fea483",
      "tree": "27419f34f9fbb824e559bc5ffaf03013cbac724d",
      "parents": [
        "2c714ab2244ffd7c37c38bd13929eeb5ab43c357"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Sep 26 00:48:16 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Sep 26 00:48:16 2012 +0000"
      },
      "message": "Cleanup ft2322.c and add more detail to error messages\n\n - Use libftdi\u0027s error string to add more detail.\n - Add full stops to messages.\n - Minor white space fixes.\n\nCorresponding to flashrom svn r1610.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "2c714ab2244ffd7c37c38bd13929eeb5ab43c357",
      "tree": "c703559ce7f98d9060e975f1abe580da9c2131cf",
      "parents": [
        "fbc71ac494a798ed6b19f5895c0f4a5183e9866c"
      ],
      "author": {
        "name": "Ilya A. Volynets-Evenbakh",
        "email": "ilya@total-knowledge.com",
        "time": "Wed Sep 26 00:47:09 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Sep 26 00:47:09 2012 +0000"
      },
      "message": "Add support for FT232H\n\nFor older versions of libftdi we define TYPE_232H ourselves and this\nseems to be enough to get at least basic support (and we don\u0027t need\nmore than that AFAICT).\n\nCorresponding to flashrom svn r1609.\n\nSigned-off-by: Ilya A. Volynets-Evenbakh \u003cilya@total-knowledge.com\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "fbc71ac494a798ed6b19f5895c0f4a5183e9866c",
      "tree": "5db8dd8d0a8bbf9798cc0729383ec73a44d1620c",
      "parents": [
        "fd0d41353777804d890caf150c749da928da4d79"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Sep 26 00:46:02 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Sep 26 00:46:02 2012 +0000"
      },
      "message": "Add support for all 4 possible channels to the ft2232_spi programmer\n\nAdd a check to validate the selected channel/interface, which not even\nlibftdi seems to do yet.\nThis patch changes default behavior: the new default channel/interface is A.\nAlso, this patch uses the word \u0027channel\u0027 in addition or in place of \u0027interface\u0027\nwhere possible without too much hassle because it is the term FTDI uses.\n\nCorresponding to flashrom svn r1608.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "14fbc4b40045c6fcb345da52ab048d961fc15c6c",
      "tree": "a1a39f7057203e00122fba8868097a0a2d246a88",
      "parents": [
        "5bfef9d3211cc8a6d3ea3fae058c704f8ace4368"
      ],
      "author": {
        "name": "Shik Chen",
        "email": "shik@chromium.org",
        "time": "Mon Sep 17 00:40:54 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Sep 17 00:40:54 2012 +0000"
      },
      "message": "Allow to select FTDI device by serial number\n\nRequires libftdi \u003e 0.5 (2004, commit ID a8f46ddc1595b1b07abfcce613acdafe5b8ddf9d).\nIdea stolen from chromiumos commit 5eb5624aeb7e2ee483e2fa0823c4e634c8ea3e68:\nhttp://git.chromium.org/gitweb/?p\u003dchromiumos/third_party/flashrom.git;a\u003dcommit;h\u003d5eb5624aeb7e2ee483e2fa0823c4e634c8ea3e68\n\nCorresponding to flashrom svn r1599.\n\nSigned-off-by: Shik Chen \u003cshik@chromium.org\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "1c6d2ff03d16acf87c96d019153dcd10c779a5f6",
      "tree": "b211be01cc5f25fa78321dd434e42aafa9ea3f0e",
      "parents": [
        "6745d6f39d2642908035c7e4a6481f5349c767a7"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon Aug 27 00:44:42 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Aug 27 00:44:42 2012 +0000"
      },
      "message": "Some ISO C fixes\n\nThis patch just fixes a limited number of bits not conforming to c99 by using\n - __asm__ instead of just asm\n - {0} instead of {} for struct initialization\n - h_addr_list[0] instead of h_addr to access the host address in\n   struct hostent\n - #include \u003cstrings.h\u003e where needed (for ffs and strcasecmp)\n\nBased on a previous patch by Carl-Daniel.\n\nCorresponding to flashrom svn r1585.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "7c36d5265273479b4de8e3394d308744709d84de",
      "tree": "f88812d4a46f47a652718abd7f89e3c233569e81",
      "parents": [
        "8dd97f9c9e01a01cfd84ebbeb1bb936b55cb017a"
      ],
      "author": {
        "name": "Ilya A. Volynets-Evenbakh",
        "email": "ilya@total-knowledge.com",
        "time": "Tue Aug 14 01:32:46 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Aug 14 01:32:46 2012 +0000"
      },
      "message": "Call ftdi_set_interface right after ftdi_init and before ftdi_usb_open\n\nElse libftdi complains that it is impossible to set interface on an already\nopen device since 1c5fa36b67bc30742eee94ed3e3648fcd4640f24\n(which will probably end up in libftdi 0.21).\n\nCorresponding to flashrom svn r1573.\n\nSigned-off-by: Ilya A. Volynets-Evenbakh \u003cilya@total-knowledge.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "7bca126561b80f626dea269d7a6284a7cde0a8ed",
      "tree": "45c6b31e39846a88d89d157d758134d7b8dc1db1",
      "parents": [
        "3464d05eb41ab4c7a6faba9a1a36bfbeda0de850"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Jun 15 22:28:12 2012 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Jun 15 22:28:12 2012 +0000"
      },
      "message": "Let the programmer driver decide how to do AAI transfers\n\nCurrently spi_aai_write() is implemented without an abstraction\nmechanism for the programmer driver. This adds another function\npointer \u0027write_aai\u0027 to struct spi_programmer, which is set to\ndefault_spi_write_aai (renamed spi_aai_write) for all programmers\nfor now.\n\nA patch which utilises this abstraction in the dediprog driver will\nfollow.\n\nCorresponding to flashrom svn r1543.\n\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "3464d05eb41ab4c7a6faba9a1a36bfbeda0de850",
      "tree": "dc195de50c1c66b463986cdfaade23e127ee87c3",
      "parents": [
        "316fdfbf82a6183f75f4cca3e9fad0a21d3822e9"
      ],
      "author": {
        "name": "Ilya A. Volynets-Evenbakh",
        "email": "ilya@total-knowledge.com",
        "time": "Thu Jun 14 13:08:33 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jun 14 13:08:33 2012 +0000"
      },
      "message": "Fix setting the divisor in ft2232_spi\n\nThe patch that should have improved the clock divisor setting in r1537 made\nit much worse: the divisor used was from an uninitialized buffer.\n\nCorresponding to flashrom svn r1542.\n\nSigned-off-by: Ilya A. Volynets-Evenbakh \u003cilya@total-knowledge.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "b482c6d5c19bd60385ea7cfb7b889f683a0454e2",
      "tree": "e8b1e5c4405905162c711097d21308277170e05c",
      "parents": [
        "901a3ba023fd64e29309637f5ad835218e1bb2ac"
      ],
      "author": {
        "name": "Samir Ibradžić",
        "email": "sibradzic@gmail.com",
        "time": "Tue May 15 22:58:19 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue May 15 22:58:19 2012 +0000"
      },
      "message": "ft2232_spi.c: add frequency divisor parameter\n\nThis adds an optional argument when using the ft2232_spi programmer to set\nthe frequency divisor. The valid values for the divisor is any even integer\nbetween 2 and 131072.\n\nCorresponding to flashrom svn r1537.\n\nSigned-off-by: Samir Ibradžić \u003csibradzic@gmail.com\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "3cf335eba0067ad44bb32957a841decf1a52bc59",
      "tree": "22ca726858c8c2032b7b3a58343a29755deea7a6",
      "parents": [
        "64204b574528271d5be44febb87d40b1e7eb5de4"
      ],
      "author": {
        "name": "Paul Fertser",
        "email": "fercerpav@gmail.com",
        "time": "Tue Dec 20 02:08:14 2011 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Dec 20 02:08:14 2011 +0000"
      },
      "message": "ft2232_spi: fix arm-usb-ocd and arm-usb-ocd-h\n\nThese devices have an additional output buffer which is activated only\nby pulling ADBUS4 low. This patch was real-life tested with\narm-usb-ocd; arm-usb-ocd-h should be the same (as it shares the same\ndocumentation).\n\nCorresponding to flashrom svn r1478.\n\nSigned-off-by: Paul Fertser \u003cfercerpav@gmail.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "8a3c60cdd0e5632173567923ae1927763e31e857",
      "tree": "3a5514d022392cf4d8fa368f9f02653da21a93ca",
      "parents": [
        "63fd9026f1e82b67a65072fda862ba7af35839e1"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Dec 18 15:01:24 2011 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Dec 18 15:01:24 2011 +0000"
      },
      "message": "Add struct flashctx * parameter to all functions accessing flash chips\n\nAll programmer access function prototypes except init have been made\nstatic and moved to the respective file.\n\nA few internal functions in flash chip drivers had chipaddr parameters\nwhich are no longer needed.\n\nThe lines touched by flashctx changes have been adjusted to 80 columns\nexcept in header files.\n\nCorresponding to flashrom svn r1474.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "7189a5ff8cb8cfc33ef2c0be3268204064a2771b",
      "tree": "8b58adf2bf2f4fb2c54fb563a56558671ba722ba",
      "parents": [
        "d0c5dc23e25f33439dd6166a5798ffbcaabf67f8"
      ],
      "author": {
        "name": "Samir Ibradžić",
        "email": "sibradzic@gmail.com",
        "time": "Thu Oct 20 23:14:10 2011 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Thu Oct 20 23:14:10 2011 +0000"
      },
      "message": "Add support for the GOEPEL PicoTAP programmer\n\nhttp://www.goepel.com/en/jtagboundary-scan/hardware/picotap.html\n\nThis device is actually a JTAG adapter, but since it uses standard\nFT2232 A interface pins, it can be easily used as SPI programmer\n(tested it here successfully). PicoTAP supports only 5V output, so one\nneeds to reduce this to 3.3V in a same manner as DLP Design DLP-USB1232H, see\n\n  http://flashrom.org/FT2232SPI_Programmer#DLP_Design_DLP-USB1232H\n\nfor details.\n\nThe PicoTAP pin-out is as follows:\n\n  PicoTAP |  SPI\n ---------+-------\n    TCK   | SCLK\n    TMS   |  CS#\n    TDI   |  SO\n    TDO   |  SI\n   /TRST  |  -\n    GND   |  GND\n    +5V   |  VCC, HOLD# \u0026 WP# after 3.3V regulator\n\nI managed to run PicoTAP in 10MHz, 15MHz and 30MHz modes (by forcing\nDIVIDE_BY), against SST25VF016B SPI flash, read/write/erase all worked\nfine (write seems somewhat slow).\n\nCorresponding to flashrom svn r1453.\n\nSigned-off-by: Samir Ibradžić \u003csibradzic@gmail.com\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "836b26a423c5dad86646bc6bc24560d444181405",
      "tree": "a682fd11ab2f4aa6cb256187a565a5361359ec02",
      "parents": [
        "8c35745fcf3ed6eb2769beda0c8b941df07f6175"
      ],
      "author": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Fri Oct 14 20:33:14 2011 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Fri Oct 14 20:33:14 2011 +0000"
      },
      "message": "TIAO/DIYGADGET USB Multi-Protocol Adapter (TUMPA) support\n\nThanks to TIAO/DIYGADGET for sponsoring a test device!\n\nThis is an FTDI FT2232H based device which provides an easily accessible JTAG,\nSPI, I2C, serial breakout. The SPI part can be used to flash SPI flash chips\nusing flashrom.\n\nhttp://www.diygadget.com/tiao-usb-multi-protocol-adapter-jtag-spi-i2c-serial.html\nhttp://www.tiaowiki.com/w/TIAO_USB_Multi_Protocol_Adapter_User%27s_Manual#SPI_Connector_1\n\nThere are two SPI connectors (pin headers) on the board: SPI1, which is\nconnected to the FT2232H\u0027s A interface, and SPI2, which is connected to the\nchip\u0027s B interface. Both can be used to flash SPI chips:\n\n flashrom -p ft2232_spi:type\u003dtumpa,port\u003dA\n flashrom -p ft2232_spi:type\u003dtumpa,port\u003dB\n\nThe default interface is A, so for SPI1 you can also just write:\n\n flashrom -p ft2232_spi:type\u003dtumpa\n\nI tested all operations on both interfaces, everything works fine.\n\nCorresponding to flashrom svn r1451.\n\nSigned-off-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "a63c7c449646147efe2bdeb80efeed479dc1d328",
      "tree": "da1a452c658ecb3120fffe6d084a46a85d5792a4",
      "parents": [
        "082c8b559cd9f3262c9af58ac2f17f2cc8a09d8b"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Aug 16 12:08:22 2011 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Aug 16 12:08:22 2011 +0000"
      },
      "message": "Remove unneeded inclusions of chipdrivers.h\n\nThis is related to the spi split patch as discussed in:\nhttp://www.flashrom.org/pipermail/flashrom/2010-February/thread.html#2364\nthe old commit (r914) log notes:\n\"Some of the spi programmer drivers required chipdrivers.h, needs fixing later: it87spi.c\n  ichspi.c   sb600spi.c   wbsio_spi.c   buspirate_spi.c   ft2232spi.c   bitbang_spi.c   dediprog.c\"\n\nthere still remain a few cases where chipdrivers.h is needed:\ndediprog.c (spi_read_chunked and spi_write_chunked)\nit87spi.c (due to spi_write_enable and spi_read_status_register)\nwbsio_spi.c (spi_programmer registration only)\n\nbesides that, there are also non-spi files that do not need it.\nalso, add flash.h to chipdrivers.h because it uses some types of it\nand remove flashchips.h from print.c\n\nCorresponding to flashrom svn r1414.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "082c8b559cd9f3262c9af58ac2f17f2cc8a09d8b",
      "tree": "ce63847ee6cc1e63289e3f658a5d57ebd35b3619",
      "parents": [
        "0528b7fefa6daf35365c1dee0d21bc94e8120f78"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon Aug 15 19:54:20 2011 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon Aug 15 19:54:20 2011 +0000"
      },
      "message": "Fixup of r1397\n\n- Mixing uninitialized and initialized local variables leads to\n  confusion.\n- ft2232_spi error cases should have gotten some error handling, and\n  that\u0027s the reason the curly braces were there.\n- Fixing typos/wording in some places would have been nice given that\n  those places were touched anyway.\n\nCorresponding to flashrom svn r1413.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "0528b7fefa6daf35365c1dee0d21bc94e8120f78",
      "tree": "dd0dfd3a8cee05c22e09b94e670390b8c307b61d",
      "parents": [
        "1fd4f9e8336789974cc84919018545564d7dcc0e"
      ],
      "author": {
        "name": "Steve Markgraf",
        "email": "steve@steve-m.de",
        "time": "Fri Aug 12 01:19:32 2011 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Aug 12 01:19:32 2011 +0000"
      },
      "message": "ft2232_spi: add support for the Dangerous Prototypes Bus Blaster\n\nAdd support for the Dangerous Prototypes Bus Blaster (v1/v2).\nThe new model is called \"busblaster\".\nSo far only v2 has been tested, but since both v1 and v2\nemulate a Amontec JTAGKEY in the default configuration,\nit is assumed that v1 should work fine as well.\n\nInformation about the Busblaster can be found at:\nhttp://dangerousprototypes.com/docs/Bus_Blaster\n\nCorresponding to flashrom svn r1412.\n\nSigned-off-by: Steve Markgraf \u003csteve@steve-m.de\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "91f4afa1108a35783e9d3d546fe8ea41dc87708f",
      "tree": "a94991ce77532b8767d5d3c6ac0e9ab58f4b9a2c",
      "parents": [
        "1a227954f2c7d0a25d42bcea2ea0b901ceb0f464"
      ],
      "author": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Thu Jul 28 08:13:25 2011 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Thu Jul 28 08:13:25 2011 +0000"
      },
      "message": "Random whitespace and coding-style fixes\n\nAlso, indentation fixes, e.g. due to conversion to msg_*, use ARRAY_SIZE\nwhere possible, wrap overly long line, etc.\n\nCompile-tested. There should be no functional changes.\n\nCorresponding to flashrom svn r1397.\n\nSigned-off-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "274a20d7d29b2e82c01139599df85792c9e38540",
      "tree": "6c9e0859df93806c0bd8150fdb9cf0ad0b5c2d1f",
      "parents": [
        "ff80e68d48d05dc69c2d0b97f4af7e97573822da"
      ],
      "author": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Thu Jul 21 09:18:18 2011 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Thu Jul 21 09:18:18 2011 +0000"
      },
      "message": "ft2232_spi: Improve error handling, remove exit() calls\n\nIn order to make the ft2232_spi code more usable in libflashrom (e.g. from\nfrontends/GUIs) there must not be any exit() calls in the code, as that\nwould also terminate the frontend. Thus, replace all exit() calls with\nproper error handling code by returning a _unique_ negative error number,\nso that the frontend (and/or user/developer) can also know a bit more\nexactly _which_ error occured, not only _that_ an error occured.\n\nAlso, call ftdi_usb_close() before returning due to errors.\n\nCorresponding to flashrom svn r1377.\n\nSigned-off-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Tadas Slotkus \u003cdevtadas@gmail.com\u003e\n"
    },
    {
      "commit": "c0207069488ea2c1d6bb39dc02ad5370f82f1067",
      "tree": "a3ae2b2f99a995f1c5579ca8fa443d40a1d61290",
      "parents": [
        "5520694cabe74bdbc831aa5d857155edaf7731ce"
      ],
      "author": {
        "name": "Pete Batard",
        "email": "pbatard@gmail.com",
        "time": "Sat Jun 11 12:21:37 2011 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jun 11 12:21:37 2011 +0000"
      },
      "message": "Add support for Olimex programmers to ft2232_spi\n\n- add support for Olimex\u0027 ARM-USB-TINY, ARM-USB-TINY-H, ARM-USB-OCD\nAND ARM-USB-OCD-H and adjust man page - minor string change (\"First\nInternational Computer, Inc.\" -\u003e \"FIC\")\n\nCorresponding to flashrom svn r1331.\n\nSigned-off-by: Pete Batard \u003cpbatard@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "b9dbe48b77384e2faf0619161fc5c55afe388ea9",
      "tree": "8b556f82073e824bc1e9a4cc9547d67b1d902cee",
      "parents": [
        "627975196d0630a137548df631756e656a8139af"
      ],
      "author": {
        "name": "Michael Karcher",
        "email": "flashrom@mkarcher.dialup.fu-berlin.de",
        "time": "Wed May 11 17:07:07 2011 +0000"
      },
      "committer": {
        "name": "Michael Karcher",
        "email": "flashrom@mkarcher.dialup.fu-berlin.de",
        "time": "Wed May 11 17:07:07 2011 +0000"
      },
      "message": "Kill central list of SPI programmers\n\nRemove the array spi_programmer, replace it by dynamic registration\ninstead. Also initially start with no busses supported, and switch to\nthe default non-SPI only for the internal programmer.\n\nAlso this patch changes the initialization for the buses_supported variable\nfrom \"everything-except-SPI\" to \"nothing\". All programmers have to set the\nbus type on their own, and this enables register_spi_programmer to just add\nthe SPI both for on-board SPI interfaces (where the internal programmer\nalready detected the other bus types), as well as for external programmers\n(where we have the default \"none\").\n\nCorresponding to flashrom svn r1299.\n\nSigned-off-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "627975196d0630a137548df631756e656a8139af",
      "tree": "9a01302678ba2ba642040e928b89c8877c080412",
      "parents": [
        "b713d2e35c5336da81f5fbc83393961d1d8aa7bd"
      ],
      "author": {
        "name": "Michael Karcher",
        "email": "flashrom@mkarcher.dialup.fu-berlin.de",
        "time": "Wed May 11 17:07:02 2011 +0000"
      },
      "committer": {
        "name": "Michael Karcher",
        "email": "flashrom@mkarcher.dialup.fu-berlin.de",
        "time": "Wed May 11 17:07:02 2011 +0000"
      },
      "message": "Factor out SPI write/read chunking wrappers\n\nCorresponding to flashrom svn r1298.\n\nSigned-off-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "caf2d42d9a9654477bcbb27e2e3c5a8ab5fe7971",
      "tree": "b42c93aeb9f1345dcf0c4ec4bbc5b74593edad7d",
      "parents": [
        "b1b459ce0eb5e36848014195de3741e6794dc4ce"
      ],
      "author": {
        "name": "Alex Badea",
        "email": "vamposdecampos@gmail.com",
        "time": "Wed Nov 10 03:26:57 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Nov 10 03:26:57 2010 +0000"
      },
      "message": "Add support for the OpenMoko debug boards v2 and v3\n\nAdd support for the OpenMoko Neo1973/Neo FreeRunner debug board version\n2 or 3 (vid:pid 1457:5118).\n\nThe new type is called \"openmoko\".\n\nInformation about the debug board can be found at\nhttp://wiki.openmoko.org/wiki/Debug_Board_v3\n\nCorresponding to flashrom svn r1231.\n\nSigned-off-by: Alex Badea \u003cvamposdecampos@gmail.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "b1b459ce0eb5e36848014195de3741e6794dc4ce",
      "tree": "7d0939e37c2027618eeb7813bd2c61a3b2dd10e8",
      "parents": [
        "0b94d05c23e29cf630cff8cc3b10366d700cffeb"
      ],
      "author": {
        "name": "Alex Badea",
        "email": "vamposdecampos@gmail.com",
        "time": "Wed Nov 10 03:22:39 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Nov 10 03:22:39 2010 +0000"
      },
      "message": "Use device-specific vendor ID in ftdi_usb_open() call\n\nft2232_spi ftdi_usb_open() is called with the constant FTDI_VID vendor\nID.\n\nFix it by using the programmer-type-dependent ft2232_vid variable, to\nallow programmers with other vendor IDs.\n\nCorresponding to flashrom svn r1230.\n\nSigned-off-by: Alex Badea \u003cvamposdecampos@gmail.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "0b94d05c23e29cf630cff8cc3b10366d700cffeb",
      "tree": "b987b4df2ff807ffdae43324565ea48f3fe83c90",
      "parents": [
        "b9556e0fd4ab189b5d9dcb86b2bdbf8e5c584db7"
      ],
      "author": {
        "name": "Alex Badea",
        "email": "vamposdecampos@gmail.com",
        "time": "Wed Nov 10 03:18:41 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Nov 10 03:18:41 2010 +0000"
      },
      "message": "ft2232_spi: allow 5x clock divisor to be set at runtime\n\nCheck at init time whether the chip is a type \u0027H\u0027 (FT2232H or FT4232H).\nIf not, omit the disable-divide-by-5 (0x8a) command which can confuse\nolder chips.\n\nCorresponding to flashrom svn r1229.\n\nSigned-off-by: Alex Badea \u003cvamposdecampos@gmail.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "b9556e0fd4ab189b5d9dcb86b2bdbf8e5c584db7",
      "tree": "c1166ef08ed111353fef468d1e4ee5466bf411ba",
      "parents": [
        "db7afc59c9e376f4506e89939676d38b46353b2c"
      ],
      "author": {
        "name": "Alex Badea",
        "email": "vamposdecampos@gmail.com",
        "time": "Wed Nov 10 03:10:41 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Nov 10 03:10:41 2010 +0000"
      },
      "message": "Retry short reads in ft2232_spi\n\nIt is possible that ftdi_read_data() returns less data\nthan requested. Catch this case and retry reading the rest\nof the buffer.\n\nCorresponding to flashrom svn r1228.\n\nSigned-off-by: Alex Badea \u003cvamposdecampos@gmail.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "9e3a6c4913ab66965f91233c58ae47dc542ee475",
      "tree": "d6d5ae2d0520131ae33d0329e25fb715ba4e0584",
      "parents": [
        "ab6328fa3615683e5dbba0fffe8707fa0072d035"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Oct 08 12:40:09 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Oct 08 12:40:09 2010 +0000"
      },
      "message": "Multiple unrelated changes\n\nCONFIG_BITBANG_SPI was not selected if CONFIG_NICINTEL_SPI was on by default.\nWiki output was missing all flash chips if CONFIG_INTERNAL was not\nselected.\nUse correct type for toupper()/tolower()/isspace() functions.\nSpecify software requirements in a generic way.\nNon-x86 compilation does not work with the default programmer set, so\nlist the make parameters which result in a working build.\n\nCorresponding to flashrom svn r1203.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "a73fb4983df7284e3d0e0a3fa79aa197bed324db",
      "tree": "bb46efa05f3782f03b7aeaab68eac36af5344d31",
      "parents": [
        "f992c19fcaba3567fb11767ad0b9aaf22459abc2"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Oct 06 23:48:34 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Oct 06 23:48:34 2010 +0000"
      },
      "message": "Refine -L output to include all programmer modules\n\nFlashrom -L output did not contain a list of programmers nor were\nall programmers listed. Fix it and mention at least the name of each\nprogrammer. Wiki output is unchanged, and will need separate fixups.\n\nCorresponding to flashrom svn r1199.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "18430a08aa144ee4bb5c5192970f2327a18d1ef9",
      "tree": "d8bb91fbf705263eccba22046515c5208a115acb",
      "parents": [
        "602de9829cc730e3fbc401297419e9acdfb0fe83"
      ],
      "author": {
        "name": "Stefan Reinauer",
        "email": "stepan@coresystems.de",
        "time": "Wed Oct 06 02:56:44 2010 +0000"
      },
      "committer": {
        "name": "Stefan Reinauer",
        "email": "stefan.reinauer@coreboot.org",
        "time": "Wed Oct 06 02:56:44 2010 +0000"
      },
      "message": "Remove duplicate includes from the code\n\nCorresponding to flashrom svn r1196.\n\nSigned-off-by: Stefan Reinauer \u003cstepan@coresystems.de\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "16ce40ec4e4c236357bc3bf984757438aa8ff764",
      "tree": "fbfb6428bc8b4f2bc3347025f060d0fe2e7fe3f2",
      "parents": [
        "cbee4a7242c2c54d64ff22b08e023d0bcec2113a"
      ],
      "author": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Tue Oct 05 21:21:09 2010 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Tue Oct 05 21:21:09 2010 +0000"
      },
      "message": "Quick fix for broken writes on FT2232H based programmers\n\nNot sure if this is the final/correct fix, but for now it definately\nfixes writes on FT2232H hardware. I have tested this on both, the\nDLP Design DLP-USB1232H, and the openbiosprog-spi hardware.\n\nThanks to Joshua Roys \u003croysjosh@gmail.com\u003e for the hint on IRC.\n\nCorresponding to flashrom svn r1190.\n\nSigned-off-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "701452913c5e7df81e89205f632af929e2197401",
      "tree": "9b8276d72b06fc058bec5b5e330c23c051ecc152",
      "parents": [
        "49228cb826d954d37ab96087debbbb183fb4acb1"
      ],
      "author": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Thu Jul 29 19:57:55 2010 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Thu Jul 29 19:57:55 2010 +0000"
      },
      "message": "ft2232_spi: Cosmetic fixes\n\nVarious whitespace- and cosmetic fixes. Also, Use %04x:%04x for printing\nthe USB IDs (which are 4 hex digits long), not %02x:%02x.\n\nCorresponding to flashrom svn r1123.\n\nSigned-off-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "6529b9fdc2340d7cfee198eea77f38424acaef86",
      "tree": "a3a6767ea99a4711985bdf06d2b4424005ce88e8",
      "parents": [
        "116171275ca1262feb55d961d2dbb1232f73b29d"
      ],
      "author": {
        "name": "Jörg Fischer",
        "email": "turboj@gmx.de",
        "time": "Thu Jul 29 15:54:53 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Jul 29 15:54:53 2010 +0000"
      },
      "message": "Add support for the Amontec JTAGkey2\n\nAdd support for the Amontec JTAGkey2, see\nhttp://www.amontec.com/jtagkey2.shtml\nhttp://www.amontec.com/jtagkey.shtml.\n\nThis FTDI 2232H variant has an additional output enable, which will be\nset to its \"on\" (L) when CS is pulled low. But it lacks a power supply\nand you need an external 3.3V source.\n\nThe attached patch adds \"jtagkey\" as \"type\" parameter for ft2232_spi. It\nshould work with all JTAGkeys (JTAGkey, JTAGkey-tiny and JTAGkey2) but I\nonly have a JTAGkey2 here for testing.\n\nAdd all FT2232H/FT4232H based programmers to the list printed with\nflashrom -L\n\nCorresponding to flashrom svn r1119.\n\nSigned-off-by: Jörg Fischer \u003cturboj@gmx.de\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "5b997c3ed66ddbbb9470f27d4e27ab4c263bc9cf",
      "tree": "adbaace5de6bb0d97a58143c7e3ae775a15d47ff",
      "parents": [
        "1d3a2fefbc636fb569bd1d018fb97b1b17c08e99"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jul 27 22:41:39 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jul 27 22:41:39 2010 +0000"
      },
      "message": "Split off programmer.h from flash.h\n\nProgrammer specific functions are of absolutely no interest to any file\nexcept those dealing with programmer specific actions (special SPI\ncommands and the generic core).\n\nThe new header structure is as follows (and yes, improvements are\npossible):\nflashchips.h  flash chip IDs\nchipdrivers.h  chip-specific read/write/... functions\nflash.h  common header for all stuff that doesn\u0027t fit elsewhere\nhwaccess.h hardware access functions\nprogrammer.h  programmer specific functions\ncoreboot_tables.h  header from coreboot, internal programmer only\nspi.h SPI command definitions\n\nCorresponding to flashrom svn r1112.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "29a1c66a23bc8685f456d548361b735bf36dcf2b",
      "tree": "963d487fa71ce4b6ad998d89fde9e167ce11e6bb",
      "parents": [
        "ca812d40d461e70a70df6079978e96642775e7b2"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Jul 14 20:21:22 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Jul 14 20:21:22 2010 +0000"
      },
      "message": "Use generic unlocking infrastructure for SPI chips\n\nActually check if the unlock worked instead of just assuming it worked.\n\nCorresponding to flashrom svn r1082.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "9a795d83fbb8842a271d5e037dc983a57b0419fd",
      "tree": "a9049f708d0ab7d42d122fecd23855aaa819c5bc",
      "parents": [
        "1748c5701f77ab7164ab3311f37abc356d825ccb"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Jul 14 16:19:05 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Jul 14 16:19:05 2010 +0000"
      },
      "message": "Convert SPI chips to partial write\n\nHowever, wrap the write functions in a compat layer to allow converting\nthe rest of flashrom later. Tested on Intel NM10 by David Hendricks.\n\nCorresponding to flashrom svn r1080.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "2b6dcb36c4121ed12fa2fb66f133365bd88f2456",
      "tree": "bea24b22c91729fd1054a4d285bc8f051e5a8f3b",
      "parents": [
        "7af6cefa482d4ceadbd9b68d6db12ad9759c8b04"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Jul 08 10:13:37 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Jul 08 10:13:37 2010 +0000"
      },
      "message": "Unify programmer parameter extraction\n\nMake programmer_param static by converting all users to extract_programmer_param.\nProgrammer parameters can no longer be separated with a\ncolon, they have to be separated with a comma.\n\nCorresponding to flashrom svn r1072.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "744132af4b9f629716394f9c22f6add71cc73ef9",
      "tree": "46de6c5dc108fc2868603fdc606e7328a83f1703",
      "parents": [
        "d1be52d545329debd2128c1aa8685b31dfaa0a0e"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jul 06 09:55:48 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jul 06 09:55:48 2010 +0000"
      },
      "message": "Various places in the flashrom source feature custom parameter extraction from programmer_param\n\nThis led to wildly differing syntax for programmer parameters, and\nit also voids pretty much every assumption you could make about\nprogrammer_param. The latter is a problem for libflashrom.\n\nUse extract_param everywhere, clean up related code and make it more\nfoolproof. Add two instances of exit(1) where we have no option to\nreturn an error. Remove six instances of exit(1) where returning an\nerror was possible.\n\nWARNING: This changes programmer parameter syntax for a few programmers!\n\nCorresponding to flashrom svn r1070.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "ad3cc55e139b2e239325815464fe5f7d828aa794",
      "tree": "46568cf766d19740418be5ca8eaa494c7e69cc36",
      "parents": [
        "b63b067ae22803689592db482611093b33a29eef"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jul 03 11:02:10 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jul 03 11:02:10 2010 +0000"
      },
      "message": "Kill global variables, constants and functions if local scope suffices\n\nConstify variables where possible.\nInitialize programmer-related variables explicitly in programmer_init to\nallow running programmer_init from a clean state after\nprogrammer_shutdown.\nProhibit registering programmer shutdown functions before init or after\nshutdown.\nKill some dead code.\nRename global variables with namespace-polluting names.\nUse a previously unused locking helper function in sst49lfxxxc.c.\n\nThis is needed for libflashrom.\n\nEffects on the binary size of flashrom are minimal (300 bytes\nshrinkage), but the data section shrinks by 4384 bytes, and that\u0027s a\ngood thing if flashrom is operating in constrained envionments.\n\nCorresponding to flashrom svn r1068.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "71127727dcff4f7e70b318d7a5eb87f0c8fcc4d7",
      "tree": "ecd2ba9f67c51b833d22051628b79ccb1dcde0a2",
      "parents": [
        "a0020df6309e4536fcb97bd93bc46e2068f0ffe8"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon May 31 15:27:27 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon May 31 15:27:27 2010 +0000"
      },
      "message": "So far, we have up to 4 different names for the same thing (ignoring capitalization)\n\nCONFIG_FT2232SPI (makefile config option)\nFT2232_SPI_SUPPORT (#define)\nft2232spi (programmer name)\nft2232_spi.c (programmer file)\n\nUse CONFIG_* with underscores for makefile config options and #defines\nand kill the useless _SUPPORT idiom.\nUse lowercase names with underscores for programmer names and programmer\nfiles.\n\nWith this, you can run \"grep -i ft2232_spi\" and find everything related\nto the ft2232_spi driver. Same applies to all other programmers.\n\nCorresponding to flashrom svn r1023.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "5824fbff010076cc0d2a4387c1b2f54644ae5785",
      "tree": "73c903182e7400386453acfbd7c738b3361849ff",
      "parents": [
        "d175e06ac305274d8e1a8a4658f7f5518c89b801"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri May 21 23:09:42 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri May 21 23:09:42 2010 +0000"
      },
      "message": "Introduce a generic SPI read function: spi_write_chunked()\n\nEvery SPI programmer driver had its own completely different chip write\nimplementation, and all of them were insufficiently commented. Create\nspi_write_chunked as a copy of spi_read_chunked and convert all SPI\nprogrammers to use it. No functional changes except: - Bus Pirate uses\n12 Byte writes instead of 8 Byte writes - SB600 uses 5 Byte writes\ninstead of 1 Byte writes\n\nCorresponding to flashrom svn r1005.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\nAcked-by: David Hendricks \u003cdhendrix@google.com\u003e\n"
    },
    {
      "commit": "14ba6682e99273273be74b8e8681d0604b85e9b9",
      "tree": "cd0212ae1ffe83aaea0a5ca9f5e2be86615c471a",
      "parents": [
        "cfa674fde7ee763844f82e38503cd997a3951197"
      ],
      "author": {
        "name": "Sean Nelson",
        "email": "audiohacked@gmail.com",
        "time": "Fri Feb 26 05:48:29 2010 +0000"
      },
      "committer": {
        "name": "Sean Nelson",
        "email": "audiohacked@gmail.com",
        "time": "Fri Feb 26 05:48:29 2010 +0000"
      },
      "message": "Split spi.c into programmer and chip code Remove chipdriver.h include from flash.h\n\nSome of the spi programmer drivers required chipdrivers.h, needs fixing later:\n  it87spi.c\n  ichspi.c\n  sb600spi.c\n  wbsio_spi.c\n  buspirate_spi.c\n  ft2232spi.c\n  bitbang_spi.c\n  dediprog.c\n\nCorresponding to flashrom svn r914.\n\nSigned-off-by: Sean Nelson \u003caudiohacked@gmail.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "34b5db73be9c37e249e0f28b27792a3fbe4284a7",
      "tree": "00a6974fb535f94ad5604f6b29157fd769801014",
      "parents": [
        "74e8af5d324c486770981349c2a3d0dd5e6cd4ab"
      ],
      "author": {
        "name": "Sean Nelson",
        "email": "audiohacked@gmail.com",
        "time": "Sun Jan 10 01:08:37 2010 +0000"
      },
      "committer": {
        "name": "Sean Nelson",
        "email": "audiohacked@gmail.com",
        "time": "Sun Jan 10 01:08:37 2010 +0000"
      },
      "message": "Convert all messages in ft2232_spi.c to the new message infrastructure. \n\nFix one pinfo message to be pdbg.\n\nCorresponding to flashrom svn r854.\n\nSigned-off-by: Sean Nelson \u003caudiohacked@gmail.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "5609fa752ca1c36d00d915e94d481a9a457c85cf",
      "tree": "ff145bc4ed987c3c81870ddb6e7ce6a929ca9b47",
      "parents": [
        "a84835a7eadadb715a61d993da6766bdf1b37c5e"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Jan 07 03:32:17 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Jan 07 03:32:17 2010 +0000"
      },
      "message": "Allow one to disable programmer debug messages at compile time\n\nProgrammer debug messages during programmer init/shutdown are useful\nbecause they print hardware settings and desired configuration.\n\nThey help in getting a quick overview of hardware and software state on\nstartup and shutdown.\n\nProgrammer debug messages during flash chip access are mostly a\ndistraction in logs and should only be enabled if someone is having\nproblems which are suspected to stem from a programmer hardware or\nprogrammer software bug. Disable those messages by default, they can be\nreenabled by #define COMM_DEBUG in the affected programmer file.\n\nAn added benefit is a tremendous size reduction in verbose\nprobe/read/write/erase logs because only flash chip driver messages\nremain. In some cases, logs will shrink from 65 MB to 10 kB or less.\n\nThe right(tm) fix would be two different debug levels (DEBUG and SPEW)\nand the ability to differentiate between programmer debug messages and\nflash chip debug messages. Until the design for the message printing\ninfrastructure is finished, this is the best stop-gap measure we can\nget.\n\nCorresponding to flashrom svn r834.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Sean Nelson \u003caudioahcked@gmail.com\u003e\n"
    },
    {
      "commit": "b7e01457d12b64d98b0396f95e46489c02209982",
      "tree": "341176081702d03d5bfc3fc5eafbeea6618f5e0c",
      "parents": [
        "2925d6f11d1f7463385baeda6088b31d06be5714"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Nov 25 16:58:17 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Nov 25 16:58:17 2009 +0000"
      },
      "message": "Reduce realloc syscall overhead for FT2232 and bitbang\n\nFT2232 ran realloc() for every executed command. Start with a big enough\nbuffer and don\u0027t touch buffer size unless it needs to grow.\nBitbang was slightly better: It only ran realloc() if buffer size\nchanged. Still, the solution above improves performance and reliability.\n\nCorresponding to flashrom svn r780.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Sean Nelson \u003caudiohacked@gmail.com\u003e\n"
    },
    {
      "commit": "a2441cef65161f5d5b4b7a80de8379173a0d04cc",
      "tree": "308146989b09e70b55e8fb08efff1a19cb07420c",
      "parents": [
        "a4a9bfb2284403d44589b26700e1f8add3013352"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Nov 22 01:33:40 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Nov 22 01:33:40 2009 +0000"
      },
      "message": "ft2232_spi: add some error handling\n\nPretty much everybody who used the FT2232 SPI driver had problems with\nincorrect reads from time to time. One reason was that the hardware is\npretty timing sensitive even for reads.\n\nThe other reason was that the code silently ignored errors. This patch\ndoesn\u0027t add any error recovery, but it will emit error messages if\nFT2232 communication goes wrong. That allows us to track down errors\nwithout investing hours in driver debugging.\n\nThanks to Jeremy Buseman \u003cnaviathan@gmail.com\u003e for testing. He found out\nthat certain libftdi/libusb/kernel/hardware combinations drop some bytes\nwithout returning any error codes.\n\nCorresponding to flashrom svn r769.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Paul Fox \u003cpgf@laptop.org\u003e\n"
    },
    {
      "commit": "c67d03701b4348eee9dfd5e38733a1b0eda73d08",
      "tree": "a726b80cfc1783f06dbce9c1bbb8bc3df43f2da9",
      "parents": [
        "3a4781e76cce2d47865f8beca5b65fafa10de2cd"
      ],
      "author": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Thu Oct 01 18:40:02 2009 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Thu Oct 01 18:40:02 2009 +0000"
      },
      "message": "Cosmetics and small coding style fixes\n\nAlso, introduce BITMODE_BITBANG_SPI to eliminate a magic value.\n\nCorresponding to flashrom svn r742.\n\nSigned-off-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "ab044b20a2b44097ce65c3fd4f232ee7170303ba",
      "tree": "4d4e3556312edc4be7fc90d073a2fbb79d86d687",
      "parents": [
        "9e72aa51a7a9ac5f041bacab75fd4be1e2a3356c"
      ],
      "author": {
        "name": "Stefan Reinauer",
        "email": "stepan@coresystems.de",
        "time": "Wed Sep 16 08:26:59 2009 +0000"
      },
      "committer": {
        "name": "Stefan Reinauer",
        "email": "stefan.reinauer@coreboot.org",
        "time": "Wed Sep 16 08:26:59 2009 +0000"
      },
      "message": "Fix all remaining issues reported by LLVM/clang\u0027s scan-build\n\nCorresponding to flashrom svn r723.\n\nSigned-off-by: Stefan Reinauer \u003cstepan@coresystems.de\u003e\nAcked-by: Ronald G. Minnich \u003crminnich@gmail.com\u003e\n"
    },
    {
      "commit": "f38431a5b23e578cff1299b8d69e7d650c060b60",
      "tree": "293fe367a94034d5b17d622c33e0365ec1a9b871",
      "parents": [
        "c04ee22c7006d6e006086c40651b8761cea0fbfc"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Sep 05 02:30:58 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Sep 05 02:30:58 2009 +0000"
      },
      "message": "Store block sizes and corresponding erase functions in struct flashchip\n\nI decided to fill in the info for a\nfew chips to illustrate how this works both for uniform and non-uniform\nsector sizes.\n\nstruct eraseblock{\nint size; /* Eraseblock size */\nint count; /* Number of contiguous blocks with that size */\n};\n\nstruct eraseblock doesn\u0027t correspond with a single erase block, but with\na group of contiguous erase blocks having the same size.\nGiven a (top boot block) flash chip with the following weird, but\nreal-life structure:\n\ntop\n16384\n8192\n8192\n32768\n65536\n65536\n65536\n65536\n65536\n65536\n65536\nbottom\n\nwe get the following encoding:\n{65536,7},{32768,1},{8192,2},{16384,1}\n\nAlthough the number of blocks is bigger than 4, the number of block\ngroups is only 4. If you ever add some flash chips with more than 4\ncontiguous block groups, the definition will not fit into the 4-member\narray anymore and gcc will recognize that and error out. No undetected\noverflow possible. In that case, you simply increase array size a bit.\nFor modern flash chips with uniform erase block size, you only need one\narray member anyway.\n\nOf course data types will need to be changed if you ever get flash chips\nwith more than 2^30 erase blocks, but even with the lowest known erase\ngranularity of 256 bytes, these flash chips will have to have a size of\na quarter Terabyte. I\u0027m pretty confident we won\u0027t see such big EEPROMs\nin the near future (or at least not attached in a way that makes\nflashrom usable). For SPI chips, we even have a guaranteed safety factor\nof 4096 over the maximum SPI chip size (which is 2^24). And if such a\nbig flash chip has uniform erase block size, you could even split it\namong the 4 array members. If you change int count to unsigned int\ncount, the storable size doubles. So with a split and a slight change of\ndata type, the maximum ROM chip size is 2 Terabytes.\n\nSince many chips have multiple block erase functions where the\neraseblock layout depends on the block erase function, this patch\ncouples the block erase functions with their eraseblock layouts.\nstruct block_eraser {\n  struct eraseblock{\n    unsigned int size; /* Eraseblock size */\n    unsigned int count; /* Number of contiguous blocks with that size */\n  } eraseblocks[NUM_ERASEREGIONS];\n  int (*block_erase) (struct flashchip *flash, unsigned int blockaddr, unsigned int blocklen);\n} block_erasers[NUM_ERASEFUNCTIONS];\n\nCorresponding to flashrom svn r719.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Stefan Reinauer \u003cstepan@coresystems.de\u003e\n"
    }
  ],
  "next": "04aa59a8645510f212fc6a270b48a883f3d00fa5"
}
