)]}'
{
  "commit": "12765517d9dbb477a2432375938f1eb5bdbcb532",
  "tree": "5c0e4002378fe3b65e20ea4959276d22b0a22911",
  "parents": [
    "975f8c5653acba461229e671202113da69b87be1"
  ],
  "author": {
    "name": "Wolfram Sang",
    "email": "w.sang@pengutronix.de",
    "time": "Tue Apr 06 14:34:52 2010 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Wed Apr 07 08:38:03 2010 -0700"
  },
  "message": "device_attributes: add sysfs_attr_init() for dynamic attributes\n\nMade necessary by 6992f5334995af474c2b58d010d08bc597f0f2fe (\"sysfs: Use\none lockdep class per sysfs attribute\").\n\nPrevents further \"key xxx not in .data\" bug-reports.  Although some\nattributes could probably be converted to static ones, this is left for\npeople having hardware to test.\n\nFound by this semantic patch:\n\n@ init @\ntype T;\nidentifier A;\n@@\n\n        T {\n                ...\n                struct device_attribute A;\n                ...\n        };\n\n@ main extends init @\nexpression E;\nstatement S;\nidentifier err;\nT *name;\n@@\n\n        ... when !\u003d sysfs_attr_init(\u0026name-\u003eA.attr);\n(\n+       sysfs_attr_init(\u0026name-\u003eA.attr);\n        if (device_create_file(E, \u0026name-\u003eA))\n                S\n|\n+       sysfs_attr_init(\u0026name-\u003eA.attr);\n        err \u003d device_create_file(E, \u0026name-\u003eA);\n)\n\nWhile reviewing, I put the initialization to apropriate places.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Greg KH \u003cgregkh@suse.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Mike Isely \u003cisely@pobox.com\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: Sujith Thomas \u003csujith.thomas@intel.com\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Len Brown \u003clen.brown@intel.com\u003e\nCc: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c092354591bb7544f215e50f6ffcd8b7b7d606b3",
      "old_mode": 33188,
      "old_path": "drivers/macintosh/windfarm_core.c",
      "new_id": "ce8897933a84daeccddd318438b939face4aec8f",
      "new_mode": 33188,
      "new_path": "drivers/macintosh/windfarm_core.c"
    },
    {
      "type": "modify",
      "old_id": "6c23456e0bda2c2661030deb5737fb8ca120e2a5",
      "old_mode": 33188,
      "old_path": "drivers/media/video/pvrusb2/pvrusb2-sysfs.c",
      "new_id": "71f50565f637c804f19fac089cf62af55134bf55",
      "new_mode": 33188,
      "new_path": "drivers/media/video/pvrusb2/pvrusb2-sysfs.c"
    },
    {
      "type": "modify",
      "old_id": "1190bad4297fb06d796153a0df77661b40b63090",
      "old_mode": 33188,
      "old_path": "drivers/platform/x86/intel_menlow.c",
      "new_id": "2f795ce2b939216274a32a3d740152dbaba09108",
      "new_mode": 33188,
      "new_path": "drivers/platform/x86/intel_menlow.c"
    },
    {
      "type": "modify",
      "old_id": "4637bcbe03a4bcd462a86c52c34338e26f003e46",
      "old_mode": 33188,
      "old_path": "drivers/video/fsl-diu-fb.c",
      "new_id": "994358a4f30298d9684148db609a8c15723de82c",
      "new_mode": 33188,
      "new_path": "drivers/video/fsl-diu-fb.c"
    }
  ]
}
