)]}'
{
  "commit": "bd2a88840e2496e29442f333c8fdd6491e831a35",
  "tree": "95ced0dfbbd8ac39d8e73b55a414398dccb106ad",
  "parents": [
    "786a4ea82ec9c87e3a895cf41081029b285a5fe5"
  ],
  "author": {
    "name": "Stefan Hajnoczi",
    "email": "stefanha@redhat.com",
    "time": "Mon Mar 23 15:29:27 2015 +0000"
  },
  "committer": {
    "name": "Kevin Wolf",
    "email": "kwolf@redhat.com",
    "time": "Tue Apr 28 15:36:08 2015 +0200"
  },
  "message": "Convert ffs() !\u003d 0 callers to ctz32()\n\nThere are a number of ffs(3) callers that do roughly:\n\n  bit \u003d ffs(val);\n  if (bit) {\n      do_something(bit - 1);\n  }\n\nThis pattern can be converted to ctz32() like this:\n\n  zeroes \u003d ctz32(val);\n  if (zeroes !\u003d 32) {\n      do_something(zeroes);\n  }\n\nSigned-off-by: Stefan Hajnoczi \u003cstefanha@redhat.com\u003e\nMessage-id: 1427124571-28598-6-git-send-email-stefanha@redhat.com\nSigned-off-by: Kevin Wolf \u003ckwolf@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "91ffb589e5817054c2da971f703bb41a83988519",
      "old_mode": 33188,
      "old_path": "hw/arm/omap1.c",
      "new_id": "de2b289257c713f718339ad2391503410c70bf04",
      "new_mode": 33188,
      "new_path": "hw/arm/omap1.c"
    },
    {
      "type": "modify",
      "old_id": "e336bdb4a98e8483480e0a76a9b924284f8740b1",
      "old_mode": 33188,
      "old_path": "hw/char/virtio-serial-bus.c",
      "new_id": "6e2ad8221b0cd31f8db3e5d50dbeae8d5f4f84e5",
      "new_mode": 33188,
      "new_path": "hw/char/virtio-serial-bus.c"
    },
    {
      "type": "modify",
      "old_id": "9a434868904bf3852e5b224ec84ed333812a248d",
      "old_mode": 33188,
      "old_path": "hw/gpio/omap_gpio.c",
      "new_id": "d92f8cfbae0257e92bc591bf70369bf8cb4ede96",
      "new_mode": 33188,
      "new_path": "hw/gpio/omap_gpio.c"
    },
    {
      "type": "modify",
      "old_id": "d63278dbde539d1f635c5dd77078bf0e14bd59d9",
      "old_mode": 33188,
      "old_path": "hw/i2c/omap_i2c.c",
      "new_id": "b6f544a221023ffa51f1a84b552ae0c421f28218",
      "new_mode": 33188,
      "new_path": "hw/i2c/omap_i2c.c"
    },
    {
      "type": "modify",
      "old_id": "de820b97234d5e25e0681462f55d1e1e5af653af",
      "old_mode": 33188,
      "old_path": "hw/intc/allwinner-a10-pic.c",
      "new_id": "eed7621f1367dc873baeca603b660cc3ea0f84e5",
      "new_mode": 33188,
      "new_path": "hw/intc/allwinner-a10-pic.c"
    },
    {
      "type": "modify",
      "old_id": "4ec153df93f7a5040338e1ac37f1aaf9621bc544",
      "old_mode": 33188,
      "old_path": "kvm-all.c",
      "new_id": "2a717e5b504b28b72fd9cdfbf02211e88bb100d3",
      "new_mode": 33188,
      "new_path": "kvm-all.c"
    }
  ]
}
