)]}'
{
  "commit": "83d7384f8d4aa216b49cf9cb286ea743054b119f",
  "tree": "9f56bf83bbbb0dc7056c3dd5e11b1d0ab0d4cefb",
  "parents": [
    "5fa3a246ea2e1be2ffaa01343bc183c8c0bfa472"
  ],
  "author": {
    "name": "Andres Salomon",
    "email": "dilinger@queued.net",
    "time": "Fri Oct 12 23:04:06 2007 +0200"
  },
  "committer": {
    "name": "Thomas Gleixner",
    "email": "tglx@inhelltoy.tec.linutronix.de",
    "time": "Fri Oct 12 23:04:06 2007 +0200"
  },
  "message": "x86: Geode Multi-Function General Purpose Timers support\n\nThis adds support for Multi-Function General Purpose Timers.  It detects the\navailable timers during southbridge init, and provides an API for allocating\nand setting the timers.  They\u0027re higher resolution than the standard PIT, so\nthe MFGPTs come in handy for quite a few things.\n\nNote that we never clobber the timers that the BIOS might have opted to use;\nwe just check for unused timers.\n\nSigned-off-by: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\nSigned-off-by: Andres Salomon \u003cdilinger@debian.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a57c1f216b2154d352b6b3fc9b94a1f47d2cf0b1",
      "old_mode": 33188,
      "old_path": "Documentation/kernel-parameters.txt",
      "new_id": "2128de6d80ea7ee09575d8d07bff2583790de2e1",
      "new_mode": 33188,
      "new_path": "Documentation/kernel-parameters.txt"
    },
    {
      "type": "modify",
      "old_id": "c624193740fde274a00f59e123b7667cdda71111",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/Makefile_32",
      "new_id": "10356443998e44396859ed9980da18377ea3687f",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/Makefile_32"
    },
    {
      "type": "modify",
      "old_id": "41e8aec4c61d4c940d1d0e9258109733ed3c35a2",
      "old_mode": 33188,
      "old_path": "arch/x86/kernel/geode_32.c",
      "new_id": "f12d8c5d98093b2abbe5231cb7304455622d027d",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/geode_32.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3a63a2dd8d2753036cd1d0725e06a412857547ae",
      "new_mode": 33188,
      "new_path": "arch/x86/kernel/mfgpt_32.c"
    },
    {
      "type": "modify",
      "old_id": "6da4bbbea3dc71cf023fb4079db62a9a2287edf2",
      "old_mode": 33188,
      "old_path": "include/asm-x86/geode.h",
      "new_id": "d94898831bac6d2e66ecaaa75972789841048bd5",
      "new_mode": 33188,
      "new_path": "include/asm-x86/geode.h"
    }
  ]
}
