)]}'
{
  "commit": "e3ebadd95cb621e2c7436f3d3646447ac9d5c16d",
  "tree": "510b41550cc3751cfb565e3e2ba195a68b784a03",
  "parents": [
    "15700770ef7c5d12e2f1659d2ddbeb3f658d9f37"
  ],
  "author": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Mon May 07 08:44:24 2007 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Mon May 07 08:44:24 2007 -0700"
  },
  "message": "Revert \"[PATCH] x86: __pa and __pa_symbol address space separation\"\n\nThis was broken.  It adds complexity, for no good reason.  Rather than\nseparate __pa() and __pa_symbol(), we should deprecate __pa_symbol(),\nand preferably __pa() too - and just use \"virt_to_phys()\" instead, which\nis more readable and has nicer semantics.\n\nHowever, right now, just undo the separation, and make __pa_symbol() be\nthe exact same as __pa().  That fixes the bugs this patch introduced,\nand we can do the fairly obvious cleanups later.\n\nDo the new __phys_addr() function (which is now the actual workhorse for\nthe unified __pa()/__pa_symbol()) as a real external function, that way\nall the potential issues with compile/link-time optimizations of\nconstant symbol addresses go away, and we can also, if we choose to, add\nmore sanity-checking of the argument.\n\nCc: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e5cec6685cc518ebe490d83402a21eac40cf38ee",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/alternative.c",
      "new_id": "d8cda14fff8bc4713f41a15a0193cb935550c602",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/alternative.c"
    },
    {
      "type": "modify",
      "old_id": "dbe16f63a5664d551f5f3d9e59383b7328e5996a",
      "old_mode": 33188,
      "old_path": "arch/i386/mm/init.c",
      "new_id": "1a7197e89eb4ce5e39cbf4eb9fa8ac72dfd7697f",
      "new_mode": 33188,
      "new_path": "arch/i386/mm/init.c"
    },
    {
      "type": "modify",
      "old_id": "a8bb33c1a8f233b000b9cffb8d443b73c5dc7b08",
      "old_mode": 33188,
      "old_path": "arch/x86_64/kernel/machine_kexec.c",
      "new_id": "c3a554703672ec5097ab52d5a981d3e809bd606c",
      "new_mode": 33188,
      "new_path": "arch/x86_64/kernel/machine_kexec.c"
    },
    {
      "type": "modify",
      "old_id": "db30b5bcef610d87022f25365a0c7a2e1a42249b",
      "old_mode": 33188,
      "old_path": "arch/x86_64/kernel/setup.c",
      "new_id": "db51577bda32dfc112566b5551fdc6223ec0f1e3",
      "new_mode": 33188,
      "new_path": "arch/x86_64/kernel/setup.c"
    },
    {
      "type": "modify",
      "old_id": "22abae4e9f39c1fc9ba24adebd7edd8acc8cd3ec",
      "old_mode": 33188,
      "old_path": "arch/x86_64/kernel/smp.c",
      "new_id": "bd1d123947ce9662f363f5e6d551d468361db49e",
      "new_mode": 33188,
      "new_path": "arch/x86_64/kernel/smp.c"
    },
    {
      "type": "modify",
      "old_id": "282b0a8f00adbec6331d46368ac9a322bff9c153",
      "old_mode": 33188,
      "old_path": "arch/x86_64/mm/init.c",
      "new_id": "c0822683b916215e8fe14b4c544dc6f05870e5d9",
      "new_mode": 33188,
      "new_path": "arch/x86_64/mm/init.c"
    },
    {
      "type": "modify",
      "old_id": "c6e5e8d401a490ab4fe25cf0a850f8cbc84d76a2",
      "old_mode": 33188,
      "old_path": "arch/x86_64/mm/ioremap.c",
      "new_id": "6cac90aa5032aac3900c0756e669871309a2b8f4",
      "new_mode": 33188,
      "new_path": "arch/x86_64/mm/ioremap.c"
    },
    {
      "type": "modify",
      "old_id": "bf4aa8dd425469bd31baeffd9a1a51ab928ae4f5",
      "old_mode": 33188,
      "old_path": "arch/x86_64/mm/pageattr.c",
      "new_id": "d653d0bf3df699c82a238b92aa71b1a8e8a2bb2a",
      "new_mode": 33188,
      "new_path": "arch/x86_64/mm/pageattr.c"
    },
    {
      "type": "modify",
      "old_id": "b17fc16ec2eb70395a2f37d4445018310cabfb02",
      "old_mode": 33188,
      "old_path": "include/asm-x86_64/page.h",
      "new_id": "4d04e2479569e64963f27f4bf5d2f44fe186238b",
      "new_mode": 33188,
      "new_path": "include/asm-x86_64/page.h"
    },
    {
      "type": "modify",
      "old_id": "599993f6ba8452f3cc5b3bacde04e03a6489d412",
      "old_mode": 33188,
      "old_path": "include/asm-x86_64/pgtable.h",
      "new_id": "da3390faaea64773af638aa12c5fdbc231206423",
      "new_mode": 33188,
      "new_path": "include/asm-x86_64/pgtable.h"
    }
  ]
}
