)]}'
{
  "log": [
    {
      "commit": "5030718ee465c759c2a851851e79039f58b9efb3",
      "tree": "dedfe6c7866cf19e3555662ceaa8782454e9338c",
      "parents": [
        "ee6583f6e8f8dad4a53985dbabcd7c242d66a6b6"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Mon May 17 14:25:14 2010 -0400"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue May 18 15:00:25 2010 -0700"
      },
      "message": "PCI: output FW warning in pci_read/write_vpd\n\npci_read/write_vpd() can fail due to a timeout.  Usually the command\ntimes out because of firmware issues (incorrect vpd length, etc.) on the\nPCI card.  Currently, the timeout occurs silently.\n\nOutput a message to the user indicating that they should check with\ntheir vendor for new firmware.\n\nReviewed-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "511dd98ce8cf6dc4f8f2cb32a8af31ce9f4ba4a1",
      "tree": "2f95b0d3b64084bf66d605bd2aeecaa69f975122",
      "parents": [
        "52b265a12768b9a72679bec825eb82c784116464"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 17 14:35:19 2010 +0000"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue May 11 12:01:09 2010 -0700"
      },
      "message": "PCI: Convert pci_lock to raw_spinlock\n\npci_lock must be a real spinlock in preempt-rt. Convert it to\nraw_spinlock. No change for !RT kernels.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "a72b46c3849cdb05993015991bde548ab8b6d7ac",
      "tree": "a782d4ab9c217792c9a8cefe48db9aebc0734dbe",
      "parents": [
        "1eb3948716f68bdb71509d0175765295f1aca23d"
      ],
      "author": {
        "name": "Huang Ying",
        "email": "ying.huang@intel.com",
        "time": "Fri Apr 24 10:45:17 2009 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Jun 16 14:29:33 2009 -0700"
      },
      "message": "PCI: Add pci_bus_set_ops\n\npci_bus_set_ops changes pci_ops associated with a pci_bus. This can be\nused by debug tools such as PCIE AER error injection to fake some PCI\nconfiguration registers.\n\nAcked-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Huang Ying \u003cying.huang@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "cffb2fafb726c898fec1c5ae33717741f94fda83",
      "tree": "eba298bb6cdd5b4dce0d5ebc0598f3b2b3f378ed",
      "parents": [
        "681bf597215c62bd6f5ae1180a58a38997122b5b"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Apr 10 15:17:50 2009 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Apr 22 14:49:33 2009 -0700"
      },
      "message": "docbooks: add/fix PCI kernel-doc\n\nAdd drivers/pci/*.c source files to DocBook/kernel-api.tmpl\nand update those pci/*.c source files that need kernel-doc fixes.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "d407e32efe060afa2b9a797a91376ebc65b4ce11",
      "tree": "1682f83e39406bd3e261bc2e20dfed38679a3f5b",
      "parents": [
        "548cbdc858bb81d72fbcb91a196069559b2b4684"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Wed Apr 01 02:23:41 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:05:38 2009 -0700"
      },
      "message": "PCI: Fix oops in pci_vpd_truncate\n\npci_vpd_truncate() should check for dev-\u003evpd-\u003eattr, otherwise this might\nhappen:\n\n  sky2 driver version 1.22\n  Unable to handle kernel paging request for data at address 0x0000000c\n  Faulting instruction address: 0xc01836fc\n  Oops: Kernel access of bad area, sig: 11 [#1]\n  [...]\n  NIP [c01836fc] pci_vpd_truncate+0x38/0x40\n  LR [c029be18] sky2_probe+0x14c/0x518\n  Call Trace:\n  [ef82bde0] [c029bda4] sky2_probe+0xd8/0x518 (unreliable)\n  [ef82be20] [c018a11c] local_pci_probe+0x24/0x34\n  [ef82be30] [c018a14c] pci_call_probe+0x20/0x30\n  [ef82be50] [c018a330] __pci_device_probe+0x64/0x78\n  [ef82be60] [c018a44c] pci_device_probe+0x30/0x58\n  [ef82be80] [c01aa270] really_probe+0x78/0x1a0\n  [ef82bea0] [c01aa460] __driver_attach+0xa4/0xa8\n  [ef82bec0] [c01a96ac] bus_for_each_dev+0x60/0x9c\n  [ef82bef0] [c01aa0b4] driver_attach+0x24/0x34\n  [ef82bf00] [c01a9e08] bus_add_driver+0x12c/0x1cc\n  [ef82bf20] [c01aa87c] driver_register+0x6c/0x110\n  [ef82bf30] [c018a770] __pci_register_driver+0x4c/0x9c\n  [ef82bf50] [c03782c8] sky2_init_module+0x30/0x40\n  [ef82bf60] [c0001dbc] do_one_initcall+0x34/0x1a0\n  [ef82bfd0] [c0362240] do_initcalls+0x38/0x58\n\nThis happens with CONFIG_SKY2\u003dy, and \"ip\u003don\" kernel command line, so\npci_vpd_truncate() is called before late_initcall(pci_sysfs_init),\ntherefore -\u003eattr isn\u0027t yet initialized.\n\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "db5679437a2b938c9127480a3923633721583a4f",
      "tree": "b2625345baa35490104b81fc1c7bd8ef6bb74100",
      "parents": [
        "287d19ce2e67c15e79a187b3bdcbbea1a0a51a7d"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Dec 18 09:17:16 2008 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:18 2009 -0800"
      },
      "message": "PCI: add interface to set visible size of VPD\n\nThe VPD on all devices may not be 32K. Unfortunately, there is no\ngeneric way to find the size, so this adds a simple API hook\nto reset it.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "287d19ce2e67c15e79a187b3bdcbbea1a0a51a7d",
      "tree": "128d9c67557a4fe5e5e910b8ca2d50aedee31b7c",
      "parents": [
        "1120f8b8169fb2cb51219d326892d963e762edb6"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Dec 18 09:17:16 2008 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:17 2009 -0800"
      },
      "message": "PCI: revise VPD access interface\n\nChange PCI VPD API which was only used by sysfs to something usable\nin drivers.\n   * move iteration over multiple words to the low level\n   * use conventional types for arguments\n   * add exportable wrapper\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "1120f8b8169fb2cb51219d326892d963e762edb6",
      "tree": "8ee86fe0b3dffa0ebff4406f1470092c4df84f25",
      "parents": [
        "904d6a303361a85bfa4c8181ef62a24edb8da0a8"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Dec 18 09:17:16 2008 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:16 2009 -0800"
      },
      "message": "PCI: handle long delays in VPD access\n\nAccessing the VPD area can take a long time.  The existing\nVPD access code fails consistently on my hardware. There are comments\nin the SysKonnect vendor driver that it can take up to 13ms per word.\n\nChange the access routines to:\n  * use a mutex rather than spinning with IRQ\u0027s disabled and lock held\n  * have a much longer timeout\n  * call cond_resched while spinning\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nReviewed-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "99cb233d60cbe644203f19938c729ea2bb004d70",
      "tree": "20fb5b9194982ff50d6795dc435dd8e09264233e",
      "parents": [
        "a94c248113b86bbbc47d027a4004b70f2be298b1"
      ],
      "author": {
        "name": "Benjamin Li",
        "email": "benli@broadcom.com",
        "time": "Wed Jul 02 10:59:04 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jul 02 11:25:54 2008 -0700"
      },
      "message": "PCI: Limit VPD read/write lengths for Broadcom 5706, 5708, 5709 rev.\n\nFor Broadcom 5706, 5708, 5709 rev. A nics, any read beyond the\nVPD end tag will hang the device.  This problem was initially\nobserved when a vpd entry was created in sysfs\n(\u0027/sys/bus/pci/devices/\u003cid\u003e/vpd\u0027).   A read to this sysfs entry\nwill dump 32k of data.  Reading a full 32k will cause an access\nbeyond the VPD end tag causing the device to hang.  Once the device\nis hung, the bnx2 driver will not be able to reset the device.\nWe believe that it is legal to read beyond the end tag and\ntherefore the solution is to limit the read/write length.\n\nA majority of this patch is from Matthew Wilcox who gave code for\nreworking the PCI vpd size information.  A PCI quirk added for the\nBroadcom NIC\u0027s to limit the read/write\u0027s.\n\nSigned-off-by: Benjamin Li \u003cbenli@broadcom.com\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "94e6108803469a37ee1e3c92dafdd1d59298602f",
      "tree": "7f3ee30721411cca238f8eea5971d5bebbb70a55",
      "parents": [
        "5e0d2a6fc094a9b5047998deefeb1254c66856ee"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Wed Mar 05 16:52:39 2008 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Apr 20 21:47:07 2008 -0700"
      },
      "message": "PCI: Expose PCI VPD through sysfs\n\nVital Product Data (VPD) may be exposed by PCI devices in several\nways.  It is generally unsafe to read this information through the\nexisting interfaces to user-land because of stateful interfaces.\n\nThis adds:\n- abstract operations for VPD access (struct pci_vpd_ops)\n- VPD state information in struct pci_dev (struct pci_vpd)\n- an implementation of the VPD access method specified in PCI 2.2\n  (in access.c)\n- a \u0027vpd\u0027 binary file in sysfs directories for PCI devices with VPD\n  operations defined\n\nIt adds a probe for PCI 2.2 VPD in pci_scan_device() and release of\nVPD state in pci_release_dev().\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f6a570333e554b48ad589e7137c77c57809eee81",
      "tree": "68dd6d5c8fe537a19a84a4189202f5cf70925c17",
      "parents": [
        "2b5f6dcce5bf94b9b119e9ed8d537098ec61c3d2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Oct 18 01:47:25 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 04 02:00:22 2006 -0500"
      },
      "message": "[PATCH] severing module.h-\u003esched.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7ea7e98fd8d02351c43ef4ab35d70f3aaa26c31d",
      "tree": "cb37b18402c2b82cc227ad6bd1ab3d57cf677ff3",
      "parents": [
        "50bf14b3ff05fb6e10688021b96f95d30a300f8d"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Thu Oct 19 09:41:28 2006 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 01 14:36:58 2006 -0800"
      },
      "message": "PCI: Block on access to temporarily unavailable pci device\n\nThe existing implementation of pci_block_user_cfg_access() was recently\ncriticised for providing out of date information and for returning errors\non write, which applications won\u0027t be expecting.\n\nThis reimplementation uses a global wait queue and a bit per device.\nI\u0027ve open-coded prepare_to_wait() / finish_wait() as I could optimise\nit significantly by knowing that the pci_lock protected us at all points.\n\nIt looked a bit funny to be doing a spin_unlock_irqsave(); schedule(),\nso I used spin_lock_irq() for the _user versions of pci_read_config and\npci_write_config.  Not carrying a flags pointer around made the code\nmuch less nasty.\n\nAttempts to block an already blocked device hit a BUG() and attempts to\nunblock an already unblocked device hit a WARN().  If we need to block\naccess to a device from userspace, it\u0027s because it\u0027s unsafe for even\nanother bit of the kernel to access the device.  An attempt to block\na device for a second time means we\u0027re about to access the device to\nperform some other operation, which could provoke undefined behaviour\nfrom the device.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nAcked-by: Adam Belay \u003cabelay@novell.com\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "48b19148733b4826eeedfd8be9f19b61c8d010b1",
      "tree": "808f72f581b3076fd2474baa2ecc8cd0c9f42461",
      "parents": [
        "26205e026cf2b3bb039d6169978ae520973f4141"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sun Nov 06 01:45:08 2005 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Nov 10 16:09:18 2005 -0800"
      },
      "message": "[PATCH] PCI: drivers/pci/: small cleanups\n\nThis patch contains the following cleanups:\n- access.c should #include \"pci.h\" for getting the prototypes of it\u0027s\n  global functions\n- hotplug/shpchp_pci.c: make the needlessly global function\n  program_fw_provided_values() static\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "e04b0ea2e0f9c1bb0d874db4493fc7f7a623116b",
      "tree": "75937e50de883f69e906a4c8bc9f119d86c14411",
      "parents": [
        "2cea752f683af1be58ee8f25717c0a8118e0ac5b"
      ],
      "author": {
        "name": "Brian King",
        "email": "brking@us.ibm.com",
        "time": "Tue Sep 27 01:21:55 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 15:36:58 2005 -0700"
      },
      "message": "[PATCH] PCI: Block config access during BIST\n\nSome PCI adapters (eg.  ipr scsi adapters) have an exposure today in that they\nissue BIST to the adapter to reset the card.  If, during the time it takes to\ncomplete BIST, userspace attempts to access PCI config space, the host bus\nbridge will master abort the access since the ipr adapter does not respond on\nthe PCI bus for a brief period of time when running BIST.  On PPC64 hardware,\nthis master abort results in the host PCI bridge isolating that PCI device\nfrom the rest of the system, making the device unusable until Linux is\nrebooted.  This patch is an attempt to close that exposure by introducing some\nblocking code in the PCI code.  When blocked, writes will be humored and reads\nwill return the cached value.  Ben Herrenschmidt has also mentioned that he\nplans to use this in PPC power management.\n\nSigned-off-by: Brian King \u003cbrking@us.ibm.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n drivers/pci/access.c    |   89 ++++++++++++++++++++++++++++++++++++++++++++++++\n drivers/pci/pci-sysfs.c |   20 +++++-----\n drivers/pci/pci.h       |    7 +++\n drivers/pci/proc.c      |   28 +++++++--------\n drivers/pci/syscall.c   |   14 +++----\n include/linux/pci.h     |    7 +++\n 6 files changed, 134 insertions(+), 31 deletions(-)\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
