)]}'
{
  "log": [
    {
      "commit": "47aa5793f78c274d51711f6a621fa6b02d4e6402",
      "tree": "88c45b3a90fc7d7b4210bf5727497294b0a951eb",
      "parents": [
        "f79f060561d04a38d41e773ade9baafce3c96179"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 21 12:52:33 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:41 2008 -0700"
      },
      "message": "device create: char: convert device_create to device_create_drvdata\n\ndevice_create() is race-prone, so use the race-free\ndevice_create_drvdata() instead as device_create() is going away.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c43ef17450dce8cbf50f97497a1949ff8f484e88",
      "tree": "aac874601a18585a501496faea51ede3acc822f3",
      "parents": [
        "78a3c3d7c6b89085610edfe86f7790144afc737e"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Thu May 15 16:44:14 2008 -0600"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Fri Jun 20 14:05:50 2008 -0600"
      },
      "message": "snsc: cdev lock_kernel() pushdown\n\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "bf9d89295233ae2ba7b312c78ee5657307b09f4c",
      "tree": "3da2fbcd93937bfa1907a893dc0d418c78f3d37b",
      "parents": [
        "8e24eea728068bbeb6a3c500b848f883a20bf225"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Apr 30 00:55:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 30 08:29:54 2008 -0700"
      },
      "message": "drivers/char: replace remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc-specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07c015e7654821f2dda00dcf152c65b2afd46ac3",
      "tree": "b3dde3f71ab3a36c0a2b438b58a57e08cbcb06d8",
      "parents": [
        "60043428a561a5d431ad479b7ecb79805ed04efc"
      ],
      "author": {
        "name": "tonyj@suse.de",
        "email": "tonyj@suse.de",
        "time": "Tue Aug 07 22:28:44 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:04 2007 -0700"
      },
      "message": "Convert from class_device to device in drivers/char\n\nConvert from class_device to device in drivers/char.\n\nSigned-off-by: Tony Jones \u003ctonyj@suse.de\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "7d12e780e003f93433d49ce78cfedf4b4c52adc5",
      "tree": "6748550400445c11a306b132009f3001e3525df8",
      "parents": [
        "da482792a6d1a3fbaaa25fae867b343fb4db3246"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 05 14:55:46 2006 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Thu Oct 05 15:10:12 2006 +0100"
      },
      "message": "IRQ: Maintain regs pointer globally rather than passing to IRQ handlers\n\nMaintain a per-CPU global \"struct pt_regs *\" variable which can be used instead\nof passing regs around manually through all ~1800 interrupt handlers in the\nLinux kernel.\n\nThe regs pointer is used in few places, but it potentially costs both stack\nspace and code to pass it around.  On the FRV arch, removing the regs parameter\nfrom all the genirq function results in a 20% speed up of the IRQ exit path\n(ie: from leaving timer_interrupt() to leaving do_IRQ()).\n\nWhere appropriate, an arch may override the generic storage facility and do\nsomething different with the variable.  On FRV, for instance, the address is\nmaintained in GR28 at all times inside the kernel as part of general exception\nhandling.\n\nHaving looked over the code, it appears that the parameter may be handed down\nthrough up to twenty or so layers of functions.  Consider a USB character\ndevice attached to a USB hub, attached to a USB controller that posts its\ninterrupts through a cascaded auxiliary interrupt controller.  A character\ndevice driver may want to pass regs to the sysrq handler through the input\nlayer which adds another few layers of parameter passing.\n\nI\u0027ve build this code with allyesconfig for x86_64 and i386.  I\u0027ve runtested the\nmain part of the code on FRV and i386, though I can\u0027t test most of the drivers.\nI\u0027ve also done partial conversion for powerpc and MIPS - these at least compile\nwith minimal configurations.\n\nThis will affect all archs.  Mostly the changes should be relatively easy.\nTake do_IRQ(), store the regs pointer at the beginning, saving the old one:\n\n\tstruct pt_regs *old_regs \u003d set_irq_regs(regs);\n\nAnd put the old one back at the end:\n\n\tset_irq_regs(old_regs);\n\nDon\u0027t pass regs through to generic_handle_irq() or __do_IRQ().\n\nIn timer_interrupt(), this sort of change will be necessary:\n\n\t-\tupdate_process_times(user_mode(regs));\n\t-\tprofile_tick(CPU_PROFILING, regs);\n\t+\tupdate_process_times(user_mode(get_irq_regs()));\n\t+\tprofile_tick(CPU_PROFILING);\n\nI\u0027d like to move update_process_times()\u0027s use of get_irq_regs() into itself,\nexcept that i386, alone of the archs, uses something other than user_mode().\n\nSome notes on the interrupt handling in the drivers:\n\n (*) input_dev() is now gone entirely.  The regs pointer is no longer stored in\n     the input_dev struct.\n\n (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking.  It does\n     something different depending on whether it\u0027s been supplied with a regs\n     pointer or not.\n\n (*) Various IRQ handler function pointers have been moved to type\n     irq_handler_t.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n(cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)\n"
    },
    {
      "commit": "c7c17423b9ea3c5559cfb480a00844f1df9eed06",
      "tree": "5f50f263dff32369da1d14a1127f55ec141e28d4",
      "parents": [
        "e037cda559547e6353c5a792802963572d0b750e"
      ],
      "author": {
        "name": "Greg Edwards",
        "email": "edwardsg@sgi.com",
        "time": "Fri Jul 28 10:03:55 2006 -0500"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Wed Aug 02 16:07:55 2006 -0700"
      },
      "message": "[IA64] add platform check to snsc driver init\n\nAdd a platform check to the snsc driver init function, to prevent\nloading on non-sn2 systems.\n\nSigned-off-by: Greg Edwards \u003cedwardsg@sgi.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "62322d2554d2f9680c8ace7bbf1f97d8fa84ad1a",
      "tree": "904f8b8354a4079cc1daaa355fe30200dcae9dc9",
      "parents": [
        "d459ec0baa5d22e111dfb139c46d6d788a9eac20"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Mon Jul 03 00:24:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:26:59 2006 -0700"
      },
      "message": "[PATCH] make more file_operation structs static\n\nMark the static struct file_operations in drivers/char as const.  Making\nthem const prevents accidental bugs, and moves them to the .rodata section\nso that they no longer do any false sharing; in addition with the proper\ndebug option they are then protected against corruption..\n\n[akpm@osdl.org: build fix]\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0f2ed4c6bae23d2b7ef0ea2d272377e3de700c0c",
      "tree": "94a24c9209eb97027e7035b2790a1592d4b2c40c",
      "parents": [
        "69ab3912d1b4dbf27ea1a383cb5731251fc0e109"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 01 19:29:33 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jul 02 13:58:49 2006 -0700"
      },
      "message": "[PATCH] irq-flags: drivers/char: Use the new IRQF_ constants\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8c4335a87c9785d2102ab23f09393038e1663314",
      "tree": "ba1a2301512c4c22336f5cdaf18154a295b898d6",
      "parents": [
        "5b20192727ef2c047343a043ee4fbda67e2beef4"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Sat Apr 22 02:36:15 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Apr 22 09:19:53 2006 -0700"
      },
      "message": "[PATCH] Altix snsc: duplicate kobject fix\n\nfrom: Greg Howard \u003cghoward@sgi.com\u003e\n\nFix Altix system controller (snsc) device names to include the slot number\nof the blade whose associated system controller is the target of the device\ninterface.  Including the slot number avoids a problem we\u0027re currently\nhaving where slots within the same enclosure are attempting to create\nmultiple kobjects with identical names.\n\nSigned-off-by: Greg Howard \u003cghoward@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "40953ed87dd68742de0dd1bdecdcdfebfe1d69ae",
      "tree": "c5faa3efe1e3f8381d5d8674f068556abb9400d8",
      "parents": [
        "6b9438e1323a2be10dcc039f6321e7ca18b9459e"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Thu Mar 23 03:00:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:15 2006 -0800"
      },
      "message": "[PATCH] snsc kmalloc2kzalloc\n\nChange driver to use kzalloc rather than kmalloc+memset\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8a212ab6b8a4ccc6f3c3d1beba5f92655c576404",
      "tree": "525271129ff9c692defdd20566f1f7203b18ff24",
      "parents": [
        "1f419cadff55f548e7356ffebdb9e1b5a8c22275",
        "0e1f60609258e18ec0a0477c646101212822d387"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 21:09:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 28 21:09:26 2005 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n"
    },
    {
      "commit": "53f4654272df7c51064825024340554b39c9efba",
      "tree": "e3e7b82a6bb0040ffbd267b250be2720704b98f2",
      "parents": [
        "51d172d5f3a193e4b8f76179b2e55d7a36b94117"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 27 22:25:43 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 28 09:52:52 2005 -0700"
      },
      "message": "[PATCH] Driver Core: fix up all callers of class_device_create()\n\nThe previous patch adding the ability to nest struct class_device\nchanged the paramaters to the call class_device_create().  This patch\nfixes up all in-kernel users of the function.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "24ee0a6d7b0a52b140c880aae24c255de3b4a9a1",
      "tree": "b57e06db620c9de7143baa58fc24a36ac24d5a79",
      "parents": [
        "1619cca2921f6927f4240e03f413d4165c7002fc"
      ],
      "author": {
        "name": "Jack Steiner",
        "email": "steiner@sgi.com",
        "time": "Mon Sep 12 12:15:43 2005 -0500"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Thu Sep 15 16:31:12 2005 -0700"
      },
      "message": "[IA64] Cleanup use of various #defines related to nodes\n\nSome of the SN code \u0026 #defines related to compact nodes \u0026 IO discovery\nhave gotten stale over the years. This patch attempts to clean them up.\nSome of the various SN MAX_xxx #defines were also unclear \u0026 misused.\n\nThe primary changes are:\n\n\t- use MAX_NUMNODES. This is the generic linux #define for the number\n\t  of nodes that are known to the generic kernel. Arrays \u0026 loops\n\t  for constructs that are 1:1 with linux-defined nodes should\n\t  use the linux #define - not an SN equivalent.\n\n\t- use MAX_COMPACT_NODES for MAX_NUMNODES + NUM_TIOS. This is the\n\t  number of nodes in the SSI system. Compact nodes are a hack to\n\t  get around the IA64 architectural limit of 256 nodes. Large SGI\n\t  systems have more than 256 nodes. When we upgrade to ACPI3.0,\n\t  I _hope_ that all nodes will be real nodes that are known to\n\t  the generic kernel. That will allow us to delete the notion\n\t  of \"compact nodes\".\n\n\t- add MAX_NUMALINK_NODES for the total number of nodes that\n\t  are in the numalink domain - all partitions.\n\n\t- simplified (understandable) scan_for_ionodes()\n\n\t- small amount of cleanup related to cnodes\n\nSigned-off-by: Jack Steiner \u003csteiner@sgi.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "12eac738e5889a10da5b391c02eeb61229c796dc",
      "tree": "f571bf26898e816d91f0a830a45a0dc6f781fc6e",
      "parents": [
        "0d3e5a2e39b6ba2974e9e7c2a429018c45de8e76"
      ],
      "author": {
        "name": "Jason Uhlenkott",
        "email": "jasonuhl@sgi.com",
        "time": "Wed Mar 30 13:19:54 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:27 2005 -0700"
      },
      "message": "[PATCH] Fix typo in scdrv_init()\n\nFix a typo in scdrv_init() which was breaking the build for SGI sn2.\n\nSigned-off-by: Jason Uhlenkott \u003cjasonuhl@sgi.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ca8eca6884861c1ce294b05aacfdf9045bba9aff",
      "tree": "d155207bb52a56683160aa192765a19d67161c01",
      "parents": [
        "deb3697037a7d362d13468a73643e09cbc1615a8"
      ],
      "author": {
        "name": "gregkh@suse.de",
        "email": "gregkh@suse.de",
        "time": "Wed Mar 23 09:53:09 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:08 2005 -0700"
      },
      "message": "[PATCH] class: convert drivers/char/* to use the new class api instead of class_simple\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "67639deb099c6085acc447c1b7d6a17792dedad0",
      "tree": "b9cdf0d92ff2c02e7ed182a93d7ea270ba752b10",
      "parents": [
        "b9e41d7fb62ae26adee84c18048037214ce5d866"
      ],
      "author": {
        "name": "Greg Howard",
        "email": "ghoward@sgi.com",
        "time": "Mon Apr 25 13:28:52 2005 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Mon Apr 25 13:28:52 2005 -0700"
      },
      "message": "[IA64] Altix system controller event handling\n\nThe following is an update of the patch I sent yesterday\n(3/9/05) incorporating suggestions from Christoph Hellwig and\nAndreas Schwab.  It allows Altix and Altix-like systems to\nhandle environmental events generated by the system controllers,\nand should apply on top of Jack Steiner\u0027s patch of 3/1/05 (\"New\nchipset support for SN platform\") and Mark Goodwin\u0027s patch of\n3/8/05 (\"Altix SN topology support for new chipsets and pci\ntopology\").\n\nSigned-off-by: Greg Howard \u003cghoward@sgi.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\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"
    }
  ]
}
