)]}'
{
  "log": [
    {
      "commit": "af9d738a66a885f19fdb0659455834f114d9d1e0",
      "tree": "e3596a537af16f3d9a0aee3dbe7bfc668fc5ce34",
      "parents": [
        "0069440fb0905b7ff3bf5184ffae34673be2e35d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon May 01 13:33:26 2023 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 22 09:47:02 2026 +0000"
      },
      "message": "Add infrastructure to probe per bus\n\nAdd some infrastructure around per-bus probing functions.  Each function\nis provided a private parameter, e.g. the expected length of an ID. This\nwill allow us to implement probing functions that are only called as of-\nten as necessary. The results will be stored in the `registered_master`\nstructure, to be compared to database entries later.\n\nThe probe_buses() wrapper can be used for chip entries, and allows us to\ntransition the existing probing functions one by one. Once all functions\nhave been ported, probe_flash() can be adapted as well and the wrapper\nwill become obsolete.\n\nChange-Id: I6e82b6d61df50234096ac39acab58a4014203933\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/74899\n"
    },
    {
      "commit": "044c9dc9290565ab7b9866bb26a8d077d9c3a5d7",
      "tree": "b0d6ab8fc2df6d8ff7a91a3d197e213a7ca2a320",
      "parents": [
        "fc7c13c882067b3ad7f2f5d3846d64164b8c8c87"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Dec 29 23:26:57 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jul 22 10:08:47 2024 +0000"
      },
      "message": "Add FT4222H support\n\nThe FT4222H features a very different engine compared to what we are\nused to from other FTDI USB/serial chips. It doesn\u0027t do UART (at least\nnot officially), doesn\u0027t have the MPSSE engine, but has a quad-SPI\nmaster, and SPI/I2C slave support.\n\nA few similarities exist, though, so this could probably make use of\nlibftdi in the future.\n\nThere are two config-mode straps that select one of four modes:\n0. 1 data interface + 1 GPIO interface\n1. 3 data interfaces + 1 GPIO interface\n2. 4 data interfaces\n3. 1 data interface\n\nWith multiple data interfaces, GPIO pins are muxed as additional CS\nlines. The advantage of mode 0 and 3 is that apparently a bigger buffer\nis available for the data interface. Only in these modes, it gets to\nits full speed (52.8MBps according to the datasheet[1]). The CS line is\nautomatically selected based on the USB interface used. No test using\nmultiple interfaces at once were performed, though.\n\nAll the USB commands and transfer protocols were derived from traces\ngathered with the proprietary LibFT4222. The results are summarized\nin the flashprog wiki[2].\n\n[1] https://www.ftdichip.com/old2020/Support/Documents/DataSheets/ICs/DS_FT4222H.pdf\n[2] https://flashprog.org/wiki/FT4222H\n\nChange-Id: I9ee1287e13113ccf8b5ea2be4a25866413a94844\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/50\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "7679b5ccf987e4999fefed6c6100a7a8f50d4350",
      "tree": "d904cf0a8e68feb831380054ce5956cb3b96fdca",
      "parents": [
        "ca1c7fdd6bd6f61029492fb7a194bd47119e465f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Apr 28 21:48:53 2023 +0000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Mar 27 08:32:15 2024 +0000"
      },
      "message": "spi25: Replace spi_read_chunked() with more abstract version\n\nThe new flashprog_read_chunked() takes a low-level reading function as\nargument. This allows us to make use of the chunking with non-SPI read\nfunctions.\n\nChange-Id: Ica1b616e75e4e7682120928588e231c82cf4cf70\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/74865\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "251e3cd04c311812cb81d8d96c95a392653e38c8",
      "tree": "82811c929de9540f849faaafa474e4805bebd40d",
      "parents": [
        "29c23dd08474b2457ffd8a72ee3d8587676cd999"
      ],
      "author": {
        "name": "Daniel Campello",
        "email": "campello@chromium.org",
        "time": "Wed Mar 16 07:05:48 2022 -0600"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:35:01 2023 +0000"
      },
      "message": "helpers.c: use unsigned int for bit shifts (ASAN)\n\nThis change addresses the following ASAN error detected in the chromium\ntree:\n\n * ASAN error detected:\n * ../flashrom-9999/helpers.c:28:13: runtime error: left shift of 1 by 31 places cannot be represented in type \u0027int\u0027\n *     #0 0x5589a94bb284 in address_to_bits /build/amd64-generic/tmp/portage/sys-apps/flashrom-9999/work/flashrom-9999-build/../flashrom-9999/helpers.c:28:13\n *\n * SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../flashrom-9999/helpers.c:28:13 in\n\nTested: ./test_build.sh; FEATURES\u003dtest emerge-amd64-generic flashrom\n\nSigned-off-by: Daniel Campello \u003ccampello@chromium.org\u003e\nChange-Id: Ib595f13c29dd5c0775e074801756e4f920b4daaf\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/62862\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nOriginal-Reviewed-by: Edward O\u0027Callaghan \u003cquasisec@chromium.org\u003e\nOriginal-Reviewed-by: Paul Menzel \u003cpaulepanter@mailbox.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71449\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "5feb8cdb6ff497e45cda73839dacafc240bf83bb",
      "tree": "fd3c99ccf093d56e957068e763d9c83d774ca2c7",
      "parents": [
        "b822ce85aaed8c6dfa8f5e1e2354db5c9db50509"
      ],
      "author": {
        "name": "Xiang Wang",
        "email": "merle@hardenedlinux.org",
        "time": "Wed Jan 20 17:31:19 2021 +0800"
      },
      "committer": {
        "name": "Felix Singer",
        "email": "felixsinger@posteo.net",
        "time": "Thu Sep 29 17:05:38 2022 +0000"
      },
      "message": "helpers.c: Fix undefined behavior in strndup()\n\nUsing strlen() or strdup() inside strndup() is problematic: if the\ninput string is not null-terminated, these functions can read past the\nend of the buffer, which triggers undefined behavior. Rewrite the\nfunction to never read past the provided `maxlen` bound.\n\nChange-Id: Id34127024085879228626fbad59af03268ec5255\nSigned-off-by: Xiang Wang \u003cmerle@hardenedliux.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom/+/49741\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-by: Edward O\u0027Callaghan \u003cquasisec@chromium.org\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom/+/67870\nReviewed-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\n"
    },
    {
      "commit": "8900d6c8e1438ee2a4a77c8e4d3feab81ee261e2",
      "tree": "5664d15b2f3ca63f9f96ef3284cbbf5c46499179",
      "parents": [
        "7d6b526ef5b7b11f89eee37062e91590f5fa7f43"
      ],
      "author": {
        "name": "Miklós Márton",
        "email": "martonmiklosqdev@gmail.com",
        "time": "Tue Jul 30 00:03:22 2019 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Oct 04 11:03:46 2019 +0000"
      },
      "message": "helpers: Implement strndup() for MinGW\n\nProvide strndup implementation if compiled with MinGW because\nit is a POSIX only method\n\nSigned-off-by: Miklós Márton \u003cmartonmiklosqdev@gmail.com\u003e\nChange-Id: If418080bffff1f5961cacf2a300ea9c666682458\nReviewed-on: https://review.coreboot.org/c/flashrom/+/34621\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "519be66fc59558971dd653afe69ccaf1a633b492",
      "tree": "74f0912de156a86d56111f377db080246e5205e9",
      "parents": [
        "ef78de4a21323b8c459337356289218211f2c5ce"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Dec 23 20:03:35 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jul 31 08:26:59 2019 +0000"
      },
      "message": "Fix -Wsign-compare trouble\n\nMostly by changing to `unsigned` types where applicable, sometimes\n`signed` types, and casting as a last resort.\n\nChange-Id: I08895543ffb7a48058bcf91ef6500ca113f2d305\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom/+/30409\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Jacob Garber \u003cjgarber1@ualberta.ca\u003e\n"
    },
    {
      "commit": "7ecfe48b19c3e97341a3f2b0d85e7367ab92f2b6",
      "tree": "8114881424b47ca6c3044e39da8e16615001887b",
      "parents": [
        "af499198a49fe342a0bb3dbbfa362b8788a8fb4e"
      ],
      "author": {
        "name": "Marc Schink",
        "email": "flashrom-dev@marcschink.de",
        "time": "Thu Mar 17 16:07:23 2016 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Aug 30 09:55:57 2018 +0000"
      },
      "message": "helpers: Add reverse_byte() and reverse_bytes()\n\nChange-Id: I9d2e1e2856c835d22eed3b3a34bc0379773dd831\nSigned-off-by: Marc Schink \u003cflashrom-dev@marcschink.de\u003e\nReviewed-on: https://review.coreboot.org/28086\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "e083880279119677e443fc16b4694f8c81bf2c40",
      "tree": "03413b996779bc4c86ec41590f3e7bcdd97d0ef5",
      "parents": [
        "124ef38f7afc61ad7c713c22aad7c5c7f79bdb9b"
      ],
      "author": {
        "name": "Elyes HAOUAS",
        "email": "ehaouas@noos.fr",
        "time": "Mon Apr 02 11:14:02 2018 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Apr 24 20:21:41 2018 +0000"
      },
      "message": "Remove address from GPLv2 headers\n\nChange-Id: I7bfc339673cbf5ee2d2ff7564c4db04ca088d0a4\nSigned-off-by: Elyes HAOUAS \u003cehaouas@noos.fr\u003e\nReviewed-on: https://review.coreboot.org/25381\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "2d62572d1dd0c37eb626fd8faa17b26690f20b15",
      "tree": "c76d5035e6fe7b8f9ca841c7030a7f44712f3d16",
      "parents": [
        "8d494992176abe0877c88f06fdbc9c8d8826ae87"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue May 03 10:48:02 2016 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jun 22 10:34:51 2017 +0000"
      },
      "message": "Fix linking with libpayload\n\no Move flashbuses_to_text() to flashrom.c, it\u0027s not a cli function.\no Guard `!defined(HAVE_STRNLEN)`. This guard was introduced in\n  23e10b87 (Add a bunch of new/tested stuff and various small\n  changes 24) to support older BSDs. It\u0027s probably completely\n  broken because HAVE_STRNLEN is presumably a GNU autotools\n  thing. But we can\u0027t fix it without retesting these older BSDs.\n\nChange-Id: I561135209b819361d125eeaeef9ff886d6bae987\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nReviewed-on: https://review.coreboot.org/18738\nReviewed-by: Philippe Mathieu-Daudé \u003cf4bug@amsat.org\u003e\nReviewed-by: David Hendricks \u003cdavid.hendricks@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "23e10b87801c22f34642895de8b0b726265eb016",
      "tree": "2d62c23191801afaecbf98925effb8b8c7a44ab6",
      "parents": [
        "c2644a3fc14088a2535c05edbd56c041b3a7370d"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 23 16:16:49 2016 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Jan 23 16:16:49 2016 +0000"
      },
      "message": "Add a bunch of new/tested stuff and various small changes 24\n\nTested mainboards:\nOK:\n - ASRock G31M-GS\n   Reported by Александр Трубицын\n - ASRock G41M-VS3\n   Reported by Александр Трубицын\n - ASRock N68C-S UCC\n   Reported by Alexey Belyaev\n - ASRock AMCP7AION-HT (ION 330HT(-BD))\n   Reported by Stefan Tauner\n - ASUS P5K SE\n   Reported by Александр Трубицын\n - ASUS P5KPL-VM\n   Reported by Marin Vlah\n - ASUS RAMPAGE III GENE\n   Reported by stevessss on IRC\n - GIGABYTE GA-945GM-S2\n   Reported by Александр Трубицын\n - GIGABYTE GA-945GCM-S2 (rev. 3.0)\n   Reported by Александр Трубицын\n - GIGABYTE GA-965P-S3\n   Reported by Александр Трубицын\n - GIGABYTE GA-EG43M-S2H\n   Reported by Александр Трубицын\n - GIGABYTE GA-EP31-DS3L (rev. 1.0)\n   Reported by Александр Трубицын\n - GIGABYTE GA-G33M-S2\n   Reported by Александр Трубицын\n - GIGABYTE GA-G33M-S2L\n   Reported by Александр Трубицын\n - GIGABYTE GA-H55M-S2\n   Reported by Александр Трубицын\n - GIGABYTE GA-J1900N-D3V\n   Reported by Marcos Truchado and Guillermo von Hünefeld\n - GIGABYTE GA-K8NS\n   Reported  by nicolae788\n - GIGABYTE GA-M56S-S3\n   Reported by Estevo Paz Freire\n - GIGABYTE GA-P31-DS3L\n   Reported by Александр Трубицын\n - GIGABYTE GA-P31-S3G\n   Reported by Александр Трубицын\n - MSI MS-7336\n   Reported by Benjamin Bellec\n - MSI X79A-GD45 (8D) (MS-7760)\"\n   Reported by mortehu on IRC\n - Supermicro A1SAi-2550F\n   Reported by Bernard Grymonpon\n - Supermicro X7DWT\n   Reported by Steven Stremciuc\n\nLaptop:\n - ASUS U38N\n   Reported by Ultra on IRC\n - Dell Latitude D630\n   Reported by Márton Miklós\n - Fujitsu Amilo Xi 3650\n   Reported by Elmar Stellnberger\n - Lenovo T400 (whitelisting only)\n\nChipsets:\n - Mark 8086:1f38 (Intel Avoton/Rangeley) as tested\n   Reported by Jeremy Porter and Bernard Grymonpon\n - Add Intel Sunrise Point IDs but no support yet.\n\nFlash chips:\n - Atmel AT45DB321D to PREW (+PREW)\n   Reported by The Raven\n - Eon EN25QH32 to PREW (+PREW)\n   Reported by Josua Mayer\n - Eon EN25QH64 to PREW (+EW)\n   Reported by David s. Alessio\n - GigaDevice GD25LQ64(B) to PREW (+PREW)\n   Reported by Greg Tippit\n - Intel 28F001BN/BX-T to PREW (+EW)\n   Reported by Lu Xie\n - Micron M25P10-A to PREW (+W)\n   Reported by the Raven\n - Micron M25PE40\n   Reported by David Wood\n - Micron N25Q128..3E to PREW (+PREW)\n   Reported by Miklós Márton\n - Macronix MX25L3273E to PREW (+PREW)\n   Reported by Roklobsta on IRC\n - Macronix MX23L6454 to PR (+PR)\n   Reported by Steven Honeyman\n - Macronix MX25U6435E/F to PREW (+PREW)\n   Reported by Marcos Truchado and Guillermo von Hünefeld\n - PMC Pm25LQ032C to PREW (+EW)\n   Reported by Dirk Knop\n - Spansion S25FL016A to PREW (+EW)\n   Reported by Márton Miklós\n - Spansion S25FL128S......0 to PREW (+PREW)\n   Reported by Jim Houston\n - Spansion S25FL204K to PR (+PR)\n   Reported by Thomas Debrunner\n - SST SST49LF016C to PREW (+EW)\n   Reported by Steven Stremciuc\n - SST SST39VF040 to PREW (+PREW)\n   Reported by Xavier Bourgeois\n - SST SST49LF040B to PREW (+EW)\n   Reported by Rikard Åhlund\n - ST M25P10-A to PREW (+W)\n   Reported by Martijn Schiedon\n - Winbond W39V040FA to PREW (+EW)\n   Reported by Евгений Черкашин\n - Winbond W39V080FA to PREW (+EW)\n   Reported by protagonist0 on IRC\n - Winbond W25Q80.W to PREW (+PREW)\n   Reported by Miklós Márton\n - Winbond W25X64 to PREW (+REW)\n   Reported by Johannes Krampf and Manuel Dejonghe\n - Fix ID of AMIC A25LQ64\n   Reported by Roman Titov\n - Fix page size of Spansion S25FL129P......1\n   Copy and paste error from the 128S uniform 256kB variant, probably.\n - Add Micron/Numonyx phase-change memory IDs\n\nMiscellaneous:\n - Detect Android target OS.\n   No changes are required to build flashrom (excluding programmers\n   with NEED_PCI) on Android.\n - Update rayerspi (spipgm) URL\n - Fix max_data_write handling of at45db.\n - Minor refinement of the README\n - Mark board enable for the GA-K8NS variants as tested.\n   Tested by \"nicolae788\" on a board with socket 754.\n - Mark \"Multi-system\" chassis as non-laptop case.\n - Remove W836xx log requests.\n   We got enough (and no one is looking at them for the time being anyway).\n - serprog: improve invalid reply error message, contributed by Urja Rannikko.\n - Remove default include paths for MinGW.\n - Disable implicit rules in the Makefile because we don\u0027t need them and they\n   just make the build (imperceptibly) slower.\n - Enable our own strnlen() implementation not only on DJGPP but also if\n   HAVE_STRNLEN is not defined. This is needed to get older BSDs\n   (e.g. NetBSD 6.0, FreeBSD \u003c 8.0) to work.\n - Tiny other stuff.\n\nCorresponding to flashrom svn r1917.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "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": "b41d847d7292335ca5be8818a1ff0b6c2316c2d1",
      "tree": "7645efab7c6eb3a470e51ade1c88f62b00569eb9",
      "parents": [
        "ff9e6c32c37e685f25e5ba09611e6e7d1a556bd8"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Nov 01 22:56:06 2014 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sat Nov 01 22:56:06 2014 +0000"
      },
      "message": "Move strtok_r implementation verbatim to helpers.c\n\nCorresponding to flashrom svn r1853.\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": "6ad6e01e9b961fd5b25cc4d69319a7d29f110684",
      "tree": "5a7b62f60b10de6a9d9f4f862fdb9f1f8f500f3d",
      "parents": [
        "a60d408a78be0e0d34dda616977489a307cb98b6"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jun 12 00:04:32 2014 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu Jun 12 00:04:32 2014 +0000"
      },
      "message": "Introduce helpers.c\n\nMove some suitable functions there, add it to the Makefile, but leave the\ndeclarations in flash.h for now.\n\nCorresponding to flashrom svn r1819.\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"
    }
  ]
}
