)]}'
{
  "commit": "0bd2a2bdc10720776fe50b96d24d30323ec24c09",
  "tree": "1348763e5fa6f4ea9d13a5b84d63999dcf132749",
  "parents": [
    "ca8bfc6c22196e5d16c6d2625c65d6b50c04daaf"
  ],
  "author": {
    "name": "Carl-Daniel Hailfinger",
    "email": "c-d.hailfinger.devel.2006@gmx.net",
    "time": "Fri Jun 05 18:32:07 2009 +0000"
  },
  "committer": {
    "name": "Carl-Daniel Hailfinger",
    "email": "c-d.hailfinger.devel.2006@gmx.net",
    "time": "Fri Jun 05 18:32:07 2009 +0000"
  },
  "message": "Sometimes we want to read/write more than 4 bytes of chip content at once\n\nAdd chip_{read,write}n to the external flasher infrastructure which\nread/write n bytes at once.\n\nFix a few places where the code used memcpy/memcmp although that is\nstrictly impossible with external flashers.\nPlace a FIXME in the layout.c code because usage is not totally clear\nand needs to be fixed to support external flashers.\n\nAs a nice side benefit, we get a noticeable speedup for builtin flash\nreading which is now a memcpy() of the full flash area instead of a\nseries of single-byte reads.\n\nCorresponding to flashrom svn r579.\n\nSigned-off-by: Carl-Daniel Hailfinger \u003cc-d.hailfinger.devel.2006@gmx.net\u003e\nAcked-by: Urja Rannikko \u003curjaman@gmail.com\u003e\nAcked-by: Uwe Hermann \u003cuwe@hermann-uwe.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c5cf52f438af65888441afde148505f38adc6a6b",
      "old_mode": 33188,
      "old_path": "82802ab.c",
      "new_id": "1dc997fa27a5a0de7de8bf8e86e5e1db47407d5e",
      "new_mode": 33188,
      "new_path": "82802ab.c"
    },
    {
      "type": "modify",
      "old_id": "784cc55e708387c482c72d149af6a26220319277",
      "old_mode": 33188,
      "old_path": "dummyflasher.c",
      "new_id": "64b083e6214420b0f6738bb2dc921ffd781c01f3",
      "new_mode": 33188,
      "new_path": "dummyflasher.c"
    },
    {
      "type": "modify",
      "old_id": "31c2fedc09993836198c55aa5483f3fa3978225f",
      "old_mode": 33188,
      "old_path": "flash.h",
      "new_id": "3111dbff9263f34626716cadaab4ee6f0a9091c9",
      "new_mode": 33188,
      "new_path": "flash.h"
    },
    {
      "type": "modify",
      "old_id": "7368d4ffb8368142f9d315d600c56e209cce8238",
      "old_mode": 33188,
      "old_path": "flashrom.c",
      "new_id": "20532e84c67960109d0c88921cf00290d9605d74",
      "new_mode": 33188,
      "new_path": "flashrom.c"
    },
    {
      "type": "modify",
      "old_id": "d24bb345612e7d3aad2afef5f8eea55648d29496",
      "old_mode": 33188,
      "old_path": "internal.c",
      "new_id": "302c7a96a7a32e7b4b770d3d5f8ec8dd2229da23",
      "new_mode": 33188,
      "new_path": "internal.c"
    },
    {
      "type": "modify",
      "old_id": "4326aeab2a90b0ee14a42998057370231cc25e2b",
      "old_mode": 33188,
      "old_path": "layout.c",
      "new_id": "68684a7e12f99683958bff54ed8722fee9e16b98",
      "new_mode": 33188,
      "new_path": "layout.c"
    },
    {
      "type": "modify",
      "old_id": "5ca769bd0ef1fd6ce8a3f901623d9fdcead5606d",
      "old_mode": 33188,
      "old_path": "stm50flw0x0x.c",
      "new_id": "83c95bb02b1a53ae96dd6f693048ee839d95f0dd",
      "new_mode": 33188,
      "new_path": "stm50flw0x0x.c"
    }
  ]
}
