)]}'
{
  "commit": "01624f40eeec33c546150a240f194f057f6dd36e",
  "tree": "5ef84e3f82ae6d3d7643bc85faafe63eff3256a9",
  "parents": [
    "24f9fbe075107b58a2729a8f5d7da346ebe730e6"
  ],
  "author": {
    "name": "Carl-Daniel Hailfinger",
    "email": "c-d.hailfinger.devel.2006@gmx.net",
    "time": "Tue May 12 15:38:55 2009 +0000"
  },
  "committer": {
    "name": "Carl-Daniel Hailfinger",
    "email": "c-d.hailfinger.devel.2006@gmx.net",
    "time": "Tue May 12 15:38:55 2009 +0000"
  },
  "message": "Use helper functions chip_{read,write}[bwl] to access flash chips\n\nThe semantic patch I used in r418 to make the original conversion to\naccessor functions was missing one isomorphism:\na[b] \u003c\u003d\u003e *(a+b)\n\nThe semantic patcher Coccinelle was used to create this patch. Semantic\npatch follows:\n@@\ntypedef uint8_t;\nexpression a;\nvolatile uint8_t *b;\n@@\n- b[a]\n+ *(b + a)\n@@\nexpression a;\nvolatile uint8_t *b;\n@@\n- *(b) \u003d (a);\n+ chip_writeb(a, b);\n@@\nvolatile uint8_t *b;\n@@\n- *(b)\n+ chip_readb(b)\n@@\ntype T;\nT b;\n@@\n(\n chip_readb\n|\n chip_writeb\n)\n (...,\n- (T)\n- (b)\n+ b\n )\n\nCorresponding to flashrom svn r498.\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",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bfbd93e1ddaf6c35da143520ca652078eeca7f5a",
      "old_mode": 33188,
      "old_path": "jedec.c",
      "new_id": "b2ab519800b802767240192e02223ff3089ace0f",
      "new_mode": 33188,
      "new_path": "jedec.c"
    },
    {
      "type": "modify",
      "old_id": "0bf2d4d0fda0fe5472a532479cbfb0959b3dff68",
      "old_mode": 33188,
      "old_path": "sst_fwhub.c",
      "new_id": "3b74a950946346fc3d3d0509c2eed127eaac260d",
      "new_mode": 33188,
      "new_path": "sst_fwhub.c"
    },
    {
      "type": "modify",
      "old_id": "f631d33f938e8d8238b338bc3e15662055c74be4",
      "old_mode": 33188,
      "old_path": "w39v040c.c",
      "new_id": "e7a2eb18f9f1435a11e300b279882b11bc6b2cc7",
      "new_mode": 33188,
      "new_path": "w39v040c.c"
    },
    {
      "type": "modify",
      "old_id": "ba32add9f9ac2a5157d6b572379073c33f18efd3",
      "old_mode": 33188,
      "old_path": "w39v080fa.c",
      "new_id": "7b827f82d4d59f8bfddf18f4348bccb17914cab1",
      "new_mode": 33188,
      "new_path": "w39v080fa.c"
    }
  ]
}
