)]}'
{
  "log": [
    {
      "commit": "9171c670b4915e30360c2aed530b8377fbbcc852",
      "tree": "c583edd07ecd479f902b90c46ab37cf23b4fe28d",
      "parents": [
        "c22072bdf053b115a1126658100967dda00b5ecf",
        "818b0f3bfb236ae66cac3ff38e86b9e47f24b7aa",
        "4a70d2d9909b43ed88043b98cabe2c7fbd563021"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 04 11:36:51 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 04 11:36:51 2012 -0700"
      },
      "message": "Merge branches \u0027irq-urgent-for-linus\u0027 and \u0027smp-hotplug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull irq and smpboot updates from Thomas Gleixner:\n \"Just cleanup patches with no functional change and a fix for suspend\n  issues.\"\n\n* \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Introduce irq_do_set_affinity() to reduce duplicated code\n  genirq: Add IRQS_PENDING for nested and simple irq\n\n* \u0027smp-hotplug-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  smpboot, idle: Fix comment mismatch over idle_threads_init()\n  smpboot, idle: Optimize calls to smp_processor_id() in idle_threads_init()\n"
    },
    {
      "commit": "fb21affa49204acd409328415b49bfe90136653c",
      "tree": "3535dbe0c0aad049a38cadfcffe78409397a1b32",
      "parents": [
        "a00b6151a2ae4c52576c35d3998e144a993d50b8",
        "f23ca335462e3c84f13270b9e65f83936068ec2c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:47:30 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 18:47:30 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal\n\nPull second pile of signal handling patches from Al Viro:\n \"This one is just task_work_add() series + remaining prereqs for it.\n\n  There probably will be another pull request from that tree this\n  cycle - at least for helpers, to get them out of the way for per-arch\n  fixes remaining in the tree.\"\n\nFix trivial conflict in kernel/irq/manage.c: the merge of Andrew\u0027s pile\nhad brought in commit 97fd75b7b8e0 (\"kernel/irq/manage.c: use the\npr_foo() infrastructure to prefix printks\") which changed one of the\npr_err() calls that this merge moves around.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:\n  keys: kill task_struct-\u003ereplacement_session_keyring\n  keys: kill the dummy key_replace_session_keyring()\n  keys: change keyctl_session_to_parent() to use task_work_add()\n  genirq: reimplement exit_irq_thread() hook via task_work_add()\n  task_work_add: generic process-context callbacks\n  avr32: missed _TIF_NOTIFY_RESUME on one of do_notify_resume callers\n  parisc: need to check NOTIFY_RESUME when exiting from syscall\n  move key_repace_session_keyring() into tracehook_notify_resume()\n  TIF_NOTIFY_RESUME is defined on all targets now\n"
    },
    {
      "commit": "97fd75b7b8e0f4e6d3f06b819c89b2555f626fcf",
      "tree": "96a575e38c143ddabe9a35d8ad89f268ccafb569",
      "parents": [
        "499eea6bf9c06df3bf4549954aee6fb3427946ed"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Thu May 31 16:26:07 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 31 17:49:26 2012 -0700"
      },
      "message": "kernel/irq/manage.c: use the pr_foo() infrastructure to prefix printks\n\nUse the module-wide pr_fmt() mechanism rather than open-coding \"genirq: \"\neverywhere.\n\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": "818b0f3bfb236ae66cac3ff38e86b9e47f24b7aa",
      "tree": "711e4396d69f1127cd723b00ad348c47bd433a2b",
      "parents": [
        "23812b9d9e497580d38c62ebdc6f308733b0a32a"
      ],
      "author": {
        "name": "Jiang Liu",
        "email": "liuj97@gmail.com",
        "time": "Fri Mar 30 23:11:34 2012 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 24 22:36:40 2012 +0200"
      },
      "message": "genirq: Introduce irq_do_set_affinity() to reduce duplicated code\n\nAll invocations of chip-\u003eirq_set_affinity() are doing the same return\nvalue checks. Let them all use a common function.\n\n[ tglx: removed the silly likely while at it ]\n\nSigned-off-by: Jiang Liu \u003cjiang.liu@huawei.com\u003e\nCc: Jiang Liu \u003cliuj97@gmail.com\u003e\nCc: Keping Chen \u003cchenkeping@huawei.com\u003e\nLink: http://lkml.kernel.org/r/1333120296-13563-3-git-send-email-jiang.liu@huawei.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4d1d61a6b203d957777d73fcebf19d90b038b5b2",
      "tree": "8b597fa00168ee59e3abf5ec8cf4e92f8fd28d8a",
      "parents": [
        "e73f8959af0439d114847eab5a8a5ce48f1217c4"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Fri May 11 10:59:08 2012 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 23 22:11:12 2012 -0400"
      },
      "message": "genirq: reimplement exit_irq_thread() hook via task_work_add()\n\nexit_irq_thread() and task-\u003eirq_thread are needed to handle the unexpected\n(and unlikely) exit of irq-thread.\n\nWe can use task_work instead and make this all private to\nkernel/irq/manage.c, cleanup plus micro-optimization.\n\n1. rename exit_irq_thread() to irq_thread_dtor(), make it\n   static, and move it up before irq_thread().\n\n2. change irq_thread() to do task_work_add(irq_thread_dtor)\n   at the start and task_work_cancel() before return.\n\n   tracehook_notify_resume() can never play with kthreads,\n   only do_exit()-\u003eexit_task_work() can call the callback\n   and this is what we want.\n\n3. remove task_struct-\u003eirq_thread and the special hook\n   in do_exit().\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Richard Kuo \u003crkuo@codeaurora.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nCc: Chris Zankel \u003cchris@zankel.net\u003e\nCc: David Smith \u003cdsmith@redhat.com\u003e\nCc: \"Frank Ch. Eigler\" \u003cfche@redhat.com\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Larry Woodman \u003clwoodman@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3a8580f82024e30b31c662aa49346adf7a3bcdb5",
      "tree": "7769a01f152b4081f4e4225e499082fd5c67b184",
      "parents": [
        "1d767cae4dbd4116fc3b2cc3251a20760f98339f",
        "2ccf62b36097aa88e0ea152d6ef0c0ca2d3884e6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 09:01:41 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 23 09:01:41 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml\n\nPull UML updates from Richard Weinberger:\n \"Most changes are bug fixes and cleanups\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:\n  um: missing checks of __put_user()/__get_user() return values\n  um: stub_rt_sigsuspend isn\u0027t needed these days anymore\n  um/x86: merge (and trim) 32- and 64-bit variants of ptrace.h\n  irq: Remove irq_chip-\u003erelease()\n  um: Remove CONFIG_IRQ_RELEASE_METHOD\n  um: Remove usage of irq_chip-\u003erelease()\n  um: Implement um_free_irq()\n  um: Fix __swp_type()\n  um: Implement a custom pte_same() function\n  um: Add BUG() to do_ops()\u0027s error path\n  um: Remove unused variables\n  um: bury unused _TIF_RESTORE_SIGMASK\n  um: wrong sigmask saved in case of multiple sigframes\n  um: add TIF_NOTIFY_RESUME\n  um: -\u003erestart_block.fn needs to be reset on sigreturn\n"
    },
    {
      "commit": "875682648b89a3ebc06176d60dc280f810647839",
      "tree": "515e2e1d69b18954b6e750e5e1aa042cc29c6bee",
      "parents": [
        "985a94a96d294fe6d2c72d013de09b81b637ed58"
      ],
      "author": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Tue Apr 17 22:37:16 2012 +0200"
      },
      "committer": {
        "name": "Richard Weinberger",
        "email": "richard@nod.at",
        "time": "Mon May 21 21:09:38 2012 +0200"
      },
      "message": "irq: Remove irq_chip-\u003erelease()\n\nAs it\u0027s only user (UML) does no longer need it we can get\nrid of it.\n\nSigned-off-by: Richard Weinberger \u003crichard@nod.at\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f5d89470f91f2e67eeaf350c730ae8412c3a98e3",
      "tree": "35bbf5454abb7ce936613c976ab6834f3a3fcf57",
      "parents": [
        "1c6c69525b40eb76de8adf039409722015927dc3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 19 12:06:13 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 19 13:56:56 2012 +0200"
      },
      "message": "genirq: Be more informative on irq type mismatch\n\nWe require that shared interrupts agree on a few flag settings. Right\nnow we silently return with an error code without giving any hint why\nwe reject it.\n\nMake the printout unconditionally and actually useful by printing the\nflags of the new and the already registered action.\n\nConvert all printks to pr_* and use a proper prefix while at it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1c6c69525b40eb76de8adf039409722015927dc3",
      "tree": "29ba450b43c3025c28ca9f42a81e10a0e8d9460e",
      "parents": [
        "c0ecaa06d6d40cb02cd264ddb308e82f0a49ec91"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 19 10:35:17 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Apr 19 13:56:56 2012 +0200"
      },
      "message": "genirq: Reject bogus threaded irq requests\n\nRequesting a threaded interrupt without a primary handler and without\nIRQF_ONESHOT set is dangerous.\n\nThe core will use the default primary handler for it, which merily\nwakes the thread. For a level type interrupt this results in an\ninterrupt storm, because the interrupt line is reenabled after the\nprimary handler runs. The device has still the line asserted, which\nbrings us back into the primary handler.\n\nWhile this works for edge type interrupts, we play it safe and reject\nunconditionally because we can\u0027t say for sure which type this\ninterrupt really has. The type flags are unreliable as the underlying\nchip implementation can override them. And we cannot assume that\ndevelopers using that interface know what they are doing.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "241fc640be783f903e74b6d9c68481c01873f758",
      "tree": "253793b9f94721554c3aa2b286ca27052b3390e8",
      "parents": [
        "f3f79e38d51f8a419f4c484a86ece4baea35b993"
      ],
      "author": {
        "name": "Prarit Bhargava",
        "email": "prarit@redhat.com",
        "time": "Mon Mar 26 15:02:18 2012 -0400"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 29 11:31:53 2012 +0200"
      },
      "message": "genirq: Respect NUMA node affinity in setup_irq_irq affinity()\n\nWe respect node affinity of devices already in the irq descriptor\nallocation, but we ignore it for the initial interrupt affinity\nsetup, so the interrupt might be routed to a different node.\n\nRestrict the default affinity mask to the node on which the irq\ndescriptor is allocated.\n\n[ tglx: Massaged changelog ]\n\nSigned-off-by: Prarit Bhargava \u003cprarit@redhat.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nLink: http://lkml.kernel.org/r/1332788538-17425-1-git-send-email-prarit@redhat.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f3f79e38d51f8a419f4c484a86ece4baea35b993",
      "tree": "ea1bd43fbd35efcf914b1717f7eca605478670a9",
      "parents": [
        "69592db298e400a7c175c4dfbe7a086c783f349d"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "agordeev@redhat.com",
        "time": "Wed Mar 21 17:22:35 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 29 11:31:53 2012 +0200"
      },
      "message": "genirq: Get rid of unneeded force parameter in irq_finalize_oneshot()\n\nThe only place irq_finalize_oneshot() is called with force parameter set\nis the threaded handler error exit path. But IRQTF_RUNTHREAD is dropped\nat this point and irq_wake_thread() is not going to set it again,\nsince PF_EXITING is set for this thread already. So irq_finalize_oneshot()\nwill drop the threads bit in threads_oneshot anyway and hence the force\nparameter is superfluous.\n\nSigned-off-by: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20120321162234.GP24806@dhcp-26-207.brq.redhat.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "e04268b0effc0ceea366c50b3107baad9edadafa",
      "tree": "0248960f688b504d819a2cf1c11218edec962597",
      "parents": [
        "7140ea1980f2fae9c7aaeac5f6b35317e1389ee6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 15 22:55:21 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 16 11:27:28 2012 +0100"
      },
      "message": "genirq: Remove paranoid warnons and bogus fixups\n\nAlexander pointed out that the warnons in the regular exit path are\nbogus and the thread_mask one actually could be triggered when\n__setup_irq() hands out that thread_mask again after __free_irq()\ndropped irq_desc-\u003elock.\n\nThinking more about it, neither IRQTF_RUNTHREAD nor the bit in\nthread_mask can be set as this is the regular exit path. We come here\ndue to:\n\t__free_irq()\n\t   remove action from desc\n\t   synchronize_irq()\n\t   kthread_stop()\n\nSo synchronize_irq() makes sure that the thread finished running and\ncleaned up both the thread_active count and thread_mask. After that\npoint nothing can set IRQTF_RUNTHREAD on this action. So the warnons\nand the cleanups are pointless.\n\nReported-by: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nCc: Ido Yariv \u003cido@wizery.com\u003e\nLink: http://lkml.kernel.org/r/20120315190755.GA6732@dhcp-26-207.brq.redhat.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7140ea1980f2fae9c7aaeac5f6b35317e1389ee6",
      "tree": "7b1021c74dee94b0171db25bc1965555e0e9a9e5",
      "parents": [
        "df8d291f28aa1e8437c8f7816328a6516379c71b"
      ],
      "author": {
        "name": "Ido Yariv",
        "email": "ido@wizery.com",
        "time": "Fri Dec 02 18:24:12 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Mar 14 11:56:20 2012 +0100"
      },
      "message": "genirq: Flush the irq thread on synchronization\n\nThe current implementation does not always flush the threaded handler\nwhen disabling the irq. In case the irq handler was called, but the\nthreaded handler hasn\u0027t started running yet, the interrupt will be\nflagged as pending, and the handler will not run. This implementation\nhas some issues:\n\nFirst, if the interrupt is a wake source and flagged as pending, the\nsystem will not be able to suspend.\n\nSecond, when quickly disabling and re-enabling the irq, the threaded\nhandler might continue to run after the irq is re-enabled without the\nirq handler being called first. This might be an unexpected behavior.\n\nIn addition, it might be counter-intuitive that the threaded handler\nwill not be called even though the irq handler was called and returned\nIRQ_WAKE_THREAD.\n\nFix this by always waiting for the threaded handler to complete in\nsynchronize_irq().\n\n[ tglx: Massaged comments, added WARN_ONs and the missing\n  \tIRQTF_RUNTHREAD check in exit_irq_thread() ]\n\nSigned-off-by: Ido Yariv \u003cido@wizery.com\u003e\nLink: http://lkml.kernel.org/r/1322843052-7166-1-git-send-email-ido@wizery.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "df8d291f28aa1e8437c8f7816328a6516379c71b",
      "tree": "26ae585aa259584ddd0d9088933547c065c37086",
      "parents": [
        "5234ffb9f74cfa8993d174782bc861dd9b7b5bfb",
        "fde7d9049e55ab85a390be7f415d74c9f62dd0f9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 13 16:34:48 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 13 16:35:16 2012 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into irq/core\n\nReason: Get upstream fixes integrated before further modifications.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "5234ffb9f74cfa8993d174782bc861dd9b7b5bfb",
      "tree": "c3933cd6177cde81a99f0bcdadb333b1233e007d",
      "parents": [
        "05d74efa3c72a5c40b0edeb15856c0230126313b"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "agordeev@redhat.com",
        "time": "Fri Mar 09 14:59:59 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 09 17:19:09 2012 +0100"
      },
      "message": "genirq: Get rid of unnecessary IRQTF_DIED flag\n\nCurrently IRQTF_DIED flag is set when a IRQ thread handler calls do_exit()\nBut also PF_EXITING per process flag gets set when a thread exits. This\nfix eliminates the duplicate by using PF_EXITING flag.\n\nAlso, there is a race condition in exit_irq_thread(). In case a thread\u0027s\nbit is cleared in desc-\u003ethreads_oneshot (and the IRQ line gets unmasked),\nbut before IRQTF_DIED flag is set, a new interrupt might come in and set\njust cleared bit again, this time forever. This fix throws IRQTF_DIED flag\naway, eliminating the race as a result.\n\n[ tglx: Test THREAD_EXITING first as suggested by Oleg ]\n\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20120309135958.GD2114@dhcp-26-207.brq.redhat.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "05d74efa3c72a5c40b0edeb15856c0230126313b",
      "tree": "cac8c177adbf67f3b9234341da2516fff51a50ff",
      "parents": [
        "4bcdf1d0b652bc33d52f2322b77463e4dc58abf8"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "agordeev@redhat.com",
        "time": "Fri Mar 09 14:59:40 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 09 17:19:08 2012 +0100"
      },
      "message": "genirq: No need to check IRQTF_DIED before stopping a thread handler\n\nSince 63706172f332fd3f6e7458ebfb35fa6de9c21dc5 kthread_stop() is not\nafraid of dead kernel threads. So no need to check if a thread is\nalive before stopping it. These checks still were racy.\n\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20120309135939.GC2114@dhcp-26-207.brq.redhat.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4bcdf1d0b652bc33d52f2322b77463e4dc58abf8",
      "tree": "2a8ecf0f6ef1d0c85a4553cb1d1c7dc74706488a",
      "parents": [
        "540b60e24f3f4781d80e47122f0c4486a03375b8"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "agordeev@redhat.com",
        "time": "Fri Mar 09 14:59:26 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 09 17:19:08 2012 +0100"
      },
      "message": "genirq: Get rid of unnecessary irqaction field in task_struct\n\nWhen a new thread handler is created, an irqaction is passed to it as\ndata. Not only that irqaction is stored in task_struct by the handler\nfor later use, but also a structure associated with the kernel thread\nkeeps this value as long as the thread exists.\n\nThis fix kicks irqaction out off task_struct. Yes, I introduce new bit\nfield. But it allows not only to eliminate the duplicate, but also\nshortens size of task_struct.\n\nReported-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20120309135925.GB2114@dhcp-26-207.brq.redhat.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "540b60e24f3f4781d80e47122f0c4486a03375b8",
      "tree": "bcea664a581d1d1dbf63f544d00b52988f1422a5",
      "parents": [
        "b2a00178614e2cdd981a708d22a05c1ce4eadfd7"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "agordeev@redhat.com",
        "time": "Fri Mar 09 14:59:13 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 09 17:19:08 2012 +0100"
      },
      "message": "genirq: Fix incorrect check for forced IRQ thread handler\n\nWe do not want a bitwise AND between boolean operands\n\nSigned-off-by: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20120309135912.GA2114@dhcp-26-207.brq.redhat.com\nCc: stable@vger.kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "52abb700e16a9aa4cbc03f3d7f80206cbbc80680",
      "tree": "f396df08518ff22039d2c4da153cba029f01ecd2",
      "parents": [
        "ce8fea7aa4ad9e3b40999a08622ef27c77159659"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 06 23:18:54 2012 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 06 16:46:39 2012 -0800"
      },
      "message": "genirq: Clear action-\u003ethread_mask if IRQ_ONESHOT is not set\n\nXommit ac5637611(genirq: Unmask oneshot irqs when thread was not woken)\nfails to unmask when a !IRQ_ONESHOT threaded handler is handled by\nhandle_level_irq.\n\nThis happens because thread_mask is or\u0027ed unconditionally in\nirq_wake_thread(), but for !IRQ_ONESHOT interrupts never cleared.  So\nthe check for !desc-\u003ethread_active fails and keeps the interrupt\ndisabled.\n\nKeep the thread_mask zero for !IRQ_ONESHOT interrupts.\n\nDocument the thread_mask magic while at it.\n\nReported-and-tested-by: Sven Joachim \u003csvenjoac@gmx.de\u003e\nReported-and-tested-by: Stefan Lippers-Hollmann \u003cs.l-h@gmx.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b4bc724e82e80478cba5fe9825b62e71ddf78757",
      "tree": "81f2ba0bcbb1ac50837c1c0e5ae8b606e22d47da",
      "parents": [
        "ac5637611150281f398bb7a47e3fcb69a09e7803"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 08 11:57:52 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 15 11:56:59 2012 +0100"
      },
      "message": "genirq: Handle pending irqs in irq_startup()\n\nAn interrupt might be pending when irq_startup() is called, but the\nstartup code does not invoke the resend logic. In some cases this\nprevents the device from issuing another interrupt which renders the\ndevice non functional.\n\nCall the resend function in irq_startup() to keep things going.\n\nReported-and-tested-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "98793265b429a3f0b3f1750e74d67cd4d740d162",
      "tree": "b0bd717673f0c21845cf053f3fb6b75d42530af5",
      "parents": [
        "b4a133da2eaccb844a7beaef16ffd9c76a0d21d3",
        "bd1b2a555952d959f47169056fca05acf7eff81f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jan 08 13:21:22 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (53 commits)\n  Kconfig: acpi: Fix typo in comment.\n  misc latin1 to utf8 conversions\n  devres: Fix a typo in devm_kfree comment\n  btrfs: free-space-cache.c: remove extra semicolon.\n  fat: Spelling s/obsolate/obsolete/g\n  SCSI, pmcraid: Fix spelling error in a pmcraid_err() call\n  tools/power turbostat: update fields in manpage\n  mac80211: drop spelling fix\n  types.h: fix comment spelling for \u0027architectures\u0027\n  typo fixes: aera -\u003e area, exntension -\u003e extension\n  devices.txt: Fix typo of \u0027VMware\u0027.\n  sis900: Fix enum typo \u0027sis900_rx_bufer_status\u0027\n  decompress_bunzip2: remove invalid vi modeline\n  treewide: Fix comment and string typo \u0027bufer\u0027\n  hyper-v: Update MAINTAINERS\n  treewide: Fix typos in various parts of the kernel, and fix some comments.\n  clockevents: drop unknown Kconfig symbol GENERIC_CLOCKEVENTS_MIGR\n  gpio: Kconfig: drop unknown symbol \u0027CS5535_GPIO\u0027\n  leds: Kconfig: Fix typo \u0027D2NET_V2\u0027\n  sound: Kconfig: drop unknown symbol ARCH_CLPS7500\n  ...\n\nFix up trivial conflicts in arch/powerpc/platforms/40x/Kconfig (some new\nkconfig additions, close to removed commented-out old ones)\n"
    },
    {
      "commit": "550acb19269d65f32e9ac4ddb26c2b2070e37f1c",
      "tree": "804925b363142e47a4a26f1afcfb8f9e302bed0e",
      "parents": [
        "b930c26416c4ea6855726fd977145ccea9afbdda"
      ],
      "author": {
        "name": "Ido Yariv",
        "email": "ido@wizery.com",
        "time": "Thu Dec 01 13:55:08 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Dec 02 11:54:24 2011 +0100"
      },
      "message": "genirq: Fix race condition when stopping the irq thread\n\nIn irq_wait_for_interrupt(), the should_stop member is verified before\nsetting the task\u0027s state to TASK_INTERRUPTIBLE and calling schedule().\nIn case kthread_stop sets should_stop and wakes up the process after\nshould_stop is checked by the irq thread but before the task\u0027s state\nis changed, the irq thread might never exit:\n\nkthread_stop                    irq_wait_for_interrupt\n------------                    ----------------------\n\n                                 ...\n...                              while (!kthread_should_stop()) {\nkthread-\u003eshould_stop \u003d 1;\nwake_up_process(k);\nwait_for_completion(\u0026kthread-\u003eexited);\n...\n                                     set_current_state(TASK_INTERRUPTIBLE);\n\n                                     ...\n\n                                     schedule();\n                                 }\n\nFix this by checking if the thread should stop after modifying the\ntask\u0027s state.\n\n[ tglx: Simplified it a bit ]\n\nSigned-off-by: Ido Yariv \u003cido@wizery.com\u003e\nLink: http://lkml.kernel.org/r/1322740508-22640-1-git-send-email-ido@wizery.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "2ed0e645f358c26f4f4a7aed56a9488db0020ad1",
      "tree": "f8425da7c40d068d532cc53313eebdd3414e5047",
      "parents": [
        "aa1b052a34d7ec85b23f4fba564df24b9477201b"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Wed Nov 16 12:27:39 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Nov 17 17:44:04 2011 +0100"
      },
      "message": "genirq: Don\u0027t allow per cpu interrupts to be suspended\n\nThe power management functions related to interrupts do not know\n(yet) about per-cpu interrupts and end up calling the wrong\nlow-level methods to enable/disable interrupts.\n\nThis leads to all kind of interesting issues (action taken on one\nCPU only, updating a refcount which is not used otherwise...).\n\nThe workaround for the time being is simply to flag these interrupts\nwith IRQF_NO_SUSPEND. At least on ARM, these interrupts are actually\ndealt with at the architecture level.\n\nReported-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nTested-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nLink: http://lkml.kernel.org/r/1321446459-31409-1-git-send-email-marc.zyngier@arm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2290c0d06d82faee87b1ab2d9d4f7bf81ef64379",
      "tree": "e075e4d5534193f28e6059904f61e5ca03958d3c",
      "parents": [
        "4da669a2e3e5bc70b30a0465f3641528681b5f77",
        "52e4c2a05256cb83cda12f3c2137ab1533344edb"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Nov 13 20:55:35 2011 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Nov 13 20:55:53 2011 +0100"
      },
      "message": "Merge branch \u0027master\u0027 into for-next\n\nSync with Linus tree to have 157550ff (\"mtd: add GPMI-NAND driver\nin the config and Makefile\") as I have patch depending on that one.\n"
    },
    {
      "commit": "6d21af4f7d0ab660b24c8635f4ed577f40cd2978",
      "tree": "584aa69ee13bdd134bb155fb815cfe9327c4ad38",
      "parents": [
        "ff5f483f30918759e78371a8deb498c46fdae051"
      ],
      "author": {
        "name": "Javi Merino",
        "email": "javi.merino@arm.com",
        "time": "Wed Oct 26 10:16:11 2011 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sat Oct 29 21:35:00 2011 +0200"
      },
      "message": "irq: Fix comment typo ist-\u003eis\n\nSigned-off-by: Javi Merino \u003cjavi.merino@arm.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "32cffdde4a3ee6c2d9e0f0a94edecf1a9ce7586b",
      "tree": "ee6e4c52ac19aad88ffc45f201fbbbf4c3dd67dc",
      "parents": [
        "1e7c5fd29487ee88cb3abac945bafa60ae026146"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 04 18:43:57 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 04 18:43:57 2011 +0200"
      },
      "message": "genirq: Fix fatfinered fixup really\n\nPutting the argument inside the quote does not really help.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1e7c5fd29487ee88cb3abac945bafa60ae026146",
      "tree": "7fc04be24400b851a544ca3edde40f84116ddb95",
      "parents": [
        "31d9d9b6d83030f748d013e61502fa5477e2ac0e"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Fri Sep 30 10:48:47 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 03 15:35:27 2011 +0200"
      },
      "message": "genirq: percpu: allow interrupt type to be set at enable time\n\nAs request_percpu_irq() doesn\u0027t allow for a percpu interrupt to have\nits type configured (it is generally impossible to configure it on all\nCPUs at once), add a \u0027type\u0027 argument to enable_percpu_irq().\n\nThis allows some low-level, board specific init code to be switched to\na generic API.\n\n[ tglx: Added WARN_ON argument ]\n\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nCc: Abhijeet Dharmapurikar \u003cadharmap@codeaurora.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "31d9d9b6d83030f748d013e61502fa5477e2ac0e",
      "tree": "503670b94d594c09daa83c047b426e7b5328aa76",
      "parents": [
        "60f96b41f71d2a13d1c0a457b8b77958f77142d1"
      ],
      "author": {
        "name": "Marc Zyngier",
        "email": "marc.zyngier@arm.com",
        "time": "Fri Sep 23 17:03:06 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 03 15:35:26 2011 +0200"
      },
      "message": "genirq: Add support for per-cpu dev_id interrupts\n\nThe ARM GIC interrupt controller offers per CPU interrupts (PPIs),\nwhich are usually used to connect local timers to each core. Each CPU\nhas its own private interface to the GIC, and only sees the PPIs that\nare directly connect to it.\n\nWhile these timers are separate devices and have a separate interrupt\nline to a core, they all use the same IRQ number.\n\nFor these devices, request_irq() is not the right API as it assumes\nthat an IRQ number is visible by a number of CPUs (through the\naffinity setting), but makes it very awkward to express that an IRQ\nnumber can be handled by all CPUs, and yet be a different interrupt\nline on each CPU, requiring a different dev_id cookie to be passed\nback to the handler.\n\nThe *_percpu_irq() functions is designed to overcome these\nlimitations, by providing a per-cpu dev_id vector:\n\nint request_percpu_irq(unsigned int irq, irq_handler_t handler,\n\t\t   const char *devname, void __percpu *percpu_dev_id);\nvoid free_percpu_irq(unsigned int, void __percpu *);\nint setup_percpu_irq(unsigned int irq, struct irqaction *new);\nvoid remove_percpu_irq(unsigned int irq, struct irqaction *act);\nvoid enable_percpu_irq(unsigned int irq);\nvoid disable_percpu_irq(unsigned int irq);\n\nThe API has a number of limitations:\n- no interrupt sharing\n- no threading\n- common handler across all the CPUs\n\nOnce the interrupt is requested using setup_percpu_irq() or\nrequest_percpu_irq(), it must be enabled by each core that wishes its\nlocal interrupt to be delivered.\n\nBased on an initial patch by Thomas Gleixner.\n\nSigned-off-by: Marc Zyngier \u003cmarc.zyngier@arm.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nLink: http://lkml.kernel.org/r/1316793788-14500-2-git-send-email-marc.zyngier@arm.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "60f96b41f71d2a13d1c0a457b8b77958f77142d1",
      "tree": "3fdfa3f9a2e762139383938f0199ed2ed9ee5640",
      "parents": [
        "ed585a651681e822089087b426e6ebfb6d3d9873"
      ],
      "author": {
        "name": "Santosh Shilimkar",
        "email": "santosh.shilimkar@ti.com",
        "time": "Fri Sep 09 13:59:35 2011 +0530"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 12 09:52:49 2011 +0200"
      },
      "message": "genirq: Add IRQCHIP_SKIP_SET_WAKE flag\n\nSome irq chips need the irq_set_wake() functionality, but do not\nrequire a irq_set_wake() callback. Instead of forcing an empty\ncallback to be implemented add a flag which notes this fact. Check for\nthe flag in set_irq_wake_real() and return success when set.\n\nSigned-off-by: Santosh Shilimkar \u003csantosh.shilimkar@ti.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "69dd3d8e29e294caaf63eb5e8a72d250279f9e5f",
      "tree": "51e4d037b96431f2686ebbcd4e54775eb40b4b85",
      "parents": [
        "fcb8ce5cfe30ca9ca5c9a79cdfe26d1993e65e0c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 23 10:36:51 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 23 10:36:51 2011 -0700"
      },
      "message": "Revert \"irq: Always set IRQF_ONESHOT if no primary handler is specified\"\n\nThis reverts commit f3637a5f2e2eb391ff5757bc83fb5de8f9726464.\n\nIt turns out that this breaks several drivers, one example being OMAP\nboards which use the on-board OMAP UARTs and the omap-serial driver that\nwill not boot to userspace after the commit.\n\nPaul Walmsley reports that enabling CONFIG_DEBUG_SHIRQ reveals \u0027IRQ\nhandler type mismatch\u0027 errors:\n\n  IRQ handler type mismatch for IRQ 74\n  current handler: serial idle\n  ...\n\nand the reason is that setting IRQF_ONESHOT will now result in those\ninterrupt handlers having different IRQF flags, and thus being\nunsharable.  So the commit log in the reverted commit:\n\n                            \"Since it is required for those users and\n    there is no difference for others it makes sense to add this flag\n    unconditionally.\"\n\nis simply not true: there may not be any difference from a \"actions at\nirq time\", but there is a *big* difference wrt this flag testing irq\nmanagement (see __setup_irq() in kernel/irq/manage.c).\n\nOne solution may be to stop verifying IRQF_ONESHOT in __setup_irq(), but\nright now the safe course of action is to revert the change.  Let\u0027s\nrevisit this in a later merge window.\n\nReported-by: Paul Walmsley \u003cpaul@pwsan.com\u003e\nCc: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nRequested-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6873807a7143b7d6d8b06809295e559d07d7deb",
      "tree": "1187413ab85f1a7b7d5da91bf61ae21601da3855",
      "parents": [
        "f3637a5f2e2eb391ff5757bc83fb5de8f9726464"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "sebastian@breakpoint.cc",
        "time": "Mon Jul 11 12:17:31 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jul 28 11:23:21 2011 +0200"
      },
      "message": "irq: Track the owner of irq descriptor\n\nInterrupt descriptors can be allocated from modules. The interrupts\nare used by other modules, but we have no refcount on the module which\nprovides the interrupts and there is no way to establish one on the\ndevice level as the interrupt using module is agnostic to the fact\nthat the interrupt is provided by a module rather than by some builtin\ninterrupt controller.\n\nTo prevent removal of the interrupt providing module, we can track the\nowner of the interrupt descriptor, which also provides the relevant\nirq chip functions in the irq descriptor.\n\nrequest/setup_irq() can now acquire a refcount on the owner module to\nprevent unloading. free_irq() drops the refcount.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nLink: http://lkml.kernel.org/r/20110711101731.GA13804@Chamillionaire.breakpoint.cc\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f3637a5f2e2eb391ff5757bc83fb5de8f9726464",
      "tree": "4573995893bfe66e505b11bf4277cf062e1a7eea",
      "parents": [
        "1dd75f91ae713049eb6baaa640078f3a6549e522"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "bigeasy@linutronix.de",
        "time": "Thu Jul 07 22:32:17 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Jul 28 11:23:21 2011 +0200"
      },
      "message": "irq: Always set IRQF_ONESHOT if no primary handler is specified\n\nIf no primary handler is specified then a default one is assigned\nwhich always returns IRQ_WAKE_THREAD. This handler requires the\nIRQF_ONESHOT flag on LEVEL / EIO typed irqs because the source of\ninterrupt is not disabled. Since it is required for those users and\nthere is no difference for others it makes sense to add this flag\nunconditionally.\n\nSigned-off-by: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/1310070737-18514-1-git-send-email-bigeasy@linutronix.de\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "13863a66c9c8a663665445cf05d68de96ff31830",
      "tree": "cb7864cf23b6f26f3eb11cfe09526eb7110a0e9a",
      "parents": [
        "7f45e5cd1718ed769295033ca214032848a0097d"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jj@chaosbits.net",
        "time": "Thu Jun 09 23:14:58 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jun 10 10:53:42 2011 +0200"
      },
      "message": "genirq: Prevent potential NULL dereference in irq_set_irq_wake()\n\nIn kernel/irq/manage.c::irq_set_irq_wake() we call\nirq_get_desc_buslock() which may return NULL, but the code\ndereferences the result unconditionally.\n\nirq_set_irq_wake() has lots of callers - I checked a few and I couldn\u0027t\nfind anything that guarantees that they won\u0027t call it with some input that\nwill cause irq_get_desc_buslock() to return NULL, so I think it\u0027s a good\nthing to test and -EINVAL was the most sane error code in this situation\nthat I could think of.\n\nNot all callers test the return value of irq_set_irq_wake(), but those\nthat do take !\u003d 0 to mean error as far as I can see, so they should be\nfine. I guess those that don\u0027t test actually should, but that\u0027s a\ndifferent issue.\n\nSigned-off-by: Jesper Juhl \u003cjj@chaosbits.net\u003e\nLink: http://lkml.kernel.org/r/alpine.LNX.2.00.1106092300360.17868@swampdragon.chaosbits.net\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3a43e05f4d0600e906fa09f4a65d749288c44592",
      "tree": "b99732c8f459e70078c7dd90f62a5174376e3c62",
      "parents": [
        "ef26f20cd117eb3c185038ed7cbf7b235575751d"
      ],
      "author": {
        "name": "Sebastian Andrzej Siewior",
        "email": "sebastian@breakpoint.cc",
        "time": "Tue May 31 08:56:11 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jun 03 14:53:15 2011 +0200"
      },
      "message": "irq: Handle spurios irq detection for threaded irqs\n\nThe detection of spurios interrupts is currently limited to first level\nhandler. In force-threaded mode we never notice if the threaded irq does\nnot feel responsible.\nThis patch catches the return value of the threaded handler and forwards\nit to the spurious detector. If the primary handler returns only\nIRQ_WAKE_THREAD then the spourious detector ignores it because it gets\ncalled again from the threaded handler.\n\n[ tglx: Report the erroneous return value early and bail out ]\n\nSigned-off-by: Sebastian Andrzej Siewior \u003csebastian@breakpoint.cc\u003e\nLink: http://lkml.kernel.org/r/1306824972-27067-2-git-send-email-sebastian@breakpoint.cc\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7f1b1244e159a8490d7fb13667c6cb7e1e75046b",
      "tree": "1d5f5ff0ec14e3ac84d4ec17b0de4d43dacf8118",
      "parents": [
        "770767787c23040dc152e7ae230597ff55b39470"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Thu Apr 07 06:01:44 2011 +0900"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Apr 23 15:56:24 2011 +0200"
      },
      "message": "genirq: Support per-IRQ thread disabling.\n\nThis adds support for disabling threading on a per-IRQ basis via the IRQ\nstatus instead of the IRQ flow, which is necessary for interrupts that\ndon\u0027t follow the natural IRQ flow channels, such as those that are\nvirtually created.\n\nThe new APIs added are simply:\n\n\tirq_set_thread()\n\tirq_set_nothread()\n\nwhich follow the rest of the IRQ status routines.\n\nChained handlers also have IRQ_NOTHREAD set on them automatically, making\nthe lack of threading explicit rather than implicit. Subsequently, the\nnothread flag can be viewed through the standard genirq debugging\nfacilities.\n\n[ tglx: Fixed cleanup fallout ]\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nLink: http://lkml.kernel.org/r/%3C20110406210135.GF18426%40linux-sh.org%3E\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "4f5058c3b71ed5930bb2b478c4d5dbc799dd9ad1",
      "tree": "5c756cbcd329d62fb95744185b54c952eed903df",
      "parents": [
        "78fca1b95837a44983608302e89c7258981be9b3"
      ],
      "author": {
        "name": "Xiaotian Feng",
        "email": "dfeng@redhat.com",
        "time": "Sat Apr 02 19:39:35 2011 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Apr 02 21:26:20 2011 +0200"
      },
      "message": "genirq: Fix cpumask leak in __setup_irq()\n\nThe allocated cpumask should be freed in __setup_irq().\n\nSigned-off-by: Xiaotian Feng \u003cdfeng@redhat.com\u003e\nLKML-Reference: \u003c1301744375-6812-1-git-send-email-dfeng@redhat.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0c6f8a8b917ad361319c8ace3e9f28e69bfdb4c1",
      "tree": "b4b0cb4b619368bc93ff883f4b667e05a185549b",
      "parents": [
        "dced35aeb0367dda2636ee9ee914bda14510dcc9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 13:32:20 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 14:48:19 2011 +0200"
      },
      "message": "genirq: Remove compat code\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "cd22c0e44b105aecd78e5f9e77abab3a1b8dc00c",
      "tree": "98be0a3bdb0fcc9ff7f31e774a4c69d655d19041",
      "parents": [
        "89078d572eb9ce8d4c04264b8b0ba86de0d74c8f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 11:36:05 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 11:36:05 2011 +0200"
      },
      "message": "genirq: Fix harmless typo\n\nThe late night fixup missed to convert the data type from irq_desc to\nirq_data, which results in a harmless but annoying warning.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "0ef5ca1e1f0de71300142b8f730f26ded6a0c2f3",
      "tree": "f8eb0e5e63b7d3115c27f110e59a762fd871d693",
      "parents": [
        "a6aeddd1c4e464a2150f97ca2d1c3d68cfbd9296"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 21:59:37 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 29 01:41:22 2011 +0200"
      },
      "message": "genirq; Fix cleanup fallout\n\nI missed the CONFIG_GENERIC_PENDING_IRQ dependency in the affinity\nrelated functions and the IRQ_LEVEL propagation into irq_data\nstate. Did not pop up on my main test platforms. :(\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: David Daney \u003cddaney@caviumnetworks.com\u003e\n"
    },
    {
      "commit": "30398bf6c684a77274dbdabf7efc1f24e4a99028",
      "tree": "d4ee5d514a53fbb8186bdbc726a525bb488c7dcf",
      "parents": [
        "ee38c04b58983a236b43bae71b2415d38bceaf75"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Mar 18 09:33:56 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 20:13:57 2011 +0200"
      },
      "message": "genirq: Fix new kernel-doc warnings\n\nFix new irq-related kernel-doc warnings in 2.6.38:\n\nWarning(kernel/irq/manage.c:149): No description found for parameter \u0027mask\u0027\nWarning(kernel/irq/manage.c:149): Excess function parameter \u0027cpumask\u0027 description in \u0027irq_set_affinity\u0027\nWarning(include/linux/irq.h:161): No description found for parameter \u0027state_use_accessors\u0027\nWarning(include/linux/irq.h:161): Excess struct/union/enum/typedef member \u0027state_use_accessor\u0027 description in \u0027irq_data\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nLKML-Reference: \u003c20110318093356.b939558d.randy.dunlap@oracle.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "32f4125ebffee4f3c4dbc6a437fc656129eb9e60",
      "tree": "d64c6bb7ba40c33734896303734416ea5b4f3290",
      "parents": [
        "c2d0c555c22242c3a76e366074c4d83ef9fa3b8c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 14:10:52 2011 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Mar 28 16:55:10 2011 +0200"
      },
      "message": "genirq: Move INPROGRESS, MASKED and DISABLED state flags to irq_data\n\nWe really need these flags for some of the interrupt chips. Move it\nfrom internal state to irq_data and provide proper accessors.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: David Daney \u003cddaney@caviumnetworks.com\u003e\n"
    },
    {
      "commit": "c2d0c555c22242c3a76e366074c4d83ef9fa3b8c",
      "tree": "7426945b566129163639229fa0a5f420cdce13a8",
      "parents": [
        "b3d422329f2e061d66af4f933ef316e50e5edcac"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Fri Mar 25 12:38:50 2011 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sun Mar 27 17:45:59 2011 +0200"
      },
      "message": "genirq: Split irq_set_affinity() so it can be called with lock held.\n\nThe .irq_cpu_online() and .irq_cpu_offline() functions may need to\nadjust affinity, but they are called with the descriptor lock held.\nCreate __irq_set_affinity_locked() which is called with the lock held.\nMake irq_set_affinity() just a wrapper that acquires the lock.\n\n[ tglx: Changed the argument to irq_data, added a !desc check and\n        moved the !irq_set_affinity check where it belongs ]\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nCc: linux-mips@linux-mips.org\nCc: ralf@linux-mips.org\nLKML-Reference: \u003c1301081931-11240-4-git-send-email-ddaney@caviumnetworks.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1c389795c15d349c2c7b23baf927e16e86ca3ae8",
      "tree": "cc06eb6e38ad3cd291e9420ec5203a89c77bf3cc",
      "parents": [
        "15825a5cd4adb199fd76737e8bc846154e315218"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Thu Mar 17 14:43:07 2011 +0300"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 17 15:52:30 2011 +0100"
      },
      "message": "genirq: Fix incorrect unlock in __setup_irq()\n\ngoto out_thread is called before we take the lock. It causes a gcc\nwarning: \"kernel/irq/manage.c:858: warning: ‘flags’ may be used\nuninitialized in this function\"\n\n[ tglx: Moved unlock before free_cpumask_var() ]\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nLKML-Reference: \u003c20110317114307.GJ2008@bicker\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8d32a307e4faa8b123dc8a9cd56d1a7525f69ad3",
      "tree": "50141928db9f0ac1377dd8bb355d600232d6b38c",
      "parents": [
        "8eb90c30e0e815a1308828352eabd03ca04229dd"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 23 23:52:23 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 26 11:57:18 2011 +0100"
      },
      "message": "genirq: Provide forced interrupt threading\n\nAdd a commandline parameter \"threadirqs\" which forces all interrupts except\nthose marked IRQF_NO_THREAD to run threaded. That\u0027s mostly a debug option to\nallow retrieving better debug data from crashing interrupt handlers. If\n\"threadirqs\" is not enabled on the kernel command line, then there is no\nimpact in the interrupt hotpath.\n\nArchitecture code needs to select CONFIG_IRQ_FORCED_THREADING after\nmarking the interrupts which cant be threaded IRQF_NO_THREAD. All\ninterrupts which have IRQF_TIMER set are implict marked\nIRQF_NO_THREAD. Also all PER_CPU interrupts are excluded.\n\nForced threading hard interrupts also forces all soft interrupt\nhandling into thread context.\n\nWhen enabled it might slow down things a bit, but for debugging problems in\ninterrupt code it\u0027s a reasonable penalty as it does not immediately\ncrash and burn the machine when an interrupt handler is buggy.\n\nSome test results on a Core2Duo machine:\n\nCache cold run of:\n # time git grep irq_desc\n\n      non-threaded       threaded\n real 1m18.741s          1m19.061s\n user 0m1.874s           0m1.757s\n sys  0m5.843s           0m5.427s\n\n # iperf -c server\nnon-threaded\n[  3]  0.0-10.0 sec  1.09 GBytes   933 Mbits/sec\n[  3]  0.0-10.0 sec  1.09 GBytes   934 Mbits/sec\n[  3]  0.0-10.0 sec  1.09 GBytes   933 Mbits/sec\nthreaded\n[  3]  0.0-10.0 sec  1.09 GBytes   939 Mbits/sec\n[  3]  0.0-10.0 sec  1.09 GBytes   934 Mbits/sec\n[  3]  0.0-10.0 sec  1.09 GBytes   937 Mbits/sec\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110223234956.772668648@linutronix.de\u003e\n"
    },
    {
      "commit": "9d591edd02a245305b1b9379e4c5571bad4d2774",
      "tree": "1fdd608db6096afaf2696ff9878cb4b7096047f3",
      "parents": [
        "b5faba21a6805c33b40e258d36f57997ee1de131"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 23 23:52:16 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 25 20:24:21 2011 +0100"
      },
      "message": "genirq: Allow shared oneshot interrupts\n\nSupport ONESHOT on shared interrupts, if all drivers agree on it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110223234956.483640430@linutronix.de\u003e\n"
    },
    {
      "commit": "b5faba21a6805c33b40e258d36f57997ee1de131",
      "tree": "c84ef3357ecd6e1b1cfda623136529db0e5fab6f",
      "parents": [
        "1204e95689f9fbd245a4ce5c1b0cd0a9b77f8d25"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 23 23:52:13 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 25 20:24:21 2011 +0100"
      },
      "message": "genirq: Prepare the handling of shared oneshot interrupts\n\nFor level type interrupts we need to track how many threads are on\nflight to avoid useless interrupt storms when not all thread handlers\nhave finished yet. Keep track of the woken threads and only unmask\nwhen there are no more threads in flight.\n\nYes, I\u0027m lazy and using a bitfield. But not only because I\u0027m lazy, the\nmain reason is that it\u0027s way simpler than using a refcount. A refcount\nbased solution would need to keep track of various things like\ncrashing the irq thread, spurious interrupts coming in,\ndisables/enables, free_irq() and some more. The bitfield keeps the\ntracking simple and makes things just work. It\u0027s also nicely confined\nto the thread code pathes and does not require additional checks all\nover the place.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110223234956.388095876@linutronix.de\u003e\n"
    },
    {
      "commit": "8fff39e06987492da3d4a0b9ec7cdbd245b6762b",
      "tree": "751d1930d88def0238e927ac4e03f23703656a4d",
      "parents": [
        "ed4dea6e0e33a3e58d8b77b775a8f0e433e7a005"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 21 14:19:42 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 21 21:20:00 2011 +0100"
      },
      "message": "genirq: Add missing break in __irq_set_trigger()\n\nThe switch case in __irq_set_trigger() lacks a break, which emits a\npr_err unconditionally on success.\n\nReported-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "02725e7471b8dd58fa96f6604bdb5dde45405a2e",
      "tree": "7c5243d0a2e33f2165d1531febbe9752fad389c7",
      "parents": [
        "d5eb4ad2dfb2dfae43fd51bc8630b4fc3ef00e92"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 12 10:37:36 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:23 2011 +0100"
      },
      "message": "genirq: Use irq_get/put functions\n\nConvert the management functions to use the common irq_get/put\nfunction.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "091738a266fc74329ae186f22ff2b3f01319112d",
      "tree": "75190438b74ad345753a2a8c239724995cee40ea",
      "parents": [
        "a6967caf00ebbb2d4acdebcb72a25f2e9ba43fd2"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 14 20:16:43 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:23 2011 +0100"
      },
      "message": "genirq: Remove real old transition functions\n\nThese transition helpers are stale for years now. Remove them.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7f94226f03299f1ca32f118f02f2a0295e0e5e93",
      "tree": "049a83a3c264d4378f341991800c345bf4eeb5a5",
      "parents": [
        "d4d5e08960844a062da8387ee5f16ca7a33200d0"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 10 19:46:26 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:22 2011 +0100"
      },
      "message": "genirq: Move wakeup state to irq_data\n\nSome irq_chips need to know the state of wakeup mode for\nsetting the trigger type etc. Reflect it in irq_data state.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "d4d5e08960844a062da8387ee5f16ca7a33200d0",
      "tree": "1154fd87e25595ae9391740a1d9a3d60f69770de",
      "parents": [
        "2bff17ad2107c66fc8ca96501a7128dd7fa7a390"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 10 13:16:14 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:22 2011 +0100"
      },
      "message": "genirq: Add IRQCHIP_SET_TYPE_MASKED flag\n\nirq_chips, which require to mask the chip before changing the trigger\ntype should set this flag. So the core takes care of it and the\nrequirement for looking into desc-\u003estatus in the chip goes away.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Linus Walleij \u003clinus.walleij@stericsson.com\u003e\nCc: Lars-Peter Clausen \u003clars@metafoo.de\u003e\n"
    },
    {
      "commit": "1ccb4e612f68ceefb888c2c6c1def6294ea8666d",
      "tree": "f3cae56489a56ebc54e06871abdf63193dc5a4bb",
      "parents": [
        "876dbd4cc1b35c1a4cb96a2be1d43ea0eabce3b4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 09 14:44:17 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:21 2011 +0100"
      },
      "message": "genirq: Wrap the remaning IRQ_* flags\n\nUse wrappers to keep them away from the core code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "876dbd4cc1b35c1a4cb96a2be1d43ea0eabce3b4",
      "tree": "9be1e7e4cd4a4c9fadd98a9ac637020417215521",
      "parents": [
        "2bdd10558c8d93009cb6c32ce9e30800fbb08add"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 17:28:12 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:20 2011 +0100"
      },
      "message": "genirq: Mirror irq trigger type bits in irq_data.state\n\nThat\u0027s the data structure chip functions get provided. Also allow them\nto signal the core code that they updated the flags in irq_data.state\nby returning IRQ_SET_MASK_OK_NOCOPY. The default is unchanged.\n\nThe type bits should be accessed via:\n\nval \u003d irqd_get_trigger_type(irqdata);\nand\nirqd_set_trigger_type(irqdata, val);\n\nCoders who access them directly will be tracked down and slapped with\nstinking trouts.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2bdd10558c8d93009cb6c32ce9e30800fbb08add",
      "tree": "f25b36c02faa8709628e2dbb93748f370678bb52",
      "parents": [
        "bce43032ad79fae0ce5b6174ce1321e643ceb54b"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 17:22:00 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:20 2011 +0100"
      },
      "message": "genirq: Move IRQ_AFFINITY_SET to core\n\nKeep status in sync until last abuser is gone.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "bce43032ad79fae0ce5b6174ce1321e643ceb54b",
      "tree": "1a4725216ef2d008cbb6a23966785b58088ebf93",
      "parents": [
        "a005677b3dd05decdd8880cf3044ae709856f58f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 10 22:37:41 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:20 2011 +0100"
      },
      "message": "genirq: Reuse existing can set affinty check\n\nAdd a !desc check while at it.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a005677b3dd05decdd8880cf3044ae709856f58f",
      "tree": "529d1454940fe8c6723bd54f01e009d9be2ab840",
      "parents": [
        "1ce6068dac1924f7095be5850481e790cbf1b3c1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 17:11:03 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:20 2011 +0100"
      },
      "message": "genirq: Mirror IRQ_PER_CPU and IRQ_NO_BALANCING in irq_data.state\n\nThat\u0027s the right data structure to look at for arch code.\n\nAccessor functions are provided.\n\n\t irqd_is_per_cpu(irqdata);\n\t irqd_can_balance(irqdata);\n\nCoders who access them directly will be tracked down and slapped with\nstinking trouts.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "fae581e588e64a0690f3fc995e404fcacaebe772",
      "tree": "921a408384bf09834662a8e13af08eee87b66d30",
      "parents": [
        "8f53f92404bead2ab2154d45c8f508880bb5d95d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 16:53:24 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:19 2011 +0100"
      },
      "message": "genirq: Remove CHECK_IRQ_PER_CPU from core code\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6a58fb3bad099076f36f0f30f44507bc3275cdb6",
      "tree": "9a40117c941d914b1ef13463436657ae9721fea3",
      "parents": [
        "f230b6d5c48f8d12f4dfa1f8b5ab0b0320076d21"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 15:40:05 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:19 2011 +0100"
      },
      "message": "genirq: Remove CONFIG_IRQ_PER_CPU\n\nThe saving of this switch is minimal versus the ifdef mess it\ncreates. Simple enable PER_CPU unconditionally and remove the config\nswitch.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f230b6d5c48f8d12f4dfa1f8b5ab0b0320076d21",
      "tree": "d4d30f77ab196930dd2d2982e90b1f2b5fd9bbe2",
      "parents": [
        "91c499178139d6597e68db19638e4135510a34b8"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 05 15:20:04 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:18 2011 +0100"
      },
      "message": "genirq: Add IRQ_MOVE_PENDING to irq_data.state\n\nchip implementations need to know about it. Keep status in sync until\nall users are fixed. \n\nAccessor function: irqd_is_setaffinity_pending(irqdata)\n\nCoders who access them directly will be tracked down and slapped with\nstinking trouts.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6d2cd17fde1fc3e93302815f049f255bb2b3123e",
      "tree": "48995b27264ec657cae21e22a5be1f4c05973bc0",
      "parents": [
        "c531e8361f1968d664e6e97fbd3bfa4cf0e62e42"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 14:34:18 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:18 2011 +0100"
      },
      "message": "genirq: Move IRQ_WAKEUP to core\n\nNo users outside of core.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c531e8361f1968d664e6e97fbd3bfa4cf0e62e42",
      "tree": "45b5dbd85203033af684a9588224044289236b0c",
      "parents": [
        "6e40262ea43c4b0e3f435b3a083e4461ef921c17"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 12:44:58 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:18 2011 +0100"
      },
      "message": "genirq: Move IRQ_SUSPENDED to core\n\nNo users outside of core.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6e40262ea43c4b0e3f435b3a083e4461ef921c17",
      "tree": "4548c1607f81701b77c0d63b544096cdee8ccde0",
      "parents": [
        "2a0d6fb335d4428285dab2d254911748e6040807"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 12:36:06 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:17 2011 +0100"
      },
      "message": "genirq: Move IRQ_MASKED to core\n\nKeep status in sync until all users are fixed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2a0d6fb335d4428285dab2d254911748e6040807",
      "tree": "16090086899df6886436b89cc76e6d0d5b36d083",
      "parents": [
        "c1594b77e46124bb462f961e536120e471c67446"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 12:17:57 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:17 2011 +0100"
      },
      "message": "genirq: Move IRQ_PENDING flag to core\n\nKeep status in sync until all users are fixed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c1594b77e46124bb462f961e536120e471c67446",
      "tree": "3f52ad5809125ab5be6db1fd4b1212fe6127df66",
      "parents": [
        "163ef3091195f514a06f064b12914597d2644c55"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 22:11:30 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:17 2011 +0100"
      },
      "message": "genirq: Move IRQ_DISABLED to core\n\nKeep status in sync until all abusers are fixed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "163ef3091195f514a06f064b12914597d2644c55",
      "tree": "a6e222b1a7366aa93c884257063aa36ef17cf91f",
      "parents": [
        "3d67baec7f1b01fc289ac1a2f1a7e6d5e43391c6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 11:39:15 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:16 2011 +0100"
      },
      "message": "genirq: Move IRQ_REPLAY and IRQ_WAITING to core\n\nNo users outside of core.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3d67baec7f1b01fc289ac1a2f1a7e6d5e43391c6",
      "tree": "f496998278faa653174e185924acb0c74ac2e1b2",
      "parents": [
        "009b4c3b8ad584b3462734127a5bec680d5d6af4"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 21:02:10 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:16 2011 +0100"
      },
      "message": "genirq: Move IRQ_ONESHOT to core\n\nNo users outside of core.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "009b4c3b8ad584b3462734127a5bec680d5d6af4",
      "tree": "f7cb860dde86ba96afcc085ec7a75ca2a41e49b6",
      "parents": [
        "6954b75b488dd740950573f244ddd66fd28620aa"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 21:48:49 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:16 2011 +0100"
      },
      "message": "genirq: Add IRQ_INPROGRESS to core\n\nWe need to maintain the flag for now in both fields status and istate.\nAdd a CONFIG_GENERIC_HARDIRQS_NO_COMPAT switch to allow testing w/o\nthe status one. Wrap the access to status IRQ_INPROGRESS in a inline\nwhich can be turned of with CONFIG_GENERIC_HARDIRQS_NO_COMPAT along\nwith the define.\n\nThere is no reason that anything outside of core looks at this. That\nneeds some modifications, but we\u0027ll get there.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "7acdd53e5b2c55b6f7e3427e85e2f91fa814a4f9",
      "tree": "4806536bae32605a3107d6c4384547693eda566c",
      "parents": [
        "bd062e7667ac173afef57fbfe9327f3b914a9d4c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 20:40:54 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:15 2011 +0100"
      },
      "message": "genirq: Move IRQ_SPURIOUS_DISABLED to core state\n\nNo users outside.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "bd062e7667ac173afef57fbfe9327f3b914a9d4c",
      "tree": "29e798cb397311abec53ad45b73efdede1fc37b7",
      "parents": [
        "e6bea9c404699223322d7411c6f2ceaec02fa83c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 20:25:25 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:15 2011 +0100"
      },
      "message": "genirq: Move IRQ_AUTODETECT to internal state\n\nNo users outside of core\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "35e857cbeb24e75c6f9a9312ac30454eee8c5950",
      "tree": "3f420843de7a59adf6a9f501980e00b45d8a7e61",
      "parents": [
        "c78b9b65faa291def628dbd8539649f58299f0f3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 10 12:20:23 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:13 2011 +0100"
      },
      "message": "genirq: Fixup core code namespace fallout\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3aae994fb0f43f6d94a31c33536a83869504abdf",
      "tree": "f928d2067cecfbb89c1133a8b513f84c890f7e9d",
      "parents": [
        "50f7c0327513d5acefbe26fd33498af18d1ffac5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 04 10:17:52 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:11 2011 +0100"
      },
      "message": "genirq: Consolidate IRQ_DISABLED\n\nHandle IRQ_DISABLED consistent.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "50f7c0327513d5acefbe26fd33498af18d1ffac5",
      "tree": "cab9352b720cccbe0b230b97b26b2bc40ca0405b",
      "parents": [
        "87923470c712dff00b101ffb6b6fbc27bd7a6df5"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 03 13:23:54 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:10 2011 +0100"
      },
      "message": "genirq: Remove default magic\n\nNow that everything uses the wrappers, we can remove the default\nfunctions. None of those functions is performance critical.\n\nThat makes the IRQ_MASKED flag tracking fully consistent.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "87923470c712dff00b101ffb6b6fbc27bd7a6df5",
      "tree": "35dc1a0adec4d00bbc872ce096c481cf0d69314a",
      "parents": [
        "4699923861513671d3f6ade8efb4e56a9a7ecadf"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 03 12:27:44 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:10 2011 +0100"
      },
      "message": "genirq: Consolidate disable/enable\n\nCreate irq_disable/enable and use them to keep the flags consistent.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "4699923861513671d3f6ade8efb4e56a9a7ecadf",
      "tree": "862cda99b9af6fe96fda955107f24a7b5cc97a18",
      "parents": [
        "3b56f0585fd4c02d047dc406668cb40159b2d340"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 02 21:41:14 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:10 2011 +0100"
      },
      "message": "genirq: Consolidate startup/shutdown of interrupts\n\nAside of duplicated code some of the startup/shutdown sites do not\nhandle the MASKED/DISABLED flags and the depth field at all. Move that\nto a helper function and take care of it there.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110202212551.787481468@linutronix.de\u003e\n"
    },
    {
      "commit": "3b56f0585fd4c02d047dc406668cb40159b2d340",
      "tree": "99ac7c86428aeeaf4d8af51aad5753ac2e6d3af6",
      "parents": [
        "1535dfacbf21c4da1b73fcf07c39913da5bd5581"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 02 21:41:12 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:10 2011 +0100"
      },
      "message": "genirq: Remove bogus conditional\n\nThe if (chip-\u003eirq_shutdown) check will always evaluate to true, as we\nfill in chip-\u003eirq_shutdown with default_shutdown in\nirq_chip_set_defaults() if the chip does not provide its own function.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20110202212551.667607458@linutronix.de\u003e\n"
    },
    {
      "commit": "2b879eaf095878430c38cbd95e5c0fc4ce65ad8e",
      "tree": "2459e581520f2dd64f7a9ab75306b2af049d1362",
      "parents": [
        "3b8249e759c701c4a82f99d957be651a7657bf6f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 14 11:25:02 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:08 2011 +0100"
      },
      "message": "genirq: Remove redundant thread affinity setting\n\nThread affinity is already set by setup_affinity().\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "3b8249e759c701c4a82f99d957be651a7657bf6f",
      "tree": "f758675da3bb37282eefd50e57456d09b208b452",
      "parents": [
        "569bda8df11effa03e618729293c7961696abb10"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 16:02:20 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:07 2011 +0100"
      },
      "message": "genirq: Do not copy affinity before set\n\nWhile rumaging through arch code I found that there are a few\nworkarounds which deal with the fact that the initial affinity setting\nfrom request_irq() copies the mask into irq_data-\u003eaffinity before the\nchip code is called. In the normal path we unconditionally copy the\nmask when the chip code returns 0.\n\nCopy after the code is called and add a return code\nIRQ_SET_MASK_OK_NOCOPY for the chip functions, which prevents the\ncopy. That way we see the real mask when the chip function decided to\ntruncate it further as some arches do. IRQ_SET_MASK_OK is 0, which is\nthe current behaviour.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "569bda8df11effa03e618729293c7961696abb10",
      "tree": "b0aed74a4b00a481738dc76a739f6f67e09a99c1",
      "parents": [
        "b008207cbd0d5ce606a1a2ac52826e0ab37d0b99"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 17:05:08 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:07 2011 +0100"
      },
      "message": "genirq: Always apply cpu online mask\n\nIf the affinity had been set by the user, then a later request_irq()\nwill honour that setting. But online cpus can have changed. So apply\nthe online mask and for this case as well.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b008207cbd0d5ce606a1a2ac52826e0ab37d0b99",
      "tree": "ef3d7bc8414aa232829483e64f37758f3fdeebc2",
      "parents": [
        "1fa46f1f070961783661ae640cd2f6b2557f3885"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 17:30:50 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:07 2011 +0100"
      },
      "message": "genirq: Rremove redundant check\n\nIRQ_NO_BALANCING is already checked in irq_can_set_affinity() above,\nno need to check it again.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1fa46f1f070961783661ae640cd2f6b2557f3885",
      "tree": "cef8928b1a89edc251f8b3f9d9a67bfaa10248af",
      "parents": [
        "a0cd9ca2b907d7ee26575e7b63ac92dad768a75e"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 07 16:46:58 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:07 2011 +0100"
      },
      "message": "genirq: Simplify affinity related code\n\nThere is lot of #ifdef CONFIG_GENERIC_PENDING_IRQ along with\nduplicated code in the irq core. Move the #ifdeffery into one place\nand cleanup the code so it\u0027s readable. No functional change.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "a0cd9ca2b907d7ee26575e7b63ac92dad768a75e",
      "tree": "4b46f7951b9cd76531caf6d4d68d687e1b622336",
      "parents": [
        "43abe43ce0619d744c7a5bb15cce075e532b53b7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Feb 10 11:36:33 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:06 2011 +0100"
      },
      "message": "genirq: Namespace cleanup\n\nThe irq namespace has become quite convoluted. My bad.  Clean it up\nand deprecate the old functions. All new functions follow the scheme:\n\nirq number based:\n    irq_set/get/xxx/_xxx(unsigned int irq, ...)\n\nirq_data based:\n\t irq_data_set/get/xxx/_xxx(struct irq_data *d, ....)\n\nirq_desc based:\n\t irq_desc_get_xxx(struct irq_desc *desc)\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "43abe43ce0619d744c7a5bb15cce075e532b53b7",
      "tree": "f915103a0d1d671d2f537c7852869b7ca4a0078b",
      "parents": [
        "e7bcecb7b1d29b9ad5af939149a945658620ca8f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 12 12:10:49 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:58:06 2011 +0100"
      },
      "message": "genirq: Add missing buslock to set_irq_type(), set_irq_wake()\n\nchips behind a slow bus cannot update the chip under desc-\u003elock, but\nwe miss the chip_buslock/chip_bus_sync_unlock() calls around the set\ntype and set wake functions.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "218502bfe674f570205367b9094048207b04ba15",
      "tree": "c6187b97e7c79d902aef08f049e9fba04c421d56",
      "parents": [
        "51327ada7142ab520ed610a42572d1f4cbfbb2dc",
        "6d83f94db95cfe65d2a6359cccdf61cf087c2598"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:56:36 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:56:43 2011 +0100"
      },
      "message": "Merge branch \u0027irq/urgent\u0027 into irq/core\n\nReason: Further patches are conflicting with mainline fixes\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "6d83f94db95cfe65d2a6359cccdf61cf087c2598",
      "tree": "e685c8d43da6dec24901658905cf3cf08e127633",
      "parents": [
        "c1ee6264280e740a9d3ff3feef38642cf0a57013"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 18 23:27:23 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 19 12:11:13 2011 +0100"
      },
      "message": "genirq: Disable the SHIRQ_DEBUG call in request_threaded_irq for now\n\nWith CONFIG_SHIRQ_DEBUG\u003dy we call a newly installed interrupt handler\nin request_threaded_irq().\n\nThe original implementation (commit a304e1b8) called the handler\n_BEFORE_ it was installed, but that caused problems with handlers\ncalling disable_irq_nosync(). See commit 377bf1e4.\n\nIt\u0027s braindead in the first place to call disable_irq_nosync in shared\nhandlers, but ....\n\nMoving this call after we installed the handler looks innocent, but it\nis very subtle broken on SMP.\n\nInterrupt handlers rely on the fact, that the irq core prevents\nreentrancy.\n\nNow this debug call violates that promise because we run the handler\nw/o the IRQ_INPROGRESS protection - which we cannot apply here because\nthat would result in a possibly forever masked interrupt line.\n\nA concurrent real hardware interrupt on a different CPU results in\nhandler reentrancy and can lead to complete wreckage, which was\nunfortunately observed in reality and took a fricking long time to\ndebug.\n\nLeave the code here for now. We want this debug feature, but that\u0027s\nnot easy to fix. We really should get rid of those\ndisable_irq_nosync() abusers and remove that function completely.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: stable@kernel.org # .28 -\u003e .37\n"
    },
    {
      "commit": "51327ada7142ab520ed610a42572d1f4cbfbb2dc",
      "tree": "3dd587e6322073d0f8847ef92a835fd9fe456b49",
      "parents": [
        "44951a60ff888add9e84f509ffce20052e45af94",
        "986c011ddbb3ed44b35e1bfd67f6aa60b293b495"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 11 00:26:54 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 11 00:27:03 2011 +0100"
      },
      "message": "Merge branch \u0027irq/for-mips\u0027 into irq/core\n\nReason: irq/for-mips is provided for mips to make core independent\n        progress. Merge it into irq/core to avoid conflicts\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "986c011ddbb3ed44b35e1bfd67f6aa60b293b495",
      "tree": "defe8664b0287dcda9a7c0767b629eeae0504519",
      "parents": [
        "100b33c8bd8a3235fd0b7948338d6cbb3db3c63d"
      ],
      "author": {
        "name": "David Daney",
        "email": "ddaney@caviumnetworks.com",
        "time": "Wed Feb 09 16:04:25 2011 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 11 00:25:13 2011 +0100"
      },
      "message": "genirq: Call bus_lock/unlock functions in setup_irq()\n\nirq_chips that supply .irq_bus_lock/.irq_bus_sync_unlock functions,\nexpect that the other chip methods will be called inside of calls to\nthe pair.  If this expectation is not met, things tend to not work.\n\nMake setup_irq() call chip_bus_lock()/chip_bus_sync_unlock() too.\n\nFor the vast majority of irq_chips, this will be a NOP as most don\u0027t\nhave these bus lock functions.\n\n[ tglx: No we don\u0027t want to call that in __setup_irq(). Way too many\n  \terror exit pathes. ]\n\nSigned-off-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nLKML-Reference: \u003c1297296265-18680-1-git-send-email-ddaney@caviumnetworks.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c9a443cdf7726ce8b78c3177c6ae601ce37292fc",
      "tree": "4191db70a690b8eb7c86d8c3c10f827e4f2ab32a",
      "parents": [
        "285c1a2c3a5f84ce1c811ab4cb1f8a17466e1a06",
        "dc5f219e88294b93009eef946251251ffffb6d60"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 16:38:00 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 16:38:21 2011 +0100"
      },
      "message": "Merge branch \u0027irq/for-xen\u0027 into irq/core\n\nirq/for-xen contains new functionality to avoid Xen private irq\nhackery. That branch has a single irq commit and is pulled by Xen to\nbase their new features on.\n\nMerge it into irq/core as other patches modify the same code.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "dc5f219e88294b93009eef946251251ffffb6d60",
      "tree": "d4fd68261803ee6bd90ed4b422053d879352228e",
      "parents": [
        "100b33c8bd8a3235fd0b7948338d6cbb3db3c63d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Feb 04 13:19:20 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 08 16:36:47 2011 +0100"
      },
      "message": "genirq: Add IRQF_FORCE_RESUME\n\nXen needs to reenable interrupts which are marked IRQF_NO_SUSPEND in the\nresume path. Add a flag to force the reenabling in the resume code.\n\nTested-and-acked-by: Ian Campbell \u003cIan.Campbell@eu.citrix.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "1fb0ef31f428f345a7c3666f8e7444a563edd537",
      "tree": "aef752257568dfc69e76902750937514cac95cf0",
      "parents": [
        "cd7eab44e9946c28d595abe3e9a43e945bc49141"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 08:57:41 2011 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jan 31 08:57:41 2011 +0100"
      },
      "message": "genirq: Fix affinity notifier fallout\n\nThe new code of commit cd7eab44e(genirq: Add IRQ affinity notifiers)\nreferences irq_desc.affinity which fails to compile with\nCONFIG_GENERIC_HARDIRQS_NO_DEPRECATED\u003dy.\n\nUse irq_desc.irq_data.affinity instead.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\n"
    },
    {
      "commit": "cd7eab44e9946c28d595abe3e9a43e945bc49141",
      "tree": "b8b0c1beebbcad7785422a463504a374bb43cdea",
      "parents": [
        "1bae4ce27c9c90344f23c65ea6966c50ffeae2f5"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Wed Jan 19 21:01:44 2011 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Jan 22 17:34:25 2011 +0100"
      },
      "message": "genirq: Add IRQ affinity notifiers\n\nWhen initiating I/O on a multiqueue and multi-IRQ device, we may want\nto select a queue for which the response will be handled on the same\nor a nearby CPU.  This requires a reverse-map of IRQ affinity.  Add a\nnotification mechanism to support this.\n\nThis is based closely on work by Thomas Gleixner \u003ctglx@linutronix.de\u003e.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: linux-net-drivers@solarflare.com\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nLKML-Reference: \u003c1295470904.11126.84.camel@bwh-desktop\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c9b5f501ef1580faa30c40c644b7691870462201",
      "tree": "d22df12b72bc90b130254078ee71b1b7e7e3e521",
      "parents": [
        "524429c31b486c05449666b94613f59f729c0a84"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Jan 07 13:41:40 2011 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Jan 07 15:55:45 2011 +0100"
      },
      "message": "sched: Constify function scope static struct sched_param usage\n\nFunction-scope statics are discouraged because they are\neasily overlooked and can cause subtle bugs/races due to\ntheir global (non-SMP safe) nature.\n\nLinus noticed that we did this for sched_param - at minimum\nmake the const.\n\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nLKML-Reference: Message-ID: \u003cAANLkTinotRxScOHEb0HgFgSpGPkq_6jKTv5CfvnQM\u003dee@mail.gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "92fd4d4d67b945c0766416284d4ab236b31542c4",
      "tree": "00b8b5f90748f752ccaba3dddbe271091d93543a",
      "parents": [
        "fe7de49f9d4e53f24ec9ef762a503f70b562341c",
        "e53beacd23d9cb47590da6a7a7f6d417b941a994"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:22:14 2010 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Nov 18 13:22:26 2010 +0100"
      },
      "message": "Merge commit \u0027v2.6.37-rc2\u0027 into sched/core\n\nMerge reason: Move to a .37-rc base.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fe7de49f9d4e53f24ec9ef762a503f70b562341c",
      "tree": "766b012c7199f12625bc909748175d9e37b0b87d",
      "parents": [
        "d4429f608abde89e8bc1e24b43cd503feb95c496"
      ],
      "author": {
        "name": "KOSAKI Motohiro",
        "email": "kosaki.motohiro@jp.fujitsu.com",
        "time": "Wed Oct 20 16:01:12 2010 -0700"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Oct 23 17:56:48 2010 +0200"
      },
      "message": "sched: Make sched_param argument static in sched_setscheduler() callers\n\nAndrew Morton pointed out almost all sched_setscheduler() callers are\nusing fixed parameters and can be converted to static.  It reduces runtime\nmemory use a little.\n\nSigned-off-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReported-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2656c36699677238edc9ec1fea79039f1fddbcb6",
      "tree": "4fd8b68709598b5c581b3792ad2fc7481be76e12",
      "parents": [
        "d4429f608abde89e8bc1e24b43cd503feb95c496"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 22 14:47:57 2010 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Oct 22 16:10:29 2010 +0200"
      },
      "message": "genirq: Warn if enable_irq is called before irq is set up\n\nThe recent changes in the genirq core unearthed a bug in arch/um which\ncalled enable_irq() before the interrupt was set up.\n\nWarn and return instead of crashing the machine with a NULL pointer\ndereference.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Richard Weinberger \u003crichard@nod.at\u003e\n"
    },
    {
      "commit": "2f7e99bb9be6a2d8d7b808dc86037710cc8b7bf1",
      "tree": "c620f5e8eb1a160bebb73a330fecd95a430977ed",
      "parents": [
        "b2ba2c30033c10cca2454f8b44bf98f5249e61c6"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 27 12:45:50 2010 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 04 12:43:48 2010 +0200"
      },
      "message": "genirq: Provide compat handling for chip-\u003eset_wake()\n\nWrap the old chip function set_wake() until the migration is complete\nand the old chip functions are removed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20100927121842.927527393@linutronix.de\u003e\nReviewed-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b2ba2c30033c10cca2454f8b44bf98f5249e61c6",
      "tree": "a168cbcd1314f76edccecd5984d75793773b5239",
      "parents": [
        "c96b3b3c448592a0b87ef20306deb8b1fb4878c7"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 27 12:45:47 2010 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 04 12:43:47 2010 +0200"
      },
      "message": "genirq: Provide compat handling for chip-\u003eset_type()\n\nWrap the old chip function set_type() until the migration is complete\nand the old chip functions are removed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20100927121842.832261548@linutronix.de\u003e\nReviewed-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c96b3b3c448592a0b87ef20306deb8b1fb4878c7",
      "tree": "744c6879a585b9ab07ed51315930f8a673c09aed",
      "parents": [
        "37e12df709f09eac17314d79a52190ac46746e33"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 27 12:45:41 2010 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 04 12:43:46 2010 +0200"
      },
      "message": "genirq: Provide compat handling for chip-\u003eset_affinity()\n\nWrap the old chip function set_affinity() until the migration is\ncomplete and the old chip functions are removed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20100927121842.732894108@linutronix.de\u003e\nReviewed-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "37e12df709f09eac17314d79a52190ac46746e33",
      "tree": "78159578101faddef22c5b13ccc200542cb3d2b6",
      "parents": [
        "bc310dda41be6439364c8f3b9fe7c9d743d22b1c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 27 12:45:38 2010 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 04 12:43:44 2010 +0200"
      },
      "message": "genirq: Provide compat handling for chip-\u003estartup()\n\nWrap the old chip function startup() until the migration is complete and\nthe old chip functions are removed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20100927121842.635152961@linutronix.de\u003e\nReviewed-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bc310dda41be6439364c8f3b9fe7c9d743d22b1c",
      "tree": "86a8b4da3d9e81aad104b61023858813454b0f35",
      "parents": [
        "c5f756344c390f629243b4a28c2bd198fdfd7ee9"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 27 12:45:02 2010 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 04 12:43:43 2010 +0200"
      },
      "message": "genirq: Provide compat handling for chip-\u003edisable()/shutdown()\n\nWrap the old chip functions disable() and shutdown() until the\nmigration is complete and the old chip functions are removed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20100927121842.532070631@linutronix.de\u003e\nReviewed-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0eda58b7f3a30c9a13d83db1cfaab00e1c452055",
      "tree": "6e6efb689188f20271d8dd290008652d3c3defd8",
      "parents": [
        "e2c0f8ff0fc26959952fbfa89f732fef928df77f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Sep 27 12:44:44 2010 +0000"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Oct 04 12:43:37 2010 +0200"
      },
      "message": "genirq: Provide compat handling for chip-\u003eunmask()\n\nWrap the old chip function unmask() until the migration is complete\nand the old chip functions are removed.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nLKML-Reference: \u003c20100927121842.043608928@linutronix.de\u003e\nReviewed-by: H. Peter Anvin \u003chpa@zytor.com\u003e\nReviewed-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    }
  ],
  "next": "3876ec9ef3775d062345b3760d3271ecb8cd3fea"
}
