)]}'
{
  "commit": "aedd4fdf69293fc5379129294239b09da2a7c3ec",
  "tree": "682342377523e1466e1fcf0671b646d4682fd786",
  "parents": [
    "d0ad5e89256c351ddd40167152c24a88efcb0f6d"
  ],
  "author": {
    "name": "Julia Lawall",
    "email": "julia@diku.dk",
    "time": "Tue Dec 27 15:01:26 2011 +0100"
  },
  "committer": {
    "name": "Grant Likely",
    "email": "grant.likely@secretlab.ca",
    "time": "Mon Jan 02 01:43:50 2012 -0700"
  },
  "message": "drivers/gpio/gpio-tegra.c: use devm_request_and_ioremap\n\nReimplement a call to devm_request_mem_region followed by a call to ioremap\nor ioremap_nocache by a call to devm_request_and_ioremap.\n\nThe semantic patch that makes this transformation is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@nm@\nexpression myname;\nidentifier i;\n@@\n\nstruct platform_driver i \u003d { .driver \u003d { .name \u003d myname } };\n\n@@\nexpression dev,res,size;\nexpression nm.myname;\n@@\n\n-if (!devm_request_mem_region(dev, res-\u003estart, size,\n-                              \\(res-\u003ename\\|dev_name(dev)\\|myname\\))) {\n-   ...\n-   return ...;\n-}\n... when !\u003d res-\u003estart\n(\n-devm_ioremap(dev,res-\u003estart,size)\n+devm_request_and_ioremap(dev,res)\n|\n-devm_ioremap_nocache(dev,res-\u003estart,size)\n+devm_request_and_ioremap(dev,res)\n)\n... when any\n    when !\u003d res-\u003estart\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "61044c889f7fec11ef8f0f6b81c78fafd15c87a3",
      "old_mode": 33188,
      "old_path": "drivers/gpio/gpio-tegra.c",
      "new_id": "bdc2937915906fa7a7589b02e258daccb7b024f7",
      "new_mode": 33188,
      "new_path": "drivers/gpio/gpio-tegra.c"
    }
  ]
}
