)]}'
{
  "log": [
    {
      "commit": "1878110848f36c53667c9855f0a413c43e64597f",
      "tree": "66bacd63991be932b3d031dfe280576449b3280e",
      "parents": [
        "a9fc4f4ebf335f3f20a47a48f2b9c2b00a4de696"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 10 13:34:12 2012 +0000"
      },
      "committer": {
        "name": "David Hendricks",
        "email": "david.hendricks@gmail.com",
        "time": "Sat Jun 03 20:15:56 2017 +0200"
      },
      "message": "Adapt CLI to use new libflashrom interface\u0027 print callback\n\nThis renames CLI\u0027s print() to flashrom_print_cb() and registers it\nthrough the new libflashrom interface.\n\nv2: Add libflashrom.o to LIB_OBJS now that everything can be linked\n    together.\n\nChange-Id: Idf19978eb8e340d258199193d2978f37409e9983\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17948\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: David Hendricks \u003cdavid.hendricks@gmail.com\u003e\n"
    },
    {
      "commit": "a9fc4f4ebf335f3f20a47a48f2b9c2b00a4de696",
      "tree": "e4aec9e0d55a6d4f224abf811bee1f8991fd8260",
      "parents": [
        "454f61338213f73ca74fda54c0bf86afb01947de"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 10 13:34:11 2012 +0000"
      },
      "committer": {
        "name": "David Hendricks",
        "email": "david.hendricks@gmail.com",
        "time": "Sat Jun 03 20:13:31 2017 +0200"
      },
      "message": "Add Doxyfile for libflashrom documentation\n\nReference documentation for libflashrom can be build with doxygen. With\n  doxygen Doxyfile\ndocumentation will be put into a libflashrom-doc/ subdirectory.\n\nv2: o Updated Doxyfile with `doxygen -u Doxyfile`.\n    o Added flashrom.c to the INPUT list.\n\nChange-Id: I583bf9aa8c43049723aff498625d490c37832f13\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17947\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: David Hendricks \u003cdavid.hendricks@gmail.com\u003e\n"
    },
    {
      "commit": "454f61338213f73ca74fda54c0bf86afb01947de",
      "tree": "5c981a1a181c130467d3c37b99cdeaf686ff49c8",
      "parents": [
        "7af0e79b44bdc86497a992a90855f284e74d73f1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 10 13:34:10 2012 +0000"
      },
      "committer": {
        "name": "David Hendricks",
        "email": "david.hendricks@gmail.com",
        "time": "Sat Jun 03 20:13:06 2017 +0200"
      },
      "message": "Add a convenient libflashrom interface\n\nThis adds a minimal libflashrom interface based on the draft in the\nwiki. While the glue code in libflashrom.c is build on top of the\nexisting code instead on overhauling it, the interface in libflashrom.h\nis supposed to be stable. So we can keep the interface and adapt\ninternals later if favoured, without breaking clients.\n\nA new make target, libinstall, is also added. It installs libflashrom.a\nand libflashrom.h in lib/ and include/ dirs respectively.\n\nHooking this into the build would break linking of the CLI and is post-\nponed until that got fixed.\n\nv2: Rebase and fixes by Anton Kochkov.\n\nv3: o fl_image_*() rewritten with layout support (touch only included regions).\n    o Moved read/erase/write/verify operations to flashrom.c.\n    o Added layout pointer and flags to the flash context.\n\nv4: Removed libflashrom.o from LIB_OBJS until CLI is adapted.\n\nv5: o Incorporated David\u0027s comments.\n    o Added `fl_flashprog_t` as dummy parameter to hide the fact that\n      we have global state all around, and for future-proofness ofc.\n\nv6: o Change namespace prefix to flashrom_.\n    o Remove typedefs.\n\nChange-Id: I00f169990830aa17b7dfae5eb74010d40c476181\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17946\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: David Hendricks \u003cdavid.hendricks@gmail.com\u003e\n"
    },
    {
      "commit": "7af0e79b44bdc86497a992a90855f284e74d73f1",
      "tree": "df4c2b5d2776597d14b459f9c5e8430a55c7c075",
      "parents": [
        "3a9939b952e614cd8e9e0530c22453f8f91c4e3a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Apr 29 16:40:15 2016 +0200"
      },
      "committer": {
        "name": "David Hendricks",
        "email": "david.hendricks@gmail.com",
        "time": "Sat Jun 03 20:07:39 2017 +0200"
      },
      "message": "Add functions to read/erase/write/verify by layout\n\nInspired by Lynxis\u0027 related work, this implements a foundation for\nlayout based flash access.\n\nAll operations iterate over the given layout regions. Erase and write\nthen walk, per region, over all erase blocks in an inner loop (which\nmight not be what we want, see note on optimization below). Special care\nhas been taken that flash content is merged properly, in case an erase\nblock is only partially covered by a layout region or even affects mul-\ntiple regions.\n\nA note on performance: In the case an erase block affects multiple\nregions, it will probably be read, erased and written for each region.\nAnother approach would be to walk all erase blocks once and check for\neach erase block which regions it touches (i.e. for each erase block,\nmerge data pontentially from the flash and all layout regions, then\nflash the combined data). That might result in cleaner code. I haven\u0027t\ntried it yet, though.\n\nChange-Id: Ic6194cea4c4c430e0cf9d586052508a865b09c86\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17945\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: David Hendricks \u003cdavid.hendricks@gmail.com\u003e\n"
    },
    {
      "commit": "3a9939b952e614cd8e9e0530c22453f8f91c4e3a",
      "tree": "615a0ccb696f08e7761204b35eff57150c4858aa",
      "parents": [
        "9e14aeda6464b2ecb391186e5b21bf5985141499"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Apr 27 15:56:14 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jun 03 12:18:02 2017 +0200"
      },
      "message": "Give layouts their own type\n\nIntroduce `struct flashrom_layout` and refactor layout.c a little, so\nwe can reuse the layout from there and have other sources of layouts\nbeside it.\n\nI didn\u0027t want to clutter up flash.h any more. So things went into a new\nlayout.h.\n\nChange-Id: Icea1a58c283131cc9c5fde6f16d783538dc1a4c7\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17944\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: David Hendricks \u003cdavid.hendricks@gmail.com\u003e\nReviewed-by: Philippe Mathieu-Daudé \u003cphilippe.mathieu.daude@gmail.com\u003e\n"
    },
    {
      "commit": "9e14aeda6464b2ecb391186e5b21bf5985141499",
      "tree": "0eec081e85ff96879d2f9b101212974b6d33cbcd",
      "parents": [
        "d2a03b3e43043b596a79803bcb93f70e513bbb50"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Mar 28 17:08:46 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu May 04 12:45:57 2017 +0200"
      },
      "message": "ich_descriptors: Fix range checks for dumps\n\nThese explicit off-by-one calculations were... off-by-one.\n\nChange-Id: If57c92ba28f91c4d72123ef0cfd2d9d5ac0a0656\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/19031\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: David Hendricks \u003cdavid.hendricks@gmail.com\u003e\n"
    },
    {
      "commit": "d2a03b3e43043b596a79803bcb93f70e513bbb50",
      "tree": "9f91e409309d3a823d795075e187caaa9b764227",
      "parents": [
        "a52731d78478056039f935f8fad86007132fd2a7"
      ],
      "author": {
        "name": "Patrick Georgi",
        "email": "pgeorgi@google.com",
        "time": "Mon Mar 13 13:48:03 2017 +0100"
      },
      "committer": {
        "name": "Patrick Georgi",
        "email": "pgeorgi@google.com",
        "time": "Thu May 04 12:24:12 2017 +0200"
      },
      "message": "Remove undefined behavior\n\nPer clang-3.9, the compiler fails on #define ...defined(...) statements\nas they\u0027re undefined behavior (apparently with different behavior\nbetween gcc/clang and msvc, too).\n\nSee clang\u0027s cfe repo commit r258128 for details.\n\nChange-Id: I82b6235e11b425fae45eebbe06b08f81c5bdbb98\nSigned-off-by: Patrick Georgi \u003cpgeorgi@google.com\u003e\nReviewed-on: https://review.coreboot.org/18792\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "a52731d78478056039f935f8fad86007132fd2a7",
      "tree": "2ea7de24b0306eaf2ee2ad39b23260426d0ae829",
      "parents": [
        "0ea99f57c9d8fe28600cd08f653c10e5c0c0dd3f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Mar 29 17:05:08 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Apr 26 12:06:44 2017 +0200"
      },
      "message": "ich_descriptors_tool: Fix an off-by-one\n\nChange-Id: I008abd78c7c42bf3f17e68c192cd79dd427c5cb5\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/19045\nTested-by: build bot (Jenkins)\nReviewed-by: Stefan Reinauer \u003cstefan.reinauer@coreboot.org\u003e\n"
    },
    {
      "commit": "0ea99f57c9d8fe28600cd08f653c10e5c0c0dd3f",
      "tree": "dda8ea443bd14845e927838fa2e27fba61761584",
      "parents": [
        "b4d8a2a64b72d65e447161179279c108709c0ac3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Mar 17 17:22:53 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 25 18:53:50 2017 +0200"
      },
      "message": "Move register decodes into enable_flash_ich_handle_gcs()\n\nGCS was decoded partly inside, partly outside this function. The\ndecoding of `top_swap` was off, since passing a `uint8_t` as `bool`\ndoesn\u0027t magically check bit0 only.\n\nWhile we are at it, rename this void function to enable_flash_ich_\nreport_gcs() as it\u0027s not doing anything. Beside debug output it\ndoesn\u0027t have any side effects.\n\nChange-Id: I40addec98cb6840763adad30f9d0e27dadce6d1e\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/18882\nTested-by: build bot (Jenkins)\nReviewed-by: Philippe Mathieu-Daudé \u003cphilippe.mathieu.daude@gmail.com\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-by: Youness Alaoui \u003csnifikino@gmail.com\u003e\n"
    },
    {
      "commit": "b4d8a2a64b72d65e447161179279c108709c0ac3",
      "tree": "6b1d6c7c1756dd716614f43f26f358448b7ba25f",
      "parents": [
        "f84df9a78d35eb458ab19c6dac8a0d5f00013886"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Mar 17 17:19:15 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 25 18:51:46 2017 +0200"
      },
      "message": "hwaccess: Constify `addr` argument of MMIO read functions\n\nChange-Id: I1419241a8332b74103b3921df2c615bdf91346a7\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/18881\nTested-by: build bot (Jenkins)\nReviewed-by: Philippe Mathieu-Daudé \u003cphilippe.mathieu.daude@gmail.com\u003e\nReviewed-by: Youness Alaoui \u003csnifikino@gmail.com\u003e\nReviewed-by: David Hendricks \u003cdavid.hendricks@gmail.com\u003e\n"
    },
    {
      "commit": "f84df9a78d35eb458ab19c6dac8a0d5f00013886",
      "tree": "37a94fdf7820d59df6c15ca9aff8339e26cc7755",
      "parents": [
        "5e5e8213bbd7a0167e61f1138247e7111b6ef031"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed May 04 13:24:07 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Apr 20 14:52:47 2017 +0200"
      },
      "message": "dediprog: Fix bug where too many transfers would be queued\n\nWe didn\u0027t check the total number of queued transfers in the inner most\nloop. Up to DEDIPROG_ASYNC_TRANSFERS - 1 invalid transfers could be\nqueued therefore. So add another check on the total number.\n\nChange-Id: I91a8de47db7107455f5fc63ab2f13a0bd50c5b63\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nAcked-by: David Hendricks \u003cdavid.hendricks@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/19351\nTested-by: build bot (Jenkins)\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "5e5e8213bbd7a0167e61f1138247e7111b6ef031",
      "tree": "8801e94a83804e03a4e4b37bffe214e8a9fc6141",
      "parents": [
        "cd8329f804eed2e359e2666aaba9e3ef8e2edcce"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed May 04 12:27:58 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Apr 20 14:50:17 2017 +0200"
      },
      "message": "dediprog: Reimplement target chip option\n\nChange-Id: I594e2a6ee144260f8424d25b304f6ab41a9d3fad\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nAcked-by: David Hendricks \u003cdavid.hendricks@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/19350\nTested-by: build bot (Jenkins)\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "cd8329f804eed2e359e2666aaba9e3ef8e2edcce",
      "tree": "a59616177baa50ffbb6bf7437ade9183e02a11fc",
      "parents": [
        "2bf126178862cd198f0f3d75eb03ef3fb77cdc82"
      ],
      "author": {
        "name": "Arthur Heymans",
        "email": "arthur@aheymans.xyz",
        "time": "Wed Mar 22 17:50:43 2017 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Apr 16 13:48:50 2017 +0200"
      },
      "message": "Add iMac5,2 to board_enable\n\nWhen running coreboot everything works, while on vendor bios it fails\nto erase anything until the 3th erase function of a SST25VF016B is\ntried.\n\nChange-Id: I5e4daaa67f98a47e237cd73962776da369c8f0b5\nSigned-off-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\nReviewed-on: https://review.coreboot.org/18943\nTested-by: build bot (Jenkins)\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "2bf126178862cd198f0f3d75eb03ef3fb77cdc82",
      "tree": "c132519d16b70ab9a3c7e92953f4606e430cb523",
      "parents": [
        "441d2a4f33a911e47299c350e321084c59a68ddf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Nov 24 12:55:57 2016 +0100"
      },
      "committer": {
        "name": "Martin Roth",
        "email": "martinroth@google.com",
        "time": "Fri Jan 13 17:32:50 2017 +0100"
      },
      "message": "util: Add CH341a to z60_flashrom.rules\n\nChange-Id: I68b14ade3eb82598e4388735b8618d8c607ff494\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/17596\nReviewed-by: Martin Roth \u003cmartinroth@google.com\u003e\nTested-by: build bot (Jenkins)\n"
    },
    {
      "commit": "441d2a4f33a911e47299c350e321084c59a68ddf",
      "tree": "22d8dce7176b505e4d34e3c3ba59f2b531434958",
      "parents": [
        "40ba6fd0486b9845a951dbe042b1121687353c1a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon May 02 11:39:35 2016 +0200"
      },
      "committer": {
        "name": "Martin Roth",
        "email": "martinroth@google.com",
        "time": "Fri Jan 13 17:32:32 2017 +0100"
      },
      "message": "Make image parameter of cb_check_image const\n\nChange-Id: I811b3d6f1710154e055b03d5f27b1a8d9b3c0a43\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/17943\nReviewed-by: Martin Roth \u003cmartinroth@google.com\u003e\nTested-by: build bot (Jenkins)\nReviewed-by: Paul Menzel \u003cpaulepanter@users.sourceforge.net\u003e\n"
    },
    {
      "commit": "40ba6fd0486b9845a951dbe042b1121687353c1a",
      "tree": "68ade5b915ea8d2c709b943983a9e7f84bd822ee",
      "parents": [
        "c1099d8f7ecdc18278a91ed545dc5e224a29ec54"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 13 17:46:08 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 13 17:46:08 2016 +0000"
      },
      "message": "Increase flashrom version number to 0.9.9\n\nCorresponding to flashrom svn r1954.\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: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\n"
    },
    {
      "commit": "c1099d8f7ecdc18278a91ed545dc5e224a29ec54",
      "tree": "256397cb2fdd75f385eae063502253f1985956ae",
      "parents": [
        "8b6690ccbd9cf5f81aa2dc1a2095e75af172f819"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Mar 13 17:36:49 2016 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Mar 13 17:36:49 2016 +0000"
      },
      "message": "Fix fscanf format string security bug in layout.c\n\nAn internal security audit of the flashrom project by\nCarl-Daniel Hailfinger found a buffer overflow bug present in all\nflashrom versions since the year 2005.\nThis bug was independently found and reported to flashrom.org by\nCosmin Gorgovan a few days ago. \n\nA buffer on the stack and a buffer on the heap are affected by the\noverflow caused by an incorrect fscanf format string.\nThe buffer overflow can only be triggered if the optional layout feature\nis used and if the user manually specifies a specially crafted layout\nfile on the command line. Command line parsing and flash image handling\ndo not trigger the buggy code path.\nMost usage of flashrom does not involve layout files.\n\nThe fix in this commit (changed fscanf format string) can be applied to\nlayout.c of all past flashrom versions.\n\nCorresponding to flashrom svn r1953.\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": "8b6690ccbd9cf5f81aa2dc1a2095e75af172f819",
      "tree": "11f6e63c95d08816d185fb578345525dde3ffd5c",
      "parents": [
        "0be072cbe4d05b1e69d1c02291f3a2a544beb2af"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Mar 13 16:24:09 2016 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Mar 13 16:24:09 2016 +0000"
      },
      "message": "Shutdown serial port in pony_spi\n\nImplement serial port shutdown both for regular termination and error\nconditions in pony_spi.\n\nCorresponding to flashrom svn r1952.\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": "0be072cbe4d05b1e69d1c02291f3a2a544beb2af",
      "tree": "3c4270b0bdf66cd15fcc6b2525c0ff9aa4a803ab",
      "parents": [
        "fc3ecc2a812235fce1a4cdc7dc3338507150e8c7"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 13 15:16:30 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 13 15:16:30 2016 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 25\n\nTested mainboards:\nOK:\n - ASRock Fatal1ty 970 Performance and P4i65G\n   Reported by anonymous email message ID:\n   932677687262b1300eaf14260999d9262c31@guerrillamail.com\n   The latter actually had a tested board enable already.\n\nFlash chips:\n - Eon EN25Q128 to PREW (+PREW)\n   Reported by Adrian Graham\n - GigaDevice GD25VQ41B to PREW (+PREW)\n   Reported by David Hendricks\n - Winbond W39V040FB to PREW (+EW)\n   Reported by fjed on IRC\n\nMiscellaneous:\n - Change PCI IDs of \"MS-6577 (Xenon)\" board enable.\n   The previous IDs contained the on-board display adapter which is\n   disabled when a dedicated graphics card is installed.\n - Add a note to the README how to overcome the clang warning if only a\n   single programmer is enabled.\n - Fix some typo and manpage problems found by lintian\n - r1920 introduced some explicit calls to pkg-config instead of $(PKG_CONFIG).\n   This patch corrects that.\n - Make MS-7094 (K8T Neo2-F V2.0) board enable less contestable.\n   Previous PCI IDs were board-specific but ot the other of devices\n   that could be disabled by the firmware or that vary among\n   hardware revions. There are no good alternatives available.\n   However, since we always have a DMI decoder available now, we can\n   use non-board-specific devices without taking risks. Thanks to\n   Uwe Hermann for reporting and testing.\n - Some other small changes to clean up whitespace and fix some warnings\n   from Debian\u0027s lintian.\n\nCorresponding to flashrom svn r1951.\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": "fc3ecc2a812235fce1a4cdc7dc3338507150e8c7",
      "tree": "e9c299b36ffcc06cc3da2fbcf9b6153fc7915df1",
      "parents": [
        "57cdd6ba66219f568917e58c3dc585c7d725ce45"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 13 12:57:03 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 13 12:57:03 2016 +0000"
      },
      "message": "Fix compilation on SunOS\n\nThis came up when I was testing if building on SunOS still works\non the buildbot\u0027s instance of OmniOS r151014 which is based on illumos.\n\nThe fix is\n - to link against libnsl\n - a small C type fix in ich_descriptor_tool\n\nCorresponding to flashrom svn r1950.\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": "57cdd6ba66219f568917e58c3dc585c7d725ce45",
      "tree": "40a2a89636f80290353c09b710e5b71a740e8400",
      "parents": [
        "8e6565449be9dbf74dad3b5078f2bdc7c587cb2c"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Mar 12 19:49:14 2016 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Mar 12 19:49:14 2016 +0000"
      },
      "message": "sb600spi: rewrite and fix corner case\n\nSpecifying spispeed\u003dreserved as programmer parameter resulted in\nselecting the default SPI speed instead of aborting. Rewrite the logic\nto be more readable.\n\nCorresponding to flashrom svn r1949.\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": "8e6565449be9dbf74dad3b5078f2bdc7c587cb2c",
      "tree": "5b4df6ed317be4668e51277ee65e9ce34385d8a8",
      "parents": [
        "d059535856157e09c82567a260376ee040d7958a"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 06 22:32:16 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 06 22:32:16 2016 +0000"
      },
      "message": "Add support for GNU Hurd\n\nCorresponding to flashrom svn r1948.\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": "d059535856157e09c82567a260376ee040d7958a",
      "tree": "279bceb9dfbacf87cd0d66bcdb5fd1f4bd35c348",
      "parents": [
        "601f4cd02d1368e6167c9d08dc264ab0a2148cc3"
      ],
      "author": {
        "name": "Hatim Kanchwala",
        "email": "hatim@hatimak.me",
        "time": "Sun Mar 06 14:33:49 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 06 14:33:49 2016 +0000"
      },
      "message": "Add support for GD25VQ21B, GD25VQ40C, GD25VQ80C and GD25VQ16C\n\nCorresponding to flashrom svn r1947.\n\nSigned-off-by: Hatim Kanchwala \u003chatim@hatimak.me\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "601f4cd02d1368e6167c9d08dc264ab0a2148cc3",
      "tree": "ce883ad6470b87eabde61b41176613059e6676f2",
      "parents": [
        "fdb1659107b7a2de95dff0ec9af581ceff0f91e9"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Feb 28 22:04:51 2016 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Feb 28 22:04:51 2016 +0000"
      },
      "message": "Makefile: Fix driver blacklist dependencies\n\nAllow mstarddc_spi and pony_spi on Android.\nAllow mstarddc_spi and pony_spi on architectures with unsupported raw\naccess.\n\nCorresponding to flashrom svn r1946.\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": "fdb1659107b7a2de95dff0ec9af581ceff0f91e9",
      "tree": "3b20fe94c10bfff20d770f356077946bc1fd3a04",
      "parents": [
        "f35033739decf208af0c32d9ef376290a6a71f59"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Feb 28 17:04:38 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Feb 28 17:04:38 2016 +0000"
      },
      "message": "rayer_spi: add support for SPI Tiny Tools-compatible hardware\n\nApparently, there is at least one board of Russian origin (coined\nSPI_TT LPT) that works with SPI Tiny Tools which is a closed-source\nWindows GUI program somewhat similar to flashrom.\n\nCorresponding to flashrom svn r1945.\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": "f35033739decf208af0c32d9ef376290a6a71f59",
      "tree": "3e4ec3402a43e8b4eb272b4deb1740bf18ae5ae5",
      "parents": [
        "8d0d53fdd017897b698584326229ebd287708c2f"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Feb 26 23:51:21 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Feb 26 23:51:21 2016 +0000"
      },
      "message": "makefile: allow to disable all default-yes config variables with CONFIG_NOTHING\u003dyes\n\nAll credit for this should be given to Patrick Georgi (see r1869).\n\nCorresponding to flashrom svn r1944.\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": "8d0d53fdd017897b698584326229ebd287708c2f",
      "tree": "c2072492ba8d691ef6cf5aca53da47478ac7e478",
      "parents": [
        "fdec7475bf9e321a3729d5ba2100e30e110870ea"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Feb 25 20:10:26 2016 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Feb 25 20:10:26 2016 +0000"
      },
      "message": "Partial architecture support for alpha hppa m68k sh s390\n\nOnly hardware not needing raw access (PCI, memory, port I/O) is supported.\n\nCorresponding to flashrom svn r1943.\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": "fdec7475bf9e321a3729d5ba2100e30e110870ea",
      "tree": "fa61a001405821df55486cd6d8a0058ccc9127f1",
      "parents": [
        "f31fe841d78a01cd85b86b5fd9cb7e5bb64dfc4c"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Feb 22 08:59:27 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Feb 22 08:59:27 2016 +0000"
      },
      "message": "dediprog: use ordinary USB devs array\n\nEven though there is currently only one USB device ID in the wild using our\nstandard way to define the devices creates nicer output for -L and -z.\n\nCorresponding to flashrom svn r1942.\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": "f31fe841d78a01cd85b86b5fd9cb7e5bb64dfc4c",
      "tree": "9f953f0e2f4f36c96cf16214e5ce303b7ea7b777",
      "parents": [
        "2a0feae6997c987899d7fb165a4d3d2175b2c8f5"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Feb 22 08:59:15 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Feb 22 08:59:15 2016 +0000"
      },
      "message": "pickit2_spi: use ordinary USB devs array\n\nEven though there is currently only one USB device ID in the wild using our\nstandard way to define the devices creates nicer output for -L and -z.\n\nCorresponding to flashrom svn r1941.\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": "2a0feae6997c987899d7fb165a4d3d2175b2c8f5",
      "tree": "67230fe076881ffb6493f5150bfded14b044cb53",
      "parents": [
        "e016826a077abafc9ebe669c5fb8a809b6e6c2ea"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Feb 21 18:17:14 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Feb 21 18:17:14 2016 +0000"
      },
      "message": "Increase version number to 0.9.9-rc1\n\nCorresponding to flashrom svn r1939.\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\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\n"
    },
    {
      "commit": "e016826a077abafc9ebe669c5fb8a809b6e6c2ea",
      "tree": "dc32dd3ce3e3c88a88584eb58c4d15dcfaac0d4e",
      "parents": [
        "e0c7abf219b81ad049d09a4671ebc9196153d308"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Feb 21 11:18:24 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Feb 21 11:18:24 2016 +0000"
      },
      "message": "Automatically disable atapromise for libpayload as well\n\nThe atapromise module uses the rom_size field of the struct pci_dev found\nin pci.h that does not exist in libpayload\u0027s implementation and thus does\nnot compile with libpayload.\n\nCorresponding to flashrom svn r1938.\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": "e0c7abf219b81ad049d09a4671ebc9196153d308",
      "tree": "14e3caea109464d6bc5004e2b6fe58b168f38058",
      "parents": [
        "4b2b3151e381e0f3b6f3247d97b8fed416961f2f"
      ],
      "author": {
        "name": "Hatim Kanchwala",
        "email": "hatim@hatimak.me",
        "time": "Sun Feb 21 00:21:11 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Feb 21 00:21:11 2016 +0000"
      },
      "message": "Add support for GigaDevice GD25VQ41B and GD25Q128C\n\nCorresponding to flashrom svn r1937.\n\nSigned-off-by: Hatim Kanchwala \u003chatim@hatimak.me\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "4b2b3151e381e0f3b6f3247d97b8fed416961f2f",
      "tree": "84d1e065ef80aecdb876294bd8f8cb409db403f5",
      "parents": [
        "f636ffc4ef46d106ea123f01a2d01c193dc13f39"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Feb 20 22:28:16 2016 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Feb 20 22:28:16 2016 +0000"
      },
      "message": "Allow global disable of all drivers requiring libusb* or libpci\n\nThis is especially helpful for compile tests with CONFIG_EVERYTHING\u003dyes,\nbut can also be used without CONFIG_EVERYTHING.\n\nUsage:\nmake CONFIG_ENABLE_LIBUSB0_PROGRAMMERS\u003dno\nCONFIG_ENABLE_LIBUSB1_PROGRAMMERS\u003dno CONFIG_ENABLE_LIBPCI_PROGRAMMERS\u003dno\n\nCorresponding to flashrom svn r1936.\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": "f636ffc4ef46d106ea123f01a2d01c193dc13f39",
      "tree": "9d95341adf70f341fca7788c1f5d13232beab5fd",
      "parents": [
        "16c0aecebe6543a72b47f52022038450bda7df00"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Feb 20 22:04:39 2016 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Feb 20 22:04:39 2016 +0000"
      },
      "message": "Automatically disable atapromise on non-x86\n\nWe do not support PCI port I/O on non-x86 (yet).\nAtapromise needs PCI port I/O.\n\nCorresponding to flashrom svn r1935.\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": "16c0aecebe6543a72b47f52022038450bda7df00",
      "tree": "7f222799680877c7b790ef0b985b96569ce5e9d7",
      "parents": [
        "74367bf31492af2cfcea9efe3ad67ca5d5d3eadc"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Feb 20 21:43:56 2016 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Feb 20 21:43:56 2016 +0000"
      },
      "message": "Do not require PCI code for RayeR SPI driver\n\nCONFIG_RAYER_SPI only needs raw hardware access, but not libpci.\nDisable CONFIG_RAYER_SPI on Android because of missing inb/outb.\nIntroduce NEED_RAW_ACCESS for raw memory access, PCI port I/O\nand MSR access.\n\nCorresponding to flashrom svn r1934.\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": "74367bf31492af2cfcea9efe3ad67ca5d5d3eadc",
      "tree": "38e09fabac4d4d95dd7105f8dba375c59d5e88b4",
      "parents": [
        "2c57bbee3cbb5f931c43e5a1e2d892d220b182c5"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Feb 20 20:53:46 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Feb 20 20:53:46 2016 +0000"
      },
      "message": "dediprog: tremendously improve performance on SF600 by ignoring the spec\n\nThe solution was discovered in a collaborative bug hunt with testing done by\nDavid Hendricks. The actual culprit was found by Urja Rannikko by comparing\nvanilla flashrom with David\u0027s version in chromiumos.\n\nCorresponding to flashrom svn r1933.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nTested-by: David Hendricks \u003cdhendrix@chromium.org\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "2c57bbee3cbb5f931c43e5a1e2d892d220b182c5",
      "tree": "62cb1d94aa0f44283b2687bc1aa28d8f28fd9ab0",
      "parents": [
        "45207061d8181c5df6a6bbd1fde82437fc86477e"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Feb 20 20:21:58 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Feb 20 20:21:58 2016 +0000"
      },
      "message": "Include sys/glibc-syscalls.h instead of inexistent sys/io.h on Android\n\nThis won\u0027t make raw I/O work magically but at least it would provide iopl()\nif some driver requires it and there is no better alternative currently.\n\nCorresponding to flashrom svn r1932.\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": "45207061d8181c5df6a6bbd1fde82437fc86477e",
      "tree": "dd3329d7867b6a42361a0124b9e7a61485e320ae",
      "parents": [
        "1c2d23a22dd27b4c4b890fca1fcea6e0a6bd4de2"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Feb 19 08:17:24 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Feb 19 08:17:24 2016 +0000"
      },
      "message": "Makefile: fix overriding of make command line arguments\n\nCommand line arguments given when executing make should not stop us\nfrom setting commonly user-configurable variables like CPPFLAGS or\nLDFLAGS.\nWithout this patch \u0027make CPPFLAGS\u003d\"-Ifail\"\u0027 would fail to find\nlibusb1 headers and abort.\nAdd override statements where we append mandatory options to\nthese variables to make (Debian) packagers more happy.\n\nAlso, r1920 introduced some explicit calls to pkg-config instead of\n$(PKG_CONFIG). This patch corrects that as well.\n\nCorresponding to flashrom svn r1931.\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": "1c2d23a22dd27b4c4b890fca1fcea6e0a6bd4de2",
      "tree": "aaa7d008b3485b80c3c58197259d1bf573d92547",
      "parents": [
        "d99a2bd049264cc327c6ef772d1ae9c11697a29e"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Feb 18 23:11:52 2016 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Feb 18 23:11:52 2016 +0000"
      },
      "message": "Fix chip size limiting in atapromise\n\nThe current code is checking model_id to remember if a chip has already\nbeen limited, but if flashchips.c contains two subsequent chips with\ndifferent vendor_id but identical model_id the adjustment will not be\ndone. Switch to checking the chip size instead.\n\nIf a chip has multiple whole-chip erase functions, only one will be\nmodified. Fix that.\n\nCorresponding to flashrom svn r1930.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nTested-by: Joseph C. Lehner \u003cjoseph.c.lehner@gmail.com\u003e\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\n"
    },
    {
      "commit": "d99a2bd049264cc327c6ef772d1ae9c11697a29e",
      "tree": "e1ec42d9aebfb5615ddedbbc0c141562610b7fd5",
      "parents": [
        "c05900f3dccddb5ffb4f1c9557b2ffc81683ec44"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Thu Feb 18 21:42:49 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Feb 18 21:42:49 2016 +0000"
      },
      "message": "dediprog: port to libusb1 and use asynchronous bulk transfers for reading\n\nThis patch is based on Nico Huber\u0027s original version that was rebased\nby David Hendricks for Chromium OS in\nChange-Id: I84384b9d8ed53911657cf2293733531a6e11fd23\n\nCorresponding to flashrom svn r1929.\n\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nSigned-off-by: David Hendricks \u003cdhendrix@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": "c05900f3dccddb5ffb4f1c9557b2ffc81683ec44",
      "tree": "89f3c8aaf6ec9e21faa98c486649e24a6983c323",
      "parents": [
        "7f3b89fe0260d696cf27d07f9d9ab5402ad23116"
      ],
      "author": {
        "name": "David Hendricks",
        "email": "dhendrix@chromium.org",
        "time": "Thu Feb 18 21:42:41 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Feb 18 21:42:41 2016 +0000"
      },
      "message": "dediprog: use command 0x0B (set voltage) only on older SF100s\n\nAs per e-mail with Dediprog, command 0x0B (which is not listed in the\ncommand spec) is need on older Dediprogs only. SF100 with firmware\nV6.0.0 and newer as well as all SF600 programmers do not support it.\n\nThe original wording by Dediprog was: \"0x0B is used to adjust voltage\nlevel, but it\u0027s available for some version of SF100 only. SF100 of\nfirmware V6.x.x and all version of SF600/SF600Plus not support this\ncommand. If you have old version of SF100, 0x0B is still needed.\"\n\nThis patch renames dediprog_device_init() to something more\nappropriate  and adds comments for clarity, and only runs it\nconditionally if we cannot query the devicestring initially.\n\nBased on ChromiumOS\u0027\nChange-Id: I42de7d28401d7ad5be8fcf8a8c165e2614a45960\n\nCorresponding to flashrom svn r1928.\n\nSigned-off-by: David Hendricks \u003cdhendrix@chromium.org\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "7f3b89fe0260d696cf27d07f9d9ab5402ad23116",
      "tree": "b280049074c0500aea5d27c0eda6690cebb418d4",
      "parents": [
        "f2daacac7bd58ae886152c7f6de4c83ca77e382e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Thu Feb 18 21:42:15 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Feb 18 21:42:15 2016 +0000"
      },
      "message": "dediprog: add support for SF600\n\nThis patch is based on a number of changes by David Woodhouse and\nDavid Hendricks.\n\nSF600 uses two bulk endpoints, 1 for out and 2 for in unlike the\nSF100 that uses only a single one. This patch make endpoint usage\nmore explicit and sets the in/out endpoint(s) appropriately for\nSF100 and SF600.\n\nAlso, change all SF100-specific strings in messages and\nleave standalone mode on SF600s.\n\nCorresponding to flashrom svn r1927.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: David Hendricks \u003cdhendrix@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": "f2daacac7bd58ae886152c7f6de4c83ca77e382e",
      "tree": "f1796438679dfdbc6329f420bf95550cb0d95fcf",
      "parents": [
        "6800c953ef37820e2b0378ccb27064395d32ddf9"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Feb 17 22:25:12 2016 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Feb 17 22:25:12 2016 +0000"
      },
      "message": "List affected features for missing libraries\n\nIf libpci, libusb0 or libusb1 are missing, make will now tell you which\ncurrently enabled features require those libraries.\n\nExample output:\nChecking for libusb-0.1/libusb-compat headers... not found.\nThe following features require libusb-0.1/libusb-compat:\nCONFIG_PICKIT2_SPI CONFIG_DEDIPROG.\nPlease install libusb-0.1 headers or libusb-compat headers.\nSee README for more information.\n\nCorresponding to flashrom svn r1926.\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\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\n"
    },
    {
      "commit": "6800c953ef37820e2b0378ccb27064395d32ddf9",
      "tree": "8675d3d21b010cd74786f61fce00c5e8241573dd",
      "parents": [
        "e5dcc15beaca17c73795067bfec36be83b48c5b0"
      ],
      "author": {
        "name": "Todd Broch",
        "email": "tbroch@chromium.org",
        "time": "Sun Feb 14 15:46:00 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Feb 14 15:46:00 2016 +0000"
      },
      "message": "ft2232_spi: Add support for Google Servo boards (v1 + v2)\n\nThis patch has been cherry-picked from various patches in the chromiumos\ntree denoted below.\n\nChange-Id: I4b679e23ab37a4357b1e3d23f6f65a1c31f7d71a\nChange-Id: Ibda56201ab4519315431c08206c61ceffb7c7e65\nChange-Id: I540ad2d304dc69a7c79ca154beb744ef947ff808\n\nServo V2 has two FT4232H parts. The first one (denoted \u0027legacy\u0027) is\ndedicated to supporting orginal Servo V1 functionality. The second,\nresiding at USB ID 0x18d1:5003 provides two other SPI interfaces on\nport A and B respectively.\n\nAdditional changes by Alexandru Gagniuc, Hatim Kanchwala and Urja Rannikko:\n\n - The clock divisor is set to \u00276\u0027, as this creates a 10MHz SPI clock,\n   which is the same SPI clock that the chromiumos branch produced.\n - Add udev rule for Google servo boards to util/flashrom.rules.\n - Add Google servo entry to manpage.\n\nCorresponding to flashrom svn r1925.\n\nSigned-off-by: Todd Broch \u003ctbroch@chromium.org\u003e\nSigned-off-by: Alexandru Gagniuc \u003cmr.nuke.me@gmail.com\u003e\nSigned-off-by: Hatim Kanchwala \u003chatim@hatimak.me\u003e\nSigned-off-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nAcked-by: Hatim Kanchwala \u003chatim@hatimak.me\u003e\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "e5dcc15beaca17c73795067bfec36be83b48c5b0",
      "tree": "cc0d777aa336ecdca6e40ea6b6785d34872b1e43",
      "parents": [
        "b3d7fba800d2ff3bc11e83f0a69aa4911624bc37"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Feb 07 03:35:04 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Feb 07 03:35:04 2016 +0000"
      },
      "message": "Fix compilation on non-i386 architectures on OpenBSD\n\nWe use a header for MSR accesses on AMD Geodes that does only exist\non 32 bit x86 machines.\n\nCorresponding to flashrom svn r1924.\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": "b3d7fba800d2ff3bc11e83f0a69aa4911624bc37",
      "tree": "cf47461f1af44cbf851406f104c044e124c2fda1",
      "parents": [
        "d1ca1e89c14b16e6065a82292ca1a1f4dc227528"
      ],
      "author": {
        "name": "Hatim Kanchwala",
        "email": "hatim@hatimak.me",
        "time": "Mon Feb 01 00:27:25 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Feb 01 00:27:25 2016 +0000"
      },
      "message": "Add support for ESI ES25P40, ES25P80 and ES25P16\n\nCorresponding to flashrom svn r1923.\n\nSigned-off-by: Hatim Kanchwala \u003chatim@hatimak.me\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "d1ca1e89c14b16e6065a82292ca1a1f4dc227528",
      "tree": "8f38fb7204809a828091480a61ed25f1ea1d3f23",
      "parents": [
        "0870b02516ec9ef90364c3feeb5d0d7dc9c0e785"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jan 31 23:17:35 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jan 31 23:17:35 2016 +0000"
      },
      "message": "Separate Am29F0xx from Am29F0xxA/B definitions\n\nThe earlier versions of the chip require 0x2AAA for probes thus split the\ndefinitions and set them to untested to provoke reports.\n\nCorresponding to flashrom svn r1922.\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": "0870b02516ec9ef90364c3feeb5d0d7dc9c0e785",
      "tree": "016c2ebed9c5ee0cc0f5e5d13b5e1859f4ca0258",
      "parents": [
        "e49edbb8989abe206d144e4ae7bc9f7ae636bada"
      ],
      "author": {
        "name": "Urja Rannikko",
        "email": "urjaman@gmail.com",
        "time": "Sun Jan 31 22:10:29 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jan 31 22:10:29 2016 +0000"
      },
      "message": "Add support for WCH CH341A as an SPI programmer\n\nCorresponding to flashrom svn r1921.\n\nSigned-off-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\n"
    },
    {
      "commit": "e49edbb8989abe206d144e4ae7bc9f7ae636bada",
      "tree": "c16666b44026940a364e557fb0cf5a8310f4da26",
      "parents": [
        "c83ddc17692a175b6c79885bdbe215852fc36000"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jan 31 22:10:14 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jan 31 22:10:14 2016 +0000"
      },
      "message": "Add infrastructure to support libusb-1.0\n\nCorresponding to flashrom svn r1920.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\n"
    },
    {
      "commit": "c83ddc17692a175b6c79885bdbe215852fc36000",
      "tree": "48a2a5a3d3a670d86e5cc30e30ba887d5f6bd882",
      "parents": [
        "ae61651bfab63139493f5ac18348125e8d5baeb0"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jan 24 22:37:10 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jan 24 22:37:10 2016 +0000"
      },
      "message": "Makefile: print compile commands of configure steps to the build details file\n\nThis allows for even more easy debugging of build failures due to\nproblems with libraries.\n\nCorresponding to flashrom svn r1919.\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": "ae61651bfab63139493f5ac18348125e8d5baeb0",
      "tree": "4fcafc84ea8bd579b4cc21f8783cd8271ea00bb0",
      "parents": [
        "23e10b87801c22f34642895de8b0b726265eb016"
      ],
      "author": {
        "name": "Simon Glass",
        "email": "sjg@chromium.org",
        "time": "Sat Jan 23 23:27:58 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 23 23:27:58 2016 +0000"
      },
      "message": "dediprog: support new communication protocol, cleanup and enable by default\n\nThe new protocol changes some commands, so adjust the code to support\nthese. Use helper functions to reduce duplication in libusb calls. Testing\nwith real hardware showed that the maximum read size via the control\nendpoint is about 16 bytes although specification does not mention that.\n\nDediprog SF600 is not supported yet.\n\nBased on the following chromiumos changes:\nChange-Id: Ibd1e27d9e8273ba879b9b5d95675b99596255c89\nChange-Id: Ifc33e7b1eed5b0cb80f83458fa24741a577fa46a\nAdditionally, some ideas from Alex for cleaner code were incorporated as well.\n\nTested on an SF100 V4 with both firmware generations PREWing a M25PX80\nand AT45DB041D (the latter is using dediprog_spi_send_command() instead\nof optimized functions which make it a good test vehicle).\n\nCorresponding to flashrom svn r1918.\n\nSigned-off-by: Simon Glass \u003csjg@chromium.org\u003e\nSigned-off-by: David Hendricks \u003cdhendrix@chromium.org\u003e\nSigned-off-by: Alexandru Gagniuc \u003cmr.nuke.me@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": "23e10b87801c22f34642895de8b0b726265eb016",
      "tree": "2d62c23191801afaecbf98925effb8b8c7a44ab6",
      "parents": [
        "c2644a3fc14088a2535c05edbd56c041b3a7370d"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 23 16:16:49 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 23 16:16:49 2016 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 24\n\nTested mainboards:\nOK:\n - ASRock G31M-GS\n   Reported by Александр Трубицын\n - ASRock G41M-VS3\n   Reported by Александр Трубицын\n - ASRock N68C-S UCC\n   Reported by Alexey Belyaev\n - ASRock AMCP7AION-HT (ION 330HT(-BD))\n   Reported by Stefan Tauner\n - ASUS P5K SE\n   Reported by Александр Трубицын\n - ASUS P5KPL-VM\n   Reported by Marin Vlah\n - ASUS RAMPAGE III GENE\n   Reported by stevessss on IRC\n - GIGABYTE GA-945GM-S2\n   Reported by Александр Трубицын\n - GIGABYTE GA-945GCM-S2 (rev. 3.0)\n   Reported by Александр Трубицын\n - GIGABYTE GA-965P-S3\n   Reported by Александр Трубицын\n - GIGABYTE GA-EG43M-S2H\n   Reported by Александр Трубицын\n - GIGABYTE GA-EP31-DS3L (rev. 1.0)\n   Reported by Александр Трубицын\n - GIGABYTE GA-G33M-S2\n   Reported by Александр Трубицын\n - GIGABYTE GA-G33M-S2L\n   Reported by Александр Трубицын\n - GIGABYTE GA-H55M-S2\n   Reported by Александр Трубицын\n - GIGABYTE GA-J1900N-D3V\n   Reported by Marcos Truchado and Guillermo von Hünefeld\n - GIGABYTE GA-K8NS\n   Reported  by nicolae788\n - GIGABYTE GA-M56S-S3\n   Reported by Estevo Paz Freire\n - GIGABYTE GA-P31-DS3L\n   Reported by Александр Трубицын\n - GIGABYTE GA-P31-S3G\n   Reported by Александр Трубицын\n - MSI MS-7336\n   Reported by Benjamin Bellec\n - MSI X79A-GD45 (8D) (MS-7760)\"\n   Reported by mortehu on IRC\n - Supermicro A1SAi-2550F\n   Reported by Bernard Grymonpon\n - Supermicro X7DWT\n   Reported by Steven Stremciuc\n\nLaptop:\n - ASUS U38N\n   Reported by Ultra on IRC\n - Dell Latitude D630\n   Reported by Márton Miklós\n - Fujitsu Amilo Xi 3650\n   Reported by Elmar Stellnberger\n - Lenovo T400 (whitelisting only)\n\nChipsets:\n - Mark 8086:1f38 (Intel Avoton/Rangeley) as tested\n   Reported by Jeremy Porter and Bernard Grymonpon\n - Add Intel Sunrise Point IDs but no support yet.\n\nFlash chips:\n - Atmel AT45DB321D to PREW (+PREW)\n   Reported by The Raven\n - Eon EN25QH32 to PREW (+PREW)\n   Reported by Josua Mayer\n - Eon EN25QH64 to PREW (+EW)\n   Reported by David s. Alessio\n - GigaDevice GD25LQ64(B) to PREW (+PREW)\n   Reported by Greg Tippit\n - Intel 28F001BN/BX-T to PREW (+EW)\n   Reported by Lu Xie\n - Micron M25P10-A to PREW (+W)\n   Reported by the Raven\n - Micron M25PE40\n   Reported by David Wood\n - Micron N25Q128..3E to PREW (+PREW)\n   Reported by Miklós Márton\n - Macronix MX25L3273E to PREW (+PREW)\n   Reported by Roklobsta on IRC\n - Macronix MX23L6454 to PR (+PR)\n   Reported by Steven Honeyman\n - Macronix MX25U6435E/F to PREW (+PREW)\n   Reported by Marcos Truchado and Guillermo von Hünefeld\n - PMC Pm25LQ032C to PREW (+EW)\n   Reported by Dirk Knop\n - Spansion S25FL016A to PREW (+EW)\n   Reported by Márton Miklós\n - Spansion S25FL128S......0 to PREW (+PREW)\n   Reported by Jim Houston\n - Spansion S25FL204K to PR (+PR)\n   Reported by Thomas Debrunner\n - SST SST49LF016C to PREW (+EW)\n   Reported by Steven Stremciuc\n - SST SST39VF040 to PREW (+PREW)\n   Reported by Xavier Bourgeois\n - SST SST49LF040B to PREW (+EW)\n   Reported by Rikard Åhlund\n - ST M25P10-A to PREW (+W)\n   Reported by Martijn Schiedon\n - Winbond W39V040FA to PREW (+EW)\n   Reported by Евгений Черкашин\n - Winbond W39V080FA to PREW (+EW)\n   Reported by protagonist0 on IRC\n - Winbond W25Q80.W to PREW (+PREW)\n   Reported by Miklós Márton\n - Winbond W25X64 to PREW (+REW)\n   Reported by Johannes Krampf and Manuel Dejonghe\n - Fix ID of AMIC A25LQ64\n   Reported by Roman Titov\n - Fix page size of Spansion S25FL129P......1\n   Copy and paste error from the 128S uniform 256kB variant, probably.\n - Add Micron/Numonyx phase-change memory IDs\n\nMiscellaneous:\n - Detect Android target OS.\n   No changes are required to build flashrom (excluding programmers\n   with NEED_PCI) on Android.\n - Update rayerspi (spipgm) URL\n - Fix max_data_write handling of at45db.\n - Minor refinement of the README\n - Mark board enable for the GA-K8NS variants as tested.\n   Tested by \"nicolae788\" on a board with socket 754.\n - Mark \"Multi-system\" chassis as non-laptop case.\n - Remove W836xx log requests.\n   We got enough (and no one is looking at them for the time being anyway).\n - serprog: improve invalid reply error message, contributed by Urja Rannikko.\n - Remove default include paths for MinGW.\n - Disable implicit rules in the Makefile because we don\u0027t need them and they\n   just make the build (imperceptibly) slower.\n - Enable our own strnlen() implementation not only on DJGPP but also if\n   HAVE_STRNLEN is not defined. This is needed to get older BSDs\n   (e.g. NetBSD 6.0, FreeBSD \u003c 8.0) to work.\n - Tiny other stuff.\n\nCorresponding to flashrom svn r1917.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "c2644a3fc14088a2535c05edbd56c041b3a7370d",
      "tree": "1d1e9e3e05d2fa18a228ef22ef0f99873c767ab4",
      "parents": [
        "a3712817a2eff0173e664162fc441ee7846f6ea0"
      ],
      "author": {
        "name": "Joseph C. Lehner",
        "email": "joseph.c.lehner@gmail.com",
        "time": "Sat Jan 16 23:45:25 2016 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jan 16 23:45:25 2016 +0000"
      },
      "message": "Add atapromise programmer\n\nSupported controllers are Promise PDC20262 (FastTrak66/Ultra66),\nPDC20265 (FastTrak100 Lite/Ultra100), PDC20267 (FastTrak100/Ultra100).\nAt least the Ultra100 only has address lines A0-A14 wired up, limiting\naddressable chip size to 32 kB. The flash chips mounted on those\ncontrollers usually is 128 kB, i.e. parts of the flash chip are\ninaccessible. As a workaround, the driver implicitly truncates the\nsize of all flash chips to 32 kB. Works well for the factory installed\nflash.\nDo NOT use as a generic programmer for chips \u003e32 kB.\n\nCorresponding to flashrom svn r1916.\n\nSigned-off-by: Joseph C. Lehner \u003cjoseph.c.lehner@gmail.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\n"
    },
    {
      "commit": "a3712817a2eff0173e664162fc441ee7846f6ea0",
      "tree": "441663e56658209660de4d0e128ba1600e0a03e8",
      "parents": [
        "1ca7c7ff1ba0f5ad43b6cc5b767853fa3248859c"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 16 18:50:27 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 16 18:50:27 2016 +0000"
      },
      "message": "Fix file descriptor leak in serial.c\n\nFound by Coverity as \"CID 1348465:  Resource leaks\".\n\nCorresponding to flashrom svn r1915.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "1ca7c7ff1ba0f5ad43b6cc5b767853fa3248859c",
      "tree": "1fad05560179578a2997fff4443bdacdf20e0bd6",
      "parents": [
        "4c72315c10c0a760a6ed9181257aa7fe3ce9176d"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jan 14 23:05:55 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jan 14 23:05:55 2016 +0000"
      },
      "message": "Set LC_ALL globally in Makefile\n\nThis won\u0027t work for the majority of relevant commands because they use the\n$(shell) function and GNU make does not relay variables exported within the\nmakefile to their evironment.\n\nCorresponding to flashrom svn r1914.\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": "4c72315c10c0a760a6ed9181257aa7fe3ce9176d",
      "tree": "a98688792c28001185f29bd30ce569ca38f888ce",
      "parents": [
        "bfb067b076c048935314635ffb16c0913a171744"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jan 14 22:47:55 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jan 14 22:47:55 2016 +0000"
      },
      "message": "Pimp the manpage to create nicer hyperlinks and HTML output\n\nAlso, add a target to the makefile to build a flashrom.8.html with groff.\nTo fix some formatting issues this adds some indention commands as well.\n\nCorresponding to flashrom svn r1913.\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": "bfb067b076c048935314635ffb16c0913a171744",
      "tree": "91d84b42ac50cc531ab9eb7f4f06ddfcc81509a1",
      "parents": [
        "3f73ffec384ef77a5039deb96858623e0fe6f827"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jan 07 18:13:07 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jan 07 18:13:07 2016 +0000"
      },
      "message": "Add support for linking statically with CONFIG_STATIC\u003dyes\n\nThis is loosly based on the following changes of chromiumos:\n\n - flashrom: Add default pkg-config definition.\n   Change-Id: I28744af0fd2d2d0bcc4569a5fbef370321691267\n - Fix FT2232 feature on static builds.\n   Change-Id: I70d4a7bda573b64cb18429a21792455b018c4cba\n\nCorresponding to flashrom svn r1912.\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": "3f73ffec384ef77a5039deb96858623e0fe6f827",
      "tree": "480357e8eb3e1d3cc8cc1266673d42b06264c37d",
      "parents": [
        "bfaf7b1feb35ac625424d3249cf9967295629283"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jan 07 17:45:59 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jan 07 17:45:59 2016 +0000"
      },
      "message": "Make make errors more less flashily\n\nPreviously we have hid almost all error messages from called tools like\npkg-config or the compiler in the \"configure\" step. Only exceptions were\nthe library checks because Carl-Daniel felt it improved usability in\ncase of missing headers etc.\n\nHowever, this makes the output of the makefile less readable and in\nthe case of pkg-config fallbacks the error messages are actually\nexpected. Instead of throwing a part of the detailed stderr outputs\nof the tools into the face of the users and completely hiding\nothers, write all of them into a separate log file instead.\n\nCorresponding to flashrom svn r1911.\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": "bfaf7b1feb35ac625424d3249cf9967295629283",
      "tree": "61964a9021dcfcd2d8ab4b66b96f14dca1a28b80",
      "parents": [
        "dc44584e92a61b6493d8bb76a8de7a07b8cd8e78"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jan 07 09:50:26 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jan 07 09:50:26 2016 +0000"
      },
      "message": "makefile: fix exports of PKG_CONFIG_LIBDIR for pkg-config calls\n\nThe parenthesis pushed the exports into a subshell thus made them useless.\n\nCorresponding to flashrom svn r1910.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "dc44584e92a61b6493d8bb76a8de7a07b8cd8e78",
      "tree": "cfb119bf807aa982933cee1edaefc6133bde4b9e",
      "parents": [
        "27b431bceed902974ffcbe5fce474e3a8f193350"
      ],
      "author": {
        "name": "Urja Rannikko",
        "email": "urjaman@gmail.com",
        "time": "Mon Jan 04 05:08:40 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 04 05:08:40 2016 +0000"
      },
      "message": "serial: support arbitrary baud rates on Windows\n\nAvailable baud rates obviously depend on driver support, but the\nCBR_ defines used so far are basically only for backwards source\ncompatibility with Win16, so dont bother with them.\n\nCorresponding to flashrom svn r1909.\n\nSigned-off-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "27b431bceed902974ffcbe5fce474e3a8f193350",
      "tree": "cccdb3718ce2b2399efa0e011c6cca0ba41bc45e",
      "parents": [
        "72587f85ec0f85719c163905933e31a946f54bdf"
      ],
      "author": {
        "name": "Urja Rannikko",
        "email": "urjaman@gmail.com",
        "time": "Mon Jan 04 03:05:23 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 04 03:05:23 2016 +0000"
      },
      "message": "serprog: fix missing device parameter error message on Windows\n\nPreviously, flashrom -p serprog didnt notice a completely missing dev\u003d\nstring on Windows. Also, the error message shown if no device name\nfollowed contained a misleading \"/dev/...\".\n\nCorresponding to flashrom svn r1908.\n\nSigned-off-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "72587f85ec0f85719c163905933e31a946f54bdf",
      "tree": "65b772847d7325b0739a7a74a455644cca8db997",
      "parents": [
        "631bb021359e8bc85c40d4700ca276667c0f97ed"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 04 03:05:15 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 04 03:05:15 2016 +0000"
      },
      "message": "serprog: allow to omit specifying a baud rate\n\nOn USB-based serial connections (VCP) the requested baud rate usually\ndoes not matter (much). Remove the arbitrary restriction and use whatever\ndefault values the OS/hardware provides.\n\nCorresponding to flashrom svn r1907.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\n"
    },
    {
      "commit": "631bb021359e8bc85c40d4700ca276667c0f97ed",
      "tree": "1c48a68d89cc5a2ded687460b68a6ea8c234741f",
      "parents": [
        "a4d60f31016adb1dc7c273b6d0cd7c0d21dcb417"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 04 03:05:06 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 04 03:05:06 2016 +0000"
      },
      "message": "serprog: ignore failures when setting serial port options\n\nThere is no good reason to abort earlier just because some options did\nnot stick. This should improve compatibility without negative effects. If\ncommunication is affected by the missing flag(s) then we abort later\nanyway.\n\nCorresponding to flashrom svn r1906.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\n"
    },
    {
      "commit": "a4d60f31016adb1dc7c273b6d0cd7c0d21dcb417",
      "tree": "63b2175ae000eb80d39702446e5ad1e1180ad380",
      "parents": [
        "3d06abef13b80d8063d2f66a6617665c745a1cd9"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 04 03:04:36 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 04 03:04:36 2016 +0000"
      },
      "message": "serprog: clear NDELAY flag only once after opening the port\n\nChange sp_openserport() to directly clear the O_NONBLOCK flag that\nis potentially set by opening the device with O_NDELAY instead of\nclearing ALL flags in serialport_config() unconditionally.\n\nCorresponding to flashrom svn r1905.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\n"
    },
    {
      "commit": "3d06abef13b80d8063d2f66a6617665c745a1cd9",
      "tree": "7656b0f72792920d69170cc53ca20c169a5a060c",
      "parents": [
        "2f055dfba97a2798ab10ec6cbbac760346a4cebe"
      ],
      "author": {
        "name": "Alexandru Gagniuc",
        "email": "mr.nuke.me@gmail.com",
        "time": "Fri Dec 25 22:42:45 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Dec 25 22:42:45 2015 +0000"
      },
      "message": "Add support for libftdi1\n\nMany distros no longer provide libftdi 0.2, and as a result,\nprogrammers that depend on libftdi must be disabled to compile flashrom.\nLuckily the libftdi API did not change significantly, so for our\npurposes, we can simply use the newer headers and link to the newer\nlibrary if it is available.\n\nCorresponding to flashrom svn r1904.\n\nSigned-off-by: Alexandru Gagniuc \u003cmr.nuke.me@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": "2f055dfba97a2798ab10ec6cbbac760346a4cebe",
      "tree": "c61146274fa1b82243e8dd659f82cb8a9c9547af",
      "parents": [
        "1668770c6fe7308939f208c265328a8ef92b6ac1"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Dec 25 22:13:15 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Dec 25 22:13:15 2015 +0000"
      },
      "message": "Add support for Sanyo LE25FU406C/LE25U40CMC\n\nCorresponding to flashrom svn r1903.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nTested-by: Jose Luis León \u003czenky1@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "1668770c6fe7308939f208c265328a8ef92b6ac1",
      "tree": "f787fd81606d11698acd1cec6a8d0f36c39d568f",
      "parents": [
        "bcf6109a76a873fc1227402d4b5b13a87dc3eb1a"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Dec 25 21:59:45 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Dec 25 21:59:45 2015 +0000"
      },
      "message": "Rigorously check integrity of I/O stream data\n\nEven if fwrite() succeeds the data is not necessarily out of the clib\u0027s buffers\nand writing it eventually could fail. Even if the data is flushed out (explicitly by\nfflush() or implicitly by fclose()) the kernel might still hold a buffer.\n\nPreviously we have ignored this to a large extent - even in important cases\nlike writing the flash contents to a file. The results can be truncated\nimages that would brick the respective machine if written back as is (though\nflashrom would not allow that due to a size mismatch). flashrom would not\nindicate the problem in any output - so far we only check the return value\nof fwrite() that is not conclusive.\n\nThis patch checks the return values of all related system calls like fclose()\nunless we only read the file and are not really interested in output errors.\nIn the latter case the return value is casted to void to document this fact.\nAdditionally, this patch explicitly calls fflush() and fsync() (on regular files only)\nto do the best we can to guarantee the read image reaches the disk safely\nand at least inform the user if it did not work.\n\nCorresponding to flashrom svn r1902.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\n"
    },
    {
      "commit": "bcf6109a76a873fc1227402d4b5b13a87dc3eb1a",
      "tree": "a3b5a06e4e58d208ecf22c956cd8c160b4d52ebc",
      "parents": [
        "94d8665ea34cb9678c4b08ea340c4a292e520a1d"
      ],
      "author": {
        "name": "Ben Gardner",
        "email": "bgardner@wabtec.com",
        "time": "Sun Nov 22 02:23:31 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Nov 22 02:23:31 2015 +0000"
      },
      "message": "Add support for SST SST25WF020A, SST25WF040B, SST25WF080B\n\nApart from the strange ID (using Sanyo\u0027s vendor ID 0x62) the main\ndifference from the plain SST25WF series is that they lack op codes\n0xAD (AAI Word program) and 0x52 (32K erase). The smallest version\ndoes not support dual I/O operations either.\n\nSST25WF080B was tested under Linux with spidev.\n\nCorresponding to flashrom svn r1901.\n\nTested-by: Ben Gardner \u003cbgardner@wabtec.com\u003e\nSigned-off-by: Ben Gardner \u003cbgardner@wabtec.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": "94d8665ea34cb9678c4b08ea340c4a292e520a1d",
      "tree": "0bfef32aa6ec7df3ccf9e1b3f1e673510500a3e0",
      "parents": [
        "839db6dccd416417f15771beef234b54cd058627"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Nov 21 23:35:47 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Nov 21 23:35:47 2015 +0000"
      },
      "message": "Add support for VIA VT8251\n\nSeems to work on IBM SurePOS 700 and\nIBM (now Toshiba) AnyPlace Kiosk Model 4838-310.\n\nTested-by: Jason Vannest \u003cJason_Vannest@abercrombie.com\u003e\nTested-by: Rowlinson Mark \u003cMark.Rowlinson@uk.fujitsu.com\u003e\n\nCorresponding to flashrom svn r1900.\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": "839db6dccd416417f15771beef234b54cd058627",
      "tree": "78ecc458c60ef8849dd9ecfc51aefdfa68501d9f",
      "parents": [
        "8cd0c73fb54658e9176c4b78a57bc9e99eab4faf"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Nov 14 02:55:22 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Nov 14 02:55:22 2015 +0000"
      },
      "message": "Use nanosleep() instead of usleep() where available\n\nUsleep() has been obsolete for quite a while.\nThe only target that uses it without alternative is DOS.\n\nCorresponding to flashrom svn r1899.\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": "8cd0c73fb54658e9176c4b78a57bc9e99eab4faf",
      "tree": "191a9906cb0cc117bd682167bcfea520d9d19c44",
      "parents": [
        "c8305e1dee66cd69bd8fca38bff2c8bf32924306"
      ],
      "author": {
        "name": "Gwenhael Goavec-Merou",
        "email": "gwenhael.goavec-merou@trabucayre.com",
        "time": "Sat Nov 14 02:55:12 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Nov 14 02:55:12 2015 +0000"
      },
      "message": "Add (implicit) support for musl libc\n\nThis is mostly achieved by fixing or refining the inclusion of header\nfiles and replacing glibc-specific ifdefs with more generic ones.\n\n - \u003csys/io.h\u003e: Contains iopl(2) and x86 I/O port access functions (inb, outb etc).\n               Generally Linux-specific but also availble on debian/kFreeBSD.\n               Provided by glibc as well as musl and uclibc.\n               Include it if we are running Linux or if glibc is detected.\n - \u003csys/fcntl.h\u003e: should be (and is) replaced by \u003cfcntl.h\u003e (without the\n    \t\t\t  \"sys\" prefix).\n - \u003clinux/spi/spidev.h\u003e: Does not include all necessary headers, namely\n                         _IOC_SIZEBITS that is used in the definition of\n                         SPI_MSGSIZE is not brought in via \u003clinux/ioctl.h\u003e\n                         but instead we relied so far on glibc\u0027s including\n                         it via \u003csys/ioctl.h\u003e. Change that to explicitly\n                         including \u003clinux/ioctl.h\u003e.\n - \u003cendian.h\u003e: Would also be available in musl but there is no easy way\n               to detect it so we do not try yet.\n\nCorresponding to flashrom svn r1898.\n\nThe bug report and initial patches were\nSigned-off-by: Gwenhael Goavec-Merou \u003cgwenhael.goavec-merou@trabucayre.com\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": "c8305e1dee66cd69bd8fca38bff2c8bf32924306",
      "tree": "5093cc7a7f36228da0f1a2d8eba2e9c46239226a",
      "parents": [
        "557eb4ff18c7c8d01684a8d7afb7ffc12452bb50"
      ],
      "author": {
        "name": "Paul Kocialkowski",
        "email": "contact@paulk.fr",
        "time": "Fri Oct 16 02:16:20 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Oct 16 02:16:20 2015 +0000"
      },
      "message": "Add support for 128 bytes write granularity\n\nSome chips such as the ENE KB9012 internal flash require a write\ngranularity of 128 bytes.\n\nCorresponding to flashrom svn r1897.\n\nSigned-off-by: Paul Kocialkowski \u003ccontact@paulk.fr\u003e\nAcked-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "557eb4ff18c7c8d01684a8d7afb7ffc12452bb50",
      "tree": "db8bfcfd4fffd585ec33980d4a78eecb5733102f",
      "parents": [
        "0b4ffd58aaca065c55a7933df286dbe275d9ebd7"
      ],
      "author": {
        "name": "Simon Glass",
        "email": "sjg@chromium.org",
        "time": "Sun Jul 05 16:53:22 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jul 05 16:53:22 2015 +0000"
      },
      "message": "dediprog: Tidy up commands and remove dead nonsense code\n\nUse names for the commands and request types instead of magic\nnumbers and remove some of the unnecessary unexplained arguments.\nAlso, cleanup the nonsense code left over from RE. Most of it can\nnot be explained by official documentation and was recorded with\nancient firmware/software.\n\nBased on the following chromiumos changes:\nChange-Id: I80a0dcdf40eedc89da48fb2c54cd9d9fd13e6fa1\nChange-Id: If61bac2c8194b3ec30a80422d871842c66f0cd74\n\nCorresponding to flashrom svn r1896.\n\nSigned-off-by: Simon Glass \u003csjg@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\nAcked-by: David Hendricks \u003cdhendrix@chromium.org\u003e\n"
    },
    {
      "commit": "0b4ffd58aaca065c55a7933df286dbe275d9ebd7",
      "tree": "2efb5b97da732f7bb35990a4eb86cd1bf59f13e2",
      "parents": [
        "25e9f40e21e715e4ee6183a42c8521406f91b258"
      ],
      "author": {
        "name": "Urja Rannikko",
        "email": "urjaman@gmail.com",
        "time": "Mon Jun 29 23:24:23 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jun 29 23:24:23 2015 +0000"
      },
      "message": "serprog: Fix FWH/LPC by implementing serprog_map\n\nThe serprog protocol does only transmit 24 bit-wide address and ignores the\ntop 8 bit. This is fine as long as the underlying hardware ignores the latter\nanyway (which is the case for parallel chips that even lack the respective pins).\nFWH/LPC chips, however, operate on a full 32-bit (LPC) or 28-bit (FWH) address\nspace and would fail with the fallback mapping to NULL.\n\nCorresponding to flashrom svn r1895.\n\nSigned-off-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "25e9f40e21e715e4ee6183a42c8521406f91b258",
      "tree": "887b1ab921ef9ca47f8197eb394caf18876f4cb6",
      "parents": [
        "0a5f6e43d15c50409eb49369895ba2a56a173d47"
      ],
      "author": {
        "name": "Simon Glass",
        "email": "sjg@chromium.org",
        "time": "Sun Jun 28 13:31:19 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jun 28 13:31:19 2015 +0000"
      },
      "message": "dediprog: Invert the LED polarity in the code\n\nPreviously we have used low-active macros (because the hardware and\nold protocol were so too) and set every single LED explicitly although we\nonly used a limited number of combinations. Using an enumeration for\ncommonly used values instead makes things easier.\n\nBased on the following chromiumos change:\nChange-Id: Ie481a583e623cdc45e3649a4db69b15570f65a7b\n\nCorresponding to flashrom svn r1894.\n\nSigned-off-by: Simon Glass \u003csjg@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\nAcked-by: David Hendricks \u003cdhendrix@chromium.org\u003e\n"
    },
    {
      "commit": "0a5f6e43d15c50409eb49369895ba2a56a173d47",
      "tree": "ac3c8c94e8163897b6efa0710dc544b1fe15f26b",
      "parents": [
        "2a1aabaf90dc68a60fcf9c5d85744f386a4d920a"
      ],
      "author": {
        "name": "Urja Rannikko",
        "email": "urjaman@gmail.com",
        "time": "Mon Jun 22 23:59:15 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jun 22 23:59:15 2015 +0000"
      },
      "message": "spi25: ignore 0x00 as a manufacturer id in the generic match\n\nSaying that manufacturer id 0x00 is an \"unknown SPI chip\"\njust confuses people with external programmers without a\nproper connection to a chip and makes them think flashrom\ndoesn\u0027t support the chip they\u0027re trying to use.\nAlso causes unnecessary -c requirement with a multiple-slot\n(FWH/LPC and SPI) serprog device i was testing.\n\nCorresponding to flashrom svn r1893.\n\nSigned-off-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "2a1aabaf90dc68a60fcf9c5d85744f386a4d920a",
      "tree": "3e2dbbe9a40de4bef6c19d96395bc75968157895",
      "parents": [
        "81a8fb7c2cd2c66809393e8cfca204a25bcb0c64"
      ],
      "author": {
        "name": "Urja Rannikko",
        "email": "urjaman@gmail.com",
        "time": "Sat Jun 20 11:53:10 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jun 20 11:53:10 2015 +0000"
      },
      "message": "Add support for Winbond W29C512A/W29EE512\n\nTested with a W29EE512P-70 (PLCC32, 5V)  found on an RTL8169 network card.\nThe ID for the chip was already in flashchips.h with the name W29C512A\nand a note for \"also W29EE512\". The datasheets are almost identical.\n\nCorresponding to flashrom svn r1892.\n\nSigned-off-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "81a8fb7c2cd2c66809393e8cfca204a25bcb0c64",
      "tree": "3dff7396f89d984a865129821fcfc3ec480c282f",
      "parents": [
        "c71759d3d3668235e0f44e56e224e226ee09ee23"
      ],
      "author": {
        "name": "Steven Honeyman",
        "email": "stevenhoneyman@gmail.com",
        "time": "Tue Jun 02 22:32:24 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Jun 02 22:32:24 2015 +0000"
      },
      "message": "Add support for PMC Pm25LQ020, Pm25LQ040, Pm25LQ080, Pm25LQ016, Pm25LQ032C\n\nCorresponding to flashrom svn r1891.\n\nSigned-off-by: Steven Honeyman \u003cstevenhoneyman@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": "c71759d3d3668235e0f44e56e224e226ee09ee23",
      "tree": "689dae40f6ef1f2460948a320307d581b22366e8",
      "parents": [
        "95edc89a943ffdc935cdb279ae0fba63b8cae2a9"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat May 23 23:59:23 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat May 23 23:59:23 2015 +0000"
      },
      "message": "hwaccess.h: fix compilation on OSX\n\nDirectHW provides prototypes for out[bwl] and in[bwl], but we still\nneed to define the respective OUT[BWL] and IN[BWL] binding macros.\n\nApparently this has been broken since r1864 (or January 2015).\n\nCorresponding to flashrom svn r1890.\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": "95edc89a943ffdc935cdb279ae0fba63b8cae2a9",
      "tree": "ca28c9b3d21a162c36b6dbeebf74162dc515eee0",
      "parents": [
        "f4651f612b2094fdf2e858c6489ee0667c0e93de"
      ],
      "author": {
        "name": "Roman Titov",
        "email": "titovroman@gmail.com",
        "time": "Fri Apr 03 21:29:04 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Fri Apr 03 21:29:04 2015 +0000"
      },
      "message": "Add support for more GigaDevice GD25LQ chips\n\nNamely GD25LQ40, GD25LQ80, GD25LQ16, GD25LQ64(B), GD25LQ128.\n\nCorresponding to flashrom svn r1889.\n\nSigned-off-by: Roman Titov \u003ctitovroman@gmail.com\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "f4651f612b2094fdf2e858c6489ee0667c0e93de",
      "tree": "f48fd5ba9279702a84330c6a7bc34e9d05933b30",
      "parents": [
        "74dc73f6907ea159c0d5d221309e266528ea6134"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 01 22:05:16 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 01 22:05:16 2015 +0000"
      },
      "message": "Increase flashrom version number to 0.9.8\n\nCorresponding to flashrom svn r1887.\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": "74dc73f6907ea159c0d5d221309e266528ea6134",
      "tree": "15dba04ff8d31e6a4dce586a520311cc9e58f1d7",
      "parents": [
        "adadca66f2ce2cb03ece016ab07fef604283c667"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 01 22:04:38 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Mar 01 22:04:38 2015 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 23\n\nTested mainboards:\nOK:\n - Elitegroup GF7050VT-M\n   Reported by Alex\n - Fujitsu D2724-A1x (used in ESPRIMO E5625)\n   Reported by Rainer Spillmann\n - Teclast X98 Air 3G\n   Reported by Antonio Ospite\n\nFlash chips:\n - Fix MX25L6405(D) definition by splitting it.\n   Reported by Reggie McMurtrey\n - Add Macronix MX25L..08E family and rearrange MX25L6436E.\n - Pm49FL004 to PREW (+EW)\n   Reported by Georg Sauthoff\n\nMiscellaneous:\n - Add board enable for abit KN9 Ultra.\n - Mark ARM-USB-OCD as working OK.\n - Use \"mobile devices\" instead of \"laptops\" in output.\n - Tiny other stuff.\n\nCorresponding to flashrom svn r1886.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "adadca66f2ce2cb03ece016ab07fef604283c667",
      "tree": "ab1e4651c333e3079ad71897dcc18f4d6b342715",
      "parents": [
        "400b3adc8a4e073648e2512be9cd7bab94d8f8f8"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Feb 18 23:28:30 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Feb 18 23:28:30 2015 +0000"
      },
      "message": "Fix a number of problems in mstarddc_spi.c\n\nCoverity has brought up the following problems:\n\nmstarddc_spi_send_command():\n - CID 1270702: bad comparison of malloced pointer \u0027cmd\u0027.\n - CID 1270701: a NULL pointer dereference possible because of above.\n\nSimply checking the return value of malloc in a valid way fixes both problems.\n\nmstarddc_spi_init():\n - CID 1270699 and 1270700: Memory leak of i2c_device.\n\nThis patch revamps the function in various ways to fix these issues and some\nother irritating bits.\nIt reduces scopes of variables where possible, pushes the code towards our\ncoding standards and introduces a label-based resource cleanup at the end.\n\nCorresponding to flashrom svn r1885.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Alexandre Boeglin \u003calex@boeglin.org\u003e\n"
    },
    {
      "commit": "400b3adc8a4e073648e2512be9cd7bab94d8f8f8",
      "tree": "2ebc27d8ebbf4b7678665a9ffb1340bfdc559496",
      "parents": [
        "fb2d77cbaf09497a1d33ac7e3756d7af35b56c8c"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Feb 11 22:21:03 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Feb 11 22:21:03 2015 +0000"
      },
      "message": "Increase flashrom version number to 0.9.8-rc1\n\nCorresponding to flashrom svn r1883.\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": "fb2d77cbaf09497a1d33ac7e3756d7af35b56c8c",
      "tree": "340b3f1f7464cfe2a6ef92e2b4e9b7d48b559f41",
      "parents": [
        "66e554bc88a29ec6bc55c86320799c31b5b0e6c1"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Feb 10 08:03:10 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Feb 10 08:03:10 2015 +0000"
      },
      "message": "Add support for SPARC (maybe)\n\nWas implemented by SPARC newbies, does (cross-)compile but is not run-tested.\n\nCorresponding to flashrom svn r1882.\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": "66e554bc88a29ec6bc55c86320799c31b5b0e6c1",
      "tree": "597dd6c02ecd223e56d3088682e1c5314409af1f",
      "parents": [
        "5673450316b0624f3b0a763babdcaf9f13fde12c"
      ],
      "author": {
        "name": "Justin Chevrier",
        "email": "jchevrier@gmail.com",
        "time": "Sun Feb 08 21:58:10 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Feb 08 21:58:10 2015 +0000"
      },
      "message": "Add support for the Microchip PICkit2 as an SPI programmer\n\nThis patch was inspired by the code in AVRDude (open source Atmel AVR\nprogrammer) to support the PICkit2 written by Doug Brown [1]. The\nDediprog code in flashrom was used as the template for this code with\nsome reference to the ft2232 code as well.\n\n[1] - https://github.com/steve-m/avrdude/blob/master/pickit2.c\n\nCorresponding to flashrom svn r1881.\n\nSigned-off-by: Justin Chevrier \u003cjchevrier@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": "5673450316b0624f3b0a763babdcaf9f13fde12c",
      "tree": "c983ef2d2c6f99c099cd4bad2bb517b44389aeb4",
      "parents": [
        "5c316f954941241ed75a1f00f00bf1bff318488a"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Feb 08 21:58:04 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Feb 08 21:58:04 2015 +0000"
      },
      "message": "Refine version check of libpci function pci_get_dev\n\nThe way more elegant check for the header fails unfortunately on CentOS 4.9\nbecause PCI_LIB_VERSION is not defined at all although the domain parameter\nis present. This patch jumps through the hoops via an additional check in the\nMakefile to determine if the function accepts 5 parameters (new version) or\nnot (old version).\n\nCorresponding to flashrom svn r1880.\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": "5c316f954941241ed75a1f00f00bf1bff318488a",
      "tree": "ce836bcb29d7d9da86ee583a88236b020985ba36",
      "parents": [
        "dc627931848ed6af40be4f7d5bdb8e33d28b8333"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Feb 08 21:57:52 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Feb 08 21:57:52 2015 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 22\n\nTested mainboards:\nOK:\n - AOpen UK79G-1394 (used in EZ18 barebones)\n   Reported by Lawrence Gough\n - ASUS M4N78 SE\n   Reported by Dima Veselov\n - ASUS P5LD2-VM\n   Mark board enable as tested (reported by Dima Veselov)\n - GIGABYTE GA-970A-UD3P (rev. 2.0)\n   Reported by trucmar on IRC\n - GIGABYTE GA-990FXA-UD3 (rev. 4.0)\n   Reported by ROKO__ on IRC\n - GIGABYTE GA-H77-DS3H (rev. 1.1)\n   Reported by Evgeniy Edigarev\n - GIGABYTE GA-P55-USB3 (rev. 2.0)\n   Reported by Måns Thörnqvist\n - MSI MS-7817 (H81M-E33)\n   Reported by Igor Kolker\n\nChipsets:\n - Marked Intel Bay Trail (0x0f1c) as tested OK\n   Reported by Antonio Ospite\n - Refine Intel IDs\n    * Add IDs for Braswell\n    * Add IDs for 9 Series PCHs (e.g. H97, Z97)\n    * Rename Wellsburg devices slightly\n\nFlash chips:\n - Atmel AT25DF041A to PREW (+PREW)\n   Reported by Tai-hwa Liang\n - Atmel AT26DF161 to PREW (+EW)\n   Reported by Steve Shenton\n - Atmel AT45DB011D to PREW (+PREW)\n   Reported by The Raven\n - Atmel AT45DB642D to PREW (+PREW)\n   Reported by Mahesh Mokal\n - Eon EN25F32 to PREW (+PREW)\n   Reported by Arman Khodabande\n - Eon EN25F40 to PREW (+REW)\n   Reported by Jerrad Pierce\n - Eon EN25QH16 to PREW (+EW)\n   Reported by Ben Johnson\n - GigaDevice GD25Q20(B) to PREW (+PREW)\n   Reported by Gilles Aurejac\n - Macronix MX25U6435E/F to PR (+PR)\n   Reported by Matt Taggart\n - PMC Pm25LV512(A) to PREW (+PREW)\n   Reported by The Raven\n - SST SST39VF020 to PREW (+PREW)\n   Reported by Urja Rannikko\n - Winbond W25Q40.V to PREW (+EW)\n   Reported by Torben Nielsen\n - Add E variants of MX25Lx006 (MX25L2006E, MX25L4006E, MX25L8006E).\n - Add MX25L6465E variant.\n - There was never a MX25L12805 AFAICT.\n - Split MX25L12805 from models with the same ID but an additional 32 kB\n   eraser: MX25L12835F/MX25L12845E/MX25L12865E.\n - Add a bunch of ST parallel NOR flash chip IDs.\n\nMiscellaneous:\n - Whitelist ThinkPad X200.\n - Constify master parameter of register_master().\n - Remove FEATURE_BYTEWRITES because it was never used at all.\n - Refine hwseq messages and make them less prominent.\n - Fix the yet unused PRIxCHIPADDR format string thingy.\n - Fix copy\u0026paste error in spi_prettyprint_status_register_bp().\n   Spotted by Pablo Cases.\n - Add an additional SMBus controller revision to identify another Yangtze\n   model. Thanks to Dan Christensen for reporting this issue.\n - dediprog: add missing include for stdlib.h.\n   This fixes (at least) building on FreeBSD and DragonflyBSD with gcc.\n - Remove references to struct pci_filter from programmer.h.\n   It is only needed in internal.c where it has a complete type. Having\n   it in programmer.h provokes a warning by some old versions of gcc.\n - Tiny other stuff.\n\nCorresponding to flashrom svn r1879.\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": "dc627931848ed6af40be4f7d5bdb8e33d28b8333",
      "tree": "8a458f2a546da385a13b3662586000286e3aa02d",
      "parents": [
        "0cbd8c2558209432a0f51522cd2adffc59785dd0"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Jan 27 18:07:50 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Tue Jan 27 18:07:50 2015 +0000"
      },
      "message": "Make strnlen() visible in old versions of glibc\n\nStrnlen() is in POSIX 2008 but was a GNU extension up to glibc 2.10\nrequiring to define _GNU_SOURCE. This fixes compilation on CentOS 4.9.\nAlso, move our implementation of strnlen() that was added to support\nDJGPP to helpers.c.\n\nCorresponding to flashrom svn r1878.\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": "0cbd8c2558209432a0f51522cd2adffc59785dd0",
      "tree": "1d6ba57e182cb443c6296ae6faeed74ea8c1935f",
      "parents": [
        "e37735a99438f496a066d2ee86e55edc771730bb"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 26 22:06:04 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 26 22:06:04 2015 +0000"
      },
      "message": "Properly include current libusb-win32 header\n\nlibusb-win32 is using a different header file name (lusb0_usb.h) for\na while. Use that on Windows builds to make clear that this is\ncurrently the correct header to include.\n\nHopefully this will change soonish by migrating away from libusb-0.\n\nCorresponding to flashrom svn r1877.\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": "e37735a99438f496a066d2ee86e55edc771730bb",
      "tree": "e1c6b7d3dac2d8cd8a0e43b7a382142fb367ebc3",
      "parents": [
        "5d1ad35275cf0f3dd96925aa7ed3feb3ddebd2cf"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 26 22:03:35 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 26 22:03:35 2015 +0000"
      },
      "message": "Let pkg-config work with cross-compilers\n\nIn cross-compiler setups pkg-config often needs some help to\ndetermine the correct libraries. This can be done for example by\nsetting PKG_CONFIG_LIBDIR to point to the directory where the\ncross-compile .pc files are located. If PKG_CONFIG_LIBDIR was not\nset already outside of the Makefile we set it according to LIBS_BASE\nand add the respective path to the linker\u0027s rpath. This makes it\npossible to easily cross-compile by only setting CC and LIBS_BASE on\nthe command line.\n\nThis patch also removes the explicit default for LIBS_BASE again\nbecause it does not play well with this change and was a bad idea to\nbegin with.\n\nCorresponding to flashrom svn r1876.\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": "5d1ad35275cf0f3dd96925aa7ed3feb3ddebd2cf",
      "tree": "19eb258579482cc69ebfe107b9dd762700631108",
      "parents": [
        "3e6b7bb9480ca0aff25f9d6bc7767bf4c5331447"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jan 25 23:57:08 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jan 25 23:57:08 2015 +0000"
      },
      "message": "Fix \"unterminated variable reference\" on ancient versions of GNU make\n\nAdd a workaround for the GNU make that shipped with CentOS 4.9, which\napparently does not like semicolons in shell code (and which also\nignores info functions altogether by the way).\n\nCorresponding to flashrom svn r1875.\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": "3e6b7bb9480ca0aff25f9d6bc7767bf4c5331447",
      "tree": "967316a348ac3ab343a9e02e1ce47c0dd883f576",
      "parents": [
        "05151b6dcbba16746aa803069dd6046a82e33599"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jan 25 23:45:14 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jan 25 23:45:14 2015 +0000"
      },
      "message": "Shadowing fix in nicintel_eeprom.c for ancient libpci\n\nVery old versions (\u003c2.2) of pciutils had a typedef named \"word\" in\ntypes.h. That does not play well with previous local variable names\nof nicintel_eeprom.c.\n\nCorresponding to flashrom svn r1874.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "05151b6dcbba16746aa803069dd6046a82e33599",
      "tree": "d652c4d3fdc85e6620a42a602a5e423f19528996",
      "parents": [
        "b4dd40c5da6e2bf862e587ec3c49d60bcec2f7ee"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jan 25 23:42:57 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jan 25 23:42:57 2015 +0000"
      },
      "message": "ftdi2232_spi: revert usage of DIS_DIV_5 macro\n\nIn r1872 we replaced some magic values with constant macros from\nftdi.h. Among them was DIS_DIV_5 that represents the opcode that\ndisables the use of the 5x prescaler on newer devices. Unfortunately\nthis macro was only introduced with support for FT232H and hence is\nnot available in older versions of the library. Revert back to using\nthe magic constant.\n\nCorresponding to flashrom svn r1873.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "b4dd40c5da6e2bf862e587ec3c49d60bcec2f7ee",
      "tree": "0b86b43f06def2e1c80b5ece8b94dd06e1b5a2f2",
      "parents": [
        "57f276f20831cd923f4dfa3e48cb974148b5daef"
      ],
      "author": {
        "name": "Antony Pavlov",
        "email": "antonynpavlov@gmail.com",
        "time": "Sun Jan 25 03:52:47 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Jan 25 03:52:47 2015 +0000"
      },
      "message": "ft2232_spi.c: use constants from ftdi.h instead of magic numbers\n\nAlso, improve documentation of static variables cs_bits and pindir.\n\nCorresponding to flashrom svn r1872.\n\nSigned-off-by: Antony Pavlov \u003cantonynpavlov@gmail.com\u003e\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "57f276f20831cd923f4dfa3e48cb974148b5daef",
      "tree": "912df59e7bf2f8de2a72dc44cbc3aee71c49578c",
      "parents": [
        "b175af5cb74c94e541d321100b1e76ea95cd8859"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 24 15:16:14 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 24 15:16:14 2015 +0000"
      },
      "message": "Fix the --mainboard parameter that controls board enables\n\nWe refactored board_match_name()/--mainboard handling in r1577 and\napparently broke it because since then we were always comparing to\nthe respective coreboot values of board and vendor names instead of\nthe user-supplied strings.\n\nCorresponding to flashrom svn r1871.\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": "b175af5cb74c94e541d321100b1e76ea95cd8859",
      "tree": "eb2970a707c33aee61afff4da161c386eba1d359",
      "parents": [
        "ced7ab66cfb1cc6f311f0ec5737b5d5ba368c3cf"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 24 15:06:27 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 24 15:06:27 2015 +0000"
      },
      "message": "Add support for Eon EN25P Series\n\nThese are very similar to Eon\u0027s EN25B series but unlike those the\nEN25P has uniform sectors (of 32 and 64 kB). They can not be\ndistinguished by RDID alone but the RES and REMS IDs are different\nand hence could be detected eventually in the future. This patch\nalso refines tiny bits of the EN25B series.\n\nThe series includes:\n - EN25P05\n - EN25P10\n - EN25P20\n - EN25P40\n - EN25P80\n - EN25P16\n - EN25P32\n - EN25P64\n\nCorresponding to flashrom svn r1870.\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": "ced7ab66cfb1cc6f311f0ec5737b5d5ba368c3cf",
      "tree": "e9914b6029ec58eb56a5bbaefff7dd244119a2b8",
      "parents": [
        "a4617f7aedcba9662afd0768cd40a9a1569ba32a"
      ],
      "author": {
        "name": "Patrick Georgi",
        "email": "patrick@georgi-clan.de",
        "time": "Mon Jan 19 19:52:34 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Mon Jan 19 19:52:34 2015 +0000"
      },
      "message": "Allow to easily build all optional modules\n\nThis patch adds a CONFIG_EVERYTHING flag to the Makefile\nthat sets all CONFIG_* flags to \"yes\" if they were \"no\".\n\nThis provides a comfortable way to ensure maximum code exposure\nto tools like coverity[0] or clang\u0027s scan-build.\n\n[0] https://scan.coverity.com/projects/1020\n\nCorresponding to flashrom svn r1869.\n\nSigned-off-by: Patrick Georgi \u003cpatrick@georgi-clan.de\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": "a4617f7aedcba9662afd0768cd40a9a1569ba32a",
      "tree": "edeb7c1939ffe7db5c09807896e7295df2f54641",
      "parents": [
        "40bc96fca241970b7cd9632faa8dbbc9e1d617e8"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 10 15:59:54 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 10 15:59:54 2015 +0000"
      },
      "message": "Fix support for Macronix MX25L6495F\n\nCorresponding to flashrom svn r1868.\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": "40bc96fca241970b7cd9632faa8dbbc9e1d617e8",
      "tree": "d7ef2a84ca76a5d398dd9a1d61a4b48abcc450a8",
      "parents": [
        "8d21ff1d63e9ce1039fb1cba978e26ecbaec492d"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 10 09:33:14 2015 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 10 09:33:14 2015 +0000"
      },
      "message": "Add support for Macronix MX25L6495F\n\nThis is based on the code sent to the flashrom mailing list\nby Alex Lu (alexlu6@mxic.com.tw) without sign-off.\n\nCorresponding to flashrom svn r1867.\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": "8d21ff1d63e9ce1039fb1cba978e26ecbaec492d"
}
