)]}'
{
  "log": [
    {
      "commit": "239007b8440abff689632f50cdf0f2b9e895b534",
      "tree": "569cab843af4a999d6d868ec9a824530d2bfa733",
      "parents": [
        "9f5a5621e78cf48d86682a71ceb3fcdbde38b222"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Nov 17 16:46:45 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Dec 14 23:55:33 2009 +0100"
      },
      "message": "genirq: Convert irq_desc.lock to raw_spinlock\n\nConvert locks which cannot be sleeping locks in preempt-rt to\nraw_spinlocks.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d014d043869cdc591f3a33243d3481fa4479c2d0",
      "tree": "63626829498e647ba058a1ce06419fe7e4d5f97d",
      "parents": [
        "6ec22f9b037fc0c2e00ddb7023fad279c365324d",
        "6070d81eb5f2d4943223c96e7609a53cdc984364"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Dec 07 18:36:35 2009 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Dec 07 18:36:35 2009 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\n\tkernel/irq/chip.c\n"
    },
    {
      "commit": "bb2166c898adb5fe29bc450004926802d2a16035",
      "tree": "dc0a1d1219ab7e7324fbca533676d9d3a6a02c56",
      "parents": [
        "0bf7969feae831ede7276f7cc73b586ce0902374",
        "34769945f7cd9ab470413ffe64426e3ad069f49e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Dec 05 09:53:08 2009 -0800"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  genirq: Fix spurious irq seqfile conversion\n  genirq: switch /proc/irq/*/spurious to seq_file\n  irq: Do not attempt to create subdirectories if /proc/irq/\u003cirq\u003e failed\n  irq: Remove unused debug_poll_all_shared_irqs()\n  irq: Fix docbook comments\n  irq: trivial: Fix typo in comment for #endif\n"
    },
    {
      "commit": "fbfecd3712f917ca210a55c157233d88b785896b",
      "tree": "d0c06649b45a583e8d39eb0a8e60440163ceb77c",
      "parents": [
        "bf48aabb894fd0639ab72a26e8abbd7683ef23c2"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Wed Oct 28 20:11:04 2009 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Fri Dec 04 15:39:51 2009 +0100"
      },
      "message": "tree-wide: fix typos \"couter\" -\u003e \"counter\"\n\nThis patch was generated by\n\n\tgit grep -E -i -l \u0027couter\u0027 | xargs -r perl -p -i -e \u0027s/couter/counter/\u0027\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "e7e7e0c084ef862d5754701108d4a038514d6314",
      "tree": "8f098ade05740e21e93767b657d7b0e6c90b588e",
      "parents": [
        "7c9abfb884b8737f0afdc8a88bcea77526f0da87"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang0@gmail.com",
        "time": "Sat Nov 07 11:16:13 2009 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Nov 07 21:44:45 2009 +0100"
      },
      "message": "genirq: try_one_irq() must be called with irq disabled\n\nPrarit reported:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: inconsistent lock state ]\n2.6.32-rc5 #1\n---------------------------------\ninconsistent {IN-HARDIRQ-W} -\u003e {HARDIRQ-ON-W} usage.\nswapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes:\n (\u0026irq_desc_lock_class){?.-...}, at: [\u003cffffffff810c264e\u003e] try_one_irq+0x32/0x138\n{IN-HARDIRQ-W} state was registered at:\n [\u003cffffffff81095160\u003e] __lock_acquire+0x2fc/0xd5d\n [\u003cffffffff81095cb4\u003e] lock_acquire+0xf3/0x12d\n [\u003cffffffff814cdadd\u003e] _spin_lock+0x40/0x89\n [\u003cffffffff810c3389\u003e] handle_level_irq+0x30/0x105\n [\u003cffffffff81014e0e\u003e] handle_irq+0x95/0xb7\n [\u003cffffffff810141bd\u003e] do_IRQ+0x6a/0xe0\n [\u003cffffffff81012813\u003e] ret_from_intr+0x0/0x16\nirq event stamp: 195096\nhardirqs last  enabled at (195096): [\u003cffffffff814cd7f7\u003e] _spin_unlock_irq+0x3a/0x5c\nhardirqs last disabled at (195095): [\u003cffffffff814cdbdd\u003e] _spin_lock_irq+0x29/0x95\nsoftirqs last  enabled at (195088): [\u003cffffffff81068c92\u003e] __do_softirq+0x1c1/0x1ef\nsoftirqs last disabled at (195093): [\u003cffffffff8101304c\u003e] call_softirq+0x1c/0x30\n\nother info that might help us debug this:\n1 lock held by swapper/0:\n #0:  (kernel/irq/spurious.c:21){+.-...}, at: [\u003cffffffff81070cf2\u003e]\nrun_timer_softirq+0x1a9/0x315\n\nstack backtrace:\nPid: 0, comm: swapper Not tainted 2.6.32-rc5 #1\nCall Trace:\n \u003cIRQ\u003e  [\u003cffffffff81093e94\u003e] valid_state+0x187/0x1ae\n [\u003cffffffff81093fe4\u003e] mark_lock+0x129/0x253\n [\u003cffffffff810951d4\u003e] __lock_acquire+0x370/0xd5d\n [\u003cffffffff81095cb4\u003e] lock_acquire+0xf3/0x12d\n [\u003cffffffff814cdadd\u003e] _spin_lock+0x40/0x89\n [\u003cffffffff810c264e\u003e] try_one_irq+0x32/0x138\n [\u003cffffffff810c2795\u003e] poll_all_shared_irqs+0x41/0x6d\n [\u003cffffffff810c27dd\u003e] poll_spurious_irqs+0x1c/0x49\n [\u003cffffffff81070d82\u003e] run_timer_softirq+0x239/0x315\n [\u003cffffffff81068bd3\u003e] __do_softirq+0x102/0x1ef\n [\u003cffffffff8101304c\u003e] call_softirq+0x1c/0x30\n [\u003cffffffff81014b65\u003e] do_softirq+0x59/0xca\n [\u003cffffffff810686ad\u003e] irq_exit+0x58/0xae\n [\u003cffffffff81029b84\u003e] smp_apic_timer_interrupt+0x94/0xba\n [\u003cffffffff81012a33\u003e] apic_timer_interrupt+0x13/0x20\n\nThe reason is that try_one_irq() is called from hardirq context with\ninterrupts disabled and from softirq context (poll_all_shared_irqs())\nwith interrupts enabled.\n\nDisable interrupts before calling it from poll_all_shared_irqs().\n\nReported-and-tested-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nLKML-Reference: \u003c1257563773-4620-1-git-send-email-yong.zhang0@gmail.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "663e69592856df53ef52969482ef413a96bc4e06",
      "tree": "7866ab9917d0f4a676b59b37d6e28f354d009872",
      "parents": [
        "24b26d4211130b6455692804c14d537158855cd7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 04 14:22:21 2009 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Nov 04 14:22:21 2009 +0100"
      },
      "message": "irq: Remove unused debug_poll_all_shared_irqs()\n\ncommit 74296a8ed added this function for debug purposes, but it was\nnever used for anything. Remove it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "990a55eb25d9698d61352264cc43f3a9c04cce90",
      "tree": "60a9c0f0ebbc29f03967c5259b8b2f86b74175ca",
      "parents": [
        "c71320d0c445e01555a86fa6523609db47eeaef6"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Fri Jul 31 00:02:06 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Aug 04 17:00:11 2009 +0200"
      },
      "message": "irq: Clean up by removing irqfixup MODULE_PARM_DESC()\n\nIt\u0027s wrong (the parm takes no arguments) and compile-time wiped\naway anyway (due to !MODULE).\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nLKML-Reference: \u003c1248991326-26267-1-git-send-email-jirislaby@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "74296a8ed6aa3c5bf672808ada690de7ba323ecc",
      "tree": "baf9aa0f86e27d33dff0c4d0e33774fe80c908bc",
      "parents": [
        "5a2dd72abdae75ea2960145e0549635ce4e0be96"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 16 17:43:50 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 16 17:46:49 2009 +0100"
      },
      "message": "irq: provide debug_poll_all_shared_irqs() method under CONFIG_DEBUG_SHIRQ\n\nProvide a shared interrupt debug facility under CONFIG_DEBUG_SHIRQ:\nit uses the existing irqpoll facilities to iterate through all\nregistered interrupt handlers and call those which can handle shared\nIRQ lines.\n\nThis can be handy for suspend/resume debugging: if we call this function\nearly during resume we can trigger crashes in those drivers which have\nincorrect assumptions about when exactly their ISRs will be called\nduring suspend/resume.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "18eefedfe8ad33e8fc7614c13359e29a9fab4644",
      "tree": "e0b7c801c27a3933137e7e4056a3bca3c3244744",
      "parents": [
        "26ddd8d5cac8a563953d5febe8c6e40909f7bce1"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Fri Dec 26 12:29:48 2008 +0900"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Dec 26 09:48:18 2008 +0100"
      },
      "message": "irq: simplify for_each_irq_desc() usage\n\nImpact: cleanup\n\nall for_each_irq_desc() usage point have !desc check.\nthen its check can move into for_each_irq_desc() macro.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nAcked-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0b8f1efad30bd58f89961b82dfe68b9edf8fd2ac",
      "tree": "239251bad791fd60af8c0f2ba365b7188395c83f",
      "parents": [
        "218d11a8b071b23b76c484fd5f72a4fe3306801e"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Dec 05 18:58:31 2008 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Dec 08 14:31:51 2008 +0100"
      },
      "message": "sparse irq_desc[] array: core kernel and x86 changes\n\nImpact: new feature\n\nProblem on distro kernels: irq_desc[NR_IRQS] takes megabytes of RAM with\nNR_CPUS set to large values. The goal is to be able to scale up to much\nlarger NR_IRQS value without impacting the (important) common case.\n\nTo solve this, we generalize irq_desc[NR_IRQS] to an (optional) array of\nirq_desc pointers.\n\nWhen CONFIG_SPARSE_IRQ\u003dy is used, we use kzalloc_node to get irq_desc,\nthis also makes the IRQ descriptors NUMA-local (to the site that calls\nrequest_irq()).\n\nThis gets rid of the irq_cfg[] static array on x86 as well: irq_cfg now\nuses desc-\u003echip_data for x86 to store irq_cfg.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d3c60047bdb03199b93497ac40bd531315d43a86",
      "tree": "858b74f422b1c79be54d2050d23c51999d312566",
      "parents": [
        "a1aca5de08a0cb840a90fb3f729a5940f8d21185"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Oct 16 09:55:00 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:53:29 2008 +0200"
      },
      "message": "genirq: cleanup the sparseirq modifications\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e00585bb7fc3d0b601181b765a254df7ff4ea59b",
      "tree": "731d07071f04f54fbf4269912524455e54002858",
      "parents": [
        "56ffa1a028b9fce3860a247c6fe79fce7cbf425b"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Mon Sep 15 01:53:50 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:53:10 2008 +0200"
      },
      "message": "irq: fix irqpoll \u0026\u0026 sparseirq\n\nSteven Noonan reported a boot hang when using irqpoll and\nCONFIG_HAVE_SPARSE_IRQ\u003dy.\n\nThe irqpoll loop needs to be updated to not iterate from 1 to nr_irqs\nbut to iterate via for_each_irq_desc(). (in the former case desc can\nbe NULL which crashes the box)\n\nReported-by: Steven Noonan \u003csteven@uplinklabs.net\u003e\nTested-by: Steven Noonan \u003csteven@uplinklabs.net\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "08678b0841267c1d00d771fe01548d86043d065e",
      "tree": "7debb21f9e9a768ced43077f7376797a0c46f8c0",
      "parents": [
        "bfea1238beac9d306eeac081c67de5ca6aec4c7a"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:50:05 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:29 2008 +0200"
      },
      "message": "generic: sparse irqs: use irq_desc() together with dyn_array, instead of irq_desc[]\n\nadd CONFIG_HAVE_SPARSE_IRQ to for use condensed array.\nGet rid of irq_desc[] array assumptions.\n\nPreallocate 32 irq_desc, and irq_desc() will try to get more.\n\n( No change in functionality is expected anywhere, except the odd build\n  failure where we missed a code site or where a crossing commit itroduces\n  new irq_desc[] usage. )\n\nv2: according to Eric, change get_irq_desc() to irq_desc()\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "85c0f90978bf50596dbd23854648020f1f9b5bfd",
      "tree": "f66c598bb37b925dd6c74e4ce1fb06345c742c01",
      "parents": [
        "6da55c3e8da88e8a7cb6452160776ad6706798ad"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yhlu.kernel@gmail.com",
        "time": "Tue Aug 19 20:49:47 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Oct 16 16:52:05 2008 +0200"
      },
      "message": "irq: introduce nr_irqs\n\nat this point nr_irqs is equal NR_IRQS\n\nconvert a few easy users from NR_IRQS to dynamic nr_irqs.\n\nv2: according to Eric, we need to take care of arch without generic_hardirqs\n\nSigned-off-by: Yinghai Lu \u003cyhlu.kernel@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "f84dbb912f344270f31d5cce974f12908a47798d",
      "tree": "0eb8543dc2f9455decd0c69f07d40f03e1868932",
      "parents": [
        "5b664cb235e97afbf34db9c4d77f08ebd725335e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Jul 10 14:48:54 2008 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jul 18 19:21:13 2008 +0200"
      },
      "message": "genirq: enable polling for disabled screaming irqs\n\nWhen we disable a screaming irq we never see it again.  If the irq\nline is shared or if the driver half works this is a real pain.  So\nperiodically poll the handlers for screaming interrupts.\n\nI use a timer instead of the classic irq poll technique of working off\nthe timer interrupt because when we use the local apic timers\nnote_interrupt is never called (bug?).  Further on a system with\ndynamic ticks the timer interrupt might not even fire unless there is\na timer telling it it needs to.\n\nI forced this case on my test system with an e1000 nic and my ssh\nsession remained responsive despite the interrupt handler only being\ncalled every 10th of a second.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "1adb0850a1254333d81e64121c80af100c6d6e06",
      "tree": "61835b06e78eb6f556c038ceabc706440f339d3a",
      "parents": [
        "886c35fbcf6fb2eee15687efc2d64d99b6ad9a4a"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Apr 28 17:01:56 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 02 13:40:34 2008 +0200"
      },
      "message": "genirq: reenable a nobody cared disabled irq when a new driver arrives\n\nUwe Kleine-Koenig has some strange hardware where one of the shared\ninterrupts can be asserted during boot before the appropriate driver\nloads. Requesting the shared irq line from another driver result in a\nspurious interrupt storm which finally disables the interrupt line.\n\nI have seen similar behaviour on resume before (the hardware does not\nwork anymore so I can not verify).\n\nChange the spurious disable logic to increment the disable depth and\nmark the interrupt with an extra flag which allows us to reenable the\ninterrupt when a new driver arrives which requests the same irq\nline. In the worst case this will disable the irq again via the\nspurious trap, but there is a decent chance that the new driver is the\none which can handle the already asserted interrupt and makes the box\nusable again.\n\nEric Biederman said further: This case also happens on a regular basis\nin kdump kernels where we deliberately don\u0027t shutdown the hardware\nbefore starting the new kernel.  This patch should reduce the need for\nusing irqpoll in that situation by a small amount.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-and-Acked-by: Uwe Kleine-König \u003cUwe.Kleine-Koenig@digi.com\u003e\n\n"
    },
    {
      "commit": "188fd89d539d899bfca2bc83534e5508e0161139",
      "tree": "ffe14a3752c248b2b452f2b13a203a1de982cfae",
      "parents": [
        "9a4c8546f3e7c893888bccc2b3416d6214f2664a"
      ],
      "author": {
        "name": "S.Caglar Onur",
        "email": "caglar@pardus.org.tr",
        "time": "Thu Feb 14 17:36:51 2008 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 19 10:43:58 2008 +0100"
      },
      "message": "genirq: spurious.c: use time_* macros\n\nThe functions time_before, time_before_eq, time_after, and\ntime_after_eq are more robust for comparing jiffies against other\nvalues.\n\nSo following patch implements usage of the time_after() macro, defined\nat linux/jiffies.h, which deals with wrapping correctly\n\nSigned-off-by: S.Caglar Onur \u003ccaglar@pardus.org.tr\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "9e094c17ee2b85130ab7b2ea37456f6867eb687a",
      "tree": "ca4723bbf4e62b623869be0f73c2f74807f3384c",
      "parents": [
        "b899c5ed2ef3af3429abd8046197255f179ea496"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Wed Jan 30 13:32:48 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jan 30 13:32:48 2008 +0100"
      },
      "message": "genirq: turn irq debugging options into module params\n\nThis allows to change them at runtime using sysfs. No need to\nreboot to set them.\n\nI only added aliases (kernel.noirqdebug etc.) so the old options\nstill work.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4f27c00bf80f122513d3a5be16ed851573164534",
      "tree": "2abad49c1e5c93d2d8698c558eb490b99bd35b87",
      "parents": [
        "f3dc8c189a20dc5d115b8f0d07ac620e69eff05c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Sun Jul 15 23:40:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:46 2007 -0700"
      },
      "message": "Improve behaviour of spurious IRQ detect\n\nCurrently we handle spurious IRQ activity based upon seeing a lot of\ninvalid interrupts, and we clear things back on the base of lots of valid\ninterrupts.\n\nUnfortunately in some cases you get legitimate invalid interrupts caused by\ntiming asynchronicity between the PCI bus and the APIC bus when disabling\ninterrupts and pulling other tricks.  In this case although the spurious\nIRQs are not a problem our unhandled counters didn\u0027t clear and they act as\na slow running timebomb.  (This is effectively what the serial port/tty\nproblem that was fixed by clearing counters when registering a handler\nshowed up)\n\nIt\u0027s easy enough to add a second parameter - time.  This means that if we\nsee a regular stream of harmless spurious interrupts which are not harming\nprocessing we don\u0027t go off and do something stupid like disable the IRQ\nafter a month of running.  OTOH lockups and performance killers show up a\nlot more than 10/second\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "92ea77275b5345c1300433f28689493dc4163f24",
      "tree": "8813e2453b081d700ae32b7dc6f056f2eba8ebe7",
      "parents": [
        "db2668fdbeb2e3c95ebadf95856c9e31a8a8d569"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 24 08:37:14 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu May 24 08:37:14 2007 -0700"
      },
      "message": "Fix crash with irqpoll due to the IRQF_IRQPOLL flag testing\n\nWith irqpoll enabled, trying to test the IRQF_IRQPOLL flag in the\nactions would cause a NULL pointer dereference if no action was\ninstalled (for example, the driver might have been unloaded with\ninterrupts still pending).\n\nSo be a bit more careful about testing the flag by making sure to test\nfor that case.\n\n(The actual _change_ is trivial, the patch is more than a one-liner\nbecause I rewrote the testing to also be much more readable.\n\nOriginal (discarded) bugfix by Bernhard Walle.\n\nCc: Bernhard Walle \u003cbwalle@suse.de\u003e\nTested-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d85a60d85ea5b7c597508c1510c88e657773d378",
      "tree": "2b5d1a5311074de8c12811e7ddf26e3cda4a41a0",
      "parents": [
        "951744fea0aea9adbd7c8cacb3605f2d69a66f96"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bwalle@suse.de",
        "time": "Tue May 08 00:35:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:22 2007 -0700"
      },
      "message": "Add IRQF_IRQPOLL flag (common code)\n\nirqpoll is broken on some architectures that don\u0027t use the IRQ 0 for the timer\ninterrupt like IA64.  This patch adds a IRQF_IRQPOLL flag.\n\nEach architecture is handled in a separate pach.  As I left the irq \u003d\u003d 0 as\ncondition, this should not break existing architectures that use timer_irq \u003d\u003d\n0 and that I did\u0027t address with that patch (because I don\u0027t know).\n\nThis patch:\n\nThis patch adds a IRQF_IRQPOLL flag that the interrupt registration code could\nuse for the interrupt it wants to use for IRQ polling.\n\nBecause this must not be the timer interrupt, an additional flag was added\ninstead of re-using the IRQF_TIMER constant.  Until all architectures will\nhave an IRQF_IRQPOLL interrupt, irq \u003d\u003d 0 will stay as alternative as it should\nnot break anything.\n\nAlso, note_interrupt() is called on CPU-specific interrupts to be used as\ninterrupt source for IRQ polling.\n\nSigned-off-by: Bernhard Walle \u003cbwalle@suse.de\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Grant Grundler \u003cgrundler@google.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "343cde51b3b856470eea24a89f00166b8e2d7272",
      "tree": "4810d97be6827887f734d754399c171c1a68b9f5",
      "parents": [
        "7c8809aef0c71cc92ffc7d922e8824c04a36f44b"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@in.ibm.com",
        "time": "Thu Jan 11 01:52:44 2007 +0100"
      },
      "committer": {
        "name": "Andi Kleen",
        "email": "andi@basil.nowhere.org",
        "time": "Thu Jan 11 01:52:44 2007 +0100"
      },
      "message": "[PATCH] x86-64: Make noirqdebug_setup function non init to fix modpost warning\n\no noirqdebug_setup() is __init but it is being called by\n  quirk_intel_irqbalance() which if of type __devinit. If CONFIG_HOTPLUG\u003dy,\n  quirk_intel_irqbalance() is put into text section and it is wrong to\n  call a function in __init section.\n\no MODPOST flags this on i386 if CONFIG_RELOCATABLE\u003dy\n\nWARNING: vmlinux - Section mismatch: reference to .init.text:noirqdebug_setup from .text between \u0027quirk_intel_irqbalance\u0027 (at offset 0xc010969e) and \u0027i8237A_suspend\u0027\n\no Make noirqdebug_setup() non-init.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@in.ibm.com\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\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": "3cca53b02a5bab0f407b1add2f84c22c20243a79",
      "tree": "06d375432c8c5c8895378e0b5049920e73211b2d",
      "parents": [
        "85ac3ab254405edcc7bef7d61b03930247882efc"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 01 19:29:31 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jul 02 13:58:49 2006 -0700"
      },
      "message": "[PATCH] irq-flags: generic irq: 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": "dd87eb3a24c4527741122713e223d74b85d43c85",
      "tree": "0c3796af23da908515d890a7b8fde37893eb3b2a",
      "parents": [
        "dae8620421833bb2e9a01c4ccc42bdc3759b81df"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:53 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: add irq-chip support\n\nEnable platforms to use the irq-chip and irq-flow abstractions: allow setting\nof the chip, the type and provide highlevel handlers for common irq-flows.\n\n[rostedt@goodmis.org: misroute-irq: Don\u0027t call desc-\u003echip-\u003eend because of edge interrupts]\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6a6de9ef5850d063c3d3fb50784bfe3a6d0712c6",
      "tree": "d09f1887fd8890c820559b931140afe4c68f2d7f",
      "parents": [
        "a34db9b28a1c63317e1d6f1080a12d711579e7d0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jun 29 02:24:51 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:24 2006 -0700"
      },
      "message": "[PATCH] genirq: core\n\nCore genirq support: add the irq-chip and irq-flow abstractions.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "34ffdb7233d5847808d2b63ca6761dac3af9c942",
      "tree": "3eb73aae034729eac24f7f2ee809ba913b32a51b",
      "parents": [
        "06fcb0c6fb3aae9570a32ac3b72a8222563baa69"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:22 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: reduce irq_desc_t use, mark it obsolete\n\nCleanup: remove irq_desc_t use from the generic IRQ code, and mark it\nobsolete.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "06fcb0c6fb3aae9570a32ac3b72a8222563baa69",
      "tree": "c1f9d750a42031434971b2271882b907fd7838f5",
      "parents": [
        "2e60bbb6d50de654d8e68f115161e27878b5e72d"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:40 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:22 2006 -0700"
      },
      "message": "[PATCH] genirq: cleanup: misc code cleanups\n\nAssorted code cleanups to the generic IRQ code.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d1bef4ed5faf7d9872337b33c4269e45ae1bf960",
      "tree": "a88c58e3102396382e9137a25a884af14421f6a6",
      "parents": [
        "cfb9e32f2ff32ef5265c1c80fe68dd1a7f03a604"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:24:36 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:21 2006 -0700"
      },
      "message": "[PATCH] genirq: rename desc-\u003ehandler to desc-\u003echip\n\nThis patch-queue improves the generic IRQ layer to be truly generic, by adding\nvarious abstractions and features to it, without impacting existing\nfunctionality.\n\nWhile the queue can be best described as \"fix and improve everything in the\ngeneric IRQ layer that we could think of\", and thus it consists of many\nsmaller features and lots of cleanups, the one feature that stands out most is\nthe new \u0027irq chip\u0027 abstraction.\n\nThe irq-chip abstraction is about describing and coding and IRQ controller\ndriver by mapping its raw hardware capabilities [and quirks, if needed] in a\nstraightforward way, without having to think about \"IRQ flow\"\n(level/edge/etc.) type of details.\n\nThis stands in contrast with the current \u0027irq-type\u0027 model of genirq\narchitectures, which \u0027mixes\u0027 raw hardware capabilities with \u0027flow\u0027 details.\nThe patchset supports both types of irq controller designs at once, and\nconverts i386 and x86_64 to the new irq-chip design.\n\nAs a bonus side-effect of the irq-chip approach, chained interrupt controllers\n(master/slave PIC constructs, etc.) are now supported by design as well.\n\nThe end result of this patchset intends to be simpler architecture-level code\nand more consolidation between architectures.\n\nWe reused many bits of code and many concepts from Russell King\u0027s ARM IRQ\nlayer, the merging of which was one of the motivations for this patchset.\n\nThis patch:\n\nrename desc-\u003ehandler to desc-\u003echip.\n\nOriginally i did not want to do this, because it\u0027s a big patch.  But having\nboth \"desc-\u003ehandler\", \"desc-\u003ehandle_irq\" and \"action-\u003ehandler\" caused a\nlarge degree of confusion and made the code appear alot less clean than it\ntruly is.\n\nI have also attempted a dual approach as well by introducing a\ndesc-\u003echip alias - but that just wasnt robust enough and broke\nfrequently.\n\nSo lets get over with this quickly.  The conversion was done automatically\nvia scripts and converts all the code in the kernel.\n\nThis renaming patch is the first one amongst the patches, so that the\nremaining patches can stay flexible and can be merged and split up\nwithout having some big monolithic patch act as a merge barrier.\n\n[akpm@osdl.org: build fix]\n[akpm@osdl.org: another build fix]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "83d4e6e7fba0b2a01092f0cf14ba2e33bd1253e9",
      "tree": "4fa75ffb35970e27762623edbc1f725171d2b0b5",
      "parents": [
        "e6022603b9aa7d61d20b392e69edcdbbc1789969"
      ],
      "author": {
        "name": "Andreas Mohr",
        "email": "andi@rhlx01.fht-esslingen.de",
        "time": "Fri Jun 23 02:05:32 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jun 23 07:43:05 2006 -0700"
      },
      "message": "[PATCH] make noirqdebug/irqfixup __read_mostly, add (un)likely()\n\nSigned-off-by: Andreas Mohr \u003candi@lisas.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "200803dfe4ff772740d63db725ab2f1b185ccf92",
      "tree": "f567852c984c947f792edb18fee273cfa363d374",
      "parents": [
        "21fe3471c3aaa5c489c5d3a4d705291eb7511248"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Jun 28 20:45:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Tue Jun 28 21:20:35 2005 -0700"
      },
      "message": "[PATCH] irqpoll\n\nAnyone reporting a stuck IRQ should try these options.  Its effectiveness\nvaries we\u0027ve found in the Fedora case.  Quite a few systems with misdescribed\nIRQ routing just work when you use irqpoll.  It also fixes up the VIA systems\nalthough thats now fixed with the VIA quirk (which we could just make default\nas its what Redmond OS does but Linus didn\u0027t like it historically).\n\nA small number of systems have jammed IRQ sources or misdescribes that cause\nan IRQ that we have no handler registered anywhere for.  In those cases it\ndoesn\u0027t help.\n\nSigned-off-by: Alan Cox \u003cnumber6@the-village.bc.nu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "52c1da39534fb382c061de58b65f678ad74b59f5",
      "tree": "92b18695f23afbc99374f844445f555a198978f2",
      "parents": [
        "d763b7a4736e219528f77bf6bc75dd78b1d75c03"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Jun 23 22:05:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:43 2005 -0700"
      },
      "message": "[PATCH] make various thing static\n\nAnother rollup of patches which give various symbols static scope\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\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"
    }
  ]
}
