)]}'
{
  "log": [
    {
      "commit": "b8ee2d63ae9f67bee7d6a2cab11de88128021e51",
      "tree": "afcaa01f77398b4174d0fade5f1835636ed27ed2",
      "parents": [
        "b078ec67e6fbfe21bf1b3700c3351bc30c1b4626"
      ],
      "author": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Sun Dec 11 16:20:16 2022 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 06 23:36:26 2023 +0000"
      },
      "message": "serial: Add Darwin/macOS support for custom and \u003e230400 baudrates\n\nThis change is based on the patch proposed by Denis Ahrens in\nhttps://review.coreboot.org/c/flashrom/+/67822\n\nChange-Id: I3e6b88d2b4c2a130b16456752681fd9f807bf6f0\nSigned-off-by: Peter Stuge \u003cpeter@stuge.se\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/70571\nOriginal-Reviewed-by: Thomas Heijligen \u003csrc@posteo.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73480\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "b078ec67e6fbfe21bf1b3700c3351bc30c1b4626",
      "tree": "1a64c7842a131c05b6df1b514d28dd4408d91af1",
      "parents": [
        "272b07327250e88385fd34ba10c7ece342153d06"
      ],
      "author": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Sun Dec 11 04:02:10 2022 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Mar 06 23:36:26 2023 +0000"
      },
      "message": "serial: Call set_custom_baudrate() thrice\n\nCall the function before tcsetattr() settings are known, then again\nwith settings prepared but not yet applied and finally a third time\nafter tcsetattr().\n\nDarwin support needs this change; there custom_baud code must be\ncalled to modify the settings passed to tcsetattr() and then again\nafter tcsetattr() returns.\n\nThe change should be non-functional on all currently supported systems;\ncurrent code calls set_custom_baudrate() before any tcsetattr()\nsettings are prepared, so we have three stages in total.\n\nThis change originates from discussion of the macOS patch proposed by\nDenis Ahrens in https://review.coreboot.org/c/flashrom/+/67822\n\nChange-Id: I40cc443cfb7bf6b212b31826d437b898cc13c427\nSigned-off-by: Peter Stuge \u003cpeter@stuge.se\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/70569\nOriginal-Reviewed-by: Thomas Heijligen \u003csrc@posteo.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/73479\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": "7a6bce62a7b178c141a4dfc5e73b6b9ad80db84e",
      "tree": "c7655661e4f347e2f5a3fa3b2ce21e0bbd17b675",
      "parents": [
        "c3685189816e538f5db89e68d1151c5601dc9e52"
      ],
      "author": {
        "name": "David Hendricks",
        "email": "david.hendricks@gmail.com",
        "time": "Thu Jul 02 09:36:50 2020 -0700"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:07:04 2023 +0000"
      },
      "message": "serial: Fix file read/write error handling for Windows\n\nFile read/write semantics are different between POSIX and Windows. In\nparticular Windows file read/write functions return a boolean type to\nindicate success or failure, while the POSIX equivalents return a\nsigned integer indicating number of bytes read if successful or -1 if\nnot.\n\nThis attempts to correct some error handling paths for Windows and\navoid invalid comparisons that were causing compilation issues.\n\nReported on https://github.com/flashrom/flashrom/issues/149\n\nChange-Id: Ib179d51ede2dbd38f54f3641bfe90340a6a87e31\nSigned-off-by: David Hendricks \u003cdavid.hendricks@gmail.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/43051\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71314\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "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": "e2c90c45f7d1dbdd02269f0a8f3c95cb8ee5fa91",
      "tree": "2abda8ef6e3506d00711dcf527b97f61a5b930fd",
      "parents": [
        "5bd11dc8476b4b17cef58d8d855f2b50e74da2f4"
      ],
      "author": {
        "name": "Elyes HAOUAS",
        "email": "ehaouas@noos.fr",
        "time": "Sat Aug 18 09:04:41 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Aug 19 10:42:45 2018 +0000"
      },
      "message": "Fix typos\n\nChange-Id: I20745d5f30f9577622e27abf2f45220f026f65ac\nSigned-off-by: Elyes HAOUAS \u003cehaouas@noos.fr\u003e\nReviewed-on: https://review.coreboot.org/28206\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "e083880279119677e443fc16b4694f8c81bf2c40",
      "tree": "03413b996779bc4c86ec41590f3e7bcdd97d0ef5",
      "parents": [
        "124ef38f7afc61ad7c713c22aad7c5c7f79bdb9b"
      ],
      "author": {
        "name": "Elyes HAOUAS",
        "email": "ehaouas@noos.fr",
        "time": "Mon Apr 02 11:14:02 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 24 20:21:41 2018 +0000"
      },
      "message": "Remove address from GPLv2 headers\n\nChange-Id: I7bfc339673cbf5ee2d2ff7564c4db04ca088d0a4\nSigned-off-by: Elyes HAOUAS \u003cehaouas@noos.fr\u003e\nReviewed-on: https://review.coreboot.org/25381\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "2ec33f9e6a303a729ceb164d34a85563b6e2c1b0",
      "tree": "05b5cd18d0a9d7393dcefdfc5048f5c66bf91b0d",
      "parents": [
        "615ba1849c1ad67503cf000c9fea311962175525"
      ],
      "author": {
        "name": "Michael Zhilin",
        "email": "mizhka@gmail.com",
        "time": "Fri Dec 02 14:41:26 2016 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Oct 19 15:17:05 2017 +0000"
      },
      "message": "Fix serprog on FreeBSD\n\nUsing serprog on FreeBSD to read an SPI flash (MX25L6406) via an\nArduino Nano V3 with flashrom hangs after 5 seconds while reading. The\nproblem is that kernel method \"ttydisc_rint\" ignores some bytes. It\nhappens due to enabled IEXTEN local flag of termios. TTY cuts a few\nbytes, Arduino reads 11264 bytes, but flashrom gets only 11244 bytes\nand waits for the remaining 20 bytes.\n\nThe fix is simple: turn off the IEXTEN local flag.\n\nTested on Arduino Nano V3 + FreeBSD 12-CURRENT.\n\nChange-Id: I7aa6a283d523c544d9b8923cd4c622bf08c0fb3f\nSigned-off-by: Michael Zhilin \u003cmizhka@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/21919\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "615ba1849c1ad67503cf000c9fea311962175525",
      "tree": "94c2b9ad0d8f1e486c2b5ac41acd0b65ebd7225a",
      "parents": [
        "beaefe0f96758297d013bd48b598225410b44e34"
      ],
      "author": {
        "name": "Urja Rannikko",
        "email": "urjaman@gmail.com",
        "time": "Thu Jun 15 15:28:27 2017 +0300"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Oct 19 15:14:30 2017 +0000"
      },
      "message": "serial: Support custom baud rates on linux\n\nThe function to do this is contained in custom_baud.c because\nof broken include stuff.\n\nChange-Id: I2a20f9182cb85e7bce5d6654a2caf20e6202b195\nSigned-off-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/20224\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "a3712817a2eff0173e664162fc441ee7846f6ea0",
      "tree": "441663e56658209660de4d0e128ba1600e0a03e8",
      "parents": [
        "1ca7c7ff1ba0f5ad43b6cc5b767853fa3248859c"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 16 18:50:27 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 16 18:50:27 2016 +0000"
      },
      "message": "Fix file descriptor leak in serial.c\n\nFound by Coverity as \"CID 1348465:  Resource leaks\".\n\nCorresponding to flashrom svn r1915.\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": "dc44584e92a61b6493d8bb76a8de7a07b8cd8e78",
      "tree": "cfb119bf807aa982933cee1edaefc6133bde4b9e",
      "parents": [
        "27b431bceed902974ffcbe5fce474e3a8f193350"
      ],
      "author": {
        "name": "Urja Rannikko",
        "email": "urjaman@gmail.com",
        "time": "Mon Jan 04 05:08:40 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 04 05:08:40 2016 +0000"
      },
      "message": "serial: support arbitrary baud rates on Windows\n\nAvailable baud rates obviously depend on driver support, but the\nCBR_ defines used so far are basically only for backwards source\ncompatibility with Win16, so dont bother with them.\n\nCorresponding to flashrom svn r1909.\n\nSigned-off-by: Urja Rannikko \u003curjaman@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": "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": "631bb021359e8bc85c40d4700ca276667c0f97ed",
      "tree": "1c48a68d89cc5a2ded687460b68a6ea8c234741f",
      "parents": [
        "a4d60f31016adb1dc7c273b6d0cd7c0d21dcb417"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 04 03:05:06 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 04 03:05:06 2016 +0000"
      },
      "message": "serprog: ignore failures when setting serial port options\n\nThere is no good reason to abort earlier just because some options did\nnot stick. This should improve compatibility without negative effects. If\ncommunication is affected by the missing flag(s) then we abort later\nanyway.\n\nCorresponding to flashrom svn r1906.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\n"
    },
    {
      "commit": "a4d60f31016adb1dc7c273b6d0cd7c0d21dcb417",
      "tree": "63b2175ae000eb80d39702446e5ad1e1180ad380",
      "parents": [
        "3d06abef13b80d8063d2f66a6617665c745a1cd9"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 04 03:04:36 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 04 03:04:36 2016 +0000"
      },
      "message": "serprog: clear NDELAY flag only once after opening the port\n\nChange sp_openserport() to directly clear the O_NONBLOCK flag that\nis potentially set by opening the device with O_NDELAY instead of\nclearing ALL flags in serialport_config() unconditionally.\n\nCorresponding to flashrom svn r1905.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\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": "0df844668f1a22f2213a53fbc3e0c9bc2f173b10",
      "tree": "be7f11b60a21440482b93901985259620eda690b",
      "parents": [
        "12f3d51a8eec91f04fdd67652114d6d8529dc8b8"
      ],
      "author": {
        "name": "Stefan Reinauer",
        "email": "stefan.reinauer@coreboot.org",
        "time": "Tue May 27 22:10:15 2014 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue May 27 22:10:15 2014 +0000"
      },
      "message": "CID1129998/1129999: Unchecked return value from library\n\nCheck return values of various fcntl() invocations in\nserialport_config(), serialport_read_nonblock() and\nserialport_write_nonblock().\n\nAlso, remove some superfluous print conversion specifiers and refine\nmessages.\n\nCorresponding to flashrom svn r1803.\n\nSigned-off-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "f20b7beff054eb316088d590094d9efbc68dbee1",
      "tree": "6324be451385c9f9cea27381f35f300fbaa7f454",
      "parents": [
        "20da4aa82cc11f25a6a4a52fd2bed219e6e1d829"
      ],
      "author": {
        "name": "Mark Marshall",
        "email": "mark.marshall@omicron.at",
        "time": "Fri May 09 21:16:21 2014 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri May 09 21:16:21 2014 +0000"
      },
      "message": "Add \u0027const\u0027 keyword to chip write and other function prototypes\n\nCorresponding to flashrom svn r1789.\n\nInspired by and mostly based on a patch\nSigned-off-by: Mark Marshall \u003cmark.marshall@omicron.at\u003e\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": "f0111d2ca44e7c58346a66b0bb36f99d7b9aeb72",
      "tree": "d801c66d7bde501e9940288d1946c685634dd572",
      "parents": [
        "370f5829e15d9f5ed60f0194505513a4d348b88a"
      ],
      "author": {
        "name": "Urja Rannikko",
        "email": "urjaman@gmail.com",
        "time": "Sat Oct 19 23:35:28 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Oct 19 23:35:28 2013 +0000"
      },
      "message": "serial: use internal_delay() for timeouts\n\nUsing programmer_delay() for timeouts in serial writes could cause a\n(theoretically) endless recursion if serial communication is used to\nsend the programmer the delay command to be executed on the programmer\ninstead of the host which fails again, following a timeout which\nsends...\n\nCorresponding to flashrom svn r1759.\n\nSigned-off-by: Urja Rannikko \u003curjaman@gmail.com\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": "184c52c94191a354afb0cd2c91e9932e66a5cd3d",
      "tree": "0ab547292871177cc6f3e2b81c479d4ce78a56bf",
      "parents": [
        "d31d3c3b17fee4579204cf6fc578539af12a3723"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Aug 23 21:51:32 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Aug 23 21:51:32 2013 +0000"
      },
      "message": "Introduce serialport_config()\n\nThis allows to easily reconfigure a serial port as needed in\nthe Bus Pirate speedup patch.\n\nCorresponding to flashrom svn r1717.\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": "e33c40eb7db5dc16763cd7c245578a968306a757",
      "tree": "a12679980409c55cddbc2451b78fd348ae20347e",
      "parents": [
        "363fd7e827e3b630f916f9d2bdda262180274789"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Apr 13 00:29:30 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Apr 13 00:29:30 2013 +0000"
      },
      "message": "Initialize sp_fd and fix baud rate setting on windows\n\nCorresponding to flashrom svn r1669.\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": "f966cc48107d924f430dbd763bf470ee2ebaf0d1",
      "tree": "de05b4d13d7547bce0509f2bc50dac320c4edaca",
      "parents": [
        "79587f565f59b2769dfb3a9550bab9de34287f86"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:57 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:57 2013 +0000"
      },
      "message": "serial.c: be more pedantic\n\nCheck more return codes and close the file handle in case of errors in\nsp_openserport().\n\nCorresponding to flashrom svn r1664.\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": "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": "da5b17c0a2c648c60272f92c9ecbcd10f4af8348",
      "tree": "242daf2a20a91eb22e1cd776d6b335ced4149bcc",
      "parents": [
        "bf88be92911a07d14a4c0bb62a017cad0584d62d"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:32 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:32 2013 +0000"
      },
      "message": "serial.c: round baudrates to valid ones\n\nMSDN says: \"The baud rate at which the communications device\noperates. This member can be an actual baud rate value, or one of\nthe following indexes.\" But it is not specified what happens for\ndifferent values, so we round down to valid ones (or to the minimum\nof 9600) by reusing the existing struct baudentry sp_baudtable[] and\nthe new function round_baud().\n\nDo similarly on non-Windows where arbitrary values are not allowed\nanyway.\n\nCorresponding to flashrom svn r1660.\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": "bf88be92911a07d14a4c0bb62a017cad0584d62d",
      "tree": "f9f41834ff4eb40cf0bc17cea7af69a5665df7dd",
      "parents": [
        "c60de0e87faa631887821892547f0554eed2727f"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:08 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 00:45:08 2013 +0000"
      },
      "message": "serial.c: abstract system error printing\n\nWindows is awkward. The win32 API does not support errno/strerror as one\nmight expect. Introduce a new msg_* function that alleviates the pain a bit\n(my head still hurts very badly).\n\nCorresponding to flashrom svn r1659.\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": "62574aa5c0bf0df43a2ed0182562f17f30825f0d",
      "tree": "788120efb7d40c50991b226181d1b1896adf07cb",
      "parents": [
        "26148ae3a881a2323ef130427ee8749a2ab53c9e"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Nov 30 16:46:41 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Nov 30 16:46:41 2012 +0000"
      },
      "message": "Break endless loop in serialport_write()\n\nSerialport_write could loop endlessly when used with a seemingly valid port\nthat does always return 0 on writes instead of an error.\nGive up after about 125 ms i.e. 250 tries with a period of 500 us.\n\nCorresponding to flashrom svn r1626.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Idwer Vollering \u003cvidwer@gmail.com\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": "bb4fed74b6432641fa3674511388498b43a3f428",
      "tree": "adbb817b20aa51268506c051dfafc8811b743a0a",
      "parents": [
        "dabca20a1da6e49bd53718a7382d43204c7610fe"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Sep 01 21:47:19 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Sep 01 21:47:19 2012 +0000"
      },
      "message": "Fix compilation with MinGW\n\nThis was broken since r1557 when we got rid of some exit calls, but returned\n-1 instead which is not a valid HANDLE value.\n\nCorresponding to flashrom svn r1591.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Idwer Vollering \u003cvidwer@gmail.com\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": "da7c545b06195185e9df9a88ef6437c61d64a225",
      "tree": "08bfe3653a11370baf4c5e1ad51d83da0012d8fc",
      "parents": [
        "2abab94c18721181c8d517b8e31ffada22145ea9"
      ],
      "author": {
        "name": "Virgil-Adrian Teaca",
        "email": "darkstarlinux@gmail.com",
        "time": "Mon Apr 30 23:11:06 2012 +0000"
      },
      "committer": {
        "name": "Michael Karcher",
        "email": "flashrom@mkarcher.dialup.fu-berlin.de",
        "time": "Mon Apr 30 23:11:06 2012 +0000"
      },
      "message": "Add serial port bitbanging code\n\nThis adds the pony_spi driver which supports the SI_Prog adapter, which\nis commonly used for SPI chips with PonyProg 2000, and a custom adapter\ncalled \"SERBANG\" which differs in the logic of two pins.\n\nCorresponding to flashrom svn r1525.\n\nSigned-off-by: Virgil-Adrian Teaca \u003cdarkstarlinux@gmail.com\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "269de3533ac58de85bf874afcbc862d73e1944c7",
      "tree": "ee762ee7695c977df7c4174fb263308a26b543cf",
      "parents": [
        "ff56267ec0ffefa071f26c22553b9bea216d19f7"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Jul 12 22:35:21 2011 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Jul 12 22:35:21 2011 +0000"
      },
      "message": "Fix unchecked malloc calls and casts of malloc return values\n\nIn the long term the exit calls should be replaced by returns.\nuntil then this is the correct way to handle failures.\n\nthe casts are not needed (in C) and we don\u0027t cast malloc return values anywhere else.\n\nCorresponding to flashrom svn r1370.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "d5e85d674b512b542c5e0f1b383b1cf5a0e2f6b8",
      "tree": "5069863aa7d5100dfc18010d20f19fd8d8df2884",
      "parents": [
        "10b3e228703c8d5b42555a60954daf3ea01c2f16"
      ],
      "author": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Sun Jul 03 19:44:12 2011 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Sun Jul 03 19:44:12 2011 +0000"
      },
      "message": "Fix and improve Windows/MinGW/MSYS build\n\n - Makefile: Use $(OS_ARCH) to add some MinGW-specific workarounds and\n   settings, so that a simple \"make\" is sufficient on MinGW (instead of\n   manual Makefile hacking).\n\n - Explicitly set CC\u003dgcc in the Makefile, otherwise you get an error like\n   \"cc: command not found\" on MinGW.\n\n - MinGW doesn\u0027t have ffs(), use gcc\u0027s __builtin_ffs() instead.\n\n - Add /usr/local/include and /usr/local/lib to CPPFLAGS/LDFLAGS, that\u0027s\n   where libusb-win32 and libftdi stuff is usually placed on MinGW/MSYS.\n\n - Disable serprog (no sockets) and all PCI-based programmers (no libpci)\n   for now. That leaves dummy, ft2232_spi, and buspirate_spi enabled on\n   MinGW per default.\n\n - serial.c: Use correct type for \u0027tmp\u0027, both on Windows/MinGW (DWORD)\n   and POSIX (ssize_t).\n\nCorresponding to flashrom svn r1363.\n\nSigned-off-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "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": "9e3a6c4913ab66965f91233c58ae47dc542ee475",
      "tree": "d6d5ae2d0520131ae33d0329e25fb715ba4e0584",
      "parents": [
        "ab6328fa3615683e5dbba0fffe8707fa0072d035"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Oct 08 12:40:09 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Oct 08 12:40:09 2010 +0000"
      },
      "message": "Multiple unrelated changes\n\nCONFIG_BITBANG_SPI was not selected if CONFIG_NICINTEL_SPI was on by default.\nWiki output was missing all flash chips if CONFIG_INTERNAL was not\nselected.\nUse correct type for toupper()/tolower()/isspace() functions.\nSpecify software requirements in a generic way.\nNon-x86 compilation does not work with the default programmer set, so\nlist the make parameters which result in a working build.\n\nCorresponding to flashrom svn r1203.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "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": "d2f007f98b64969bf788d251377c41e75abb69b1",
      "tree": "dd8ff0f4846f741f85d58af6b553ef690c453f87",
      "parents": [
        "f4925168c86e5f2c514e478af9f413eb855d663d"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Sep 16 22:34:25 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Sep 16 22:34:25 2010 +0000"
      },
      "message": "Handle Bus Pirates already in bit banging mode correctly\n\nThanks to Johannes Sjölund for reporting that the Bus Pirate init could\nnot deal with a Bus Pirate which is already in binary Bitbang mode.\n\nThis is caused by a combination of the slowness of the Bus Pirate, the\nslowness of USB and a fast serial port flush routine which just flushes\nthe buffer contents and does not wait until data arrival stops.\n\nMake the Bus Pirate init more robust by running the flush command 10\ntimes with 1.5 ms delay in between.\n\nThis code development was sponsored by Mattias Mattsson. Thanks! Tested\na few dozen times, should work reliably.\n\nCorresponding to flashrom svn r1178.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Mattias Mattsson \u003cvitplister@gmail.com\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": "439597032eae0f41745d9173805945c5c85475eb",
      "tree": "76c0a1816f51012775006aa8c82bdfe78901b5ab",
      "parents": [
        "645c6df21a9570da7f8ac07fe740a0df3a1d4d1c"
      ],
      "author": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Sat Mar 13 17:28:29 2010 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Sat Mar 13 17:28:29 2010 +0000"
      },
      "message": "Various coding style and cosmetic changes\n\n - Fix coding-style, whitespace, and indentation in a few places.\n\n - Consistently use the same spelling (\"Super I/O\") everywhere.\n\nCorresponding to flashrom svn r933.\n\n - Make some flashrom stdout output look a bit nicer.\n \nSigned-off-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "06602c239c5de952bdc384a7f41d106ed6d24dc2",
      "tree": "53911c7e2296bdb0fa6c5057ca68dcc2f76ebbe9",
      "parents": [
        "0bf842d0ca93919a1cad185de19c4621b6f194e6"
      ],
      "author": {
        "name": "Patrick Georgi",
        "email": "patrick.georgi@coresystems.de",
        "time": "Tue Jan 26 20:58:40 2010 +0000"
      },
      "committer": {
        "name": "Patrick Georgi",
        "email": "pgeorgi@google.com",
        "time": "Tue Jan 26 20:58:40 2010 +0000"
      },
      "message": "Windows wants UNC names for COM ports \u003e9 (legacy COM ports only work with one digit)\n\nAs UNC also works for smaller names, just retarget all requests for\ndev\u003dCOMx on win32 to \\\\.\\COMx. Tested with large and small COM port\nnumbers on XP.\n\nCorresponding to flashrom svn r883.\n\nSigned-off-by: Patrick Georgi \u003cpatrick.georgi@coresystems.de\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "ebb4f5fc4ae402b2135cf60fd7e37447c8695be3",
      "tree": "f16917a1499edac436385ca086d3812829a89ead",
      "parents": [
        "f7f7a55cf5e235c7c721382868621ae960fa4884"
      ],
      "author": {
        "name": "Sean Nelson",
        "email": "audiohacked@gmail.com",
        "time": "Sat Jan 09 23:46:39 2010 +0000"
      },
      "committer": {
        "name": "Sean Nelson",
        "email": "audiohacked@gmail.com",
        "time": "Sat Jan 09 23:46:39 2010 +0000"
      },
      "message": "Convert all messages in serial.c to the new message infrastructure\n\nCorresponding to flashrom svn r848.\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": "e48654cf70f1c9c357b488f9506962c4485c46f5",
      "tree": "c19518ff0f49d942db679016feff49a462bc63a3",
      "parents": [
        "3b6237dbce5149c565a134394c6184118629464d"
      ],
      "author": {
        "name": "Patrick Georgi",
        "email": "patrick.georgi@coresystems.de",
        "time": "Wed Jan 06 22:14:39 2010 +0000"
      },
      "committer": {
        "name": "Patrick Georgi",
        "email": "pgeorgi@google.com",
        "time": "Wed Jan 06 22:14:39 2010 +0000"
      },
      "message": "Buspiratespi support on mingw\n\nCorresponding to flashrom svn r832.\n\nSigned-off-by: Patrick Georgi \u003cpatrick.georgi@coresystems.de\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "3b6237dbce5149c565a134394c6184118629464d",
      "tree": "ec6d0b820d2d153b32743d1d466ead3196fd677d",
      "parents": [
        "efa151eb10a11796bd36cf0f32c8202e60d9de01"
      ],
      "author": {
        "name": "Patrick Georgi",
        "email": "patrick.georgi@coresystems.de",
        "time": "Wed Jan 06 19:09:40 2010 +0000"
      },
      "committer": {
        "name": "Patrick Georgi",
        "email": "pgeorgi@google.com",
        "time": "Wed Jan 06 19:09:40 2010 +0000"
      },
      "message": "Multiple unrelated changes\n\n- replace the hand written serial input flush routine with the termios one.\n- serialport_discard_read isn\u0027t necessary anymore - it just wrapped\n  sp_flush_incoming with no extra value.\n- serialport_read and serialport_write would misbehave if read or write\n  didn\u0027t process everything in one go.\n- sp_flush_incoming should be #define\u0027d out for FAKE_COMMUNICATION like\n  serialport_discard_read was\n\nCorresponding to flashrom svn r831.\n\nSigned-off-by: Patrick Georgi \u003cpatrick.georgi@coresystems.de\u003e\nAcked-by: Sean Nelson \u003caudiohacked@gmail.com\u003e\n"
    },
    {
      "commit": "efa151eb10a11796bd36cf0f32c8202e60d9de01",
      "tree": "9f8668bc80e08d5a0293b27f608f4e40b17d9943",
      "parents": [
        "cc1802db50df74aa850d444ba0d7f6854bb7abd6"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Jan 06 16:09:10 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Jan 06 16:09:10 2010 +0000"
      },
      "message": "Move OS-dependent serial code from buspirate_spi.c to serial.c\n\nWhile at it, also rename a few functions to make it obvious\nthat they are generic and not specific to the Bus Pirate.\n\nCorresponding to flashrom svn r830.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Patrick Georgi \u003cpatrick.georgi@coresystems.de\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"
    }
  ]
}
