)]}'
{
  "log": [
    {
      "commit": "fbc41d2a932ede9c02aa7803472c31f39ec200f2",
      "tree": "8b72b78abfd99bf8737b90cc2fece11f2dbe93d3",
      "parents": [
        "966dc9b776c2897d1245937639ab41fc834d7cb9"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 22 23:04:01 2026 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 22 09:47:02 2026 +0000"
      },
      "message": "spi: Move SPI related things into new chipdrivers/spi.h\n\nA few things that rely heavily on `flash.h` are moved there instead:\n* function signatures containing `erasefunc_t`,\n* the inline default_wrsr_target() that needs to know struct flashctx.\n\nThis allows to keep the new header file free of a transitive `flash.h`\ninclude.\n\nChange-Id: Ib215821feeb822ea3fc11bf9f48c0328f9a394d4\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/416\n"
    },
    {
      "commit": "610c1aad71bfa118c4f49ac01761f586b8dede69",
      "tree": "8ad4cfd904cf909526b32b03561ad369f42720d9",
      "parents": [
        "b95fe9b9751746b269a3bbd7021cf731d8553715"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Feb 15 02:56:05 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Mar 15 14:27:20 2026 +0000"
      },
      "message": "spi: Pass master instead of flash to .send_command\n\nIn the SPI-master API, `.send_command` should only forward commands to\nthe SPI bus. All details about the commands and the SPI slave should be\nhandled in the chip driver. Hence, replace the `flashctx` pointer with\none to the `spi_master` to enforce proper separation.\n\nChange-Id: I50934a1294217794b7e23cc98ade7e4279c059a1\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/74897\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\u003e\n"
    },
    {
      "commit": "89569d60e3aeeec651496b2e7a2e6064d782ab3b",
      "tree": "bf0c3951886de60086d32ff6e1a850adad926da6",
      "parents": [
        "929d2e1b17a448d3352dbecb6a620ee0c1e65a58"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 12 23:31:40 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "memory_mapped: Reduce `decode_sizes` to a single `max_rom_decode`\n\nWe used to store the maximum decode size, i.e. the maximum memory-mapped\nrange of the flash chip, per bus type (Parallel, LPC, FWH, SPI). There\nwas no programmer in the tree that really made use of it, though:\n* The chipset drivers usually focus on a single bus type. And even if\n  they advertise the whole default set (PAR, LPC, FWH), they only pro-\n  vide a maximum decode size for one of them. The latter is probably\n  wrong, should really more than one bus type be supported.\n* PCI and external programmers all support only a single bus type, with\n  the exception of `serprog` which doesn\u0027t set a maximum decode size.\n\nWhat made the distinction even less useful is that for some chips that\nsupport multiple bus types, i.e. LPC+FWH, we can\u0027t even detect which\ntype it is. The existing code around this also only tried to provide\nthe best possible warning message at the expense of breaking the pro-\ngrammer abstraction.\n\nHence, unify the set of sizes into a single `max_rom_decode` property.\nWe store it inside the `registered_master` struct right away, to avoid\nany more use of globals.\n\nChange-Id: I2aaea18d5b4255eb843a625b016ee74bb145ed85\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72531\n"
    },
    {
      "commit": "7c717c36c533f56ddc7fbac2ff944870fa0249f8",
      "tree": "b91afaf1498cde1de33e7222632ec05999bf0b73",
      "parents": [
        "e3a26888e14d16592c2c79d1516828d3d32961a4"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 12 00:28:15 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "internal: Pass programmer context down into board enables\n\nBoard enables potentially need access to programmer data, e.g. to\nprocess parameters, register masters etc.\n\nChange-Id: I1531a6e1be9866adc5dce74c6f62bbbeae1bd274\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72527\n"
    },
    {
      "commit": "56b53dd4c892c6f400f6b05797eb6ed4b96179db",
      "tree": "341312a9977976a9d6973f1aacf56bdc690a1148",
      "parents": [
        "55961909ea03d6affef188895fa0992bbea0b752"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jan 11 23:15:20 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Mar 09 10:30:24 2024 +0000"
      },
      "message": "wbsio_spi: Request memory mapping locally\n\nOur SPI chip drivers are not aware of any memory mapping. However, two\nof our SPI master drivers that implement an LPC-to-SPI bridge make use\nof the memory mapping originally intended for memory mapped flash chips.\n\nThis unnecessarily breaks the abstraction in core flashprog code. There\nis no other component than the master driver involved with the mapping,\nhence we can simply perform it locally in this driver.\n\nThe driver already assumed a maximum memory mapped space of 1MiB. We\nalways try to map this whole space and than adapt the address offsets\naccordingly.\n\nChange-Id: If95bad2ca40611452e34a865d520e9aa88e8f163\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashprog/+/72520\n"
    },
    {
      "commit": "c3b02dce51aad2766512d1939a1b7447c2d526b8",
      "tree": "58069f464bb8a777ef06e93767813a4c5a042cb0",
      "parents": [
        "a02df33fbf1c196395a61049e60895d4ae0e0a5b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Aug 12 01:13:45 2023 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Sep 18 19:24:39 2023 +0000"
      },
      "message": "Rebrand to flashprog and update URLs\n\nMostly automated `sed` work. As of now, URLs to the old wiki are broken\neither way, so changing them shouldn\u0027t hurt. Other URLs (e.g. to mailing\nlist archives) were hopefully filtered correctly.\n\nChange-Id: I9d43bfd0e675eff2fcbad05f304b9ce9f5006b08\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.sourcearcade.org/c/flashrom-stable/+/21\n"
    },
    {
      "commit": "0cea753aff33b78051febadf8786df83144b5ee7",
      "tree": "8972ea6cf44e249659ddad7ea3d9aa2dedffc0b6",
      "parents": [
        "ab9f25893f1fa87cbbaf656869e346391eccdb31"
      ],
      "author": {
        "name": "Aarya Chaumal",
        "email": "aarya.chaumal@gmail.com",
        "time": "Mon Jul 04 18:21:50 2022 +0530"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Feb 19 13:50:18 2023 +0000"
      },
      "message": "spi: Add function to probe erase command opcode for all spi_master\n\nAdd a field, probe_opcode, to struct spi_master which points to a\nfunction returning a bool by checking if a given command is supported by\nthe programmer in use. This is used for getting a whitelist of commands\nsupported by the programmer, as some programmers like ichspi don\u0027t\nsupport all opcodes.\n\nMost programmers use the default function, which just returns true.\nICHSPI and dummyflasher use their specialized function.\n\nflashrom-stable: Added `.probe_opcode` for `dirtyjtag_spi`, `ich7`.\n\nChange-Id: I6852ef92788221f471a859c879f8aff42558d36d\nSigned-off-by: Aarya Chaumal \u003caarya.chaumal@gmail.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/65183\nOriginal-Reviewed-by: Thomas Heijligen \u003csrc@posteo.de\u003e\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72539\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\n"
    },
    {
      "commit": "3f4d35daf4533650e75fcabb8f1ed9085e1fcf77",
      "tree": "ae3340f0a563d1d9ed48285cc861e7e90e2343ef",
      "parents": [
        "a6b45c4516e15aeb405028e5095e86259fcd9e34"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "thomas.heijligen@secunet.com",
        "time": "Mon Jan 17 15:11:43 2022 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "hwaccess: move mmio functions into hwaccess_physmap\n\nThe mmio_le/be_read/writex functions are used for raw memory access.\nBundle them with the physmap functions.\n\nChange-Id: I313062b078e89630c703038866ac93c651f0f49a\nSigned-off-by: Thomas Heijligen \u003cthomas.heijligen@secunet.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/61160\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72278\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "a065520a7c7eedcca961de1fc891cc0b04e6df77",
      "tree": "f7a4c280f6d3114b98a52e147f988c4ae293271b",
      "parents": [
        "d96c97c77309f1cf1ff1cbe9fa521a75fc9d5698"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "thomas.heijligen@secunet.com",
        "time": "Tue Dec 14 16:36:05 2021 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "hwaccess: move x86 port I/O related code into own files\n\nAllow port I/O related code to be compiled independent from memory\nmapping functionality. This enables for a better selection of needed\nhardware access types.\n\nChange-Id: I372b4a409f036da766c42bc406b596bc41b0f75a\nSigned-off-by: Thomas Heijligen \u003cthomas.heijligen@secunet.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/60110\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72265\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "51264d5def2188624a3354c62722a95e64224645",
      "tree": "f8b01a56582b453253d7a7b09b26cedd61bbe96f",
      "parents": [
        "121a5b8d63008db1d179ab69fc1c6b39e03d575c"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "thomas.heijligen@secunet.de",
        "time": "Tue Sep 21 10:00:14 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "remove compile guards\n\nThe build system handles the decision when to build a file.\nExtra compile guards for the source files are not necessary.\n\nChange-Id: I76a76e05c7a7dd27637325ab1e9d8946fd5f9076\nSigned-off-by: Thomas Heijligen \u003cthomas.heijligen@secunet.de\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/57797\nOriginal-Reviewed-by:  Felix Singer \u003cfelixsinger@posteo.net\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72260\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "5e08e3e829e3f736e18cef7b8f4a8929c9e06257",
      "tree": "cfe9483275582e2ff2a50628824cf8e842c1feef",
      "parents": [
        "6c33185c81f4aab0d048be7c4b68dca1a91800c2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue May 11 17:38:14 2021 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 29 12:29:02 2023 +0000"
      },
      "message": "programmer: Smoothen register_spi_master() API\n\nIt was impossible to register a const struct spi_master that would\npoint to dynamically allocated `data`. Fix that so that we won\u0027t\nhave to create more mutable globals.\n\nChange-Id: I0c753b3db050fb87d4bbe2301a7ead854f28456f\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/54066\nOriginal-Reviewed-by: Anastasia Klimchuk \u003caklm@chromium.org\u003e\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72179\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "43040f297e68cd4d826d58f57566581ef902d179",
      "tree": "a8357aba5a8dbfd43f3e7949c865f2682bf5962d",
      "parents": [
        "4203a47a102e2622f404ee6567b240882d584116"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "thomas.heijligen@secunet.com",
        "time": "Thu Jun 23 14:38:35 2022 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jan 05 16:35:01 2023 +0000"
      },
      "message": "tree: indent struct *_master consistently with tabs\n\nUse `\u003ctab\u003e.key\u003ctab\u003e*\u003d \u003cvalue\u003e,`\n\nTEST: `make VERSION\u003d0 MAN_DATE\u003d0` returns the same flashrom binary\nbefore and after the patch\n\nChange-Id: I1c45ea9804ca09e040d7ac98255042f58b01f8ef\nSigned-off-by: Thomas Heijligen \u003cthomas.heijligen@secunet.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/65363\nOriginal-Reviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nOriginal-Reviewed-by: Felix Singer \u003cfelixsinger@posteo.net\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71466\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "5eca427ae64519b70d1c4ccfb427305ca9974ba0",
      "tree": "1ca22ef1e0072a76650fdd182206844f8ebddd7d",
      "parents": [
        "1bbc501f79319cc6c8d839bc44fa55e96afab33a"
      ],
      "author": {
        "name": "Edward O\u0027Callaghan",
        "email": "quasisec@google.com",
        "time": "Sun Apr 12 17:27:53 2020 +1000"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Dec 30 01:16:34 2022 +0100"
      },
      "message": "const\u0027ify flashctx to align signatures with cros flashrom\n\nThe ChromiumOS flashrom fork has since const\u0027ify flashctx\nin a few places. This aligns the function signatures to\nmatch with downstream to ease forward porting patches\nout of downstream back into mainline flashrom.\n\nThis patch is minimum viable alignment and so feedback is\nwelcome.\n\nChange-Id: Iff6dbda13cb0d941481c0d204b9c30895630fbd1\nSigned-off-by: Edward O\u0027Callaghan \u003cquasisec@google.com\u003e\nOriginal-Reviewed-on: https://review.coreboot.org/c/flashrom/+/40324\nOriginal-Reviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom-stable/+/70933\nReviewed-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\n"
    },
    {
      "commit": "519be66fc59558971dd653afe69ccaf1a633b492",
      "tree": "74f0912de156a86d56111f377db080246e5205e9",
      "parents": [
        "ef78de4a21323b8c459337356289218211f2c5ce"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Dec 23 20:03:35 2018 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Jul 31 08:26:59 2019 +0000"
      },
      "message": "Fix -Wsign-compare trouble\n\nMostly by changing to `unsigned` types where applicable, sometimes\n`signed` types, and casting as a last resort.\n\nChange-Id: I08895543ffb7a48058bcf91ef6500ca113f2d305\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom/+/30409\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Jacob Garber \u003cjgarber1@ualberta.ca\u003e\n"
    },
    {
      "commit": "deeac7e41a311a0806af0e65a2ce5c6673f9cf92",
      "tree": "2ff1082bf9ed049c2863deff9a6d66b6980b1812",
      "parents": [
        "959aafa53eeae4f22766b9d098e5ca952af8c070"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Apr 22 00:09:42 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Jun 27 10:25:15 2019 +0000"
      },
      "message": "spi: Drop spi_controller type\n\nNot needed anymore. Drop it fast before it encourages anyone to\nviolate layers again!\n\nChange-Id: I8eda93b429e3ebaef79e22aba76be62987e496f4\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom/+/33651\nReviewed-by: Angel Pons \u003cth3fanbus@gmail.com\u003e\n"
    },
    {
      "commit": "504215b9f68e26938eea75afcbc22bdf389af991",
      "tree": "85f3be7cd8fb2512a2eca63eb2ac3f3cf2456ce9",
      "parents": [
        "477e1693c830d3246c4fd7caae8a2f2b8e9f49c1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Apr 22 00:13:15 2017 +0200"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jun 21 12:00:34 2019 +0000"
      },
      "message": "spi25: Fix layering violation in default_spi_write_aai()\n\nChange-Id: I8aa3e2992f64906edc669060936f9522d32637fb\nSigned-off-by: Nico Huber \u003cnico.h@gmx.de\u003e\nReviewed-on: https://review.coreboot.org/c/flashrom/+/33649\nTested-by: build bot (Jenkins) \u003cno-reply@coreboot.org\u003e\nReviewed-by: Arthur Heymans \u003carthur@aheymans.xyz\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": "a5bcbceb581f27cfc0055369d3dd9cfd1ae00bfa",
      "tree": "5daecd880a16b7011be28e064fb7550f3e6b7e58",
      "parents": [
        "82b6ec1df30d3fca55547f230c76718d6e613b2a"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jul 19 22:03:29 2014 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jul 19 22:03:29 2014 +0000"
      },
      "message": "Rename programmer registration functions\n\nRegister_programmer suggests that we register a programmer. However,\nthat function registers a master for a given bus type, and a programmer\nmay support multiple masters (e.g. SPI, FWH). Rename a few other\nfunctions to be more consistent.\n\nCorresponding to flashrom svn r1831.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "32508eb304428551cff40b291d44823aafec7574",
      "tree": "0641d77a791290f6842fd60446e87871f6867651",
      "parents": [
        "3834c2d7e5a08e09e580be0dc7f9369c941b2a70"
      ],
      "author": {
        "name": "Patrick Georgi",
        "email": "patrick.georgi@secunet.com",
        "time": "Fri Jul 20 20:35:14 2012 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Jul 20 20:35:14 2012 +0000"
      },
      "message": "Hide hwaccess.h from public API\n\nMove hwaccess.h #include from flash.h to individual drivers.\nlibflashrom users need flash.h, but they do not care about hwaccess.h\nand should not see its definitions because they may conflict with\nother hardware access functions and #defines used by the libflashrom\nuser.\n\nCorresponding to flashrom svn r1549.\n\nSigned-off-by: Patrick Georgi \u003cpatrick.georgi@secunet.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "7bca126561b80f626dea269d7a6284a7cde0a8ed",
      "tree": "45c6b31e39846a88d89d157d758134d7b8dc1db1",
      "parents": [
        "3464d05eb41ab4c7a6faba9a1a36bfbeda0de850"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Fri Jun 15 22:28:12 2012 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Jun 15 22:28:12 2012 +0000"
      },
      "message": "Let the programmer driver decide how to do AAI transfers\n\nCurrently spi_aai_write() is implemented without an abstraction\nmechanism for the programmer driver. This adds another function\npointer \u0027write_aai\u0027 to struct spi_programmer, which is set to\ndefault_spi_write_aai (renamed spi_aai_write) for all programmers\nfor now.\n\nA patch which utilises this abstraction in the dediprog driver will\nfollow.\n\nCorresponding to flashrom svn r1543.\n\nSigned-off-by: Nico Huber \u003cnico.huber@secunet.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "ccd71c21222cd73c55284265d306d52e88d8c6c8",
      "tree": "d2ddcfc5b5c2f1e4f212280c7aa81f9ac2d42d96",
      "parents": [
        "8ee180d9114925c9337ed061502f4a02910e3ff7"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Mar 01 22:38:27 2012 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Mar 01 22:38:27 2012 +0000"
      },
      "message": "Fix parallel-style programmer access from ITE IT87/Winbond W83627 SPI\n\nThe ITE IT87 SPI driver uses a trick to speed up reading and writing:\nIf a flash chip is 512 kByte or less, the flash chip can be completely\nmapped in memory and both read and write accesses are faster that way.\nThe current IT87 SPI code did use the parallel programmer interface for\nmemory mapped reads and writes, but that\u0027s the wrong abstraction. It has\nbeen fixed to use mmio_read*/mmio_write* for that purpose.\n\nThe Winbond W83627 SPI driver uses the same trick in its read path for\nall supported chip sizes. Fix it the same way.\n\nSwitch internal_chip_readn to use mmio_readn as proper abstraction.\n\nKudos to Michael Karcher for spotting the bugs.\n\nTested-by: Johan Svensson \u003cflashrom.js@crypt.se\u003e\n\nCorresponding to flashrom svn r1511.\n\nReported-by: Johan Svensson \u003cflashrom.js@crypt.se\u003e\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "8a3c60cdd0e5632173567923ae1927763e31e857",
      "tree": "3a5514d022392cf4d8fa368f9f02653da21a93ca",
      "parents": [
        "63fd9026f1e82b67a65072fda862ba7af35839e1"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Dec 18 15:01:24 2011 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Dec 18 15:01:24 2011 +0000"
      },
      "message": "Add struct flashctx * parameter to all functions accessing flash chips\n\nAll programmer access function prototypes except init have been made\nstatic and moved to the respective file.\n\nA few internal functions in flash chip drivers had chipaddr parameters\nwhich are no longer needed.\n\nThe lines touched by flashctx changes have been adjusted to 80 columns\nexcept in header files.\n\nCorresponding to flashrom svn r1474.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "63fd9026f1e82b67a65072fda862ba7af35839e1",
      "tree": "7d9ffba077715cf9e75c9f4a36d0d7f11a3181f6",
      "parents": [
        "83c92e983aaf11fb6f5bafb6744275c50add193c"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Dec 14 22:25:15 2011 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Dec 14 22:25:15 2011 +0000"
      },
      "message": "Use struct flashctx instead of struct flashchip for flash chip access\n\nStruct flashchip is used only for the flashchips array and for\noperations which do not access hardware, e.g. printing a list of\nsupported flash chips.\n\nstruct flashctx (flash context) contains all data available in\nstruct flashchip, but it also contains runtime information like\nmapping addresses. struct flashctx is expected to grow additional\nmembers over time, a prime candidate being programmer info.\nstruct flashctx contains all of struct flashchip with identical\nmember layout, but struct flashctx has additional members at the end.\n\nThe separation between struct flashchip/flashctx shrinks the memory\nrequirement of the big flashchips array and allows future extension\nof flashctx without having to worry about bloat.\n\nCorresponding to flashrom svn r1473.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "c69c9c84e0341b701d9966fea8ce54d4e017bbb7",
      "tree": "2ea0b12abf9dd3483246423752239b88c6d7942e",
      "parents": [
        "8ca4255d7968dbf6301367074cc7267d22a25658"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Nov 23 09:13:48 2011 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Wed Nov 23 09:13:48 2011 +0000"
      },
      "message": "Unsignify lengths and addresses in chip functions and structs\n\nPush those changes forward where needed to prevent new sign\nconversion warnings where possible.\n\nCorresponding to flashrom svn r1470.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "eaacd2d4e7485d747e4e0bbd54b7bb44cf3fd179",
      "tree": "5e023363074cbe351bc6ded9f20c3f116e6c6f1c",
      "parents": [
        "f382e352ac63108ec0f912ff52b538c99f46c340"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Nov 09 23:40:00 2011 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Nov 09 23:40:00 2011 +0000"
      },
      "message": "Register Parallel/LPC/FWH programmers the same way SPI programmers are registered\n\nAll programmers are now calling programmer registration functions and\ndirect manipulations of buses_supported are not needed/possible anymore.\n\nNote: Programmers without parallel/LPC/FWH chip support should not call\nregister_par_programmer().\n\nAdditional fixes:\nSet max_rom_decode.parallel for drkaiser.\nRemove abuse of programmer_map_flash_region in it85spi.\nAnnotate several FIXMEs in it85spi.\n\nCorresponding to flashrom svn r1463.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "8c35745fcf3ed6eb2769beda0c8b941df07f6175",
      "tree": "2f3c43a3589edc55e7143b39d40df4a0cd039183",
      "parents": [
        "e3185c0599d77c06b9665c9721649b96108c894f"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Sep 18 22:42:18 2011 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Sep 18 22:42:18 2011 +0000"
      },
      "message": "Revert \"Unsignify lengths and addresses in chip functions and structs\"\n\n- probe_timing was changed to unsigned although we use negative values\n  for special cases\n- some code was not changed along hence did no longer compile:\n  * dediprog\u0027s read and write functions\n  * linux_spi\u0027s read and write functions\n- it introduced a number of new sign conversion warnings\n  (http://paste.flashrom.org/view.php?id\u003d832)\n\nTo be safe this patch reverts all changes made in r1448, a corrected\npatch will follow later.\n\nThanks to idwer for pointing out the problem first!\n\nCorresponding to flashrom svn r1450.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\n"
    },
    {
      "commit": "d196e7c1387b30ac35e7b0f605c79823ac9b5ec9",
      "tree": "e0f40df44cb94c62f150a84080bf7171f8623aa8",
      "parents": [
        "75da80c17bbb992ce2b60ae15ef2fba7d23bfd8e"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Sep 18 00:41:33 2011 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Sun Sep 18 00:41:33 2011 +0000"
      },
      "message": "Unsignify lengths and addresses in chip functions and structs\n\nCorresponding to flashrom svn r1448.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "c0aaf954874841c839c7131505759b9403ec7e4b",
      "tree": "bb1bc24f3b73cd0c55da80698b01c84abefb5b89",
      "parents": [
        "7a3bd8f28f3b8dd854e453703efb702f07294ae5"
      ],
      "author": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu May 19 02:58:17 2011 +0000"
      },
      "committer": {
        "name": "Stefan Tauner",
        "email": "stefan.tauner@alumni.tuwien.ac.at",
        "time": "Thu May 19 02:58:17 2011 +0000"
      },
      "message": "Whitespace, documentation and other small stuff\n\nThis patch combines three previously posted patches in a revised form.\none is even stolen from Stefan Reinauer (remove umlauts from man page).\n\nCorresponding to flashrom svn r1317.\n\nSigned-off-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\nSigned-off-by: Stefan Reinauer \u003creinauer@google.com\u003e\n\nAcked-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": "b9dbe48b77384e2faf0619161fc5c55afe388ea9",
      "tree": "8b556f82073e824bc1e9a4cc9547d67b1d902cee",
      "parents": [
        "627975196d0630a137548df631756e656a8139af"
      ],
      "author": {
        "name": "Michael Karcher",
        "email": "flashrom@mkarcher.dialup.fu-berlin.de",
        "time": "Wed May 11 17:07:07 2011 +0000"
      },
      "committer": {
        "name": "Michael Karcher",
        "email": "flashrom@mkarcher.dialup.fu-berlin.de",
        "time": "Wed May 11 17:07:07 2011 +0000"
      },
      "message": "Kill central list of SPI programmers\n\nRemove the array spi_programmer, replace it by dynamic registration\ninstead. Also initially start with no busses supported, and switch to\nthe default non-SPI only for the internal programmer.\n\nAlso this patch changes the initialization for the buses_supported variable\nfrom \"everything-except-SPI\" to \"nothing\". All programmers have to set the\nbus type on their own, and this enables register_spi_programmer to just add\nthe SPI both for on-board SPI interfaces (where the internal programmer\nalready detected the other bus types), as well as for external programmers\n(where we have the default \"none\").\n\nCorresponding to flashrom svn r1299.\n\nSigned-off-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "5b997c3ed66ddbbb9470f27d4e27ab4c263bc9cf",
      "tree": "adbaace5de6bb0d97a58143c7e3ae775a15d47ff",
      "parents": [
        "1d3a2fefbc636fb569bd1d018fb97b1b17c08e99"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jul 27 22:41:39 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jul 27 22:41:39 2010 +0000"
      },
      "message": "Split off programmer.h from flash.h\n\nProgrammer specific functions are of absolutely no interest to any file\nexcept those dealing with programmer specific actions (special SPI\ncommands and the generic core).\n\nThe new header structure is as follows (and yes, improvements are\npossible):\nflashchips.h  flash chip IDs\nchipdrivers.h  chip-specific read/write/... functions\nflash.h  common header for all stuff that doesn\u0027t fit elsewhere\nhwaccess.h hardware access functions\nprogrammer.h  programmer specific functions\ncoreboot_tables.h  header from coreboot, internal programmer only\nspi.h SPI command definitions\n\nCorresponding to flashrom svn r1112.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "ca812d40d461e70a70df6079978e96642775e7b2",
      "tree": "2de588625302d190884e05aca9755f4f075ab2a4",
      "parents": [
        "9a795d83fbb8842a271d5e037dc983a57b0419fd"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Jul 14 19:57:52 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Jul 14 19:57:52 2010 +0000"
      },
      "message": "Use the max_rom_decode infrastructure for wbsio_spi\n\nUse this instead of the open-coding variant that only aborts after it is too late.\n\nCorresponding to flashrom svn r1081.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "9a795d83fbb8842a271d5e037dc983a57b0419fd",
      "tree": "a9049f708d0ab7d42d122fecd23855aaa819c5bc",
      "parents": [
        "1748c5701f77ab7164ab3311f37abc356d825ccb"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Jul 14 16:19:05 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed Jul 14 16:19:05 2010 +0000"
      },
      "message": "Convert SPI chips to partial write\n\nHowever, wrap the write functions in a compat layer to allow converting\nthe rest of flashrom later. Tested on Intel NM10 by David Hendricks.\n\nCorresponding to flashrom svn r1080.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Michael Karcher \u003cflashrom@mkarcher.dialup.fu-berlin.de\u003e\n"
    },
    {
      "commit": "36dec8b9380c03782de48c5cf25f6bdc02a70150",
      "tree": "e7fc7878a77427a5b0d6486c5d121ac3bd36c2a0",
      "parents": [
        "1a5eaa1a0559cc73ee9ffd54c5e1190b2803931a"
      ],
      "author": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Mon Jun 07 19:06:26 2010 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Mon Jun 07 19:06:26 2010 +0000"
      },
      "message": "board_enable.c: Remove useless \u0027name\u0027 parameter\n\nEvery board-enable function is passed a \u0027const char *name\u0027 (board name)\nwhich is totally useless as the board name was already printed by flashrom\nat that point. Also, 95% or so of the board-enables don\u0027t use the\nparameter anyway. So, drop it.\n\nCorresponding to flashrom svn r1037.\n\nSigned-off-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "831e8f4abb29f1ff66ebb8ab5ff496050ff677f7",
      "tree": "8d19ef4871587dcaf0a3a1dec562dd6ef09024b6",
      "parents": [
        "4178760241c3b3dc46a806ee3621a2eb97f4cca5"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun May 30 22:24:40 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun May 30 22:24:40 2010 +0000"
      },
      "message": "Remove unneeded #include statements completely\n\nUnistd.h was only used to get a definition of NULL in all files. Add our\nown NULL #define and remove unistd.h from flash.h\nstdio.h has no place in flash.h, it should be included only in files\nwhich really need it.\nAdd #include statements in individual .c files where needed.\n\nReplace a few printf with msg_* to eliminate the need for stdio.h.\n\nCorresponding to flashrom svn r1021.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "cceafa2ad073fe58b10b6f2317cbd36a63d7ccb5",
      "tree": "f07a19288da12246cf3da5d886be39915cfc59a5",
      "parents": [
        "8d341b5ae774bdf8249c68944a77b72b7c4be640"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed May 26 01:45:41 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Wed May 26 01:45:41 2010 +0000"
      },
      "message": "Handle the following architectures in generic flashrom code\n\n- x86/x86_64 (little endian)\n- PowerPC (big endian)\n- MIPS (big+little endian)\n\nNo changes to programmer specific code. This means any drivers with MMIO\naccess will _not_ suddenly start working on big endian systems, but with\nthis patch everything is in place to fix them.\n\nCompilation should work on all architectures listed above for all\ndrivers except nic3com and nicrealtek which require PCI Port IO which is\nx86-only for now.\n\nTo compile without nic3com and nicrealtek, run\nmake distclean\nmake CONFIG_NIC3COM\u003dno CONFIG_NICREALTEK\u003dno\n\nThanks to Misha Manulis for testing early versions of this patch on\nPowerPC (big endian) with the satasii programmer.\nThanks to Segher Boessenkool for design review and for helping out with\ncompiler tricks and pointing out that we need eieio on PowerPC.\nThanks to Vladimir Serbinenko for compile testing on MIPS (little\nendian) and PowerPC (big endian) and for runtime testing on MIPS (little\nendian).\nThanks to David Daney for compile testing on MIPS (big endian).\nThanks to Uwe Hermann for compile and runtime testing on x86_64.\n\nDO NOT RUN flashrom ON NON-X86 AFTER APPLYING THIS PATCH!\nThis patch only provides the infrastructure, but does not convert any\ndrivers, so flashrom will compile, but it won\u0027t do the right thing on\nnon-x86 platforms.\n\nCorresponding to flashrom svn r1013.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Misha Manulis \u003cmisha@manulis.com\u003e\nAcked-by: Vladimir \u0027phcoder/φ-coder\u0027 Serbinenko \u003cphcoder@gmail.com\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Segher Boessenkool \u003csegher@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "14ba6682e99273273be74b8e8681d0604b85e9b9",
      "tree": "cd0212ae1ffe83aaea0a5ca9f5e2be86615c471a",
      "parents": [
        "cfa674fde7ee763844f82e38503cd997a3951197"
      ],
      "author": {
        "name": "Sean Nelson",
        "email": "audiohacked@gmail.com",
        "time": "Fri Feb 26 05:48:29 2010 +0000"
      },
      "committer": {
        "name": "Sean Nelson",
        "email": "audiohacked@gmail.com",
        "time": "Fri Feb 26 05:48:29 2010 +0000"
      },
      "message": "Split spi.c into programmer and chip code Remove chipdriver.h include from flash.h\n\nSome of the spi programmer drivers required chipdrivers.h, needs fixing later:\n  it87spi.c\n  ichspi.c\n  sb600spi.c\n  wbsio_spi.c\n  buspirate_spi.c\n  ft2232spi.c\n  bitbang_spi.c\n  dediprog.c\n\nCorresponding to flashrom svn r914.\n\nSigned-off-by: Sean Nelson \u003caudiohacked@gmail.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "f7f7a55cf5e235c7c721382868621ae960fa4884",
      "tree": "224c7abf5e002ea7af7e2f4d64699230550d019e",
      "parents": [
        "0435dfde2aba7d56796211be01828cc56de44b69"
      ],
      "author": {
        "name": "Sean Nelson",
        "email": "audiohacked@gmail.com",
        "time": "Sat Jan 09 23:34:45 2010 +0000"
      },
      "committer": {
        "name": "Sean Nelson",
        "email": "audiohacked@gmail.com",
        "time": "Sat Jan 09 23:34:45 2010 +0000"
      },
      "message": "Convert all messages in wbsio_spi.c to the new message infrastructure\n\nCorresponding to flashrom svn r847.\n\nSigned-off-by: Sean Nelson \u003caudiohacked@gmail.com\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "5609fa752ca1c36d00d915e94d481a9a457c85cf",
      "tree": "ff145bc4ed987c3c81870ddb6e7ce6a929ca9b47",
      "parents": [
        "a84835a7eadadb715a61d993da6766bdf1b37c5e"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Jan 07 03:32:17 2010 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Thu Jan 07 03:32:17 2010 +0000"
      },
      "message": "Allow one to disable programmer debug messages at compile time\n\nProgrammer debug messages during programmer init/shutdown are useful\nbecause they print hardware settings and desired configuration.\n\nThey help in getting a quick overview of hardware and software state on\nstartup and shutdown.\n\nProgrammer debug messages during flash chip access are mostly a\ndistraction in logs and should only be enabled if someone is having\nproblems which are suspected to stem from a programmer hardware or\nprogrammer software bug. Disable those messages by default, they can be\nreenabled by #define COMM_DEBUG in the affected programmer file.\n\nAn added benefit is a tremendous size reduction in verbose\nprobe/read/write/erase logs because only flash chip driver messages\nremain. In some cases, logs will shrink from 65 MB to 10 kB or less.\n\nThe right(tm) fix would be two different debug levels (DEBUG and SPEW)\nand the ability to differentiate between programmer debug messages and\nflash chip debug messages. Until the design for the message printing\ninfrastructure is finished, this is the best stop-gap measure we can\nget.\n\nCorresponding to flashrom svn r834.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Sean Nelson \u003caudioahcked@gmail.com\u003e\n"
    },
    {
      "commit": "116081a224c3b36a4a7d940cfdb1dac1ba35fc75",
      "tree": "e82fbd5e39ffa638a9f56d93e90f0f520d392a53",
      "parents": [
        "db41c59e3ba625659e397675384b08b4ec967fe6"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon Aug 10 02:29:21 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon Aug 10 02:29:21 2009 +0000"
      },
      "message": "Replace remaining explicit erases in SPI programmer drivers with auto-erases\n\nSome SPI chip drivers and the generic 1-byte SPI chip write functions\ndidn\u0027t include the automatic erase present in other chip drivers.\n\nSince the majority is definitely auto-erase, change the remaining\nexplicit-erase cases to be auto-erase as well.\n\nCorresponding to flashrom svn r673.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Carlos Arnau Perez \u003ccemede@gmail.com\u003e\n"
    },
    {
      "commit": "142e30fcaa1c3a63a1f0baf0b802ef888a0c250b",
      "tree": "c286d89dadacecee2e68b84ce5606467e9ae33e8",
      "parents": [
        "78e4e127129398454813d1552b516638837c423e"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jul 14 10:26:56 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jul 14 10:26:56 2009 +0000"
      },
      "message": "Use a distinct return code for SPI commands with unsupported/invalid length\n\nSome drivers support only a few combinations of read/write length and\nreturn error otherwise. Having a distinct return code for this error\nmeans we can handle it in upper layers.\n\nCorresponding to flashrom svn r653.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Stefan Reinauer \u003cstepan@coresystems.de\u003e\n"
    },
    {
      "commit": "2f1b36fb35873c599442e1828756c1993524cd5e",
      "tree": "836e46a0ba0fcd1ce41a52eddcb3437c2d08e2e5",
      "parents": [
        "39fa9b55cd4c049f43124b873b464641fc9f79a9"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Jul 12 12:06:18 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun Jul 12 12:06:18 2009 +0000"
      },
      "message": "Convert SPI byte program to use the multicommand infrastructure\n\nTested-by: Jakob Bornecrantz \u003cwallbraker@gmail.com\u003e\n\nCorresponding to flashrom svn r651.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nTested it on Epia-m700 worked okay.\nAcked-by: Jakob Bornecrantz \u003cwallbraker@gmail.com\u003e\n"
    },
    {
      "commit": "d0478299b1d714a7001f19fb2cafeb257698a2c0",
      "tree": "4cd9e2881c6f02f26270149770210e6d1aa742cd",
      "parents": [
        "8ef7dce29aead4f17000e2c14b39f0723adc3953"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Jul 10 21:08:55 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Jul 10 21:08:55 2009 +0000"
      },
      "message": "Add SPI multicommand infrastructure\n\nSome SPI opcodes need to be sent in direct succession after each other\nwithout any chip deselect happening in between. A prominent example is\nWREN (Write Enable) directly before PP (Page Program). Intel calls the\nfirst opcode in such a row \"preopcode\".\n\nRight now, we ignore the direct succession requirement completely and it\nworks pretty well because most onboard SPI masters have a timing or\nheuristics which make the problem disappear.\nThe FT2232 SPI flasher is different. Since it is an external flasher,\ntiming is very different to what we can expect from onboard flashers and\nthis leads to failure at slow speeds.\n\nThis patch allows any function to submit multiple SPI commands in a\nstream to any flasher. Support in the individual flashers isn\u0027t\nimplemented yet, so there is one generic function which passes the each\ncommand in the stream one-by-one to the command functions of the\nselected SPI flash driver.\n\nTested-by: Jakob Bornecrantz \u003cwallbraker@gmail.com\u003e\n\nCorresponding to flashrom svn r645.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Jakob Bornecrantz \u003cwallbraker@gmail.com\u003e\n"
    },
    {
      "commit": "cbf563cbde925dae6971c7df305493a638de51c6",
      "tree": "29b0a806979474c3d8dcbc6acfa7022728ca4a15",
      "parents": [
        "30f7cb2f3c570c99b61bd5df72621f44f1bdd0d0"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jun 16 08:55:44 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Tue Jun 16 08:55:44 2009 +0000"
      },
      "message": "Support reads of arbitrary range\n\nThat means you can tell flashrom to read exactly bytes 12345-56789\n(start 12345, length 44445) and it will not fetch a single byte more.\n\nUwe tested this on one LPC, one SPI, and one parallel flash board.\n\nCorresponding to flashrom svn r596.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "30f7cb2f3c570c99b61bd5df72621f44f1bdd0d0",
      "tree": "d714754c298d7d247786e19c4b2b4afd6067a795",
      "parents": [
        "084546449983c1d6f147c1a3e381e225887e322c"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon Jun 15 17:23:36 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon Jun 15 17:23:36 2009 +0000"
      },
      "message": "Flashrom only checks for very few chips if the erase worked\n\nAnd even when it checks if the erase worked, the result of that check is\noften ignored.\n\nConvert all erase functions and actually check return codes\nalmost everywhere.\nCheck inside all erase_* routines if erase worked, not outside.\nerase_sector_jedec and erase_block_jedec have changed prototypes to\nenable erase checking.\n\nUwe successfully tested LPC on an CK804 box and SPI on some SB600 box.\n\nCorresponding to flashrom svn r595.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nSigned-off-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "38a059d6ef1ebb7145a04825fec0ebef1d8a66a7",
      "tree": "66c9108eda2f0f7129f2ba55b9cb757414d9466a",
      "parents": [
        "8b2f46b878a952a0ea0869624636cb4d6f5fa8c1"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jun 13 12:04:03 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat Jun 13 12:04:03 2009 +0000"
      },
      "message": "Every SPI host controller implemented its own way to read flash chips\n\nThis was partly due to a design problem in the abstraction layer.\n\nThere should be exactly two different functions for reading SPI chips:\n- memory mapped reads\n- SPI command reads.\n\nEach of them should be contained in a separate function, optionally\ntaking parameters where needed.\n\nThis patch solves the problems mentioned above, shortens the code and\nmakes the code logic a lot more obvious.\n\nSince open-coding the min() function leads to errors, include it in this\npatch as well.\n\nCorresponding to flashrom svn r589.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Ronald G. Minnich \u003crminnich@gmail.com\u003e\n"
    },
    {
      "commit": "ca8bfc6c22196e5d16c6d2625c65d6b50c04daaf",
      "tree": "329ba3be9013c0a5934c66233a3c5205f0ed4b20",
      "parents": [
        "945d26a0d7eef8faf46453d5f2717c21b59bafc2"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Jun 05 17:48:08 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Fri Jun 05 17:48:08 2009 +0000"
      },
      "message": "Add programmer-specific delay functions\n\nAdd external programmer delay functions so external programmers can\nhandle the delay on their own if needed.\n\nCorresponding to flashrom svn r578.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\n"
    },
    {
      "commit": "b22918cadc5ba07c037935644f8c6dcef0583e23",
      "tree": "c2fd7bff346e61d3433a0c0e2fe66b7173e482de",
      "parents": [
        "3504b539bfa33693510d83402a344b1eafd7a592"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon Jun 01 02:08:58 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon Jun 01 02:08:58 2009 +0000"
      },
      "message": "Only probe for chips with compatible bus protocols\n\nIt doesn\u0027t make sense to probe for SPI chips on a LPC host, nor does it\nmake sense to probe for LPC chips on a Parallel host.\n\nThis change is backwards compatible, but adding host protocol info to\nchipset init functions will speed up probing.\n\nOnce all chipset init functions are updated and the Winbond W29EE011 and\nAMIC A49LF040A chip definitions are updated, the W29EE011 workaround can\nbe deleted as the W29/A49 conflict magically disappears.\n\nCorresponding to flashrom svn r560.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nTested on real hardware and\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "1dfe0ff1745118406f2ca0d03340dd346cc39770",
      "tree": "8b0f6db0abbbd38355b6ddf8feadb7b06a4e9bab",
      "parents": [
        "ebd7b8393906876d4b450d8b83a9b748d43c64b4"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun May 31 17:57:34 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sun May 31 17:57:34 2009 +0000"
      },
      "message": "Add bus type annotation to struct flashchips\n\nRight now, the annotation only differentiates between SPI and non-SPI.\nAnyone who knows more about a specific flash chip should feel free to\nupdate it.\n\nThe existing flashbus variable was abused to denote the SPI controller\ntype. Use an aptly named variable for that purpose.\n\nOnce this patch is merged, the chipset/programmer init functions can set\nsupported flash chip types and flashrom can automatically select only\nmatching probe/read/erase/write functions. A side benefit of that will\nbe the elimination of the Winbond W29EE011 vs. AMIC A49LF040A conflict.\n\nCorresponding to flashrom svn r556.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "24c1a160307b2a9c670ab97ae263f368cd722209",
      "tree": "c264e03cfe42da303a812d515de7361235ba986c",
      "parents": [
        "1fa386262c24c45348ac2fb5160217b873318b44"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon May 25 23:26:50 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Mon May 25 23:26:50 2009 +0000"
      },
      "message": "Refactor SuperIO accesses\n\nWe had duplicated code under different names and even open-coded some\nfunctions in some places.\n\nwbsio_read/regval -\u003e sio_read wbsio_write/regwrite -\u003e sio_write\nwbsio_mask -\u003e sio_mask\n\nboard_biostar_p4m80_m4 now uses existing IT87 functions.\n\nCorresponding to flashrom svn r547.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Luc Verhaegen \u003clibv@skynet.be\u003e\n"
    },
    {
      "commit": "2cac6860c3f451a661d8281d25a72dd5db89f4e4",
      "tree": "7592a765da81385bff5cfe1aa62f215618be948e",
      "parents": [
        "8403ccb49f98d1583736984c92d62735d9d466b5"
      ],
      "author": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Sat May 16 22:05:42 2009 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Sat May 16 22:05:42 2009 +0000"
      },
      "message": "Drop unused/duplicated #includes and some dead code\n\nBuild-tested on 32bit x86.\n\nCorresponding to flashrom svn r521.\n\nSigned-off-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "96930c39524225cc55a5625e6e45d7519b3f2528",
      "tree": "40368d966ea3689aa4c8c2b020984671cc45d1d9",
      "parents": [
        "03adbe12691d512c0d9f28caa93cb35e468fd5d3"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat May 09 02:30:21 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat May 09 02:30:21 2009 +0000"
      },
      "message": "Chips like the SST SST25VF080B can only handle single byte writes outside AAI mode\n\nChange SPI architecture to handle 1-byte chunk chip writing differently\nfrom 256-byte chunk chip writing.\n\nAnnotate SPI chip write functions with _256 or _1 suffix denoting the\nnumber of bytes they write at maximum.\n\nThe 1-byte chunk writing is cut-n-pasted to different SPI drivers right\nnow. A later patch can move them to the generic spi_chip_write_1.\n\nCorresponding to flashrom svn r485.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "03adbe12691d512c0d9f28caa93cb35e468fd5d3",
      "tree": "9bd6460e4a69d0647706ab139184870b32244441",
      "parents": [
        "c3129208648f241c0b6538235cd4e9854ae6539d"
      ],
      "author": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat May 09 02:09:45 2009 +0000"
      },
      "committer": {
        "name": "Carl-Daniel Hailfinger",
        "email": "c-d.hailfinger.devel.2006@gmx.net",
        "time": "Sat May 09 02:09:45 2009 +0000"
      },
      "message": "Refine handling of spi_write_enable() failures to fix chip erases on ichspi\n\nUntil the ICH SPI driver can handle preopcodes as standalone opcodes,\nwe should handle such special opcode failure gracefully on ICH and\ncompatible chipsets.\n\nThis fixes chip erase on almost all ICH+VIA SPI masters.\n\nThanks to Ali Nadalizadeh for helping track down this bug!\n\nCorresponding to flashrom svn r484.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\n"
    },
    {
      "commit": "7b2969be533f389604430e43c0732031ebdedee2",
      "tree": "a7a0f9007136af9d3288b4e3509fe6fa4b4734d7",
      "parents": [
        "97e8f22b025da9c2f04e25069d335041ab747a11"
      ],
      "author": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Wed Apr 15 10:52:49 2009 +0000"
      },
      "committer": {
        "name": "Uwe Hermann",
        "email": "uwe@hermann-uwe.de",
        "time": "Wed Apr 15 10:52:49 2009 +0000"
      },
      "message": "Some coding style and consistency fixes\n\nCorresponding to flashrom svn r429 and coreboot v2 svn r4117.\n\nSigned-off-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n"
    },
    {
      "commit": "bf196e91997a6f2a0d0e1b6670f300d3fc73ca8f",
      "tree": "647b2bdde31184104f4eac0758d03d872a3e45ea",
      "parents": [
        "9d9399c5b47c63648dd72ce8b699ae8cc58a2f1a"
      ],
      "author": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Mon Jan 26 03:08:45 2009 +0000"
      },
      "committer": {
        "name": "Peter Stuge",
        "email": "peter@stuge.se",
        "time": "Mon Jan 26 03:08:45 2009 +0000"
      },
      "message": "Winbond SuperIO SPI driver\n\nDeveloped and tested to work on Intel D201GLY in July 2008.\nTested by a helpful person on IRC whose name I\u0027ve since forgotten. Sorry!\n\nCorresponding to flashrom svn r404 and coreboot v2 svn r3910.\n\nSigned-off-by: Peter Stuge \u003cpeter@stuge.se\u003e\nAcked-by: Ward Vandewege \u003cward@gnu.org\u003e\n"
    }
  ]
}
