)]}'
{
  "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": "211c6ec6011f554a5a9aeacdf0d2c410b343bb2a",
      "tree": "98aa11ff12be1c2dc721115c06584ea11c5ddee9",
      "parents": [
        "383b7fe197a781792d4eb42abe1e84551c2b5d0b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 12 01:05:47 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:50:41 2024 +0000"
      },
      "message": "serprog: Refine flushing before synchronization\n\nWe used to wait for 1s before flushing buffers of the tty layer.\nHowever, if the programmer had more data to send than would fit\ninto these buffers, it would continue to send after flushing the\nlatter. So we try to read all the data instead. The added loop\nreads up to 512KiB and stops when no data is received for 10ms.\nOverall, it should time out after at most 10s.\n\nTests show that an stm32-vserprog can be re-synchronized after\ninterrupted reads, where the old implementation failed. In case\nsynchronization is necessary, it also succeeds without notice-\nable delay.\n\nChange-Id: Iaa5dfceac0629381ca0924bb59b988525bacba3f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72996\nReviewed-by: Riku Viitanen \u003criku.viitanen@protonmail.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "383b7fe197a781792d4eb42abe1e84551c2b5d0b",
      "tree": "701fd0785f35754c18bde9421864bf94513ccc1b",
      "parents": [
        "d7318eabdc92bbe4e12838528d40f7f928511b69"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 12 00:38:55 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:50:41 2024 +0000"
      },
      "message": "serprog: Test synchronicity before trying to synchronize\n\nRun one test round ahead of trying to synchronize. If the test\nsucceeds, it saves us the 1s unconditional delay on startup.\n\nChange-Id: I5b727d299cac0cbeadab39af3975dfd8019db8d7\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72995\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Riku Viitanen \u003criku.viitanen@protonmail.com\u003e\n"
    },
    {
      "commit": "d7318eabdc92bbe4e12838528d40f7f928511b69",
      "tree": "17a8e0d36c17d35d383a3f8a21b72097e6821aa1",
      "parents": [
        "9a11cbf21a5078bcdb8db7584c44a9ee17020db4"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 12 00:30:31 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:50:41 2024 +0000"
      },
      "message": "serprog: Move synchronicity test into separate function\n\nExtract the sequence to test for synchronicity into a new\nfunction sp_test_sync().\n\nChange-Id: I9e4aac5b8ac524804a3a8989c2794cdfaacb7b32\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72994\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Riku Viitanen \u003criku.viitanen@protonmail.com\u003e\n"
    },
    {
      "commit": "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": "0e76d99a7c0eda11515923c5457f0b5a4af9893f",
      "tree": "c914d5266909dad441bece2705593131f032c19c",
      "parents": [
        "9eec40780207a110f3ba7ea70d11c042c6d86abf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 12 20:22:55 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "memory_bus: Move (un)map_flash_region into par master\n\nNow that the map/unmap_flash functions are only called from memory-\nmapped chip drivers, we can safely move the hooks into the parallel\nmasters.\n\nThis also allows us to move the code away from the globals in\n`flashprog.c` into a new `memory_bus.c`.\n\nChange-Id: Ic476cf4d96200232900537b997e1d07bb4e8b809\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72522\nReviewed-by: Riku Viitanen \u003criku.viitanen@protonmail.com\u003e\n"
    },
    {
      "commit": "ddb6d926783d4f9cbee04c7392718ed8f89daa0e",
      "tree": "4979302b7b8e3917bb6a01264983df6a34634aa2",
      "parents": [
        "ddfbbe84b41d6a2fa3e2e7d031f55a82e05e6c76"
      ],
      "author": {
        "name": "Riku Viitanen",
        "email": "riku.viitanen@protonmail.com",
        "time": "Mon Jan 15 19:15:49 2024 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jan 26 19:28:00 2024 +0000"
      },
      "message": "serprog: Add support for multiple SPI chip selects\n\nTested with an EN25F80, Pi Pico, and this serprog firmware:\nhttps://codeberg.org/Riku_V/pico-serprog/commits/branch/multi-cs\n\nChange-Id: If8052bc6f5c314dcc493bc083bb8270723efaae7\nSigned-off-by: Riku Viitanen \u003criku.viitanen@protonmail.com\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/51\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "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": "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": "3d5be0b5f65fe191839b567cfc3bc8b76abeeef5",
      "tree": "e49001b4796c9a0e54b21a6eda49dd8a0308ea50",
      "parents": [
        "433dc1c647f0601dd5c7aa5d0c0584dc6ef80c96"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "thomas.heijligen@secunet.de",
        "time": "Tue Oct 12 20:31:45 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "hwaccess: replace flashrom specific macros by compiler defines\n\nReplace the remaining IS_* macros with the associated compiler defines\n\nChange-Id: Ia0f022d12390722816066d292e1878824adc613c\nSigned-off-by: Thomas Heijligen \u003cthomas.heijligen@secunet.de\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/58280\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72248\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "c6ff17bc79f7d6019295c1e3ec5973d2f53f8009",
      "tree": "046085819074716e50b364eea081ac59d485c221",
      "parents": [
        "b131342f07e526e35cac4bae8f0c5c7c6dffdcf8"
      ],
      "author": {
        "name": "Anastasia Klimchuk",
        "email": "aklm@chromium.org",
        "time": "Mon May 24 09:55:03 2021 +1000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "serprog.c: Separate shutdown from failed init cleanup\n\nShutdown function was covering two different jobs here: 1) the actual\nshutdown which is run at the end of the driver\u0027s lifecycle and\n2) cleanup in cases when initialisation failed. Now, shutdown is only\ndoing its main job (#1), and the driver itself is doing cleanup\nwhen init fails (#2).\n\nThe good thing is that now resources are released/closed immediately\nin cases when init fails (vs shutdown function which was run at some\npoint later), and the driver leaves clean space after itself if init\nfails.\n\nAnd very importantly this unlocks API change which plans to move\nregister_shutdown inside register master API, see\nhttps://review.coreboot.org/c/flashrom/+/51761\n\nChange-Id: Idf4ed62c19667e18cc807913180c48cb8c978805\nSigned-off-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/54861\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/+/72207\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "b91a203091fc43824bc57f3c8e2db0bcc311da59",
      "tree": "8fffff062afae6b9ce853c69a6636bc33bcabbbc",
      "parents": [
        "03f3a6d13e8bd62ef84ef6a4a6f21d6fb8b2a7b8"
      ],
      "author": {
        "name": "Anastasia Klimchuk",
        "email": "aklm@chromium.org",
        "time": "Fri May 21 09:40:58 2021 +1000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "programmer: Smoothen register_par_master API\n\nIt was impossible to register a const struct par_master that would\npoint to dynamically allocated `data`. Fix that so that we won\u0027t\nhave to create more mutable globals.\n\nChange-Id: I95bc92f6c54c5bcdac1c522ca87054aaffed0f40\nSigned-off-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/54169\nOriginal-Reviewed-by: Edward O\u0027Callaghan \u003cquasisec@chromium.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72201\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\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": "815eb796ae636641db4c7bc74d867d31b2be4a6c",
      "tree": "840ea6f02d716d4d54c3c5f3831dc8db39f5da27",
      "parents": [
        "cf6b70883ea79aac874901184009a048bc46ec45"
      ],
      "author": {
        "name": "Felix Singer",
        "email": "felixsinger@posteo.net",
        "time": "Fri Aug 19 01:02:42 2022 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:35:01 2023 +0000"
      },
      "message": "serprog.c: Retype variable `have_device` with bool\n\nUse the bool type instead of an integer for the variable `have_device`,\nsince this represents its purpose much better.\n\nSigned-off-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\nChange-Id: Ia12f1503ae3f7be20a065f22b4ab84c4140cd23e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/66878\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/+/71480\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": "43040f297e68cd4d826d58f57566581ef902d179",
      "tree": "a8357aba5a8dbfd43f3e7949c865f2682bf5962d",
      "parents": [
        "4203a47a102e2622f404ee6567b240882d584116"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "thomas.heijligen@secunet.com",
        "time": "Thu Jun 23 14:38:35 2022 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:35:01 2023 +0000"
      },
      "message": "tree: indent struct *_master consistently with tabs\n\nUse `\u003ctab\u003e.key\u003ctab\u003e*\u003d \u003cvalue\u003e,`\n\nTEST: `make VERSION\u003d0 MAN_DATE\u003d0` returns the same flashrom binary\nbefore and after the patch\n\nChange-Id: I1c45ea9804ca09e040d7ac98255042f58b01f8ef\nSigned-off-by: Thomas Heijligen \u003cthomas.heijligen@secunet.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/65363\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/+/71466\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": "885917c1594fa68ddbf5213099d99167105c046b",
      "tree": "80e44186ee8a49d049673c79ba2395958b6662bc",
      "parents": [
        "f6c1cb1a856e67b8cf7eaf7a90b09bc3923a3718"
      ],
      "author": {
        "name": "aarya",
        "email": "aarya.chaumal@gmail.com",
        "time": "Thu Mar 10 09:16:44 2022 +0530"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:35:01 2023 +0000"
      },
      "message": "serprog.c: Avoid calling memcpy with NULL pointer arguments\n\nIn function sp_stream_buffer_op, the variable parms might be NULL when\npassed to memcpy. Although, since parmlen is also 0 at that time I\ndon\u0027t think it would make much difference. Still, add a NULL check\nbefore calling memcpy to be safe.\n\nChange-Id: I850123237e328f9548ba7f77a01888be2cbc9e7b\nSigned-off-by: Aarya Chaumal \u003caarya.chaumal@gmail.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/62726\nOriginal-Reviewed-by: Edward O\u0027Callaghan \u003cquasisec@chromium.org\u003e\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-by: Thomas Heijligen \u003csrc@posteo.de\u003e\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71456\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": "100be2cd19fe0024df82e64b52e24d3fd087720c",
      "tree": "32d00dba126e46499c46c4316eb233bbfc95589b",
      "parents": [
        "dd547c7de5402af4ecf0b1513a9302b95711c0eb"
      ],
      "author": {
        "name": "Felix Singer",
        "email": "felix.singer@secunet.com",
        "time": "Wed Oct 13 13:40:07 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:15:22 2023 +0000"
      },
      "message": "serprog: Move content of programmer specific header to C file\n\nMove the programmer specific code into serprog.c and remove its related\nheader file.\n\nChange-Id: I5c65f43db200129489d487ff948daa08bd0e92fa\nSigned-off-by: Felix Singer \u003cfelix.singer@secunet.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/58300\nOriginal-Reviewed-by: Thomas Heijligen \u003csrc@posteo.de\u003e\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71433\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": "f02db806eb522a748de702b96d08a8785e74df5d",
      "tree": "32400c650ef78ee97340acae6c53599d7602671a",
      "parents": [
        "c785f88929c6802e8e3715b04c2be394f680ce95"
      ],
      "author": {
        "name": "Anastasia Klimchuk",
        "email": "aklm@chromium.org",
        "time": "Mon May 24 10:07:56 2021 +1000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:15:22 2023 +0000"
      },
      "message": "serprog.c: Use braces in both branches of conditional statement\n\nAs per the coding style, if one branch of a conditional statement\nneeds braces, all other branches need to have braces as well.\n\nChange-Id: I4fdccbd66f0351af98811bf7c2d8e15f0a99d852\nSigned-off-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/54862\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/+/71360\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": "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": "519be66fc59558971dd653afe69ccaf1a633b492",
      "tree": "74f0912de156a86d56111f377db080246e5205e9",
      "parents": [
        "ef78de4a21323b8c459337356289218211f2c5ce"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Dec 23 20:03:35 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jul 31 08:26:59 2019 +0000"
      },
      "message": "Fix -Wsign-compare trouble\n\nMostly by changing to `unsigned` types where applicable, sometimes\n`signed` types, and casting as a last resort.\n\nChange-Id: I08895543ffb7a48058bcf91ef6500ca113f2d305\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom/+/30409\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Jacob Garber \u003cjgarber1@ualberta.ca\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": "ec819d6ccc2575f2b600b2570bb20ffde91e1bbf",
      "tree": "1a912f89cf703649bfa67967ac47637e540e6243",
      "parents": [
        "29e46d0aa6ec9ce0b5234bf3bdbd9f22c951252c"
      ],
      "author": {
        "name": "Elyes HAOUAS",
        "email": "ehaouas@noos.fr",
        "time": "Sun Jun 09 17:50:51 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 21 15:07:09 2019 +0000"
      },
      "message": "serprog.c: Remove unneeded \u0027else\u0027\n\n\u0027else\u0027 is not needed after a \u0027break\u0027 or \u0027return\u0027.\n\nChange-Id: I9015020889c25ecbd391a18f56f99affc8ea307d\nSigned-off-by: Elyes HAOUAS \u003cehaouas@noos.fr\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom/+/33348\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\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": "124ef38f7afc61ad7c713c22aad7c5c7f79bdb9b",
      "tree": "980f498681fcc053ec1e591e22bb16afbef0a191",
      "parents": [
        "3f7e3419887c6d37330387f8e32c86ba47bdf70c"
      ],
      "author": {
        "name": "Elyes HAOUAS",
        "email": "ehaouas@noos.fr",
        "time": "Tue Mar 27 12:15:09 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 24 20:18:58 2018 +0000"
      },
      "message": "Fix whitespace errors\n\nChange-Id: Ic2d3bb9d8581a0471a8568a130f893b34dddf113\nSigned-off-by: Elyes HAOUAS \u003cehaouas@noos.fr\u003e\nReviewed-on: https://review.coreboot.org/25380\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": "731316a9128c4015bc0facd1743afeb3a080129e",
      "tree": "841a0f5b86816f556254d45c26859981561c3c81",
      "parents": [
        "026c7416515985f47fe26a0478a37c0a1c2466c5"
      ],
      "author": {
        "name": "Urja Rannikko",
        "email": "urjaman@gmail.com",
        "time": "Thu Jun 15 13:32:01 2017 +0300"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jul 13 16:23:16 2017 +0000"
      },
      "message": "Enable continuous SPI reads\n\nPrevious unnecessary page-by-page reading is repurposed to\nread by big naturally aligned areas (now chip size limited\nto 16MB for future-proofing of 4 byte addressed multi-die chips)\nand serprog hack for continuous reads is removed.\n\nChange-Id: Iadf909c9216578b1c5dacd4c4991bb436e32edc9\nSigned-off-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/20223\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "23e10b87801c22f34642895de8b0b726265eb016",
      "tree": "2d62c23191801afaecbf98925effb8b8c7a44ab6",
      "parents": [
        "c2644a3fc14088a2535c05edbd56c041b3a7370d"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 23 16:16:49 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 23 16:16:49 2016 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 24\n\nTested mainboards:\nOK:\n - ASRock G31M-GS\n   Reported by Александр Трубицын\n - ASRock G41M-VS3\n   Reported by Александр Трубицын\n - ASRock N68C-S UCC\n   Reported by Alexey Belyaev\n - ASRock AMCP7AION-HT (ION 330HT(-BD))\n   Reported by Stefan Tauner\n - ASUS P5K SE\n   Reported by Александр Трубицын\n - ASUS P5KPL-VM\n   Reported by Marin Vlah\n - ASUS RAMPAGE III GENE\n   Reported by stevessss on IRC\n - GIGABYTE GA-945GM-S2\n   Reported by Александр Трубицын\n - GIGABYTE GA-945GCM-S2 (rev. 3.0)\n   Reported by Александр Трубицын\n - GIGABYTE GA-965P-S3\n   Reported by Александр Трубицын\n - GIGABYTE GA-EG43M-S2H\n   Reported by Александр Трубицын\n - GIGABYTE GA-EP31-DS3L (rev. 1.0)\n   Reported by Александр Трубицын\n - GIGABYTE GA-G33M-S2\n   Reported by Александр Трубицын\n - GIGABYTE GA-G33M-S2L\n   Reported by Александр Трубицын\n - GIGABYTE GA-H55M-S2\n   Reported by Александр Трубицын\n - GIGABYTE GA-J1900N-D3V\n   Reported by Marcos Truchado and Guillermo von Hünefeld\n - GIGABYTE GA-K8NS\n   Reported  by nicolae788\n - GIGABYTE GA-M56S-S3\n   Reported by Estevo Paz Freire\n - GIGABYTE GA-P31-DS3L\n   Reported by Александр Трубицын\n - GIGABYTE GA-P31-S3G\n   Reported by Александр Трубицын\n - MSI MS-7336\n   Reported by Benjamin Bellec\n - MSI X79A-GD45 (8D) (MS-7760)\"\n   Reported by mortehu on IRC\n - Supermicro A1SAi-2550F\n   Reported by Bernard Grymonpon\n - Supermicro X7DWT\n   Reported by Steven Stremciuc\n\nLaptop:\n - ASUS U38N\n   Reported by Ultra on IRC\n - Dell Latitude D630\n   Reported by Márton Miklós\n - Fujitsu Amilo Xi 3650\n   Reported by Elmar Stellnberger\n - Lenovo T400 (whitelisting only)\n\nChipsets:\n - Mark 8086:1f38 (Intel Avoton/Rangeley) as tested\n   Reported by Jeremy Porter and Bernard Grymonpon\n - Add Intel Sunrise Point IDs but no support yet.\n\nFlash chips:\n - Atmel AT45DB321D to PREW (+PREW)\n   Reported by The Raven\n - Eon EN25QH32 to PREW (+PREW)\n   Reported by Josua Mayer\n - Eon EN25QH64 to PREW (+EW)\n   Reported by David s. Alessio\n - GigaDevice GD25LQ64(B) to PREW (+PREW)\n   Reported by Greg Tippit\n - Intel 28F001BN/BX-T to PREW (+EW)\n   Reported by Lu Xie\n - Micron M25P10-A to PREW (+W)\n   Reported by the Raven\n - Micron M25PE40\n   Reported by David Wood\n - Micron N25Q128..3E to PREW (+PREW)\n   Reported by Miklós Márton\n - Macronix MX25L3273E to PREW (+PREW)\n   Reported by Roklobsta on IRC\n - Macronix MX23L6454 to PR (+PR)\n   Reported by Steven Honeyman\n - Macronix MX25U6435E/F to PREW (+PREW)\n   Reported by Marcos Truchado and Guillermo von Hünefeld\n - PMC Pm25LQ032C to PREW (+EW)\n   Reported by Dirk Knop\n - Spansion S25FL016A to PREW (+EW)\n   Reported by Márton Miklós\n - Spansion S25FL128S......0 to PREW (+PREW)\n   Reported by Jim Houston\n - Spansion S25FL204K to PR (+PR)\n   Reported by Thomas Debrunner\n - SST SST49LF016C to PREW (+EW)\n   Reported by Steven Stremciuc\n - SST SST39VF040 to PREW (+PREW)\n   Reported by Xavier Bourgeois\n - SST SST49LF040B to PREW (+EW)\n   Reported by Rikard Åhlund\n - ST M25P10-A to PREW (+W)\n   Reported by Martijn Schiedon\n - Winbond W39V040FA to PREW (+EW)\n   Reported by Евгений Черкашин\n - Winbond W39V080FA to PREW (+EW)\n   Reported by protagonist0 on IRC\n - Winbond W25Q80.W to PREW (+PREW)\n   Reported by Miklós Márton\n - Winbond W25X64 to PREW (+REW)\n   Reported by Johannes Krampf and Manuel Dejonghe\n - Fix ID of AMIC A25LQ64\n   Reported by Roman Titov\n - Fix page size of Spansion S25FL129P......1\n   Copy and paste error from the 128S uniform 256kB variant, probably.\n - Add Micron/Numonyx phase-change memory IDs\n\nMiscellaneous:\n - Detect Android target OS.\n   No changes are required to build flashrom (excluding programmers\n   with NEED_PCI) on Android.\n - Update rayerspi (spipgm) URL\n - Fix max_data_write handling of at45db.\n - Minor refinement of the README\n - Mark board enable for the GA-K8NS variants as tested.\n   Tested by \"nicolae788\" on a board with socket 754.\n - Mark \"Multi-system\" chassis as non-laptop case.\n - Remove W836xx log requests.\n   We got enough (and no one is looking at them for the time being anyway).\n - serprog: improve invalid reply error message, contributed by Urja Rannikko.\n - Remove default include paths for MinGW.\n - Disable implicit rules in the Makefile because we don\u0027t need them and they\n   just make the build (imperceptibly) slower.\n - Enable our own strnlen() implementation not only on DJGPP but also if\n   HAVE_STRNLEN is not defined. This is needed to get older BSDs\n   (e.g. NetBSD 6.0, FreeBSD \u003c 8.0) to work.\n - Tiny other stuff.\n\nCorresponding to flashrom svn r1917.\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": "27b431bceed902974ffcbe5fce474e3a8f193350",
      "tree": "cccdb3718ce2b2399efa0e011c6cca0ba41bc45e",
      "parents": [
        "72587f85ec0f85719c163905933e31a946f54bdf"
      ],
      "author": {
        "name": "Urja Rannikko",
        "email": "urjaman@gmail.com",
        "time": "Mon Jan 04 03:05:23 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 04 03:05:23 2016 +0000"
      },
      "message": "serprog: fix missing device parameter error message on Windows\n\nPreviously, flashrom -p serprog didnt notice a completely missing dev\u003d\nstring on Windows. Also, the error message shown if no device name\nfollowed contained a misleading \"/dev/...\".\n\nCorresponding to flashrom svn r1908.\n\nSigned-off-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "72587f85ec0f85719c163905933e31a946f54bdf",
      "tree": "65b772847d7325b0739a7a74a455644cca8db997",
      "parents": [
        "631bb021359e8bc85c40d4700ca276667c0f97ed"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 04 03:05:15 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 04 03:05:15 2016 +0000"
      },
      "message": "serprog: allow to omit specifying a baud rate\n\nOn USB-based serial connections (VCP) the requested baud rate usually\ndoes not matter (much). Remove the arbitrary restriction and use whatever\ndefault values the OS/hardware provides.\n\nCorresponding to flashrom svn r1907.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\n"
    },
    {
      "commit": "0b4ffd58aaca065c55a7933df286dbe275d9ebd7",
      "tree": "2efb5b97da732f7bb35990a4eb86cd1bf59f13e2",
      "parents": [
        "25e9f40e21e715e4ee6183a42c8521406f91b258"
      ],
      "author": {
        "name": "Urja Rannikko",
        "email": "urjaman@gmail.com",
        "time": "Mon Jun 29 23:24:23 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jun 29 23:24:23 2015 +0000"
      },
      "message": "serprog: Fix FWH/LPC by implementing serprog_map\n\nThe serprog protocol does only transmit 24 bit-wide address and ignores the\ntop 8 bit. This is fine as long as the underlying hardware ignores the latter\nanyway (which is the case for parallel chips that even lack the respective pins).\nFWH/LPC chips, however, operate on a full 32-bit (LPC) or 28-bit (FWH) address\nspace and would fail with the fallback mapping to NULL.\n\nCorresponding to flashrom svn r1895.\n\nSigned-off-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "b0eee9b8d649efc3db9a6c5f333b0fff5204a979",
      "tree": "fcba10fdf1451557f3bc58de6f39d669e5106c46",
      "parents": [
        "be62d3fc07194ec13f091aa06beff0a032f1a418"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 10 09:32:50 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 10 09:32:50 2015 +0000"
      },
      "message": "Unify target OS and CPU architecture checks\n\nWe do CPU architecture checks once for the makefile in arch.h and\nonce for HW access abstraction in hwaccess.c. This patch unifies\nrelated files so that they can share the checks to improve\nmaintainability and reduce the chance of inconsistencies.\nFurthermore, it refines some of the definitions, which\n - adds \"support\" for AARCH64 and PPC64,\n - adds big-endian handling on arm as well as LE handling on PPC64,\n - fixes compilation of internal.c on AARCH64 and PPC64.\n\nAdditionally, this patch continues to unify all OS checks in\nflashrom by adding a new helper macro IS_WINDOWS.\n\nThe old header file for architecture checking is renamed to platform.h\nto reflect its broader scope and all new macros are add in there.\n\nCorresponding to flashrom svn r1864.\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": "f80419c75a344b303275e380add3b8cb750bab9d",
      "tree": "124a732dd0d8c171b28649986c716af0477ca746",
      "parents": [
        "b66ed84d193b8c0eddf5d946c6d2d94a8e8360ee"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri May 02 15:41:42 2014 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri May 02 15:41:42 2014 +0000"
      },
      "message": "Make delay values unsigned\n\nThere is no reason for negative delays in our use cases:\n - We don\u0027t need it (to work around any quirks).\n - sleep() (POSIX) uses an unsigned argument.\n - usleep() (POSIX) uses an unsigned argument.\n - Sleep() (Windows) uses an unsigned argument.\n\nChange all callees as well (without any complications).\n\nCorresponding to flashrom svn r1782.\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": "907c3eb800a04c6266d1dae519cba2ba46de8f49",
      "tree": "d53f8c4d58abaf1c61e36d8300e46219be2b5a32",
      "parents": [
        "789ea5e9bbf5f19b56c0f55b795910a423fa2aed"
      ],
      "author": {
        "name": "Stefan Reinauer",
        "email": "stefan.reinauer@coreboot.org",
        "time": "Sat Apr 26 16:12:31 2014 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Apr 26 16:12:31 2014 +0000"
      },
      "message": "CID1129996: Unchecked return value from setsockopt() in serprog\n\nCorresponding to flashrom svn r1777.\n\nSigned-off-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "b879287c4275d324d21475bf14e66a20288ef3b6",
      "tree": "0f76d142e1153c8274a08ff44157366d11130e7d",
      "parents": [
        "a9c23427918159f5ddae861d9b6b30970e95fd34"
      ],
      "author": {
        "name": "Stefan Reinauer",
        "email": "stefan.reinauer@coreboot.org",
        "time": "Sat Apr 26 16:12:03 2014 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Apr 26 16:12:03 2014 +0000"
      },
      "message": "CID1130009: Resource leak in sp_opensocket()\n\nCorresponding to flashrom svn r1775.\n\nSigned-off-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "db4e87dccf040f29dca18571bc455ee23fb430eb",
      "tree": "d88ea1cd6abaa3cbad69fb447eb6dc0092fbb78e",
      "parents": [
        "6db8bad530612262a42c492f06816eb85b8598fc"
      ],
      "author": {
        "name": "Aidan Thornton",
        "email": "makosoft@gmail.com",
        "time": "Tue Aug 27 18:01:53 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Aug 27 18:01:53 2013 +0000"
      },
      "message": "Add support for Atmel AT45DB* chips\n\nCorresponding to flashrom svn r1723.\n\nSigned-off-by: Aidan Thornton \u003cmakosoft@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": "bdead0d27dc03c2f40b36d98dc94b717f38d56e7",
      "tree": "054c1e6873b476f147b9adbfdde01d38c09b878d",
      "parents": [
        "89edf36c177eec2b1a2cbbcaff48c4e9a946a190"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Aug 24 02:10:18 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Aug 24 02:10:18 2013 +0000"
      },
      "message": "Get rid of sp_die()\n\n- Add return values to sp_flush_stream(), sp_pass_writen(),\n  sp_execute_opbuf(), sp_execute_opbuf_noflush(),\n  sp_check_opbuf_usage(), sp_do_read_n().\n- Use those return values to propagate errors instead of exiting.\n  In some places this has to wait for core API changes (error handling for\n  chip_readb, chip_readn, chip_write) hence comments are added instead.\n\nCorresponding to flashrom svn r1719.\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": "0554ca5cd33fe2cc599cfdbe91fff03c8fa752c5",
      "tree": "1d37d76b5b3d810c6b2a1286a5de7c2b60ce69a0",
      "parents": [
        "305e0b999a7d452a845709d5558c17a31afe178c"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jul 25 22:54:25 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jul 25 22:54:25 2013 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 18\n\nTested mainboards:\nOK:\n - ASUS C60M1-I\n   http://www.flashrom.org/pipermail/flashrom/2013-February/010578.html\n - ASUS P8H77-I\n   http://www.flashrom.org/pipermail/flashrom/2013-March/010607.html\n - ASUS P8H77-M\n   http://www.flashrom.org/pipermail/flashrom/2013-May/010994.html\n - ASUS P8P67 LE (B2)\n   http://www.flashrom.org/pipermail/flashrom/2013-May/010972.html\n - Elitegroup GeForce6100PM-M2 (V3.0)\n   http://www.flashrom.org/pipermail/flashrom/2013-July/011177.html\n - GIGABYTE GA-P55A-UD7\n   http://www.flashrom.org/pipermail/flashrom/2013-July/011302.html\n - MSI B75MA-E33 (MS-7808)\n   http://www.flashrom.org/pipermail/flashrom/2013-March/010659.html\n - MSI H77MA-G43 (MS-7756)\n   http://www.flashrom.org/pipermail/flashrom/2013-April/010853.html\n - MSI KA780G (MS-7551)\n   http://paste.flashrom.org/view.php?id\u003d1617\n - SAPPHIRE IPC-E350M1\n   Reported by xvilka on IRC\n - Supermicro X8DTG-D\n   http://www.flashrom.org/pipermail/flashrom/2013-July/011305.html\nNOT OK:\n - ASRock Fatal1ty Z77 Performance\n   http://www.flashrom.org/pipermail/flashrom/2013-January/010467.html\n - ASRock Z68 Extreme4\n   http://www.flashrom.org/pipermail/flashrom/2013-May/010984.html\n - ASUS P8B75-M LE\n   http://www.flashrom.org/pipermail/flashrom/2013-April/010867.html\n - ASUS P8P67-M PRO\n   http://www.flashrom.org/pipermail/flashrom/2013-February/010541.html\n - ASUS P8Z68-V LE\n   http://www.flashrom.org/pipermail/flashrom/2013-February/010582.html\n - Intel DQ77MK\n   http://paste.flashrom.org/view.php?id\u003d1603\n - Supermicro X9DRD-7LN4F\n   http://paste.flashrom.org/view.php?id\u003d1582\n - Supermicro X9SCE-F\n   http://www.flashrom.org/pipermail/flashrom/2013-February/010588.html\n - Supermicro X9SCM-F\n   http://www.flashrom.org/pipermail/flashrom/2013-February/010527.html\n - Tyan S7066\n   http://www.flashrom.org/pipermail/flashrom/2013-March/010630.html\n\nChipsets:\n - Marked Intel B75 as tested\n   http://www.flashrom.org/pipermail/flashrom/2013-March/010659.html\n - Marked Intel H77 as tested\n   http://www.flashrom.org/pipermail/flashrom/2013-March/010607.html\n - Removed 10de:03e2 because it is apparently the MCP61 host bridge.\n   It was reclassified to Host Bridge in the PCI device ID database and there\n   is at least one report suggesting this configuration too:\n   http://www.flashrom.org/pipermail/flashrom/2012-August/009716.html\n - Added MCP89 which hopefully works with the code for previous versions.\n   Thanks to James Laird for submitting this change.\n\nTested flash chips:\n - Atmel AT25DF641(A) to PREW (+PREW)\n   http://www.flashrom.org/pipermail/flashrom/2013-June/011113.html\n - Atmel AT25F512 to PREW (+PREW)\n   http://www.flashrom.org/pipermail/flashrom/2013-April/010904.html\n   Also, change its ID according to Modification of PCN SC040401A:\n   \"There has been a change in the returned value of the Product Identification\n   (RDID) command, the AT25F512A RDID code is 65h compared to 60h from\n   the AT25F512 product.\"\n   It seems to be quite likely that all AT25F512 are fully functional relabeled\n   AT25F1024 chips. There are even some hints in the datasheet:\n   in table 6 they stress that address pin 16 needs to be low under all circum-\n   stances; while continuous reads can wrap around on the AT25F1024 the DS\n   notes \"For the AT25F512, the read command must be terminated when the\n   highest address (00FFFF) is reached.\" OTOH the lock bit semantics are\n   different, but this has not been tested thoroughly\n - Atmel AT25F512A to PREW (+PREW)\n   http://paste.flashrom.org/view.php?id\u003d1569\n - Eon EN25F05 to PREW (+PREW)\n   http://paste.flashrom.org/view.php?id\u003d1571\n - Macronix MX25L12805(D) to PREW (+REW)\n   http://www.flashrom.org/pipermail/flashrom/2013-April/010913.html\n - Spansion S25FL256S......0 and S25FL512S to P/!R!E!W (+P)\n   Tested by Stefan Tauner\n - Micron/Numonyx/ST M25PX80 to PREW (+PREW)\n   Tested by Stefan Tauner\n - Micron/Numonyx/ST N25Q032..3E and N25Q128..3E to PREW (+PREW)\n   Tested by Stefan Tauner\n - Micron/Numonyx/ST N25Q256..3E and N25Q512..3G to P/!R!E!W (+P)\n   Tested by Stefan Tauner\n - SST SST25VF040B to PREW (+PREW)\n   http://paste.flashrom.org/view.php?id\u003d1574\n - SST SST25VF040B.REMS to PREW (+EW)\n   http://paste.flashrom.org/view.php?id\u003d1575\n - ST M25P05-A to PREW (+PREW)\n   http://paste.flashrom.org/view.php?id\u003d1576\n - ST M29W512B to PREW (+W)\n   http://www.flashrom.org/pipermail/flashrom/2013-March/010635.html\n - Winbond W25Q64.W to PREW (+PREW)\n   Tested by the chromiumos guys.\n - Winbond W25Q128.V to PREW (+REW)\n   http://www.flashrom.org/pipermail/flashrom/2013-June/011108.html\n - Winbond W25X20 to PREW (+PREW)\n   http://www.flashrom.org/pipermail/flashrom/2013-May/010990.html\n\nMiscellaneous:\n - Add Lenovo X201 to the laptop whitelist.\n - Add chip IDs for the ESMT F25L..QA family.\n - Add chip IDs for a few Macronix MX25 models.\n - The list of flashchips is not sorted strictly alphabetically and should not be\n   either. Refine the comment explaining the scheme on top of the list.\n - Support -L output of chip sizes with up to 6 decimal places (up to 4 Gb).\n - Use z length modifier in (more) prints for size_t types.\n - Remove chips \u003e16MB again because our current implementation of memory mapping\n   the flash chip violates common rules by mapping a window as large as the chip.\n   This leads to failing mmaps as can be seen here:\n   http://paste.flashrom.org/view.php?id\u003d1695\n - Document spispeed parameter of linux_spi (and fix some leaks).\n - Rephrase the \"multiple chips detected\" message because it was confusing.\n - Skip verification step if the image is equal to the flash contents.\n - Tiny other stuff.\n\nCorresponding to flashrom svn r1702.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-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": "c2333751c411b5265326d866f810017cd561643c",
      "tree": "574e4a82e15854b6bc4393c5f56005fe2b4bda9c",
      "parents": [
        "11990da1d3a4ca913ed5b85888a37188c4a621db"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jul 13 23:31:37 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jul 13 23:31:37 2013 +0000"
      },
      "message": "Use uintptr_t for chipaddr instead of unsigned long\n\nCorresponding to flashrom svn r1698.\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": "52b6e9dc546d1c0958e03634eff47c71f460f8ac",
      "tree": "4ef6131df647e4c9fc9f5c312e583c2882afefde",
      "parents": [
        "f966cc48107d924f430dbd763bf470ee2ebaf0d1"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:46:05 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:46:05 2013 +0000"
      },
      "message": "Enable serprog on Windows\n\nSockets are not ported (yet).\n\nTested on Windows 7 with my Atmega32U2 serprog implementation.\nhttp://paste.flashrom.org/view.php?id\u003d1566\n\nCorresponding to flashrom svn r1665.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nSigned-off-by: Idwer Vollering \u003cvidwer@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "79587f565f59b2769dfb3a9550bab9de34287f86",
      "tree": "4e6aede830ce05da2f96a86595ed77ea6d5e5d36",
      "parents": [
        "ae3d83765cbb306696b3e0caa92e535e522b32d2"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:51 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:51 2013 +0000"
      },
      "message": "Replace native calls in serprog with wrapper calls\n\nRead(), write(), usleep() are replaced.\n\nCorresponding to flashrom svn r1663.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nSigned-off-by: Idwer Vollering \u003cvidwer@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "ae3d83765cbb306696b3e0caa92e535e522b32d2",
      "tree": "2777c097b70e61f9a39ca0bca327974038c2ee4a",
      "parents": [
        "00e1608501a0eb270df80a31f0dd0b327b202059"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:45 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:45 2013 +0000"
      },
      "message": "Introduce serialport_write_nonblock()\n\nIt seems useful to have a generic and platform-independent method to\nread and write to a serial port without blocking. This is the write part.\n\nThis allows to get rid of the explicit temporary disabling of blocking I/O in\nserprog\u0027s sp_synchronize().\n\nCorresponding to flashrom svn r1662.\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": "00e1608501a0eb270df80a31f0dd0b327b202059",
      "tree": "42c1c49a92dcdfe9a406f31f9adc8ea50ac8c666",
      "parents": [
        "da5b17c0a2c648c60272f92c9ecbcd10f4af8348"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:38 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:38 2013 +0000"
      },
      "message": "Replace sp_sync_read_timeout() with serialport_read_nonblock()\n\nIt seems useful to have a generic and platform-independent method to\nread and write to a serial port without blocking. This is the read part.\n\nIt stores the current blocking properties before disabling blocking and\nrestores them after reading. The timeout is implemented as previously\nby retrying every millisecond until the timeout is reached or enough\ncharacters are available.\n\nCorresponding to flashrom svn r1661.\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": "c6fa32d2b5c08d2fcc92fee2974a3fc02a3ca1f7",
      "tree": "7ac561c734007cfe88577cdad895f87524e3184f",
      "parents": [
        "5561955b1158e8bd29299735abef1e26a5a9cdbc"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jan 04 22:54:07 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jan 04 22:54:07 2013 +0000"
      },
      "message": "Introduce msg_*warn\n\nAlso, unify all outputs of \"Warning:\" and \"Error:\" to use normal\ncapitalization instead of mixing it with all capitals.\n\nCorresponding to flashrom svn r1643.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Idwer Vollering \u003cvidwer@gmail.com\u003e\n"
    },
    {
      "commit": "e34e3e8a49172ba09eb058c9a028706647dca165",
      "tree": "6aec75d2f7b08469e9b95a8844ba3ad9180c6b04",
      "parents": [
        "bcb2e5a7080cbe0ff21c8ffa5f77b5ba1ea0c472"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Jan 01 00:06:51 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Jan 01 00:06:51 2013 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 16\n\nTested Mainboards:\nOK:\n - Acer V75-M (used in IBM Aptiva 2170-G\n   http://www.flashrom.org/pipermail/flashrom/2012-December/010300.html\n - ASRock 4CoreDual-VSTA with W39V040FB\n   http://paste.flashrom.org/view.php?id\u003d1446\n - ASRock 775Dual-VSTA\n   http://www.flashrom.org/pipermail/flashrom/2012-December/010294.html\n - ASRock E350M1/USB3\n   http://paste.flashrom.org/view.php?id\u003d1465\n - ASUS P5B-VM\n   http://www.flashrom.org/pipermail/flashrom/2012-December/010351.html\n - ASUS SABERTOOTH 990FX R2.0\n   http://www.flashrom.org/pipermail/flashrom/2012-December/010210.html\n - Elitegroup A928 (including a laptop whitelist board enable)\n   http://www.flashrom.org/pipermail/flashrom/2012-November/010119.html\n - EVGA 122-CK-NF68\n   Reported by Stephanie Daugherty on IRC\n   http://paste.flashrom.org/view.php?id\u003d1431\n - GIGABYTE GA-A75M-UD2H\n   Reported by Soul_keeper on IRC\n   http://paste.flashrom.org/view.php?id\u003d1490\n - Intel D945GCNL\n   Add board enable to override laptop detection too.\n   http://www.flashrom.org/pipermail/flashrom/2012-December/010276.html\n - MSI G33M (MS-7357)\n   http://www.flashrom.org/pipermail/flashrom/2012-October/010056.html\n - Shuttle FB61\n   http://www.flashrom.org/pipermail/flashrom/2012-November/010105.html\n - Tyan S4882 (Thunder K8QS Pro)\n   Reported on IRC\nNOT OK:\n   Alienware Aurora-R2\n   http://www.flashrom.org/pipermail/flashrom/2012-December/010225.html\n   Biostar H61MU3\n   http://www.flashrom.org/pipermail/flashrom/2012-November/010144.html\n   Dell OptiPlex 7010\n   http://paste.flashrom.org/view.php?id\u003d1481\n   Intel DH67CL\n   http://www.flashrom.org/pipermail/flashrom/2012-November/010112.html\n   Supermicro X9DRT-HF+\n   http://www.flashrom.org/pipermail/flashrom/2012-November/010155.html\n   Supermicro X9DRW\n   http://www.flashrom.org/pipermail/flashrom/2012-November/010150.html\n\nTested flash chips:\n - Atmel AT25FS010 to PREW (+PREW)\n   http://paste.flashrom.org/view.php?id\u003d1484\n - Eon EN25F64 to PREW (+EW)\n   http://www.flashrom.org/pipermail/flashrom/2012-December/010210.html\n - Spansion S25FL032A/P to PREW (+EW)\n   http://paste.flashrom.org/view.php?id\u003d1510\n - ST M29F002T/NT to PREW (+PREW)\n   http://www.flashrom.org/pipermail/flashrom/2012-December/010300.html\n - Winbond W25X10 to PREW (+PREW)\n   http://paste.flashrom.org/view.php?id\u003d1486\n\nTested chipsets:\n - NVIDIA MCP78S http://www.flashrom.org/pipermail/flashrom/2012-November/010176.html\n - SiS 650 http://www.flashrom.org/pipermail/flashrom/2012-November/010119.html\n\nMiscellaneous:\n- Typo in GA-X58A-UDR3 (correct is GA-X58A-UD3R).\n- Force 2-digit hex numbers in prints were it makes sense.\n- Share code between enable_flash_sis530() and enable_flash_sis540().\n- Some SST 25 series chips support both WRSR enable commands...\n- S25FL032A and S25FL064A share the IDs with their P versions, so rename them.\n- Fix a few memleaks in serprog.\n- Dediprog uses UINT_MAX so include limits.h (fixes the Windows build of dediprog)\n- Add (another) hint regarding the mandatory -p parameter to the manpage\n  to make Debian bug #690478 happy.\n  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug\u003d690478\n- Fix whitespace issues.\n- On shutdown, reset count of registered programmers (by Nico Huber)\n- Fix atahpt.c shutdown.\n  The order of pcidev_init, register_shutdown and rpci_write_* is important!\n  Thanks to Roy for reporting the problem and testing the fix.\n\nCorresponding to flashrom svn r1640.\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": "acfc4c6c2fb66e8142df8ed69aa8c6374abc871a",
      "tree": "5ff0aa18b77638d51e0870ca1f1229fd393809f0",
      "parents": [
        "62574aa5c0bf0df43a2ed0182562f17f30825f0d"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Nov 30 16:46:45 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Nov 30 16:46:45 2012 +0000"
      },
      "message": "Fix sp_openserport users on Windows\n\nCorresponding to flashrom svn r1627.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Idwer Vollering \u003cvidwer@gmail.com\u003e\n"
    },
    {
      "commit": "92fefc921a602acb89a897193c9f31fbb78d85b5",
      "tree": "abf7f12e3a23e8447c556603dce6de5ed5509e75",
      "parents": [
        "0d82e952f2a896aefa1187e53b0ec6d6d559fe9b"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Oct 27 00:34:23 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Oct 27 00:34:23 2012 +0000"
      },
      "message": "serprog: add opcode to control the programmer\u0027s output drivers\n\nThis allowed me to let the clips remain attached on my D946GZIS while\nplaying with coreboot/serialice.\n\nCorresponding to flashrom svn r1618.\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": "0d82e952f2a896aefa1187e53b0ec6d6d559fe9b",
      "tree": "5ff85d0f98f3e30909ff2a4d38d159405e424c48",
      "parents": [
        "94b39b47e475d3d8f153acea4a3fdcd6bbc81ea7"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Oct 27 00:34:18 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Oct 27 00:34:18 2012 +0000"
      },
      "message": "serprog: move the macro list to its own header file\n\nCorresponding to flashrom svn r1617.\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": "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": "7145a50f5315c2f2a04d31c4d93e8e1387c9948d",
      "tree": "1b0eeb996e3bab8ee51af96ae9b0a5c007d095ee",
      "parents": [
        "d932fd0d8cad0c185b7167e44512c9d1f10af52f"
      ],
      "author": {
        "name": "Niklas Söderlund",
        "email": "niso@kth.se",
        "time": "Fri Sep 07 07:07:07 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Sep 07 07:07:07 2012 +0000"
      },
      "message": "Remove exit calls from sp_sync_read_timeout and sp_synchronize\n\nAdd return values to sp_synchronize so we can signal a failure to the\nonly upstream caller (serprog_init), which is prepared to propagate a failure.\n\nsp_sync_read_timeout was harder to fix because it already used a return\nvalue, but we needed to distinguish two different failure modes. This\nsolution distinguishes them by the sign of the return values, which maintains\nreadability as much as possible.\n\nThanks to Niklas Söderlund for the original patch and idea.\n\nCorresponding to flashrom svn r1595.\n\nSigned-off-by: Niklas Söderlund \u003cniso@kth.se\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": "b98f6eb3aca7a1fc00e52160bdfe40ff04b23dfd",
      "tree": "157aebff0e3bd702eddb8b5b79bd428b02b46a0c",
      "parents": [
        "a1a14ec5d2a087937ce6e16a4462fcfeb838fa12"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Aug 13 16:33:04 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Aug 13 16:33:04 2012 +0000"
      },
      "message": "serprog: Add support for setting the SPI frequency\n\nIntroduce a new opcode (0x14) that sends the requested frequency as a 32b\nlong value in Hertz to the programmer and receives the frequency eventually\nchosen by the programmer. The user can specify this with the programmer\nparameter \"spispeed\" (named after the similar parameter for the buspirate)\nincluding an optional suffix of \u0027M\u0027 or \u0027k\u0027 for specifying megahertz or kilohertz\nrespectively (lowercase suffixes are also accepted).\n\nThanks to Idwer and Uwe (and maybe others) for their feedback especially\nregarding the unit of frequency to use.\n\nCorresponding to flashrom svn r1571.\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": "2a95e8713b941f58a7f5ff94aee38edae70af15d",
      "tree": "f97dccd7ef57d80a4fbee2c5d23a67869c298cb0",
      "parents": [
        "00ec027368e5ef46d9dec430124357915dc8b903"
      ],
      "author": {
        "name": "Niklas Söderlund",
        "email": "niso@kth.se",
        "time": "Mon Jul 30 19:42:33 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jul 30 19:42:33 2012 +0000"
      },
      "message": "Remove more exit calls\n\nThis patch removes the remaining exit calls from\n - sp_openserport\n - sp_opensocket\n - sp_docommand\n - internal_init\n\nAlmost all of this was done by Niklas.\n\nCorresponding to flashrom svn r1557.\n\nSigned-off-by: Niklas Söderlund \u003cniso@kth.se\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": "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": "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": "63fd9026f1e82b67a65072fda862ba7af35839e1",
      "tree": "7d9ffba077715cf9e75c9f4a36d0d7f11a3181f6",
      "parents": [
        "83c92e983aaf11fb6f5bafb6744275c50add193c"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Dec 14 22:25:15 2011 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Dec 14 22:25:15 2011 +0000"
      },
      "message": "Use struct flashctx instead of struct flashchip for flash chip access\n\nStruct flashchip is used only for the flashchips array and for\noperations which do not access hardware, e.g. printing a list of\nsupported flash chips.\n\nstruct flashctx (flash context) contains all data available in\nstruct flashchip, but it also contains runtime information like\nmapping addresses. struct flashctx is expected to grow additional\nmembers over time, a prime candidate being programmer info.\nstruct flashctx contains all of struct flashchip with identical\nmember layout, but struct flashctx has additional members at the end.\n\nThe separation between struct flashchip/flashctx shrinks the memory\nrequirement of the big flashchips array and allows future extension\nof flashctx without having to worry about bloat.\n\nCorresponding to flashrom svn r1473.\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": "c69c9c84e0341b701d9966fea8ce54d4e017bbb7",
      "tree": "2ea0b12abf9dd3483246423752239b88c6d7942e",
      "parents": [
        "8ca4255d7968dbf6301367074cc7267d22a25658"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Nov 23 09:13:48 2011 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Nov 23 09:13:48 2011 +0000"
      },
      "message": "Unsignify lengths and addresses in chip functions and structs\n\nPush those changes forward where needed to prevent new sign\nconversion warnings where possible.\n\nCorresponding to flashrom svn r1470.\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": "eaacd2d4e7485d747e4e0bbd54b7bb44cf3fd179",
      "tree": "5e023363074cbe351bc6ded9f20c3f116e6c6f1c",
      "parents": [
        "f382e352ac63108ec0f912ff52b538c99f46c340"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Nov 09 23:40:00 2011 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Nov 09 23:40:00 2011 +0000"
      },
      "message": "Register Parallel/LPC/FWH programmers the same way SPI programmers are registered\n\nAll programmers are now calling programmer registration functions and\ndirect manipulations of buses_supported are not needed/possible anymore.\n\nNote: Programmers without parallel/LPC/FWH chip support should not call\nregister_par_programmer().\n\nAdditional fixes:\nSet max_rom_decode.parallel for drkaiser.\nRemove abuse of programmer_map_flash_region in it85spi.\nAnnotate several FIXMEs in it85spi.\n\nCorresponding to flashrom svn r1463.\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": "31019d409c0bb745f7fadc7d9d0cdbca9bf59a33",
      "tree": "5b18c8401161cbd258055a712d36b9f26507a297",
      "parents": [
        "d13a394300f5c40838012cbc33092d7c8155ad1c"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Oct 22 21:45:27 2011 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Oct 22 21:45:27 2011 +0000"
      },
      "message": "serprog: small improvements\n\n- rename serprog_delay parameter to usecs\n- fix code style, (output) formatting issues and comments\n- sp_docommand: remove unnecessary malloc+memcpy and fix formatting\n\nCorresponding to flashrom svn r1456.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "8c35745fcf3ed6eb2769beda0c8b941df07f6175",
      "tree": "2f3c43a3589edc55e7143b39d40df4a0cd039183",
      "parents": [
        "e3185c0599d77c06b9665c9721649b96108c894f"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Sep 18 22:42:18 2011 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Sep 18 22:42:18 2011 +0000"
      },
      "message": "Revert \"Unsignify lengths and addresses in chip functions and structs\"\n\n- probe_timing was changed to unsigned although we use negative values\n  for special cases\n- some code was not changed along hence did no longer compile:\n  * dediprog\u0027s read and write functions\n  * linux_spi\u0027s read and write functions\n- it introduced a number of new sign conversion warnings\n  (http://paste.flashrom.org/view.php?id\u003d832)\n\nTo be safe this patch reverts all changes made in r1448, a corrected\npatch will follow later.\n\nThanks to idwer for pointing out the problem first!\n\nCorresponding to flashrom svn r1450.\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": "d196e7c1387b30ac35e7b0f605c79823ac9b5ec9",
      "tree": "e0f40df44cb94c62f150a84080bf7171f8623aa8",
      "parents": [
        "75da80c17bbb992ce2b60ae15ef2fba7d23bfd8e"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Sep 18 00:41:33 2011 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Sep 18 00:41:33 2011 +0000"
      },
      "message": "Unsignify lengths and addresses in chip functions and structs\n\nCorresponding to flashrom svn r1448.\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": "c93f5f123239121fdeba03c02f9e448ed97c52a4",
      "tree": "977910ff6ca9a2f736a5fc5103cab30663912582",
      "parents": [
        "f74a7b9c4f43445c8116533b1593ecef4459b114"
      ],
      "author": {
        "name": "Urja Rannikko",
        "email": "urjaman@gmail.com",
        "time": "Thu Sep 15 23:38:14 2011 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Sep 15 23:38:14 2011 +0000"
      },
      "message": "serprog: add SPI support\n\nAdds a new opcode (0x13) that just relays SPI bytes and wires it up to be\nusable within serprog.c. Checks for mandatory opcodes are moved around and\nchanged a bit, but non-SPI programmers should not be harmed by this patch.\n\nCorresponding to flashrom svn r1442.\n\nSigned-off-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "1a227954f2c7d0a25d42bcea2ea0b901ceb0f464",
      "tree": "ff9f4d8bbe04e1e80755b43b36b990b74d6845b3",
      "parents": [
        "4deb8c6a7ad0d4290cb7272a11da94139019c6ae"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Jul 27 07:13:06 2011 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Jul 27 07:13:06 2011 +0000"
      },
      "message": "Rename CHIP_BUSTYPE_FOO to BUS_FOO\n\nIt\u0027s shorter to type, and we have less problems with the 80 column limit.\n\nCorresponding to flashrom svn r1396.\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": "9932c7bebfe3b1500edd31d478ede058f8c5b096",
      "tree": "956be8456c22c23e69fdc69b49fb645079678fb8",
      "parents": [
        "91199a1edd56e2a277c43c3d28000bb75e4d3525"
      ],
      "author": {
        "name": "Cristian Măgherușan-Stanciu",
        "email": "cristi.magherusan@gmail.com",
        "time": "Thu Jul 07 19:56:58 2011 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jul 07 19:56:58 2011 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 4\n\n- add Asus E35M1-I DELUXE to boards_known\n  http://www.flashrom.org/pipermail/flashrom/2011-June/006918.html\n- add Asus M3A to boards_known\n  http://www.flashrom.org/pipermail/flashrom/2011-July/007085.html\n- add Freetech P6F91i to boards_known\n  http://www.flashrom.org/pipermail/flashrom/2011-June/006800.html\n- add GA-M720-US3 to boards_known\n  http://www.flashrom.org/pipermail/flashrom/2011-July/007096.html\n- add GA-MA770-UD3 (rev. 2.1) to boards_known\n  http://www.flashrom.org/pipermail/flashrom/2011-June/006879.html\n- add GA-965GM-S2 to boards_known\n  http://www.flashrom.org/pipermail/flashrom/2011-June/006746.html\n- add HP xw4400 (0A68h) to boards_known\n  http://paste.flashrom.org/view.php?id\u003d686\n- add MSI MS-6566 (845 Ultra-C) to boards_known\n  http://www.flashrom.org/pipermail/flashrom/2011-June/006908.html\n- add MSI MS-7698 (E350IA-E45) to boards_known\n  http://www.flashrom.org/pipermail/flashrom/2011-June/007003.html\n- add PCCHIPS M863G (V5.1A) to boards_known\n  http://www.flashrom.org/pipermail/flashrom/2011-July/007084.html\n\n- modify the X8SIE entry in boards_known with the information from \"fuzzy\"\n  http://paste.flashrom.org/view.php?id\u003d669\n\n- mark W29C020(C)/W29C022 as fully tested\n  http://www.flashrom.org/pipermail/flashrom/2011-June/006800.html\n- mark W49V002A as fully tested\n  http://www.flashrom.org/pipermail/flashrom/2011-July/007084.html\n- mark M25P128 as fully tested\n  http://www.flashrom.org/pipermail/flashrom/2011-June/006843.html\n- mark SST39SF010A as fully tested\n  http://www.flashrom.org/pipermail/flashrom/2011-July/007115.html\n\n- correct entries for GA-K8NS Pro-939 (was ultra before. thanks uwe!)\n- another tiny fix for \"a small fix\"/r1321\n  Without this you will get broken bus names \"Unknow\" and \"Non-SP\".\n  Note to self: don\u0027t self-ack even fairly trivial patches.\n- fix spew output of spi_rems in spi25.c\n- add URL to ASUS M3A76-CM\n- rename all Winbond W25x chips to W25X\n- fixes some common misspellings/typos in comments:\n  lenght-\u003elength              2\n  ocassional-\u003eoccasional      1\n  unsucessfull-\u003eunsuccessful  1\n  upto-\u003eup to                 5\n\nCorresponding to flashrom svn r1367.\n\nthe patch for M25P128 is\nSigned-off-by: Cristian Măgherușan-Stanciu \u003ccristi.magherusan@gmail.com\u003e\n\nthe typos are\nSigned-off-by: Peter Huewe \u003cpeterhuewe@gmx.de\u003e\n\neverything else is\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": "8bb2021d77c8ee213b53d671687b7a1179335522",
      "tree": "a77cc4239b59731e98cf6c9681b5a7c665613038",
      "parents": [
        "9d9a1042332cd08aa66eee6f37d80c0f09f47d70"
      ],
      "author": {
        "name": "David Hendricks",
        "email": "dhendrix@google.com",
        "time": "Tue Jun 14 01:35:36 2011 +0000"
      },
      "committer": {
        "name": "David Hendricks",
        "email": "david.hendricks@gmail.com",
        "time": "Tue Jun 14 01:35:36 2011 +0000"
      },
      "message": "Use shutdown callback mechanism to shutdown programmers\n\nThis patch attempts to resolve some programmer shutdown ordering issues\nby having the programmer init functions register shutdown callbacks explicitly\nwherever it makes most sense. Before, assumptions were made that could lead to\nthe internal programmer\u0027s state changing before the external programmer could be\nshut down properly. Now, each programmer cleans up after itself and (hopefully)\nperforms each operation in the correct order.\n\nAs a side-effect, this patch gives us a better usage model for reverse\noperations such as rpci_* and rmmio_*. In the long-run, this should make\nreversing the initialization process easier to understand, less tedious, and\nless error-prone.\n\nIn short, this patch does the following:\n- Registers a shutdown callback during initialization for each programmer.\n- Kills the .shutdown function pointer from programmer_entry struct. Also,\n  make most shutdown functions static.\n- Adds a few minor clean-ups and corrections (e.g. missing physunmap() calls).\n\nTODO: Remove forward declaration of serprog_shutdown() (added to simplify diff)\n\nCorresponding to flashrom svn r1338.\n\nSigned-off-by: David Hendricks \u003cdhendrix@google.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "73f8ec8b1e623681c8d6f3a9df142da2a8bed7e3",
      "tree": "4736c1577d6fcb12ce297b723b9a95a1310a1fd8",
      "parents": [
        "ff30d8a5383553d4df035cdcf0e24a0b44d4241a"
      ],
      "author": {
        "name": "Peter Huewe",
        "email": "peterhuewe@gmx.de",
        "time": "Mon Jan 24 19:15:51 2011 +0000"
      },
      "committer": {
        "name": "Stefan Reinauer",
        "email": "stefan.reinauer@coreboot.org",
        "time": "Mon Jan 24 19:15:51 2011 +0000"
      },
      "message": "Fix sparse warning: Using plain integer as NULL pointer\n\nThis patch fixes the \"using plain integer as NULL pointer\" warnings\ngenerated by running sparse on the flashrom source.\n\nCorresponding to flashrom svn r1255.\n\nSigned-off-by: Peter Huewe \u003cpeterhuewe@gmx.de\u003e\nAcked-by: Mathias Krause \u003cmathias.krause@secunet.com\u003e\nAcked-by: Stefan Reinauer \u003cstepan@coreboot.org\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": "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": "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": "4e3d0b3a244067debc0c250986bf65bc2bc182ea",
      "tree": "7e311c929ef697a3781145bc2cea68359deb2794",
      "parents": [
        "d4e5359372a6dc5facb2ea142358508fa058cf68"
      ],
      "author": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Thu Mar 25 23:18:41 2010 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Thu Mar 25 23:18:41 2010 +0000"
      },
      "message": "Polish the flashrom code comments and outputs a bit\n\n - Fix a number of typos (found via ispell).\n\n - Use correct vendor names (as per their websites) consistently.\n\nCorresponding to flashrom svn r985.\n\nSigned-off-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "74e8af5d324c486770981349c2a3d0dd5e6cd4ab",
      "tree": "33038a38e04cef65966bf466de714de0c095199e",
      "parents": [
        "676a232f43bfbba88d29100cb64d06bf6d0d06d4"
      ],
      "author": {
        "name": "Sean Nelson",
        "email": "audiohacked@gmail.com",
        "time": "Sun Jan 10 01:06:23 2010 +0000"
      },
      "committer": {
        "name": "Sean Nelson",
        "email": "audiohacked@gmail.com",
        "time": "Sun Jan 10 01:06:23 2010 +0000"
      },
      "message": "Convert all messages in serprog.c to the new message infrastructure\n\nRename some msg_pdbg to msg_pspew.\n\nCorresponding to flashrom svn r853.\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": "e51ea10a8889544b942d3490bb721f160fe09517",
      "tree": "ce82d190a42e73f31bf764e9f81e24f567cdca2d",
      "parents": [
        "eaac68bf8be13ff4cfe2b58119c766357a37d417"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon Nov 23 19:20:11 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon Nov 23 19:20:11 2009 +0000"
      },
      "message": "Move serial handling from serprog.c to serial.c\n\nThis is the first step in enabling platform independent serprog and it\nalso allows other drivers to use serial port functionality without\nrequiring serprog.\n\nPure code move, no code changed.\n\nCorresponding to flashrom svn r771.\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": "a4a9bfb2284403d44589b26700e1f8add3013352",
      "tree": "c32fb3399df6c4c26dfb58066e1abffbe137e892",
      "parents": [
        "01d49ed39db2c182c1788d73f4b50e4af3513679"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Nov 21 11:02:48 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Nov 21 11:02:48 2009 +0000"
      },
      "message": "Bus Pirate support needs serial communication\n\nSerprog already has such functionality, so it makes sense to share that.\nTODO: Factor out serial communication into a separate file, have that\ncode be available even if serprog is not selected and make it portable\n(it is very Linux-centric right now).\n\nCorresponding to flashrom svn r768.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Stefan Reinauer \u003cstepan@coresystems.de\u003e\n"
    },
    {
      "commit": "9e72aa51a7a9ac5f041bacab75fd4be1e2a3356c",
      "tree": "375d71717241476bec265568958024db7eee3e37",
      "parents": [
        "b08ee5c50619d90fd35a1dd06228b952c67dda0b"
      ],
      "author": {
        "name": "Stefan Reinauer",
        "email": "stepan@coresystems.de",
        "time": "Wed Sep 16 08:18:08 2009 +0000"
      },
      "committer": {
        "name": "Stefan Reinauer",
        "email": "stefan.reinauer@coreboot.org",
        "time": "Wed Sep 16 08:18:08 2009 +0000"
      },
      "message": "Fix some of the issues reported by LLVM/clang\u0027s scan-build\n\nCorresponding to flashrom svn r722.\n\nSigned-off-by: Stefan Reinauer \u003cstepan@coresystems.de\u003e\n\nThis commit fixes only some of the issues, those that were\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "6d1256082c4c11f556c278b907c19ac89ba51ca4",
      "tree": "56c158a7149518df27a85d36b36ca41a66e44ef1",
      "parents": [
        "95e892b9d35c82ad372af4e9fab22f1c395ebc2d"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Sep 05 01:10:23 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Sep 05 01:10:23 2009 +0000"
      },
      "message": "Fix strict aliasing in serprog\n\nInitialize the sockaddr,sockaddr_in union directly instead of running\nmemset later.\n\nCorresponding to flashrom svn r715.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Stefan Reinauer \u003cstepan@coresystems.de\u003e\n"
    },
    {
      "commit": "6be741114d95dcb9b8d783c114999b0e8b8b802d",
      "tree": "b7a34e33e948c851fcbf64e55c1f3aea465f80b9",
      "parents": [
        "37fc469ca2cc2e7ec21b9afae8627f3445dd40a4"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Aug 12 16:17:41 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Aug 12 16:17:41 2009 +0000"
      },
      "message": "Allow to compile out serprog completely\n\nIf CONFIG_SERPROG is not set, no stubs and no data of serprog will\nremain.\n\nSide benefit: This kills a few dozen lines of code.\n\nr678, r679 and r680 made this possible. Once \"Only list available\nprogramers in usage()\" is committed, even the usage message will be\nadjusted automatically.\n\nCorresponding to flashrom svn r681.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Stefan Reinauer \u003cstepan@coresystems.de\u003e\n"
    },
    {
      "commit": "ef58a9ce3f9ae3ce0db34861f0c2d24373712138",
      "tree": "07d03ad8b91541f09b13ac709ef85e93cbc339ca",
      "parents": [
        "415e513d90042b91c1a50a9afe1282e393e574b8"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Aug 12 13:32:56 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Aug 12 13:32:56 2009 +0000"
      },
      "message": "Use a common parameter variable for all programmers\n\nThis allows us to reduce #ifdef clauses a lot if we compile out some\nprogrammers completely.\n\nCorresponding to flashrom svn r679.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Stefan Reinauer \u003cstepan@coresystems.de\u003e\n"
    },
    {
      "commit": "be726817f770572f4d950c7e572c308112a69e3b",
      "tree": "f6c67448c4b98b1f49e89826f451f51de027b1e5",
      "parents": [
        "5b2f52fa6caab4bda5aaf8b6128eb3044a930c47"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Aug 09 12:44:08 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Aug 09 12:44:08 2009 +0000"
      },
      "message": "Remove unnecessary #include files\n\nSerprog compilation is now controlled by a Makefile variable.\nReplace munmap with physunmap where appropriate.\n\nCorresponding to flashrom svn r671.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Stefan Reinauer \u003cstepan@coresystems.de\u003e\n"
    },
    {
      "commit": "f3196df7f07d27fd1ebdd94365717369fb98a472",
      "tree": "e180dd58520d1d950be93d438de457b17466eaed",
      "parents": [
        "11793770600560ffa185871ae1906413eec70674"
      ],
      "author": {
        "name": "Urja Rannikko",
        "email": "urjaman@gmail.com",
        "time": "Tue Jul 21 13:02:59 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jul 21 13:02:59 2009 +0000"
      },
      "message": "Support for an external serial flasher protocol\n\nSupports RS-232, USB serial converters (untested) and TCP streams.\n\nThe protocol specification is in serprog-protocol.txt\n\nThere will be tweaks to the code and maybe the protocol in the future,\nso the API is not set in stone yet.\n\nCorresponding to flashrom svn r656.\n\nSigned-off-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "2291535b7ba4c4697df465d49ee3aa7f5f33253a",
      "tree": "6cecd997684ef18bc32a64cf1c16812f1ad6f6d2",
      "parents": [
        "6d08a3ea0487567552488308ddf490a1ac8e6e81"
      ],
      "author": {
        "name": "Urja Rannikko",
        "email": "urjaman@gmail.com",
        "time": "Tue Jun 23 11:33:43 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jun 23 11:33:43 2009 +0000"
      },
      "message": "Initial commit of an external serial flasher protocol\n\nSupports RS-232, USB serial converters (untested) and TCP streams.\n\nAll functionality is stubbed out to allow multiplatform compile testing\nof the headers we use.\nThe real serial flasher protocol driver will be committed next.\n\nCorresponding to flashrom svn r625.\n\nSigned-off-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    }
  ]
}
