)]}'
{
  "log": [
    {
      "commit": "b86432b42eba5671969a9e6483ee219674b7ee25",
      "tree": "78b33862865d7ae6d122b3e58c4ae7133491ed0b",
      "parents": [
        "b48f5457b4e9d64d9c1117a4ece247d98b4db49f"
      ],
      "author": {
        "name": "Zhang, Yanmin",
        "email": "yanmin_zhang@linux.intel.com",
        "time": "Thu Nov 16 01:19:10 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Thu Nov 16 11:43:37 2006 -0800"
      },
      "message": "[PATCH] some irq_chip variables point to NULL\n\nI got an oops when booting 2.6.19-rc5-mm1 on my ia64 machine.\n\nBelow is the log.\n\nOops 11012296146944 [1]\nModules linked in: binfmt_misc dm_mirror dm_multipath dm_mod thermal processor f\nan container button sg eepro100 e100 mii\n\nPid: 0, CPU 0, comm:              swapper\npsr : 0000121008022038 ifs : 800000000000040b ip  : [\u003ca0000001000e1411\u003e]    Not\ntainted\nip is at __do_IRQ+0x371/0x3e0\nunat: 0000000000000000 pfs : 000000000000040b rsc : 0000000000000003\nrnat: 656960155aa56aa5 bsps: a00000010058b890 pr  : 656960155aa55a65\nldrs: 0000000000000000 ccv : 0000000000000000 fpsr: 0009804c0270033f\ncsd : 0000000000000000 ssd : 0000000000000000\nb0  : a0000001000e1390 b6  : a0000001005beac0 b7  : e00000007f01aa00\nf6  : 000000000000000000000 f7  : 0ffe69090000000000000\nf8  : 1000a9090000000000000 f9  : 0ffff8000000000000000\nf10 : 1000a908ffffff6f70000 f11 : 1003e0000000000000909\nr1  : a000000100fbbff0 r2  : 0000000000010002 r3  : 0000000000010001\nr8  : fffffffffffbffff r9  : a000000100bd8060 r10 : a000000100dd83b8\nr11 : fffffffffffeffff r12 : a000000100bcbbb0 r13 : a000000100bc4000\nr14 : 0000000000010000 r15 : 0000000000010000 r16 : a000000100c01aa8\nr17 : a000000100d2c350 r18 : 0000000000000000 r19 : a000000100d2c300\nr20 : a000000100c01a88 r21 : 0000000080010100 r22 : a000000100c01ac0\nr23 : a0000001000108e0 r24 : e000000477980004 r25 : 0000000000000000\nr26 : 0000000000000000 r27 : e00000000913400c r28 : e0000004799ee51c\nr29 : e0000004778b87f0 r30 : a000000100d2c300 r31 : a00000010005c7e0\n\nCall Trace:\n [\u003ca000000100014600\u003e] show_stack+0x40/0xa0\n                                sp\u003da000000100bcb760 bsp\u003da000000100bc4f40\n [\u003ca000000100014f00\u003e] show_regs+0x840/0x880\n                                sp\u003da000000100bcb930 bsp\u003da000000100bc4ee8\n [\u003ca000000100037fb0\u003e] die+0x250/0x320\n                                sp\u003da000000100bcb930 bsp\u003da000000100bc4ea0\n [\u003ca00000010005e5f0\u003e] ia64_do_page_fault+0x8d0/0xa20\n                                sp\u003da000000100bcb950 bsp\u003da000000100bc4e50\n [\u003ca00000010000caa0\u003e] ia64_leave_kernel+0x0/0x290\n                                sp\u003da000000100bcb9e0 bsp\u003da000000100bc4e50\n [\u003ca0000001000e1410\u003e] __do_IRQ+0x370/0x3e0\n                                sp\u003da000000100bcbbb0 bsp\u003da000000100bc4df0\n [\u003ca000000100011f50\u003e] ia64_handle_irq+0x170/0x220\n                                sp\u003da000000100bcbbb0 bsp\u003da000000100bc4dc0\n [\u003ca00000010000caa0\u003e] ia64_leave_kernel+0x0/0x290\n                                sp\u003da000000100bcbbb0 bsp\u003da000000100bc4dc0\n [\u003ca000000100012390\u003e] ia64_pal_call_static+0x90/0xc0\n                                sp\u003da000000100bcbd80 bsp\u003da000000100bc4d78\n [\u003ca000000100015630\u003e] default_idle+0x90/0x160\n                                sp\u003da000000100bcbd80 bsp\u003da000000100bc4d58\n [\u003ca000000100014290\u003e] cpu_idle+0x1f0/0x440\n                                sp\u003da000000100bcbe20 bsp\u003da000000100bc4d18\n [\u003ca000000100009980\u003e] rest_init+0xc0/0xe0\n                                sp\u003da000000100bcbe20 bsp\u003da000000100bc4d00\n [\u003ca0000001009f8ea0\u003e] start_kernel+0x6a0/0x6c0\n                                sp\u003da000000100bcbe20 bsp\u003da000000100bc4ca0\n [\u003ca0000001000089f0\u003e] __end_ivt_text+0x6d0/0x6f0\n                                sp\u003da000000100bcbe30 bsp\u003da000000100bc4c00\n \u003c0\u003eKernel panic - not syncing: Aiee, killing interrupt handler!\n\nThe root cause is that some irq_chip variables, especially ia64_msi_chip,\ninitiate their memeber end to point to NULL. __do_IRQ doesn\u0027t check\nif irq_chip-\u003eend is null and just calls it after processing the interrupt.\n\nAs irq_chip-\u003eend is called at many places, so I fix it by reinitiating\nirq_chip-\u003eend to dummy_irq_chip.end, e.g., a noop function.\n\nSigned-off-by: Zhang Yanmin \u003cyanmin.zhang@intel.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a460e745e8f9c75a0525ff94154a0629f9d3e05d",
      "tree": "38ef71d81c2ca2f979319b0a91f34f0cf9998643",
      "parents": [
        "308ba5fcf89b6e328f9290067181c1e4d772fdc9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Oct 17 00:10:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Oct 17 08:18:45 2006 -0700"
      },
      "message": "[PATCH] genirq: clean up irq-flow-type naming\n\nIntroduce desc-\u003ename and eliminate the handle_irq_name() hack.  Add\nset_irq_chip_and_handler_name() to set the flow type and name at once.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nCc: Matthew Wilcox \u003cwilly@debian.org\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\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": "57a58a9435aef3e0342ba4b2c97e0ddfea6f2c7f",
      "tree": "35603f6385edf3dcd20e80a2fcf4c66c7cdc34a7",
      "parents": [
        "d223a60106891bfe46febfacf46b20cd8509aaad"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Oct 05 13:06:34 2006 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Thu Oct 05 13:28:06 2006 +0100"
      },
      "message": "IRQ: Typedef the IRQ flow handler function type\n\nTypedef the IRQ flow handler function type.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n(cherry picked from 8e973fbdf5716b93a0a8c0365be33a31ca0fa351 commit)\n"
    },
    {
      "commit": "1f80025e624bb14fefadfef7e80fbfb9740d4714",
      "tree": "1d6f18ebd2855e882213922036d8df8cd7e88db4",
      "parents": [
        "8b955b0dddb35e398b07e217a81f8bd49400796f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:56 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:29 2006 -0700"
      },
      "message": "[PATCH] msi: simplify msi sanity checks by adding with generic irq code\n\nCurrently msi.c is doing sanity checks that make certain before an irq is\ndestroyed it has no more users.\n\nBy adding irq_has_action I can perform the test is a generic way, instead of\nrelying on a msi specific data structure.\n\nBy performing the core check in dynamic_irq_cleanup I ensure every user of\ndynamic irqs has a test present and we don\u0027t free resources that are in use.\n\nIn msi.c this allows me to kill the attrib.state member of msi_desc and all of\nthe assciated code to maintain it.\n\nTo keep from freeing data structures when irq cleanup code is called to soon\nchanging dyanamic_irq_cleanup is insufficient because there are msi specific\ndata structures that are also not safe to free.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\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": "3a16d713626735f3016da0521b7bf251cd78e836",
      "tree": "39147d40b681391a578b19fceb50dfe5a7a4a1ab",
      "parents": [
        "92db6d10bc1bc43330a4c540fa5b64c83d9d865f"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Oct 04 02:16:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Oct 04 07:55:27 2006 -0700"
      },
      "message": "[PATCH] genirq: irq: add a dynamic irq creation API\n\nWith the msi support comes a new concept in irq handling, irqs that are\ncreated dynamically at run time.\n\nCurrently the msi code allocates irqs backwards.  First it allocates a\nplatform dependent routing value for an interrupt the ``vector\u0027\u0027 and then it\nfigures out from the vector which irq you are on.\n\nThis msi backwards allocator suffers from two basic problems.  The allocator\nsuffers because it is trying to do something that is architecture specific in\na generic way making it brittle, inflexible, and tied to tightly to the\narchitecture implementation.  The alloctor also suffers from it\u0027s very\nbackwards nature as it has tied things together that should have no\ndependencies.\n\nTo solve the basic dynamic irq allocation problem two new architecture\nspecific functions are added: create_irq and destroy_irq.\n\ncreate_irq takes no input and returns an unused irq number, that won\u0027t be\nreused until it is returned to the free poll with destroy_irq.  The irq then\ncan be used for any purpose although the only initial consumer is the msi\ncode.\n\ndestroy_irq takes an irq number allocated with create_irq and returns it to\nthe free pool.\n\nMaking this functionality per architecture increases the simplicity of the irq\nallocation code and increases it\u0027s flexibility.\n\ndynamic_irq_init() and dynamic_irq_cleanup() are added to automate the\nirq_desc initializtion that should happen for dynamic irqs.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nCc: Andi Kleen \u003cak@muc.de\u003e\nCc: \"Protasevich, Natalie\" \u003cNatalie.Protasevich@UNISYS.com\u003e\nCc: \"Luck, Tony\" \u003ctony.luck@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "538d9d532b0e0320c9dd326a560b5a72d73f910d",
      "tree": "ad41d9ddc79aa74eceb806f6d207cea479c06608",
      "parents": [
        "2ff6fd8f4a40b72ff35dbb1e08eb9ed6b64b6028"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Fri Sep 29 01:59:22 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:07 2006 -0700"
      },
      "message": "[PATCH] irq: remove a extra line\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2ff6fd8f4a40b72ff35dbb1e08eb9ed6b64b6028",
      "tree": "c6a3f085b6bbba80f468eab68e04477e42194232",
      "parents": [
        "42012cc4a2183c555a907eee32d7ce4fc7dc3a6a"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Fri Sep 29 01:59:21 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:07 2006 -0700"
      },
      "message": "[PATCH] irq: fixed coding style\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "86998aa6534e839ec003ed2ef7067d6fe8696ccc",
      "tree": "ca2e8fff9371ef26f339f2893c6c1d50c5f4e2fe",
      "parents": [
        "47a5c6fa0e204a2b63309c648bb2fde36836c826"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Sep 19 11:14:34 2006 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Sep 19 07:57:20 2006 -0700"
      },
      "message": "[PATCH] genirq core: fix handle_level_irq()\n\nwhile porting the -rt tree to 2.6.18-rc7 i noticed the following\nscreaming-IRQ scenario on an SMP system:\n\n 2274  0Dn.:1 0.001ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.010ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.020ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.029ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.039ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.048ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.058ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.068ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.077ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.087ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n 2274  0Dn.:1 0.097ms: do_IRQ+0xc/0x103  \u003c\u003d (ret_from_intr+0x0/0xf)\n\nas it turns out, the bug is caused by handle_level_irq(), which if it\nraces with another CPU already handling this IRQ, it _unmasks_ the IRQ\nline on the way out. This is not how 2.6.17 works, and we introduced\nthis bug in one of the early genirq cleanups right before it went into\n-mm. (the bug was not in the genirq patchset for a long time, and we\ndidnt notice the bug due to the lack of -rt rebase to the new genirq\ncode. -rt, and hardirq-preemption in particular opens up such races much\nwider than anything else.)\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "5a43a066b11ac2fe84cf67307f20b83bea390f83",
      "tree": "d4770958575f4e7592620d9a0d36c431ecceefc9",
      "parents": [
        "3e9a69275f23baec86b54febc5dad0b2fc7fb200"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Jul 03 19:54:59 2006 +1000"
      },
      "committer": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Mon Jul 03 19:54:59 2006 +1000"
      },
      "message": "[PATCH] genirq: Allow fasteoi handler to retrigger disabled interrupts\n\nMake the fasteoi handler mark disabled interrupts as pending if they\nhappen anyway. This allow implementation of a delayed disable scheme\nwith the fasteoi handler.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n"
    },
    {
      "commit": "f8b5473fcbddbfde827ecf82aa0e81fa2a878220",
      "tree": "0d6d504f95830610cb2c2fb1e6e9e1ebf932762b",
      "parents": [
        "a2166abd06e7a9fd34eb18b7b27da18c6146e6ef"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jul 01 22:30:08 2006 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sat Jul 01 22:30:08 2006 +0100"
      },
      "message": "[ARM] 3690/1: genirq: Introduce and make use of dummy irq chip\n\nPatch from Thomas Gleixner\n\nFrom: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\nARM has a couple of really dumb interrupt controllers.\nImplement a generic one and fixup the ARM migration. ARM reused\nthe no_irq_chip for this purpose, but this does not work out\nfor platforms which are not converted to the new interrupt\ntype handling model.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "47c2a3aa4475d27073dd3c7e183fcc13f495c8f5",
      "tree": "d151e03da804103753977c2c94e17b71104e3d35",
      "parents": [
        "f702d7013c7470284843a6370aaa53b8b75c5a40"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jun 29 02:25:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:26 2006 -0700"
      },
      "message": "[PATCH] genirq: add chip-\u003eeoi(), fastack -\u003e fasteoi\n\nClean up the fastack concept by turning it into fasteoi and introducing the\n-\u003eeoi() method for chips.\n\nThis also allows the cleanup of an i386 EOI quirk - now the quirk is\ncleanly separated from the pure ACK implementation.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "98bb244b685eb2a297aa60fa2e5c0631f95828e1",
      "tree": "468ab2cf22dc3b10d1bc48660360b908d24cabef",
      "parents": [
        "f210be198ddd3f54b17d4aa6e69b829f75f226e5"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Jun 29 02:25:01 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Jun 29 10:26:25 2006 -0700"
      },
      "message": "[PATCH] genirq: fasteoi handler: handle interrupt disabling\n\nNote when a disable interrupt happened with the fasteoi handler as well so\nthat delayed disable can be implemented with fasteoi-type controllers.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: 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": "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"
    }
  ]
}
