)]}'
{
  "commit": "ac1b4c8bd707c07e9636bedbd823ed5cb46f89ad",
  "tree": "5553eec8f0f86f363220a979342d59e3c55eae58",
  "parents": [
    "ac427b22c4fa45936fe94af31a5e0422dd95c152"
  ],
  "author": {
    "name": "Stefan Tauner",
    "email": "stefan.tauner@alumni.tuwien.ac.at",
    "time": "Fri Feb 17 14:51:04 2012 +0000"
  },
  "committer": {
    "name": "Stefan Tauner",
    "email": "stefan.tauner@alumni.tuwien.ac.at",
    "time": "Fri Feb 17 14:51:04 2012 +0000"
  },
  "message": "Add support for SFDP (JESD216)\n\nSimilar to modules using the opaque programmer framework (e.g. ICH Hardware\nSequencing) this uses a template struct flashchip element in flashchips.c with\na special probe function that fills the obtained values into that struct.\n\nThis allows yet unknown SPI chips to be supported (read, erase, write) almost\nas if it was already added to flashchips.c.\n\nDocumentation used:\nhttp://www.jedec.org/standards-documents/docs/jesd216 (2011-04)\nW25Q32BV data sheet Revision F (2011-04-01)\nEN25QH16 data sheet Revision F (2011-06-01)\nMX25L6436E data sheet Revision 1.8 (2011-12-26)\n\nTested-by: David Hendricks \u003cdhendrix@google.com\u003e\non W25Q64CV + dediprog\nTested-by: Stefan Tauner \u003cstefan.tauner@alumni.tuwien.ac.at\u003e\non a 2010 MX25L6436E with preliminary (i.e. incorrect) SFDP implementation + serprog\n\nThanks also to Michael Karcher for his comments and preliminary review!\n\nCorresponding to flashrom svn r1500.\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",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "afe2dfb5550492ca4a837f55846eeed35b1c9ee7",
      "old_mode": 33188,
      "old_path": "Makefile",
      "new_id": "2d18fc5c3c9f71dd5a644dc9ec49b41f22cfb52a",
      "new_mode": 33188,
      "new_path": "Makefile"
    },
    {
      "type": "modify",
      "old_id": "a1d0cd9c829155438f21c7f0c79b576e9fe94d5b",
      "old_mode": 33188,
      "old_path": "chipdrivers.h",
      "new_id": "bd81098fdfe245dbe0bd5553cc294a587753eb18",
      "new_mode": 33188,
      "new_path": "chipdrivers.h"
    },
    {
      "type": "modify",
      "old_id": "20db343ed531cd50bc32f09447efc1703a16fe1c",
      "old_mode": 33188,
      "old_path": "flash.h",
      "new_id": "0dac13d733d974b26782850f9b59121f23f32400",
      "new_mode": 33188,
      "new_path": "flash.h"
    },
    {
      "type": "modify",
      "old_id": "d789904d3bce2446815f180ca65e954ad1098d0a",
      "old_mode": 33188,
      "old_path": "flashchips.c",
      "new_id": "b6296c5867635e057733ef86ce6c6f1504e76c93",
      "new_mode": 33188,
      "new_path": "flashchips.c"
    },
    {
      "type": "modify",
      "old_id": "8587ce93533f2bae6d10d03fa63fe40fa1ae419b",
      "old_mode": 33188,
      "old_path": "flashchips.h",
      "new_id": "de3c79dd70a4f5654ae0d3d66a6687ec1580a452",
      "new_mode": 33188,
      "new_path": "flashchips.h"
    },
    {
      "type": "modify",
      "old_id": "a378e5103e1b250206769eb950dd581a71f29074",
      "old_mode": 33188,
      "old_path": "flashrom.c",
      "new_id": "cad043b7b11385fb0f1c70fbe0a76358d3b856e6",
      "new_mode": 33188,
      "new_path": "flashrom.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "75dfb5fc9c807429953a9ff2880b29520ee2ed30",
      "new_mode": 33188,
      "new_path": "sfdp.c"
    },
    {
      "type": "modify",
      "old_id": "b9086033de80fd90573591164a01baef18f82163",
      "old_mode": 33188,
      "old_path": "spi.h",
      "new_id": "5f07eae6370aa6e6fdfc62be0c6aaed080631e65",
      "new_mode": 33188,
      "new_path": "spi.h"
    },
    {
      "type": "modify",
      "old_id": "3ce7f08f2a15450a39e86814b7da25035e73ad04",
      "old_mode": 33188,
      "old_path": "spi25.c",
      "new_id": "b7e8189e15fa661f2fe7b9fb4705b8bd59ab3a73",
      "new_mode": 33188,
      "new_path": "spi25.c"
    }
  ]
}
