)]}'
{
  "commit": "2856f5e31c1413bf6e4f1371e07e17078a5fee5e",
  "tree": "587dfe584f0913813d0cf2414a9378618143db15",
  "parents": [
    "79d365a306c3af53d8a732fec79b76c0b285d816"
  ],
  "author": {
    "name": "Mathieu Desnoyers",
    "email": "compudj@krystal.dyndns.org",
    "time": "Tue May 08 00:34:38 2007 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Tue May 08 11:15:20 2007 -0700"
  },
  "message": "atomic.h: atomic_add_unless as inline. Remove system.h atomic.h circular dependency\n\natomic_add_unless as inline. Remove system.h atomic.h circular dependency.\nI agree (with Andi Kleen) this typeof is not needed and more error\nprone. All the original atomic.h code that uses cmpxchg (which includes\nthe atomic_add_unless) uses defines instead of inline functions,\nprobably to circumvent a circular dependency between system.h and\natomic.h on powerpc (which my patch addresses). Therefore, it makes\nsense to use inline functions that will provide type checking.\n\natomic_add_unless as inline. Remove system.h atomic.h circular dependency.\nDigging into the FRV architecture shows me that it is also affected by\nsuch a circular dependency. Here is the diff applying this against the\nrest of my atomic.h patches.\n\nIt applies over the atomic.h standardization patches.\n\nSigned-off-by: Mathieu Desnoyers \u003cmathieu.desnoyers@polymtl.ca\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": "7b4fba88cbebcffa022d6c1fc472ca37c418f9f7",
      "old_mode": 33188,
      "old_path": "include/asm-alpha/atomic.h",
      "new_id": "f5cb7b878af25ba2dd69abb0343327db8c183dd4",
      "new_mode": 33188,
      "new_path": "include/asm-alpha/atomic.h"
    },
    {
      "type": "modify",
      "old_id": "f266c2795124901fc05b6ba3cff0bb607e393655",
      "old_mode": 33188,
      "old_path": "include/asm-arm/atomic.h",
      "new_id": "3b59f94b5a3d3f345bf5bfeff53440063ae3f426",
      "new_mode": 33188,
      "new_path": "include/asm-arm/atomic.h"
    },
    {
      "type": "modify",
      "old_id": "97e944fe1cff4c9bf4d9c0eb7603fca6e43bf916",
      "old_mode": 33188,
      "old_path": "include/asm-arm26/atomic.h",
      "new_id": "d6dd42374cf3aaef8f2586efb13da4d948451af2",
      "new_mode": 33188,
      "new_path": "include/asm-arm26/atomic.h"
    },
    {
      "type": "modify",
      "old_id": "066386ac238e9719fde46e714da1cce668e2f77b",
      "old_mode": 33188,
      "old_path": "include/asm-frv/atomic.h",
      "new_id": "d425d8d0ad7758c73d40000a9a792f740ff78a5d",
      "new_mode": 33188,
      "new_path": "include/asm-frv/atomic.h"
    },
    {
      "type": "modify",
      "old_id": "1166899317d78a8ca248d798216d3391e0484b8e",
      "old_mode": 33188,
      "old_path": "include/asm-frv/system.h",
      "new_id": "be303b3eef4096e06be42497583fec69ea097e94",
      "new_mode": 33188,
      "new_path": "include/asm-frv/system.h"
    },
    {
      "type": "modify",
      "old_id": "5ae6dce1cba282a852eecf04a38d4ee90236f22d",
      "old_mode": 33188,
      "old_path": "include/asm-generic/atomic.h",
      "new_id": "85fd0aa27a8cd3f48a8ee9a9b47646316ddbed15",
      "new_mode": 33188,
      "new_path": "include/asm-generic/atomic.h"
    },
    {
      "type": "modify",
      "old_id": "08935113206a4b1cec25e87896ce91583feffc49",
      "old_mode": 33188,
      "old_path": "include/asm-i386/atomic.h",
      "new_id": "ff90c6e3fcb4ab846f3bcc013279f8f64c566b35",
      "new_mode": 33188,
      "new_path": "include/asm-i386/atomic.h"
    },
    {
      "type": "modify",
      "old_id": "b16ad235c7ee797da4b4704f7793b02e1fe2b045",
      "old_mode": 33188,
      "old_path": "include/asm-ia64/atomic.h",
      "new_id": "1fc3b83325dab4fa0c20fb46abbc6d16228b34fa",
      "new_mode": 33188,
      "new_path": "include/asm-ia64/atomic.h"
    },
    {
      "type": "modify",
      "old_id": "f5a7d7301c72170523cc265402acfc487d16b553",
      "old_mode": 33188,
      "old_path": "include/asm-m32r/atomic.h",
      "new_id": "3a38ffe4a4f49991e43b59eb9f18dcb1cb3d32d0",
      "new_mode": 33188,
      "new_path": "include/asm-m32r/atomic.h"
    },
    {
      "type": "modify",
      "old_id": "d5eed64cb833d277bcc459ab0175022c045232be",
      "old_mode": 33188,
      "old_path": "include/asm-m68k/atomic.h",
      "new_id": "4915294fea63a726cb901ec1799ed9e7bc4586f9",
      "new_mode": 33188,
      "new_path": "include/asm-m68k/atomic.h"
    },
    {
      "type": "modify",
      "old_id": "6c4e4b63e45454f018e5f3bfc599a506bcaa4827",
      "old_mode": 33188,
      "old_path": "include/asm-m68knommu/atomic.h",
      "new_id": "d5632a305dae8e992626dc7d79efc778805f5a51",
      "new_mode": 33188,
      "new_path": "include/asm-m68knommu/atomic.h"
    },
    {
      "type": "modify",
      "old_id": "6423ffa195a409f59b3d6a6881d1b1b866c29dbe",
      "old_mode": 33188,
      "old_path": "include/asm-mips/atomic.h",
      "new_id": "62daa746a9c9180101af1e566635778c36d1d269",
      "new_mode": 33188,
      "new_path": "include/asm-mips/atomic.h"
    },
    {
      "type": "modify",
      "old_id": "66a0edbb51f4cd3f67ec67d2398303785bc87143",
      "old_mode": 33188,
      "old_path": "include/asm-parisc/atomic.h",
      "new_id": "e894ee35074b05c0890692584ecf4c85bcc2128e",
      "new_mode": 33188,
      "new_path": "include/asm-parisc/atomic.h"
    },
    {
      "type": "modify",
      "old_id": "438a7fcfba58dfd0f0a95137b952d0c85c45e6b5",
      "old_mode": 33188,
      "old_path": "include/asm-powerpc/atomic.h",
      "new_id": "c44810b9d3224dbc54474b4a6cb7eab5a2a9af3d",
      "new_mode": 33188,
      "new_path": "include/asm-powerpc/atomic.h"
    },
    {
      "type": "modify",
      "old_id": "738943584c017547b765998214cdecb4db235397",
      "old_mode": 33188,
      "old_path": "include/asm-ppc/system.h",
      "new_id": "56abe5e9e15519d4401fa230d708d7f6050865af",
      "new_mode": 33188,
      "new_path": "include/asm-ppc/system.h"
    },
    {
      "type": "modify",
      "old_id": "c3feb3af2cfe2e453f310ab6645c6ad15a2ec73f",
      "old_mode": 33188,
      "old_path": "include/asm-sparc64/atomic.h",
      "new_id": "3fb4e1f7f186066d23962ee7c786cd5e7ad93bcd",
      "new_mode": 33188,
      "new_path": "include/asm-sparc64/atomic.h"
    },
    {
      "type": "modify",
      "old_id": "80e4fdbe220402f1551570736e6ccf5f2bfa43ba",
      "old_mode": 33188,
      "old_path": "include/asm-x86_64/atomic.h",
      "new_id": "19e0c607b568165be8fa468151b3efb27e158023",
      "new_mode": 33188,
      "new_path": "include/asm-x86_64/atomic.h"
    },
    {
      "type": "modify",
      "old_id": "5c2672021068670758d9d9d3d4f8ef30abaa5705",
      "old_mode": 33188,
      "old_path": "include/asm-xtensa/atomic.h",
      "new_id": "b3b23540f14d2c5087e4b8d09d519378e73e726a",
      "new_mode": 33188,
      "new_path": "include/asm-xtensa/atomic.h"
    }
  ]
}
