)]}'
{
  "log": [
    {
      "commit": "241e9d5e44d0885213b4456b1b684e1e746b6957",
      "tree": "6eab434965e1fa2fd862c670263a03c65a8c77aa",
      "parents": [
        "dbac46c3efd6858212280c7ae6854bb0c9f93b7a"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Aug 13 22:13:01 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Aug 13 22:13:01 2013 +0000"
      },
      "message": "Increase flashrom release number to 0.9.7\n\nCorresponding to flashrom svn r1710.\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: David Hendricks \u003cdhendrix@google.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "dbac46c3efd6858212280c7ae6854bb0c9f93b7a",
      "tree": "8188320a07f63b187c21f902ac238fe7a513225c",
      "parents": [
        "20a36baf56afac4896c8abe5a94dbe974a25dbc9"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Aug 13 22:10:41 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Aug 13 22:10:41 2013 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 19\n\nTested mainboards:\nOK:\n - ASUS P8H77-V LE\n   http://www.flashrom.org/pipermail/flashrom/2013-June/011127.html\n - HP Pegatron IPMEL-AE (Evans-GL6)\n   Reported by Idwer on IRC\n - MSI MS-7379 (G31M)\n   http://paste.flashrom.org/view.php?id\u003d1726\n - MSI MS-7816 (H87-G43)\n   http://www.flashrom.org/pipermail/flashrom/2013-July/011349.html\n - MSI MS-9830 (IM-945GSE-A, A9830IMS)\n   http://paste.flashrom.org/view.php?id\u003d1730\n - Supermicro X8SAX\n   http://paste.flashrom.org/view.php?id\u003d1717\nNOT OK:\n - Intel D2700MUD\n   http://paste.flashrom.org/view.php?id\u003d1723\n - Intel DQ45CB\n   http://www.flashrom.org/pipermail/flashrom/2013-August/011369.html\n\nChipsets:\n - Add PCI ID for Intel\u0027s Coleto Creek.\n - Mark Intel H87 (0x8c4a) as OK.\n   http://www.flashrom.org/pipermail/flashrom/2013-July/011349.html\n\nMiscellaneous:\n - ichspi: Fix printing address ranges if space is divided by FPB.\n - Tiny other stuff.\n\nCorresponding to flashrom svn r1709.\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": "20a36baf56afac4896c8abe5a94dbe974a25dbc9",
      "tree": "3dcc5846a0fee64271b2395f10385c86bc50d76c",
      "parents": [
        "c4f44df55fbe624e283ce3db83e1dea6925fd5da"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Aug 13 07:09:57 2013 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Aug 13 07:09:57 2013 +0000"
      },
      "message": "Abort on unused programmer parameters\n\nAn unused programmer parameter is a sign that the user wanted to either\ndo something not supported by the programmer or misspelled a parameter\nwhich may be essential for the given programmer.\n\nAborting is the only safe choice. If the programmer parameter is unused\nbecause of an error during programmer init, aborting would have happened\nanyway due to that error.\n\nCorresponding to flashrom svn r1708.\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": "c4f44df55fbe624e283ce3db83e1dea6925fd5da",
      "tree": "23f602150eecb4599d675e45ff1a61640953d52e",
      "parents": [
        "463dd6953eed14930ae9819c7194ea1cc3b8ef40"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Aug 12 22:58:43 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Aug 12 22:58:43 2013 +0000"
      },
      "message": "Fix verification operation\n\nI broke this in r1702 where I enabled avoidance of the verification step if\nwe did not modify anything in the erase/write step. The problem is that\nall_skipped is initialized to true and hence it would only ever verify if\nthere have been changes noted in the erase/write step. This obviously\nbreaks the verification operation (-v/--verify) because there we never\nenter the erase/write loop.\n\nThe better alternative would be to enable (the implicit) verification\nin the write loop and not in cli_classic.c. This would require a bigger\nchange due to the existance of dont_verify_it. Eventually this is the\nright thing to do but not so shortly before a release.\n\nCorresponding to flashrom svn r1707.\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": "463dd6953eed14930ae9819c7194ea1cc3b8ef40",
      "tree": "9e50a76624538bb25a390e08f7d179b7b1bba998",
      "parents": [
        "d2a7e873f3c4125ce1f40d2a5330105c571658d0"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Aug 08 12:00:19 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Aug 08 12:00:19 2013 +0000"
      },
      "message": "Detect AMD Yangtze (found in Kabini and Tamesh)\n\nThe PCI ID of the LPC bridge doesn\u0027t change between Hudson-2/3/4 and\nYangtze (Kabini/Temash) but the SPI interface does. Bail out in case we\ndetect Yangtze and add infrastructure to distinguish other families too for\nfurther refactorings.\n\nAlso, add ASRock IMB-A180 to the laptop whitelist and refine the IMC\nwarning a bit.\n\nTested on ASRock IMB-A180 with and w/o USE_YANGTZE_HEURISTICS, and\nby Chris Goodrich from Sage on\n - SB600\n - SB700\n - SB800\n - Hudson 3 (A70M)\n - Kabini\n\nCorresponding to flashrom svn r1706.\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": "d2a7e873f3c4125ce1f40d2a5330105c571658d0",
      "tree": "4f09a747d0d538628355c3179b616c790b73cdef",
      "parents": [
        "70e145989bb9d5214a2c50b79b23c457d12f04a5"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Tue Jul 30 09:34:44 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Jul 30 09:34:44 2013 +0000"
      },
      "message": "dediprog: Fix crash if usb_open() fails\n\nCorresponding to flashrom svn r1705.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "70e145989bb9d5214a2c50b79b23c457d12f04a5",
      "tree": "26b1a82d5a33ea45f5fe0d02cdab4b5f5ab36e7a",
      "parents": [
        "1aa80b0648337cf3dcc50932fb237ee69fd82f82"
      ],
      "author": {
        "name": "Rudolf Marek",
        "email": "r.marek@assembler.cz",
        "time": "Thu Jul 25 22:58:56 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jul 25 22:58:56 2013 +0000"
      },
      "message": "sbxxx: Handle active IMCs in AMD chipsets\n\nDetect and temporarily disable the IMC while accessing the flash.\nDisable writes on default, but allow the user to enforce it.\n\nCorresponding to flashrom svn r1704.\n\nSigned-off-by: Rudolf Marek \u003cr.marek@assembler.cz\u003e\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: David Hendricks \u003cdhendrix@google.com\u003e\n"
    },
    {
      "commit": "1aa80b0648337cf3dcc50932fb237ee69fd82f82",
      "tree": "4a642d9d6200c4ab16dbf917974bdb66f15dfc4c",
      "parents": [
        "0554ca5cd33fe2cc599cfdbe91fff03c8fa752c5"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jul 25 22:58:51 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jul 25 22:58:51 2013 +0000"
      },
      "message": "Rename Numonyx and ST (SGS/Thomson) chips to Micron\n\nMicron acquired Numonyx and asked us to change the vendor names to\n\"Micron\". For the chips clearly emerging from the former\nmanufacturers we (will) use \"Micron/Numonyx/ST\" and the original\nname for the rest. Resorting the chip entries makes the diff\nunreadable, hence the stand-alone commit.\n\nCorresponding to flashrom svn r1703.\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": "305e0b999a7d452a845709d5558c17a31afe178c",
      "tree": "3b65c3cd627ff55d683f26bf0819913a3e63c5d8",
      "parents": [
        "4a03865cd9b192e6e65b5dbc5a928af87322385d"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Jul 17 23:46:44 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Jul 17 23:46:44 2013 +0000"
      },
      "message": "Uintptr_t-ify map_flash_region functions\n\nUnsigned long is not the right type for manipulating pointer values.\nSince C99 there are suitable unsigned and signed types available, namely\nuintptr_t and intptr_t respectively.\n\nUse them in functions assigned to programmers\u0027 map_flash_region fields and\ntheir callers where applicable.\n\nThis patch also changes the display width of all associated address values in\nphysmap.c to 16/8 hex characters depending on the actual size by\nintroducing a macro PRIxPTR_WIDTH and exploiting printf\u0027s * field width\nspecifier.\n\nCorresponding to flashrom svn r1701.\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": "4a03865cd9b192e6e65b5dbc5a928af87322385d",
      "tree": "c63c9cc54a0c8db1b14b1f9f3686f2a37166897c",
      "parents": [
        "136388ffa9f41c76a8bdd10021356de022a5d2f7"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Jul 17 09:28:00 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Jul 17 09:28:00 2013 +0000"
      },
      "message": "print.c: Fix multiline support\n\n - Use the reentrant tokenizer version strtok_r to break up vendor and model\n   names in print.c.\n - Add implementation of strtok_r for mingw (strtok_r is POSIX only).\n - Free allocated temporary memory again.\n\nCorresponding to flashrom svn r1700.\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": "136388ffa9f41c76a8bdd10021356de022a5d2f7",
      "tree": "4d87ed034f71072f53922f0a796da0cb5c9fe77a",
      "parents": [
        "c2333751c411b5265326d866f810017cd561643c"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jul 15 10:47:53 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jul 15 10:47:53 2013 +0000"
      },
      "message": "Differentiate ultimate error messages depending on programmer used\n\nWith every newly supported programmer the information regarding reboots\non failures becomes more ridiculous. With this patch it is only shown when\nthe internal programmer module was selected.\n\nExample outputs for external programmers:\n1) non-fatal:\n[…]\nReading current flash chip contents... done. FAILED at 0x00000000! Expected\u003d0xff, Found\u003d0x28, failed byte count from 0x00000000-0x0001ffff: 0x1fde7\nERASE FAILED!\nFAILED!\nUh oh. Erase/write failed. Checking if anything changed.\nGood. It seems nothing was changed.\nWriting to the flash chip apparently didn\u0027t do anything.\nPlease check the connections (especially those to write protection pins) between\nthe programmer and the flash chip. If you think the error is caused by flashrom\nplease report this on IRC at chat.freenode.net (channel #flashrom) or\nmail flashrom@flashrom.org, thanks!\n\n2) fatal:\n[…]\nVerifying flash... FAILED at 0x00000000! Expected\u003d0x0f, Found\u003d0xff, failed byte count from 0x00000000-0x0001ffff: 0x1fde6\nYour flash chip is in an unknown state.\nPlease report this on IRC at chat.freenode.net (channel #flashrom) or\nmail flashrom@flashrom.org, thanks!\n\nCorresponding to flashrom svn r1699.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: David Hendricks \u003cdhendrix@google.com\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": "11990da1d3a4ca913ed5b85888a37188c4a621db",
      "tree": "5c905e082327d5714b6a09d30ae38e210d610ca9",
      "parents": [
        "6bf5fe78f1064b56275056b2a90ea4e1c34e42be"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jul 13 23:21:05 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jul 13 23:21:05 2013 +0000"
      },
      "message": "Various cross-platform fixes\n\nImprove compilation with libpayload (compiling flashrom.c and\nlinking is still broken):\n - disable Ponyprog (which enforced serial.c compilation)\n - make errno available where it is needed\n\nFix internal.c for non-x86 and enable cb parsing on ARM.\n\nFix mingw builds by using its __USE_MINGW_ANSI_STDIO macro\nand gnu_printf definition for printf format style checking.\nSee http://sourceforge.net/apps/trac/mingw-w64/wiki/gnu%20printf\nThis requires inclusion of stdio.h in flash.h.\n\nFix order of libraries in the Makefile:\nFEATURE_LIBS needs to come *after* PCILIBS in case ZLIB is needed by it.\n\nCorresponding to flashrom svn r1697.\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": "6bf5fe78f1064b56275056b2a90ea4e1c34e42be",
      "tree": "ad79544266cff3bbc268ad3d5eaade252b0dad46",
      "parents": [
        "95b4b6d9f64f15a9077c61bfc4a903370ab415a6"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jul 13 21:18:32 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jul 13 21:18:32 2013 +0000"
      },
      "message": "Add support for AMD Geode\u0027s MSR on OpenBSD\n\nPreviously the default implementation was used, which always failed.\nOn other systems than the Geode the code is not equal to that anymore,\nbut should not explode because setup_cpu_msr() returns an error and\ntherefore no other MSR functions should be called.\n\nCorresponding to flashrom svn r1696.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nTested-by Leonardo Guardati \u003cleonardo@guardati.it\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": "95b4b6d9f64f15a9077c61bfc4a903370ab415a6",
      "tree": "297f65bb92b563edd2ab01e7d26deebfd3af08ac",
      "parents": [
        "1c356bb6c164f00354cd70ec73657fcac7273e2f"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jul 13 20:55:33 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jul 13 20:55:33 2013 +0000"
      },
      "message": "Fix hwaccess (again)\n\nI completely forgot about NetBSD in r1638 which was broken since then.\nAlso, on OpenBSD use iopl again and refine the warning in case we have\ninsufficient privileges.\nThanks to Jonathan A. Kollasch for his help in getting the details right.\n\nCorresponding to flashrom svn r1695.\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": "1c356bb6c164f00354cd70ec73657fcac7273e2f",
      "tree": "28b76b6b23f542aa616f0ebf6f65051b8a9e52f1",
      "parents": [
        "6f59b0bc5124f47294e261bb20924f9a8e505d89"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jul 11 13:48:52 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jul 11 13:48:52 2013 +0000"
      },
      "message": "print_wiki: Fixes, explanation re\n\nFlash chips, links to footnotes.\n\n - Escape mainboard notes in the wiki output with \u003cnowiki\u003e (this became\nnecessary because MediaWiki started to convert \u003cmark@zl2tod.net\u003e to\n\u003cmark\u003e). - Add explanations at the top of the flash chip table in the\nwiki. - Add links to the footnotes of mainboards and laptops similarly\nto what MediaWiki does: link from the reference to the footnote and\nvice versa too. Also, check for truncations of the footnotes due to the\nlimited buffer. - Fix a typo introduced in r1555.\n\nCorresponding to flashrom svn r1694.\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": "6f59b0bc5124f47294e261bb20924f9a8e505d89",
      "tree": "4fb4121d32185587067e5d50723ec879d56b8dbe",
      "parents": [
        "c80c4a35a0d4eb51c142fc53ee4ae6d82f4dc37a"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:29:51 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:29:51 2013 +0000"
      },
      "message": "Add support for remaining Numonyx (Micron) N25Q chips\n\nAdd...\n - N25Q128..3E\n - N25Q128..1E\n - N25Q256..1E (defunct due to addressing)\n - N25Q256..3E (defunct due to addressing)\n - N25Q512..1E (defunct due to addressing)\n - N25Q512..3E (defunct due to addressing)\n - N25Q00A..3G (defunct due to addressing)\n\nAlso, refine existing family members.\n\nCorresponding to flashrom svn r1693.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@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": "c80c4a35a0d4eb51c142fc53ee4ae6d82f4dc37a",
      "tree": "51a1339cfa3b916613a092a2a50106c671b7916f",
      "parents": [
        "0ec2f7e7e00d27c9551e7fe7c8f5497d87475be2"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:29:44 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:29:44 2013 +0000"
      },
      "message": "Add support for Spansion S25FL...S chips\n\nAdd...\n - S25FL128S\n - S25FL256S uniform version (defunct due to addressing)\n - S25FL512S uniform version (defunct due to addressing)\n\nMerge Intel S33 status register functions with this one\u0027s.\n\nCorresponding to flashrom svn r1692.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@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": "0ec2f7e7e00d27c9551e7fe7c8f5497d87475be2",
      "tree": "970dacd648543d9bdc601cce60cee1458ec8e727",
      "parents": [
        "b8e212c3958606e82c21c001418fe51b27e6ebc9"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:29:36 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:29:36 2013 +0000"
      },
      "message": "Add support for Spansion S25FL2 chips\n\nAdd...\n - S25FL204K\n - S25FL208K\n - S25FL216K (same ID as S25FL116K)\n\nCorresponding to flashrom svn r1691.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@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": "b8e212c3958606e82c21c001418fe51b27e6ebc9",
      "tree": "6ff57893304dac73da8ae11eb10e131ebcada867",
      "parents": [
        "d07fde68845254036b6617d91da811bc69ffd467"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:29:27 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:29:27 2013 +0000"
      },
      "message": "Add support for Micron/Numonyx/ST M25PX80\n\nAlso, refine status register prettyprinting and unlocking of all family\nmembers and add OTP details.\n\nCorresponding to flashrom svn r1690.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@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": "d07fde68845254036b6617d91da811bc69ffd467",
      "tree": "9c209232c130056336631034ff45e7370e18821e",
      "parents": [
        "c08542b9779180cd90da9c6b23dda760797fac83"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:29:21 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:29:21 2013 +0000"
      },
      "message": "Add support for AMIC A25LQ16 and A25LQ64\n\nAlso, refine unlocking of A25L032, A25LQ32A and A25LQ032.\n\nCorresponding to flashrom svn r1689.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@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": "c08542b9779180cd90da9c6b23dda760797fac83",
      "tree": "4bce5b7c528450c1439fd97d7700de9112e41472",
      "parents": [
        "d0e3ea1470eb7e16082a853aca5010d20dc0879b"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:29:14 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:29:14 2013 +0000"
      },
      "message": "Add support for more Eon EN25QH chips\n\nAdd...\n - EN25QH64\n - EN25QH128\n - EN25QH256 (defunct due to addressing)\n\nCorresponding to flashrom svn r1688.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@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": "d0e3ea1470eb7e16082a853aca5010d20dc0879b",
      "tree": "f381998972806961af753464911f93de9fd3ee47",
      "parents": [
        "01dac17ec586e0476eaea3410d68d516fd6d6a61"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:29:08 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:29:08 2013 +0000"
      },
      "message": "Add support for Eon EN25S series\n\nAdd...\n - EN25S10\n - EN25S20\n - EN25S40\n - EN25S80\n - EN25S16\n - EN25S32\n - EN25S64\n\nCorresponding to flashrom svn r1687.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@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": "01dac17ec586e0476eaea3410d68d516fd6d6a61",
      "tree": "8557b004046d1dace6ca40256ca0bc41a31e1172",
      "parents": [
        "3f3390b22c7b94a9d1d5573a030fd0bcc9a8f7bf"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:29:03 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:29:03 2013 +0000"
      },
      "message": "Add support for Numonyx M45PE series\n\nAdd...\n - M45PE10\n - M45PE20\n - M45PE40\n - M45PE80\n - M45PE16\n\nCorresponding to flashrom svn r1686.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@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": "3f3390b22c7b94a9d1d5573a030fd0bcc9a8f7bf",
      "tree": "d7ff422da3e33c4e1a12b6e727a4a98f12a54d80",
      "parents": [
        "384de8e7450fc705820ae24419d208e95eddf974"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:28:56 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:28:56 2013 +0000"
      },
      "message": "Add support for some GigaDevice GD25* chips\n\nAdd...\n - GigaDevice GD25T80\n - GigaDevice GD25Q10\n - GigaDevice GD25Q512\n\nAlso, improve some others.\n\nCorresponding to flashrom svn r1685.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@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": "384de8e7450fc705820ae24419d208e95eddf974",
      "tree": "ca0f37787e7dd7a60b8fe59c1f8432da2a15f9f5",
      "parents": [
        "b6b00e99aac373176e612c79b4579c9e577bd2ed"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:28:49 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:28:49 2013 +0000"
      },
      "message": "Add support for all Sanyo LE25FW chips\n\nAdd...\n - Sanyo LE25FW403A\n - Sanyo LE25FW418A\n - Sanyo LE25FW806\n - Sanyo LE25FW808\n\nAlso, fix wrong description of Sanyo LE25FW203A.\n\nCorresponding to flashrom svn r1684.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@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": "b6b00e99aac373176e612c79b4579c9e577bd2ed",
      "tree": "b5193c315ee7ea51071874ed8c30435a4aee7e71",
      "parents": [
        "579f1e0b67a49282684a39f6c08bcf0813bd3c5c"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:28:43 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:28:43 2013 +0000"
      },
      "message": "Add support for Nantronics N25 series\n\nAdd...\n - N25S10\n - N25S20\n - N25S40\n - N25S80\n - N25S16\n\nCorresponding to flashrom svn r1683.\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": "579f1e0b67a49282684a39f6c08bcf0813bd3c5c",
      "tree": "d14c6dfdb3bebba760dc9d83e14f0d5d5641abbe",
      "parents": [
        "278ba6e96766f1d17202642a720f4e4eac007c74"
      ],
      "author": {
        "name": "Nikolay Nikolaev",
        "email": "evrinoma@gmail.com",
        "time": "Fri Jun 28 21:28:37 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:28:37 2013 +0000"
      },
      "message": "Introduce spi_block_erase_db()\n\nUsed for page erase on some chips (e.g. Numonyx M45PE and\nSanyo LF25FW series).\n\nCorresponding to flashrom svn r1682.\n\nSigned-off-by: Nikolay Nikolaev \u003cevrinoma@gmail.com\u003e\nReviewed-by: Steven Zakulec \u003cspzakulec@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": "278ba6e96766f1d17202642a720f4e4eac007c74",
      "tree": "f0520da2262238adda4fb28a94fda700722c5bf4",
      "parents": [
        "682122bce7714e285d196be09d4c97666458c487"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:28:27 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jun 28 21:28:27 2013 +0000"
      },
      "message": "Introduce additional SPI status register helpers\n\n - spi_prettyprint_status_register_default_welwip():\n   It just prettyprints the plain hex value and the welwip bits.\n - spi_prettyprint_status_register_default_bp4():\n   Prints the hex value, welwip, bp0-5 and srwd bits.\n - spi_disable_blockprotect_bp2_srwd(),\n - spi_disable_blockprotect_bp3_srwd() and\n   spi_disable_blockprotect_bp4_srwd():\n   Three new common block unprotection functions for the frequent\n   cases where there is a status register lock bit at bit #7 and some\n   block protection bits at bits #2-#4, #2-#5 and #2-#6 respectively.\n\nCorresponding to flashrom svn r1681.\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": "682122bce7714e285d196be09d4c97666458c487",
      "tree": "026de7f194bea13e2792bdd28e5edb8242bc93c1",
      "parents": [
        "cecb2c56d07ac45cde56cadc6416e653b0cfafb7"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jun 23 22:15:39 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jun 23 22:15:39 2013 +0000"
      },
      "message": "Warn if we skipped all blocks while writing\n\nQuick hack to print a warning if we skip all blocks in a write\nprocess because they are already equal to the requested image. We\nwant something like this to make users aware... and some developers\nwho regularly fall for this too *coughcough*. There might be more\nelegant solutions for this... patches welcome.\n\nThis does not work for erasing because we do that unconditionally.\n\nCorresponding to flashrom svn r1680.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Idwer Vollering \u003cvidwer@gmail.com\u003e\n"
    },
    {
      "commit": "cecb2c56d07ac45cde56cadc6416e653b0cfafb7",
      "tree": "81788790601ca10fea904cef17f4694134ecbc3d",
      "parents": [
        "0466c819e248881e03a6ec98db5297565816859b"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jun 20 22:55:41 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jun 20 22:55:41 2013 +0000"
      },
      "message": "Fix unlocking function for most Atmel AT2[56]D* chips\n\nI broke unlocking them correctly in r1635 while refactoring (NB: the\ncommit log including the overly selfconfident statement about the\n\"bug in spi_disable_blockprotect_at25df()\").\n\nAffected chips have per sector protection bits and the write protection bits\nin the status register do indicate if none, some or all sectors are protected.\nIt is possible to globally (un)lock all sectors at once but in a way that was\nnot anticipated when refactoring the spi25 unlocking functions into\nspi_disable_blockprotect_generic(). To globally unprotect not only the\nprotection bits (2 and 3) have 0 to be written to them but also bits 4 and 5\nwhich normally would not be touched by spi_disable_blockprotect_generic().\nSome of the chips also support a permanent lockdown with fuses which we\ndo not handle yet.\n\nTo fix this without copying the whole method I introduce another mask\nparameter to spi_disable_blockprotect_generic() namely unprotect_mask.\nSee verbose comments inline for details.\n\nAlso, prettyprint the status register after trying to disable the block\nprotection fails.\n\nCorresponding to flashrom svn r1679.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nTested-by: Chi Zhang \u003czhangchi866@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "0466c819e248881e03a6ec98db5297565816859b",
      "tree": "ef4b7b69bdbe80c9a3177341811dce516e7bbd74",
      "parents": [
        "b13d4e699249838babfc37a1d77b8ee27f6d72d9"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jun 16 10:30:08 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jun 16 10:30:08 2013 +0000"
      },
      "message": "sbxxx: spibar[0] debug print refinements\n\nNewer models support a 66 MHz clock and fast reads.\nWe should probably distinguish the models better (as we do in ichspi)\nand add support for frequency selection etc. For now this has to\nsuffice.\n\nCorresponding to flashrom svn r1678.\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": "b13d4e699249838babfc37a1d77b8ee27f6d72d9",
      "tree": "bfcf0c34080137b2c1f258eb2ca0ffc3e291deb2",
      "parents": [
        "27cb34b8a99e863cf7ed3a0098c55b059889b80e"
      ],
      "author": {
        "name": "Yung-Chieh Lo",
        "email": "yjlou%chromium.org@gtempaccount.com",
        "time": "Sun Jun 09 14:00:46 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jun 09 14:00:46 2013 +0000"
      },
      "message": "Add W25Q...W series\n\n - Use \".V\" (and \"_V\" in macros) for 3.3V Winbond 25Q chips.\n   Rename the existing chips and add a .voltage entry where it was missing.\n - Use \".W\" (and \"_W\" in macros) for 1.8V Winbond 25Q chips.\n - Add W25Q20.W, W25Q40.W, W25Q80.W, W25Q16.W, W25Q32.W, W25Q64.W.\n Based on chromiumos\u0027 469707f0d9b7d81b6c6bb2cace13f09db70f4382\n http://git.chromium.org/gitweb/?p\u003dchromiumos/third_party/flashrom.git;a\u003dcommitdiff;h\u003d469707f0d9b7d81b6c6bb2cace13f09db70f4382\n\nCorresponding to flashrom svn r1677.\n\nSigned-off-by: Yung-Chieh Lo \u003cyjlou%chromium.org@gtempaccount.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": "27cb34b8a99e863cf7ed3a0098c55b059889b80e",
      "tree": "8131ce99aa05f74583e67157c85bf09f707b6eab",
      "parents": [
        "efe2d43056bcc15d70903354c6410a498b56b285"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jun 01 00:06:12 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jun 01 00:06:12 2013 +0000"
      },
      "message": "Change warning regarding protected ICH regions\n\nThere is no good reason to collect further log files of locked Intel-\nbased boards. Forward affected users directly to an explanation in\nthe wiki instead.\n\nCorresponding to flashrom svn r1675.\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": "efe2d43056bcc15d70903354c6410a498b56b285",
      "tree": "fc6a7fd4d6872b6c85d41868a97f948c73cb525c",
      "parents": [
        "e659d2dfe3bbcc15e6c6cdb77ab7c09d040c06e3"
      ],
      "author": {
        "name": "Patrick Georgi",
        "email": "patrick.georgi@secunet.com",
        "time": "Thu May 23 21:47:46 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu May 23 21:47:46 2013 +0000"
      },
      "message": "dediprog: fix SPI clock setting\n\nAvoid setting SPI speed on firmware versions \u003c 5.0.0 and note this\nlimitation in the man page.\nUse the correct offset of the \"12M\" element in the spispeeds array to\nmatch our manpage and the default of Dediprog\u0027s dpcmd.\n\nCorresponding to flashrom svn r1674.\n\nSigned-off-by: Patrick Georgi \u003cpatrick.georgi@secunet.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": "e659d2dfe3bbcc15e6c6cdb77ab7c09d040c06e3",
      "tree": "260c347c832cb7644d88e2b0ea8fd4453cdcd590",
      "parents": [
        "730e7e74ebf11560d1c852934b18e98d1200ce53"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri May 03 21:58:28 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri May 03 21:58:28 2013 +0000"
      },
      "message": "dediprog: add support for chip select\n\nThanks to the traces captured and tests done by Martin Roth, and confirmed\nby tests and analysis by Joshua Zarr too, we can now use both target chips\non the Dediprog SF100.\n\nCorresponding to flashrom svn r1673.\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": "730e7e74ebf11560d1c852934b18e98d1200ce53",
      "tree": "f9bc3f738776ff40df3d128e7dbc145ac580cb0c",
      "parents": [
        "f44516121aecbd307a9398fe9bc1ec9ce25bfb09"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed May 01 14:04:19 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed May 01 14:04:19 2013 +0000"
      },
      "message": "Update spi_get_erasefn_from_opcode()\n\nWe forgot to add a few SPI erase functions to the helper function that is\nused for SFDP. Also, sort the declarations in the header.\n\nCorresponding to flashrom svn r1672.\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": "f44516121aecbd307a9398fe9bc1ec9ce25bfb09",
      "tree": "87438afed9b3bfa3b4d901c25ccd82df0b982bb4",
      "parents": [
        "3f5e35db4b22d36918adc7ee28b0d77ee50af568"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Apr 19 01:59:15 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Apr 19 01:59:15 2013 +0000"
      },
      "message": "Add support for PMC Pm25LD series\n\nThis patch adds support for\n - Pm25LD256C\n - Pm25LD512(C)\n - Pm25LD010(C)\n - Pm25LD020(C)\n - Pm25LD040(C)\n\nThese seem to be the successors of the Pm25LV series.\nThe main difference seems to be the dual I/O and additional erase opcodes.\nSome support an additional, complex locking register (maybe all of the\nabove, but available datahsheets do not indicate it for all).\n\nThe Pm25LD512C was tested by Chi Zhang:\nhttp://paste.flashrom.org/view.php?id\u003d1579\n\nCorresponding to flashrom svn r1671.\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": "3f5e35db4b22d36918adc7ee28b0d77ee50af568",
      "tree": "22d04b8a8c66a4f8be377c54b759215f12faf1bf",
      "parents": [
        "e33c40eb7db5dc16763cd7c245578a968306a757"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Apr 19 01:58:33 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Apr 19 01:58:33 2013 +0000"
      },
      "message": "Refine PMC Pm25LV series\n\n - Add missing bits and resort chips\n - Refine Pm25LV512(A) and Pm25LV010\n   Due to manufacturer ID continuation this one needs a new probing\n   function: probe_spi_res3() which should be refactored in the future.\n   The datasheet describes a very weird order of ID bytes:\n   Vendor byte, model byte, vendor continuation byte. Let\u0027s pretend we did\n   not read that or the datasheet is bogus (although the datasheet of the\n   successor series describes the same but luckily additionally to RDID).\n - Add Pm25LV010A\n   This was tested by Chi Zhang:\n   http://paste.flashrom.org/view.php?id\u003d1573\n\nCorresponding to flashrom svn r1670.\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": "363fd7e827e3b630f916f9d2bdda262180274789",
      "tree": "917a00cb091798c90273bf5d45bb86e4160de46a",
      "parents": [
        "73dc0db7258121f260eeda04f50531f3eda943ee"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Apr 07 13:08:30 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Apr 07 13:08:30 2013 +0000"
      },
      "message": "Get rid of perror()\n\nIt prints to stderr and that\u0027s not what we want necesserily;\nusing msg_*err gives us more control.\n\nCorresponding to flashrom svn r1668.\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": "73dc0db7258121f260eeda04f50531f3eda943ee",
      "tree": "752c2840a2c207360bcabaebfdbd66ceabc26c87",
      "parents": [
        "02437458a603c112e503abc63ad32b09cfbc23f3"
      ],
      "author": {
        "name": "Maksim Kuleshov",
        "email": "mmcx@mail.ru",
        "time": "Fri Apr 05 08:06:10 2013 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Apr 05 08:06:10 2013 +0000"
      },
      "message": "Usleep() is not found in all versions of MinGW, use Sleep() on Windows\n\nHandle long sleeps on non-Windows correctly.\n\nCorresponding to flashrom svn r1667.\n\nSigned-off-by: Maksim Kuleshov \u003cmmcx@mail.ru\u003e\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": "02437458a603c112e503abc63ad32b09cfbc23f3",
      "tree": "5d6795f391efd74229f1b88de4639157fbec5563",
      "parents": [
        "52b6e9dc546d1c0958e03634eff47c71f460f8ac"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 19:34:53 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Apr 01 19:34:53 2013 +0000"
      },
      "message": "Refine granularity handling in preparation of AT45DB series support\n\nThis adds a number of new granularitie and refines the handling of\nn-byte granularities by extracting the respective code into a helper\nfunction which reduces the pain of the above significantly.\n\nCorresponding to flashrom svn r1666.\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": "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": "c60de0e87faa631887821892547f0554eed2727f",
      "tree": "54b9eb93e87ead0498bdacd22f4a3cd3e0ffd2ae",
      "parents": [
        "226037da3d274fdf65e477e9ef1082356830b2c7"
      ],
      "author": {
        "name": "James Laird",
        "email": "jhl@mafipulation.org",
        "time": "Wed Mar 27 13:00:23 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Mar 27 13:00:23 2013 +0000"
      },
      "message": "Add Altera USB-Blaster SPI programmer\n\nAdds support for the Altera USB-Blaster programming dongle in Active\nSerial (AS) mode. Tested on both original product and a clone dongle.\n\nCorresponding to flashrom svn r1658.\n\nSigned-off-by: James Laird \u003cjhl@mafipulation.org\u003e\nSigned-off-by: Kyösti Mälkki \u003ckyosti.malkki@gmail.com\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Kyösti Mälkki \u003ckyosti.malkki@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "226037da3d274fdf65e477e9ef1082356830b2c7",
      "tree": "7933e58fbbe2f5ab332423626c2f4611500f12f4",
      "parents": [
        "90eb2269c22ac7991f9d46afc3a4b86f89bc9e82"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Mar 16 01:22:12 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Mar 16 01:22:12 2013 +0000"
      },
      "message": "Fix evil twins of Macronix MX25L1605, MX25L3205, MX25L6405\n\nSimilarly to the patch in r1647 this one updates the chips identified as above\nwith references to and data about their respective twins. Unlike previously this\none deals with the more evil details.\n\nHelge Wagner from GE discovered some problems with chips sharing IDs\nand proposed a patch to tackle (some of) them, see:\nhttp://patchwork.coreboot.org/patch/3709/\nThat patch was bitrotting in our mailboxes for a long time and it is still not\nready for merge, but we increasingly get reports about problems (e.g.\nhttp://paste.flashrom.org/view.php?id\u003d1525) regarding these chips and\nhence must act to ensure users\u0027 safety.\n\nThis patch splits the chip definitions of evil twins into separate ones which\ncorrectly declare the respective attributes (the main problems are the erase\nblock sizes for the 0x20 opcode and hence my changes combine different\nchips with partly different attributes apart from their names as long as the\nerasers layout it the same). This forces the user to select the (right) chip\ndefinition with the -c/--chip parameter and hence will break a number of\npreviously perfectly working environments.\n\n0x2015 is used by and split to\n - MX25L1605 (64kB sectors in 0x20 erases)\n - MX25L1605A/MX25L1606E (4kB in 0x20 erases and an additional 0x52 opcode with 64kB blocks)\n - MX25L1605D/MX25L1608D (4k sectors in 0x20 erases)\n\n0x2016 is used by and split to\n - MX25L3205/MX25L3205A (64kB 0x20)\n - MX25L3205D/MX25L3208D (4kB 0x20)\n - MX25L3206E (4k 0x20, 64k 0x52)\n\n0x2017 is used by and split to\n - MX25L6405/MX25L6405D (64k 0x20)\n - MX25L6406E/MX25L6436E (4k 0x20)\n - MX25L6445E (4k 0x20, 64k 0x52)\n\nBonus: add some minor details to MX25L1635D, MX25L1635E, MX25L3235D,\nMX25L12805D.\n\nTested with MX25L3206E, MX25L64036E.\n\nCorresponding to flashrom svn r1657.\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": "90eb2269c22ac7991f9d46afc3a4b86f89bc9e82",
      "tree": "f38a72e154957880e301f7e1630639025272f2dc",
      "parents": [
        "f800f55b05428c8050dbeb8e1b34696968297992"
      ],
      "author": {
        "name": "Duncan Laurie",
        "email": "dlaurie@chromium.org",
        "time": "Fri Mar 15 03:12:29 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Mar 15 03:12:29 2013 +0000"
      },
      "message": "Add support for Intel Lynx Point low-power and Wellsburg\n\nNew IDs taken from Intel\u0027s patches for the Linux kernel.\nAlso, refine original Lynx Point naming etc.\n\nCorresponding to flashrom svn r1656.\n\nBased on the chromiumos patch\nChange-Id: I303a05baa80e4449e70d20adf78ebc7128b88d8e\nSigned-off-by: Duncan Laurie \u003cdlaurie@chromium.org\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": "f800f55b05428c8050dbeb8e1b34696968297992",
      "tree": "7ae7fbb065ba03e6b787467db8d7e07583ad7035",
      "parents": [
        "bf97bdc420bbf2c787c63a6a1c9bf9d3c5d4ac80"
      ],
      "author": {
        "name": "Vincent Palatin",
        "email": "vpalatin@chromium.org",
        "time": "Fri Mar 15 02:03:16 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Mar 15 02:03:16 2013 +0000"
      },
      "message": "Add support for Macronix MX25U1635E, MX25U3235E/F and MX25U6435E/F\n\nMacronix MX25U3235 is a 4MB (32Mbits) 1.8v SPI flash supporting QPI.\nCode for it was refined after merging it from chromium:\nChange-Id: I62c7db070254ba3ec68090e783f57b25a6e8d15a\nReviewed-on: https://gerrit.chromium.org/gerrit/44395\nTested-by: Vincent Palatin \u003cvpalatin@chromium.org\u003e\nReviewed-by: Randall Spangler \u003crspangler@chromium.org\u003e\nCommit-Queue: Vincent Palatin \u003cvpalatin@chromium.org\u003e\n\nBased on that support for MX25U1635E and MX25U6435E/F was added\nby Stefan Tauner.\nAlso, add a feature flag for QPI-enabled chips: FEATURE_QPI.\n\nCorresponding to flashrom svn r1655.\n\nSigned-off-by: Vincent Palatin \u003cvpalatin@chromium.org\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "bf97bdc420bbf2c787c63a6a1c9bf9d3c5d4ac80",
      "tree": "2e3c490f08231ce86716f8a3fb991f2787246a50",
      "parents": [
        "d3b98fb833f6534d6d09522c915063d6f8213fd2"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Mar 09 17:55:35 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Mar 09 17:55:35 2013 +0000"
      },
      "message": "Add utility to print all chip names in flashchips.h that are not in flashchips.c\n\nThis allows to list yet unsupported chips easily.\n\nFirst it tries to find the directory containing the files, then it uses sed to\nextract the macro names of chips from flashchips.h, greps for them in\nflashchips.c and prints it if it is not found.\nIf verbose mode is activated by giving at least one additional parameter\nit prints the chip ID and comment following the macro definition too.\n\nCorresponding to flashrom svn r1654.\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": "d3b98fb833f6534d6d09522c915063d6f8213fd2",
      "tree": "283be58e02df5c1e6d3785e419e3c33242e30ef8",
      "parents": [
        "c54adc5852fe9b96127506ca4602aa19eb607fe9"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Mar 04 01:41:56 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Mar 04 01:41:56 2013 +0000"
      },
      "message": "Add (untested) board enable for ASUS P4PE-X/TE\n\nREed by roxfan and Michael Karcher, patch by Stefan Tauner.\n\nCorresponding to flashrom svn r1653.\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": "c54adc5852fe9b96127506ca4602aa19eb607fe9",
      "tree": "2460dd695cd9e65d036f3d9c636fc1353106e1a5",
      "parents": [
        "50d67aaa79441e8043aa1de32bb40ae94fcc51b2"
      ],
      "author": {
        "name": "Kyösti Mälkki",
        "email": "kyosti.malkki@gmail.com",
        "time": "Mon Mar 04 01:20:28 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Mar 04 01:20:28 2013 +0000"
      },
      "message": "Add M25P20-old\n\nThis older (ST-branded) revision of M25P20 chip does not support RDID and\nhence was not detected correctly. This patch adds a workaround similar\nto M25P40-old.\n\nCorresponding to flashrom svn r1652.\n\nSigned-off-by: Kyösti Mälkki \u003ckyosti.malkki@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "50d67aaa79441e8043aa1de32bb40ae94fcc51b2",
      "tree": "f1b620f41753f30ca126947b6e634156fea996cb",
      "parents": [
        "352e50b79e084c8f5f768d7b6f2ba6b6bd2ea8ce"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 03 23:49:48 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 03 23:49:48 2013 +0000"
      },
      "message": "Make write granularity a chip attribute\n\nCorresponding to flashrom svn r1651.\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": "352e50b79e084c8f5f768d7b6f2ba6b6bd2ea8ce",
      "tree": "a0bc1780c6b7940f9d159d4342fa55563da80044",
      "parents": [
        "77fa67d2df7395047476b77946fa807fc851f737"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Feb 22 15:58:45 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Feb 22 15:58:45 2013 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 17\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 - Acorp 6M810C\n   http://www.flashrom.org/pipermail/flashrom/2013-January/010433.html\n - ASRock G31M-S rev 2.0\n   http://www.flashrom.org/pipermail/flashrom/2013-February/010538.html\n - ASUS F1A75-V PRO\n   http://paste.flashrom.org/view.php?id\u003d1528\n - ASUS M5A97 (rev. 1.0)\n   http://www.flashrom.org/pipermail/flashrom/2013-February/010483.html\n - ASUS P5KPL-AM IN/GB\n   http://www.flashrom.org/pipermail/flashrom/2013-January/010455.html\n - GABYTE GA-H77M-D3H\n   http://www.flashrom.org/pipermail/flashrom/2013-February/010538.html\n\nNOT OK:\n - GIGABYTE GA-Z77MX-D3H\n   http://paste.flashrom.org/view.php?id\u003d1529\n   http://paste.flashrom.org/view.php?id\u003d1530\n\nTested flash chips:\n - Winbond W25X10 to PREW (+PREW)\n   Reported on IRC(?)\n - Eon EN25Q32(A/B) to PREW (+REW)\n   http://www.flashrom.org/pipermail/flashrom/2013-February/010533.html\n - Eon EN25Q64 to PREW (+PREW)\n   http://www.flashrom.org/pipermail/flashrom/2013-January/010466.html\n\nMiscellaneous:\n- Fix superflouos line breaks in wiki mainboard and laptop output.\n- Use the .nh (no hyphenation) command in the manpage to enforce\n  single-line URLs where useful.\n- Reference the manpage (besides the Laptops wiki page) in the laptop warning.\n- Minor output and whitespace fixes.\n- Add Fidelix IDs.\n- Add ISSE clones of PMC chips.\n- Fix typo: EMST -\u003e ESMT.\n- Add ID of ESMT F25D08QA.\n- Refine GigaDevice GD25Q series (missing voltages and comments).\n- Use underscore instead of lower-case x as wildcard in Sharp chip names.\n\nCorresponding to flashrom svn r1650.\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": "77fa67d2df7395047476b77946fa807fc851f737",
      "tree": "43992470f7822637643df463a92aebf674fb82d8",
      "parents": [
        "e038e9082cce69f10f17747fc272ae370c9836cf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Feb 20 18:03:36 2013 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Feb 20 18:03:36 2013 +0000"
      },
      "message": "dedirpog: add a parameter \u0027spispeed\u0027 to set the SPI clock rate\n\nThe following rates are\navailable (in Hz):\n  375k, 750k, 1.5M, 2.18M, 3M, 8M, 12M and 24M\n\nThe original driver reinitializes the programmer after setting the\nspeed, so the initialization calls have moved into a new function\ndediprog_setup() which is called twice.\n\nCorresponding to flashrom svn r1649.\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": "e038e9082cce69f10f17747fc272ae370c9836cf",
      "tree": "81738c13224127bddc2f02aa6b62e1281a820354",
      "parents": [
        "f656e8088e95eaa9a4690529597133d0daf66c2a"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Feb 04 04:38:42 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Feb 04 04:38:42 2013 +0000"
      },
      "message": "Fix building for MacOSX\n\n- Add a new macro named IS_MACOSX to hwaccess.c and use it to enable iopl().\n  This was broken since r1638. This fix does *not* restore the very permissive\n  concept where iopl() was activated in an #else branch that was inplace before\n  r1638.\n- Make printing the image file\u0027s size in flashrom.c platform independent.\n\nBonus: remove definitions of off64_t and lseek64 which are not necessary\nanymore for about 1000 commits.\n\nThanks to SJ for reporting the issue and testing the solution.\n\nCorresponding to flashrom svn r1648.\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": "f656e8088e95eaa9a4690529597133d0daf66c2a",
      "tree": "4ed016fe0ff14231ceb6a9d121b95aa3744f76da",
      "parents": [
        "67d163d2fa6e7db9673e8ec820b8ef21bca5e907"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Feb 02 15:35:44 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Feb 02 15:35:44 2013 +0000"
      },
      "message": "Update Macronix MX25L512, MX25L1005, MX25L2005, MX25L4005, MX25L8005\n\nUpdate MX25L512 with references to and data about\n  MX25L512E, MX25V512, MX25V512C.\nUpdate MX25L1005 with references to and data about\n  MX25L1005C, MX25L1006E.\nUpdate MX25L2005 with references to and data about\n  MX25L2005C.\nUpdate MX25L4005 with references to and data about\n  MX25L4005A, MX25L4005C.\nUpdate MX25L8005 with references to and data about\n  MX25V8005.\n\nBonus: add chip IDs of MX25U1635E, MX25U3235E/F, MX25U6435E/F.\n\nCorresponding to flashrom svn r1647.\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": "67d163d2fa6e7db9673e8ec820b8ef21bca5e907",
      "tree": "3cfa28408caa64594638f4a5cad7f5deafa8506a",
      "parents": [
        "8225868465f6ad75958a1f81514d9c4978487184"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Jan 15 17:37:48 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Jan 15 17:37:48 2013 +0000"
      },
      "message": "Fix duplicate \u0027const\u0027 declaration specifiers\n\nThanks to Idwer and clang for noticing these problems.\n\nCorresponding to flashrom svn r1646.\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": "8225868465f6ad75958a1f81514d9c4978487184",
      "tree": "73eba56408b31c6431013f57c5da73cb1d805fd2",
      "parents": [
        "a2faddf7d38e4651ce6654c62b668ab02b909b58"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jan 08 22:49:12 2013 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jan 08 22:49:12 2013 +0000"
      },
      "message": "Fix compilation for DOS and non-x86 targets\n\nFixup for r1638.\nThanks to Idwer Vollering for testing.\n\nCorresponding to flashrom svn r1645.\n\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"
    },
    {
      "commit": "a2faddf7d38e4651ce6654c62b668ab02b909b58",
      "tree": "1a13a2aa0134dbede16c017dd102efc81eb97ee0",
      "parents": [
        "c6fa32d2b5c08d2fcc92fee2974a3fc02a3ca1f7"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jan 05 23:52:45 2013 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jan 05 23:52:45 2013 +0000"
      },
      "message": "Decouple BAR reading from pci device init, handle errors gracefully\n\nPcidev_init() now returns struct pci_device * instead of a BAR stored in\nPCI config space. This allows for real error checking instead of having\nexit(1) everywhere in pcidev.c.\nThanks to Niklas Söderlund for coming up with the original error\nhandling patch which was slightly modified and folded into this patch.\nMove the declaration of struct pci_device in programmer.h before the\nfirst user.\n\nCorresponding to flashrom svn r1644.\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": "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": "5561955b1158e8bd29299735abef1e26a5a9cdbc",
      "tree": "5284fff71cacd837b0bea9b80977dee26a08765a",
      "parents": [
        "30dfdbaf3ab30974a6d76e085525d52c033e4215"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jan 04 22:24:58 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Jan 04 22:24:58 2013 +0000"
      },
      "message": "Unify PCI init and let pcidev clean itself up\n\nPreviously the internal programmer used its own code to initialize pcilib.\nThis patch extracts the common code from the internal programmer and\npcidev_init() into pcidev_init_common().\nThis fixes the non-existent PCI cleanup of the internal programmer and adds\nan additional safety by checking for an already existing PCI context.\n\nWe got a nice shutdown function registration infrastructure, but did not use it\nvery wisely. Instead we added shutdown functions to a myriad of programmers\nunnecessarily. In this patch we get rid of those that do only call pci_cleanup(pacc)\nby adding a shutdown function the pcidev.c itself that gets registered by\npcidev_init().\n\nCorresponding to flashrom svn r1642.\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": "30dfdbaf3ab30974a6d76e085525d52c033e4215",
      "tree": "05451bdc93ffcab3935c6ac35f5f0dd480c9f012",
      "parents": [
        "e34e3e8a49172ba09eb058c9a028706647dca165"
      ],
      "author": {
        "name": "Brian Salcedo",
        "email": "bsalcedo@gmx.us",
        "time": "Thu Jan 03 20:44:30 2013 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jan 03 20:44:30 2013 +0000"
      },
      "message": "Add user interface to activate the Bus Pirate pull-up resistors\n\nWhen working with some flash chips using the Bus Pirate programmer, the\nuse of the Bus Pirate\u0027s on-board pull-up resistors is sometimes\nnecessary.\n\nOn v3 hardware the use of said pull-up resistors requires the user to apply a\nvoltage to the VPU pin of the Bus Pirate, and then command it to use them.\nFor v4 hardware which supports also fixed internal 3.3V and 5V sources no\ndocumentation could be found.\n\nHere is a link to information pertaining to what this patch does:\nhttp://dangerousprototypes.com/docs/SPI_(binary)#0100wxyz_-_Configure_peripherals_w.3Dpower.2C_x.3Dpull-ups.2C_y.3DAUX.2C_z.3DCS\n\nBonus: small cleanup of superfluous stack variables.\n\nCorresponding to flashrom svn r1641.\n\nSigned-off-by: Brian Salcedo \u003cbsalcedo@gmx.us\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nTested-by: Brian Salcedo \u003cbsalcedo@gmx.us\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\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": "bcb2e5a7080cbe0ff21c8ffa5f77b5ba1ea0c472",
      "tree": "a20f41f2259da0fb66c67af221ff3e9ab00015e3",
      "parents": [
        "6282966cc04525828b96273f373e3b105632776b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Sun Dec 30 01:23:17 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Dec 30 01:23:17 2012 +0000"
      },
      "message": "Constify parameters and globals\n\nThis makes some stuff const (partially to get a more convenient\nlibflashrom interface).\n\nCorresponding to flashrom svn r1639.\n\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.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": "6282966cc04525828b96273f373e3b105632776b",
      "tree": "107c653c18333a3ec211553a2f0d64385dc9fb4a",
      "parents": [
        "57794ac1580fc5efee3ba01a0c3e4539bb58d088"
      ],
      "author": {
        "name": "Peter Lemenkov",
        "email": "lemenkov@gmail.com",
        "time": "Sat Dec 29 19:26:55 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Dec 29 19:26:55 2012 +0000"
      },
      "message": "Simplify hwaccess.c\n\nPreviously the code was focused on architectures which led to lots of\nduplicate code and spread the information regarding differences between\nthe architectures accross the file.\n\nWith this patch there is a single function header for any function and the\ndifferentiation between architectures (and OS where needed) happens\nin one place for each function. Also, this patch adds simple defines to bundle\noften used arch and os checks. A central check for unknown architectures\nand OSes has been added on top.\n\nCorresponding to flashrom svn r1638.\n\nSigned-off-by: Peter Lemenkov \u003clemenkov@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": "57794ac1580fc5efee3ba01a0c3e4539bb58d088",
      "tree": "4212a02023a6a8c6dd0b03d234e66471ddb5d634",
      "parents": [
        "54aaa4ae2bb4026ae7acbf3e0aafe8542aaff2a4"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Dec 29 15:04:20 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Dec 29 15:04:20 2012 +0000"
      },
      "message": "Add support for Atmel\u0027s AT25F series of SPI flash chips\n\nThis adds support for the following chips:\n - AT25F512, AT25F512A, AT25F512B\n - AT25F1024, AT25F1024A\n - AT25F2048\n - AT25F4096\n\nBesides the definitions of the the chips in flashchips.c this includes\n- a dedicated probing method (probe_spi_at25f)\n- pretty printing methods (spi_prettyprint_status_register_at25f*), and\n- unlocking methods (spi_disable_blockprotect_at25f*)\n\nCorresponding to flashrom svn r1637.\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": "54aaa4ae2bb4026ae7acbf3e0aafe8542aaff2a4",
      "tree": "b394950b3bd52b2490e1da77a1c497516d6bfd06",
      "parents": [
        "9530a02212bd48aca32752250c4e2ec91e24d3b6"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Dec 29 15:04:12 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Dec 29 15:04:12 2012 +0000"
      },
      "message": "Add support for Intel S33 series flash chips\n\nThis includes:\nBottom boot block:\n* 16Mb/2MB:\n  QB25F160S33B8, QB25F016S33B8, QH25F160S33B8, QH25F016S33B8\n* 32Mb/4MB:\n  QB25F320S33B8, QH25F320S33B8\n* 64Mb/8MB:\n  QB25F640S33B8, QH25F640S33B8\n\nTop boot block:\n* 16Mb/2MB:\n  QB25F160S33T8, QB25F016S33T8, QH25F160S33T8, QH25F016S33T8\n* 32Mb/4MB:\n  QB25F320S33T8, QH25F320S33T8\n* 64Mb/8MB:\n  QB25F640S33T8, QH25F640S33T8\n\nAt least some seem to be marketed by other vendors (too?) but also with\nIntel\u0027s vendor ID.\n\nBesides a 0xC7 chip erase and a 0xD8 uniform 64kB block erase they\nsupport also erasing the top/bottom 8 8kB blocks with opcode 0x40.\nBut since this command fails for all addresses outside those ranges,\nit is not easily implemented with flashrom\u0027s current code base and\nhence left out.\n\nCorresponding to flashrom svn r1636.\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": "9530a02212bd48aca32752250c4e2ec91e24d3b6",
      "tree": "26d266ad7941e4efd06a21ac44daba46e1281ab4",
      "parents": [
        "6ee37e28365f2a8ea498d03b08def0dcb1cc6494"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Dec 29 15:04:05 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Dec 29 15:04:05 2012 +0000"
      },
      "message": "Add a generic SPI block unprotect function\n\nThis does not only remove a huge pile of duplicate code, it does\nalso fix a bug in spi_disable_blockprotect_at25df(), which is also\na good example why duplicated code is a bad idea.\n\nCorresponding to flashrom svn r1635.\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": "6ee37e28365f2a8ea498d03b08def0dcb1cc6494",
      "tree": "3328db4647bba505d32ebc5755c511728cec438e",
      "parents": [
        "2c421199ab37e691a83ad09b542ed43ee5811603"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Dec 29 15:03:51 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Dec 29 15:03:51 2012 +0000"
      },
      "message": "Improve SPI status register pretty printing\n\n - Move all functions related to SPI status registers to a new file\n   spi25_statusreg.c. This includes the generic as well as the\n   SST-specific functions from spi25.c and the chip-specific functions\n   from a25.c and at25.c.\n - introduce helper functions\n    * spi_prettyprint_status_register_hex()\n    * spi_prettyprint_status_register_bpl()\n    * spi_prettyprint_status_register_plain()\n   Use the latter on every compatible flash chip that has no better printlock\n   function set and get rid of the implicit pretty printing in the SPI probing\n   functions.\n - remove\n    * spi_prettyprint_status_register_common()\n    * spi_prettyprint_status_register_amic_a25lq032() because it can be fully\n      substituted with spi_prettyprint_status_register_amic_a25l032().\n    * spi_prettyprint_status_register() (old switch, no longer needed)\n - promote and export\n    * spi_prettyprint_status_register_amic_a25l05p() as spi_prettyprint_status_register_default_bp1().\n    * spi_prettyprint_status_register_amic_a25l40p() as spi_prettyprint_status_register_default_bp2().\n    * spi_prettyprint_status_register_st_m25p() as spi_prettyprint_status_register_default_bp3().\n - add #define TEST_BAD_REW and use it for a number of Atmel chips which\n   had only TEST_BAD_READ set even though they dont have erasers or a write\n   function set.\n\nCorresponding to flashrom svn r1634.\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": "2c421199ab37e691a83ad09b542ed43ee5811603",
      "tree": "ca759f720ff9a095c080e357db4211f444318477",
      "parents": [
        "4b24a2d70b79f3288370fd5b4f472bdf218f16e8"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Dec 27 18:40:40 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Dec 27 18:40:40 2012 +0000"
      },
      "message": "print_wiki.c: print programmers of type OTHER too\n\nCorresponding to flashrom svn r1633.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "4b24a2d70b79f3288370fd5b4f472bdf218f16e8",
      "tree": "b4ba0971a1d5ff2f8e1693ae66b33e8c8cda1843",
      "parents": [
        "af358d6af23b21f93f6e27278e76eec21a3d148f"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Dec 27 18:40:36 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Dec 27 18:40:36 2012 +0000"
      },
      "message": "Unify usbdev_status and pcidev_status into dev_entry\n\nOnce upon a time usbdev_status was created for the ft2232\nprogrammer. Its IDs are semantically different to pcidev_status\nbecause they indicate USB instead of PCI IDs, but apart from that\nboth data structures are equal. This change makes life easier for\neverything involved in handling and printing the status of devices\nthat is noted in those structures by combining them into dev_entry.\n\nIt is still possible to distinguish between PCI and USB devices\nindirectly by using the struct programmer\u0027s type field.\n\nAlso, add a programmer column to the PCI and USB devices lists.\n\nCorresponding to flashrom svn r1632.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "af358d6af23b21f93f6e27278e76eec21a3d148f",
      "tree": "be7adedc94b5c55dec0e7e1f1dae88ef4e127fad",
      "parents": [
        "a6d96480176417478350e97338451554b5450cba"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Dec 27 18:40:26 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Dec 27 18:40:26 2012 +0000"
      },
      "message": "Refactor PCI and USB device status printing\n\nTo be able to get rid of lots of #ifdefs and centralize programmer-specific\ndata more...\n - introduce two new fields to struct programmer_entry, namely\n   enum type (OTHER, USB, PCI) and union devs (pcidev_status, usbdev_status\n   or char *note).\n - use those fields to generate device listings in print.c and print_wiki.c.\n\nBonus: add printing of USB devices to print_wiki.c and count supported PCI\nand USB devices.\n\nCorresponding to flashrom svn r1631.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "a6d96480176417478350e97338451554b5450cba",
      "tree": "5414f347772370cab4297954d82cf059683f5fe5",
      "parents": [
        "b8911d6cecf5044f3e9c444e3086dd269a0279b1"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Dec 26 19:51:23 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Dec 26 19:51:23 2012 +0000"
      },
      "message": "Add general programmer sanity checks\n\nAnd remove the completely unused vendor field.\n\nCorresponding to flashrom svn r1630.\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": "b8911d6cecf5044f3e9c444e3086dd269a0279b1",
      "tree": "0fd10acc1591068806f8118e76f8c4c120783afd",
      "parents": [
        "21541a6b22c0ccbfa6b65a6c1d4a76cfd0360ca2"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Dec 26 07:55:00 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Dec 26 07:55:00 2012 +0000"
      },
      "message": "Fix memleaks in cli_classic.c\n\nFrees the memory allocated for the following strings\n- log file name\n- layout file name\n- image file name\n- programmer parameter (and reset the associated global variable in flashrom.c)\n\nAlso, free the flashchip structs allocated by probe_flash.\n\nThe layout image names were not fixed due to the pending layout patches.\n\nThese bugs were found thanks to valgrind.\n\nCorresponding to flashrom svn r1629.\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": "21541a6b22c0ccbfa6b65a6c1d4a76cfd0360ca2",
      "tree": "e58203fe62b4e783fedcba3a3b2a119b716a0f8b",
      "parents": [
        "acfc4c6c2fb66e8142df8ed69aa8c6374abc871a"
      ],
      "author": {
        "name": "Nathan Laredo",
        "email": "nil@google.com",
        "time": "Mon Dec 24 22:07:36 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Dec 24 22:07:36 2012 +0000"
      },
      "message": "Add a \"device\" parameter for Dediprog\n\nThis patch adds a \"device\" parameter for Dediprog which enables use of\nmultiple dediprogs connected to a single machine. Very handy for test racks.\n\nExample usage:\nflashrom -p dediprog:device\u003d0\nflashrom -p dediprog:device\u003d1\netc...\n\nThe patch was originally written by Nathan Laredo.\nThanks to David Hendricks for submitting it upstream.\nAdditional error handling, man page etc. by Stefan Tauner.\n\nCorresponding to flashrom svn r1628.\n\nSigned-off-by: Nathan Laredo \u003cnil@google.com\u003e\nSigned-off-by: David Hendricks \u003cdhendrix@google.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": "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": "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": "26148ae3a881a2323ef130427ee8749a2ab53c9e",
      "tree": "a704339cefbf2c8b4151600560257ed627ad95e0",
      "parents": [
        "b226cb1662a4cfe26effadb893a9ac6feb620470"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Nov 29 22:22:04 2012 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Nov 29 22:22:04 2012 +0000"
      },
      "message": "Fix linker flag bug introduced in r1623\n\nSpotted by Idwer Vollering.\n\nCorresponding to flashrom svn r1625.\n\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"
    },
    {
      "commit": "b226cb1662a4cfe26effadb893a9ac6feb620470",
      "tree": "5edd9fa22131adf00178348951e0455fd93566c1",
      "parents": [
        "e7a39bfc9206998071bf0d18b2caa66aedaf7a3e"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Nov 24 18:59:39 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Nov 24 18:59:39 2012 +0000"
      },
      "message": "Improve --help and friends\n\nMore clear \"variable\" names, better explanation if no programmer is selected etc.\n\nCorresponding to flashrom svn r1624.\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\nAcked-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\n"
    },
    {
      "commit": "e7a39bfc9206998071bf0d18b2caa66aedaf7a3e",
      "tree": "0e65c33c9f84f89f093c77788911afd291b7fc7a",
      "parents": [
        "98546c96374af4c40ab2808ce39cb94ac9cea761"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Nov 20 21:06:16 2012 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Nov 20 21:06:16 2012 +0000"
      },
      "message": "Explicitly detect libusb-0.1 in the Makefile\n\nAvoid funny interactions between libpci and libusb detection.\nLeave libftdi autodetection alone for now.\n\nCorresponding to flashrom svn r1623.\n\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"
    },
    {
      "commit": "98546c96374af4c40ab2808ce39cb94ac9cea761",
      "tree": "57ff44e417604490256bbcb1e089e7af69da337b",
      "parents": [
        "64263c7ed23dcace7e003cf0d46f143a8f9c61ec"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Nov 05 12:20:29 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Nov 05 12:20:29 2012 +0000"
      },
      "message": "Add (untested) board enable for Asus DSAN-DX\n\nIDs are from the host bridge and LPC controller. The enable function\nwas reverse engineered by roxfan, thanks!\nUser mezzo vanished without reporting any test results.\n\nCorresponding to flashrom svn r1622.\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": "64263c7ed23dcace7e003cf0d46f143a8f9c61ec",
      "tree": "fb5d5440c137b72e16ffbe1d1beba4e72b152c8f",
      "parents": [
        "c31243e1739a4ba21d45e3569341aa671939cb8d"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Nov 01 23:38:51 2012 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Nov 01 23:38:51 2012 +0000"
      },
      "message": "Support the new fast SPI mode present in Bus Pirate firmware v5.5 or newer\n\nCorresponding to flashrom svn r1621.\n\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"
    },
    {
      "commit": "c31243e1739a4ba21d45e3569341aa671939cb8d",
      "tree": "eb08f0981a4a4309725c4cb480c7a53e07d7504a",
      "parents": [
        "78ffbeaa029fb827dcdf9c02262adbda4673e5eb"
      ],
      "author": {
        "name": "Kyösti Mälkki",
        "email": "kyosti.malkki@gmail.com",
        "time": "Sun Oct 28 01:50:08 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Oct 28 01:50:08 2012 +0000"
      },
      "message": "Add support for Winbond W39F010/W39L010/W39L020\n\nW39F010 is a 128kB parallel 5V flash chip, 16k bootblocks.\nW39L010 is a 128kB parallel 3.3V flash chip, 8k bootblocks.\nW39L020 is a 256kB parallel 3.3V flash chip, 64k/16k bootblocks.\n\nThe W39F010 code was tested with a satasii programmer. The first write\nattempt after an erase returned with verify failure, but the second\nwrite attempt was succesful:\nhttp://paste.flashrom.org/view.php?id\u003d1418\n\nCorresponding to flashrom svn r1620.\n\nSigned-off-by: Kyösti Mälkki \u003ckyosti.malkki@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "78ffbeaa029fb827dcdf9c02262adbda4673e5eb",
      "tree": "0a53b1a2841c62239d491c2341f41d073e6d9cbb",
      "parents": [
        "92fefc921a602acb89a897193c9f31fbb78d85b5"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Oct 27 15:36:56 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Oct 27 15:36:56 2012 +0000"
      },
      "message": "Do not read the flash chip twice in verification mode\n\nKyösti Mälkki noticed that we unnecessarily read the flash chip twice when\ncalled with --verify. The first one is the mandatory read before everything\n(to be able to detect the seriousness of errors), but the second one is not\nnecessary because we can just use the former for the comparison.\n\nThis introduces a small output change: previously we printed ERASE or\nVERIFY depending on the callee. This special case has been dropped\nbecause it is unnecessary to print it (and wrong for the verification\nfunction to need to know why it is verifying exactly).\nIf an erase fails we mention that fact explicitly already, similar for verify.\n\nCorresponding to flashrom svn r1619.\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": "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": "94b39b47e475d3d8f153acea4a3fdcd6bbc81ea7",
      "tree": "42a78390b7e92346efe9c97c93e458eb91a75d86",
      "parents": [
        "d956f822490e10be505355a59fc2498800d33c1d"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Oct 27 00:06:02 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Oct 27 00:06:02 2012 +0000"
      },
      "message": "Add support for Atmel AT26DF041\n\nWicked chip: No WRSR, no write enable command (but swallows our\ndefault one without a problem), supports an auto-erasing page write\n(but even without that page writes are recommended to write the\nwhole page i.e. operate on a completely erased page), mad\nrequirements on block refreshments if only partly written.\n\nFound on my Intel D946GZIS and tested with my serprog in situ.\nUsing the page write by setting JEDEC_BYTE_PROGRAM to 0x11 and using\nthe spi_chip_write_256 command greatly improves performance and works\nflawlessly.\n\nCorresponding to flashrom svn r1616.\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": "d956f822490e10be505355a59fc2498800d33c1d",
      "tree": "abec3203c2d199b89551173681de7580c3bef9a6",
      "parents": [
        "ede2fa4d1e5620978f5d630f0b241b613a5992d3"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Oct 26 16:49:15 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Oct 26 16:49:15 2012 +0000"
      },
      "message": "Add support for Numonyx N25Q016 and N25Q032\n\nThe 32Mb version has 1.8V and 3.0V versions, the smaller one 1.8V only\n(or Numonyx/Micron forgot to publish it). Another difference is that the\n16Mb chip has 32 kB subsectors (erase opcode 0x52). As long as there\nare no funky configurations like for the 128Mb chips, we got the smaller\nparts covered with this change.\n\nCorresponding to flashrom svn r1615.\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": "ede2fa4d1e5620978f5d630f0b241b613a5992d3",
      "tree": "8d94e7c1a9bfb6d05e5a79935724688e1d64638f",
      "parents": [
        "d7d423bbc1d2564c60daaecd9ab1dca3843c5fea"
      ],
      "author": {
        "name": "Niklas Söderlund",
        "email": "niso@kth.se",
        "time": "Tue Oct 23 13:06:46 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Oct 23 13:06:46 2012 +0000"
      },
      "message": "Remove exit calls from print_supported_chips\n\nPropagate the error code using return values instead, but let cli_classic.c\nstill decide the ultimate return value of the process.\nAlso, remove setting the ret value again after print_supported_wiki() - \nsuccess is the default.\n\nCorresponding to flashrom svn r1614.\n\nSigned-off-by: Niklas Söderlund \u003cniso@kth.se\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": "99f947ddc8156eb37b5dafc076480f405c9be0b6",
      "tree": "a8cd886b564f34d69e82bd133f25436a9c0d3708",
      "parents": [
        "9e349e43c413b087769bc5dc4c5aaf94fd16937f"
      ],
      "author": {
        "name": "David Hendricks",
        "email": "dhendrix@google.com",
        "time": "Thu Oct 04 14:41:20 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Oct 04 14:41:20 2012 +0000"
      },
      "message": "Differentiate Numonyx N25Q064 1.8V and 3.0V versions\n\nThis patch differentiates between the N25Q064 1.8V version and 3.0V\nversion which have different JEDEC IDs.\n\nIt extends the chip name to include more characters of the part\nnumber. The first two of those characters indicate the process\ntechnology (65nm) and feature set (hold pin etc.), neither of which\nmatter for flashrom at the moment. The third and fourth characters\nspecify voltage and block/sector size and uniformity, which are\nimportant and hence included.\n\nTo abstract the irrelevant portions of the part number leading up to\nthe characters we care about, dots are used. This helps prevent\nunwanted changes in chip name that can break fragile scripts and\nconfuse people. More about this schema here:\nhttp://www.flashrom.org/pipermail/flashrom/2012-July/009595.html\n\nCorresponding to flashrom svn r1612.\n\nSigned-off-by: David Hendricks \u003cdhendrix@google.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "9e349e43c413b087769bc5dc4c5aaf94fd16937f",
      "tree": "484fa6b3e63877a192fb67b9097f3f4c78e44fcc",
      "parents": [
        "3e515e288395aa30aff25bd6d6964eace0fea483"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Oct 01 22:45:08 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Oct 01 22:45:08 2012 +0000"
      },
      "message": "Add support for SST\u0027s 25WF series of SPI flash chips\n\nThis includes SST25WF512, SST25WF010, SST25WF020 and SST25WF040.\nThey require a VCC of 1.65 - 1.95V, which is why i could not test them.\nThe SOIC version of the SST25WF512 is used on an AMD X300-based\ngraphics card i own.\n\nCorresponding to flashrom svn r1611.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "3e515e288395aa30aff25bd6d6964eace0fea483",
      "tree": "27419f34f9fbb824e559bc5ffaf03013cbac724d",
      "parents": [
        "2c714ab2244ffd7c37c38bd13929eeb5ab43c357"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Sep 26 00:48:16 2012 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Sep 26 00:48:16 2012 +0000"
      },
      "message": "Cleanup ft2322.c and add more detail to error messages\n\n - Use libftdi\u0027s error string to add more detail.\n - Add full stops to messages.\n - Minor white space fixes.\n\nCorresponding to flashrom svn r1610.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    }
  ],
  "next": "2c714ab2244ffd7c37c38bd13929eeb5ab43c357"
}
