)]}'
{
  "log": [
    {
      "commit": "d895cb1af15c04c522a25c79cc429076987c089b",
      "tree": "895dc9157e28f603d937a58be664e4e440d5530c",
      "parents": [
        "9626357371b519f2b955fef399647181034a77fe",
        "d3d009cb965eae7e002ea5badf603ea8f4c34915"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 26 20:16:07 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 26 20:16:07 2013 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs pile (part one) from Al Viro:\n \"Assorted stuff - cleaning namei.c up a bit, fixing -\u003ed_name/-\u003ed_parent\n  locking violations, etc.\n\n  The most visible changes here are death of FS_REVAL_DOT (replaced with\n  \"has -\u003ed_weak_revalidate()\") and a new helper getting from struct file\n  to inode.  Some bits of preparation to xattr method interface changes.\n\n  Misc patches by various people sent this cycle *and* ocfs2 fixes from\n  several cycles ago that should\u0027ve been upstream right then.\n\n  PS: the next vfs pile will be xattr stuff.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (46 commits)\n  saner proc_get_inode() calling conventions\n  proc: avoid extra pde_put() in proc_fill_super()\n  fs: change return values from -EACCES to -EPERM\n  fs/exec.c: make bprm_mm_init() static\n  ocfs2/dlm: use GFP_ATOMIC inside a spin_lock\n  ocfs2: fix possible use-after-free with AIO\n  ocfs2: Fix oops in ocfs2_fast_symlink_readpage() code path\n  get_empty_filp()/alloc_file() leave both -\u003ef_pos and -\u003ef_version zero\n  target: writev() on single-element vector is pointless\n  export kernel_write(), convert open-coded instances\n  fs: encode_fh: return FILEID_INVALID if invalid fid_type\n  kill f_vfsmnt\n  vfs: kill FS_REVAL_DOT by adding a d_weak_revalidate dentry op\n  nfsd: handle vfs_getattr errors in acl protocol\n  switch vfs_getattr() to struct path\n  default SET_PERSONALITY() in linux/elf.h\n  ceph: prepopulate inodes only when request is aborted\n  d_hash_and_lookup(): export, switch open-coded instances\n  9p: switch v9fs_set_create_acl() to inode+fid, do it before d_instantiate()\n  9p: split dropping the acls from v9fs_set_create_acl()\n  ...\n"
    },
    {
      "commit": "496ad9aa8ef448058e36ca7a787c61f2e63f0f54",
      "tree": "8f4abde793cd7db5bb8fde6d27ebcacd0e54379a",
      "parents": [
        "57eccb830f1cc93d4b506ba306d8dfa685e0c88f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jan 23 17:07:38 2013 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 22 23:31:31 2013 -0500"
      },
      "message": "new helper: file_inode(file)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5800700f66678ea5c85e7d62b138416070bf7f60",
      "tree": "4aeff1edb0429eb222ddea97701d1ab1efbca2d0",
      "parents": [
        "266d7ad7f4fe2f44b91561f5b812115c1b3018ab",
        "af8d102f999a41c0189bd2cce488bac2ee88c29b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 19:07:27 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 19:07:27 2013 -0800"
      },
      "message": "Merge branch \u0027x86-apic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull x86/apic changes from Ingo Molnar:\n \"Main changes:\n\n   - Multiple MSI support added to the APIC, PCI and AHCI code - acked\n     by all relevant maintainers, by Alexander Gordeev.\n\n     The advantage is that multiple AHCI ports can have multiple MSI\n     irqs assigned, and can thus spread to multiple CPUs.\n\n     [ Drivers can make use of this new facility via the\n       pci_enable_msi_block_auto() method ]\n\n   - x86 IOAPIC code from interrupt remapping cleanups from Joerg\n     Roedel:\n\n     These patches move all interrupt remapping specific checks out of\n     the x86 core code and replaces the respective call-sites with\n     function pointers.  As a result the interrupt remapping code is\n     better abstraced from x86 core interrupt handling code.\n\n   - Various smaller improvements, fixes and cleanups.\"\n\n* \u0027x86-apic-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (26 commits)\n  x86/intel/irq_remapping: Clean up x2apic opt-out security warning mess\n  x86, kvm: Fix intialization warnings in kvm.c\n  x86, irq: Move irq_remapped out of x86 core code\n  x86, io_apic: Introduce eoi_ioapic_pin call-back\n  x86, msi: Introduce x86_msi.compose_msi_msg call-back\n  x86, irq: Introduce setup_remapped_irq()\n  x86, irq: Move irq_remapped() check into free_remapped_irq\n  x86, io-apic: Remove !irq_remapped() check from __target_IO_APIC_irq()\n  x86, io-apic: Move CONFIG_IRQ_REMAP code out of x86 core\n  x86, irq: Add data structure to keep AMD specific irq remapping information\n  x86, irq: Move irq_remapping_enabled declaration to iommu code\n  x86, io_apic: Remove irq_remapping_enabled check in setup_timer_IRQ0_pin\n  x86, io_apic: Move irq_remapping_enabled checks out of check_timer()\n  x86, io_apic: Convert setup_ioapic_entry to function pointer\n  x86, io_apic: Introduce set_affinity function pointer\n  x86, msi: Use IRQ remapping specific setup_msi_irqs routine\n  x86, hpet: Introduce x86_msi_ops.setup_hpet_msi\n  x86, io_apic: Introduce x86_io_apic_ops.print_entries for debugging\n  x86, io_apic: Introduce x86_io_apic_ops.disable()\n  x86, apic: Mask IO-APIC and PIC unconditionally on LAPIC resume\n  ...\n"
    },
    {
      "commit": "d652e1eb8e7b739fccbfb503a3da3e9f640fbf3d",
      "tree": "55ab77bad0cbb045eac0b84b80d63f88f1ae09e6",
      "parents": [
        "8f55cea410dbc56114bb71a3742032070c8108d0",
        "77852fea6e2442a0e654a9292060489895de18c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 18:19:48 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 19 18:19:48 2013 -0800"
      },
      "message": "Merge branch \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull scheduler changes from Ingo Molnar:\n \"Main changes:\n\n   - scheduler side full-dynticks (user-space execution is undisturbed\n     and receives no timer IRQs) preparation changes that convert the\n     cputime accounting code to be full-dynticks ready, from Frederic\n     Weisbecker.\n\n   - Initial sched.h split-up changes, by Clark Williams\n\n   - select_idle_sibling() performance improvement by Mike Galbraith:\n\n        \" 1 tbench pair (worst case) in a 10 core + SMT package:\n\n          pre   15.22 MB/sec 1 procs\n          post 252.01 MB/sec 1 procs \"\n\n  - sched_rr_get_interval() ABI fix/change.  We think this detail is not\n    used by apps (so it\u0027s not an ABI in practice), but lets keep it\n    under observation.\n\n  - misc RT scheduling cleanups, optimizations\"\n\n* \u0027sched-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)\n  sched/rt: Add \u003clinux/sched/rt.h\u003e header to \u003clinux/init_task.h\u003e\n  cputime: Remove irqsave from seqlock readers\n  sched, powerpc: Fix sched.h split-up build failure\n  cputime: Restore CPU_ACCOUNTING config defaults for PPC64\n  sched/rt: Move rt specific bits into new header file\n  sched/rt: Add a tuning knob to allow changing SCHED_RR timeslice\n  sched: Move sched.h sysctl bits into separate header\n  sched: Fix signedness bug in yield_to()\n  sched: Fix select_idle_sibling() bouncing cow syndrome\n  sched/rt: Further simplify pick_rt_task()\n  sched/rt: Do not account zero delta_exec in update_curr_rt()\n  cputime: Safely read cputime of full dynticks CPUs\n  kvm: Prepare to add generic guest entry/exit callbacks\n  cputime: Use accessors to read task cputime stats\n  cputime: Allow dynamic switch between tick/virtual based cputime accounting\n  cputime: Generic on-demand virtual cputime accounting\n  cputime: Move default nsecs_to_cputime() to jiffies based cputime file\n  cputime: Librarize per nsecs resolution cputime definitions\n  cputime: Avoid multiplication overflow on utime scaling\n  context_tracking: Export context state for generic vtime\n  ...\n\nFix up conflict in kernel/context_tracking.c due to comment additions.\n"
    },
    {
      "commit": "36a5df85e9a3c218b73f6cf80098016ca3f0410d",
      "tree": "83c8d0189615193b2d6111a48ec79097d1661f54",
      "parents": [
        "077931446b85e7858bf9dc0927cd116669b965d2"
      ],
      "author": {
        "name": "Chris Metcalf",
        "email": "cmetcalf@tilera.com",
        "time": "Fri Feb 01 15:04:26 2013 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Feb 18 21:42:25 2013 +0100"
      },
      "message": "genirq: Export enable/disable_percpu_irq()\n\nThese functions are used by the tilegx onchip network driver, and it\u0027s\nuseful to be able to load that driver as a module.\n\nSigned-off-by: Chris Metcalf \u003ccmetcalf@tilera.com\u003e\nLink: http://lkml.kernel.org/r/201302012043.r11KhNZF024371@farm-0021.internal.tilera.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "8bd75c77b7c6a3954140dd2e20346aef3efe4a35",
      "tree": "10e0d451a58aeb6c8f48b871a848276bf3a8a359",
      "parents": [
        "ce0dbbbb30aee6a835511d5be446462388ba9eee"
      ],
      "author": {
        "name": "Clark Williams",
        "email": "williams@redhat.com",
        "time": "Thu Feb 07 09:47:07 2013 -0600"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Feb 07 20:51:08 2013 +0100"
      },
      "message": "sched/rt: Move rt specific bits into new header file\n\nMove rt scheduler definitions out of include/linux/sched.h into\nnew file include/linux/sched/rt.h\n\nSigned-off-by: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/20130207094707.7b9f825f@riff.lan\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "51906e779f2b13b38f8153774c4c7163d412ffd9",
      "tree": "970633752f6a5cea156226cd31457289ba16f1c5",
      "parents": [
        "4cca6ea04d31c22a7d0436949c072b27bde41f86"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "agordeev@redhat.com",
        "time": "Mon Nov 19 16:01:29 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jan 24 17:25:12 2013 +0100"
      },
      "message": "x86/MSI: Support multiple MSIs in presense of IRQ remapping\n\nThe MSI specification has several constraints in comparison with\nMSI-X, most notable of them is the inability to configure MSIs\nindependently. As a result, it is impossible to dispatch\ninterrupts from different queues to different CPUs. This is\nlargely devalues the support of multiple MSIs in SMP systems.\n\nAlso, a necessity to allocate a contiguous block of vector\nnumbers for devices capable of multiple MSIs might cause a\nconsiderable pressure on x86 interrupt vector allocator and\ncould lead to fragmentation of the interrupt vectors space.\n\nThis patch overcomes both drawbacks in presense of IRQ remapping\nand lets devices take advantage of multiple queues and per-IRQ\naffinity assignments.\n\nSigned-off-by: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nCc: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCc: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nCc: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/c8bd86ff56b5fc118257436768aaa04489ac0a4c.1353324359.git.agordeev@redhat.com\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "befddb21c845f8fb49e637997891ef97c6a869dc",
      "tree": "0e7629123184f2dd50291ad6d477b894175f0f26",
      "parents": [
        "e716efde75267eab919cdb2bef5b2cb77f305326",
        "7d1f9aeff1ee4a20b1aeb377dd0f579fe9647619"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jan 24 12:47:48 2013 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@kernel.org",
        "time": "Thu Jan 24 12:47:48 2013 +0100"
      },
      "message": "Merge tag \u0027v3.8-rc4\u0027 into irq/core\n\nMerge Linux 3.8-rc4 before pulling in new commits - we were on an old v3.7 base.\n\nSigned-off-by: Ingo Molnar \u003cmingo@kernel.org\u003e\n"
    },
    {
      "commit": "19af395d7c0daaafdebd441a162128aaac575912",
      "tree": "1101927675dd8fc7e19da64b28c8eed4370f6ca4",
      "parents": [
        "f6af75dac3978d0b4d83939cb5d244b2a844820e"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Tue Dec 18 14:21:25 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 18 15:02:11 2012 -0800"
      },
      "message": "irq: tsk-\u003ecomm is an array\n\nThe array check is useless so remove it.\n\n[akpm@linux-foundation.org: remove comment, per David]\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nCc: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aefb058b0c27dafb15072406fbfd92d2ac2c8790",
      "tree": "de24b50221cfdbd8ebedb2add38c6125de604c3d",
      "parents": [
        "37ea95a959d4a49846ecbf2dd45326b6b34bf049",
        "04aa530ec04f61875b99c12721162e2964e3318c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:12:06 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 11 18:12:06 2012 -0800"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull irq fixes from Ingo Molnar:\n \"Affinity fixes and a nested threaded IRQ handling fix.\"\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Always force thread affinity\n  irq: Set CPU affinity right on thread creation\n  genirq: Provide means to retrigger parent\n"
    },
    {
      "commit": "e716efde75267eab919cdb2bef5b2cb77f305326",
      "tree": "7af4b7266b29a7a0268fcf68cb5f3a8c23405dd3",
      "parents": [
        "04aa530ec04f61875b99c12721162e2964e3318c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Nov 23 10:08:44 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Dec 11 12:25:30 2012 +0100"
      },
      "message": "genirq: Avoid deadlock in spurious handling\n\ncommit 52553ddf(genirq: fix regression in irqfixup, irqpoll)\nintroduced a potential deadlock by calling the action handler with the\nirq descriptor lock held.\n\nRemove the call and let the handling code run even for an interrupt\nwhere only a single action is registered. That matches the goal of\nthe above commit and avoids the deadlock.\n\nDocument the confusing action \u003d desc-\u003eaction reload in the handling\nloop while at it.\n\nReported-and-tested-by: \"Wang, Warner\" \u003cwarner.wang@hp.com\u003e\nTested-by: Edward Donovan \u003cedward.donovan@numble.net\u003e\nCc: \"Wang, Song-Bo (Stoney)\" \u003csong-bo.wang@hp.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "d202b7b970b2a21278505c2467919fd441a7b6c8",
      "tree": "4652028e2fcd0fc0f76baeb889cca35723f887ed",
      "parents": [
        "9489e9dcae718d5fde988e4a684a0f55b5f94d17"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Tue Nov 27 01:20:32 2012 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Nov 30 09:02:35 2012 +0000"
      },
      "message": "irqdomain: stop screaming about preallocated irqdescs\n\nIn the simple irqdomain: don\u0027t shout warnings to the user,\nthere is no point. An informational print is sufficient.\n\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "04aa530ec04f61875b99c12721162e2964e3318c",
      "tree": "832a096a2434e6c1c0ceb44335436a78b12f22b8",
      "parents": [
        "f3de44edf376d18773febca6a37800c042bada7d"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Nov 03 11:52:09 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Nov 12 20:07:18 2012 +0100"
      },
      "message": "genirq: Always force thread affinity\n\nSankara reported that the genirq core code fails to adjust the\naffinity of an interrupt thread in several cases:\n\n 1) On request/setup_irq() the call to setup_affinity() happens before\n    the new action is registered, so the new thread is not notified.\n\n 2) For secondary shared interrupts nothing notifies the new thread to\n    change its affinity.\n\n 3) Interrupts which have the IRQ_NO_BALANCE flag set are not moving\n    the thread either.\n\nFix this by setting the thread affinity flag right on thread creation\ntime. This ensures that under all circumstances the thread moves to\nthe right place. Requires a check in irq_thread_check_affinity for an\nexisting affinity mask (CONFIG_CPU_MASK_OFFSTACK\u003dy)\n\nReported-and-tested-by: Sankara Muthukrishnan \u003csankara.m@gmail.com\u003e\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1209041738200.2754@ionos\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "f3de44edf376d18773febca6a37800c042bada7d",
      "tree": "43e750bc026372f5a657afac98f50a9e74d21dfd",
      "parents": [
        "293a7a0a165c4f8327bbcf396cee9ec672727c98"
      ],
      "author": {
        "name": "Sankara Muthukrishnan",
        "email": "sankara.m@gmail.com",
        "time": "Wed Oct 31 15:41:23 2012 -0500"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Nov 01 12:11:31 2012 +0100"
      },
      "message": "irq: Set CPU affinity right on thread creation\n\nAs irq_thread_check_affinity is called ONLY inside the while loop in\nthe irq thread, the core affinity is set only when an interrupt\noccurs. This patch sets the core affinity right after the irq thread\nis created and before it waits for interrupts. In real-tiime targets\nthat do not typically change the core affinity of irqs during\nrun-time, this patch will save additional latency of an irq thread in\nsetting the core affinity during the first interrupt occurrence for\nthat irq.\n\nSigned-off-by: Sankara S Muthukrishnan \u003csankara.m@ni.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLink: http://lkml.kernel.org/r/CAFQPvXeVZ858WFYimEU5uvLNxLDd6bJMmqWihFmbCf3ntokz0A@mail.gmail.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "293a7a0a165c4f8327bbcf396cee9ec672727c98",
      "tree": "6f4dca36e85e5d7cd3648bb322b7db9c29fb8c85",
      "parents": [
        "1e207eb1c3f0e8b690401f02fe08e7b53903f010"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Oct 16 15:07:49 2012 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Nov 01 12:11:31 2012 +0100"
      },
      "message": "genirq: Provide means to retrigger parent\n\nAttempts to retrigger nested threaded IRQs currently fail because they\nhave no primary handler. In order to support retrigger of nested\nIRQs, the parent IRQ needs to be retriggered.\n\nTo fix, when an IRQ needs to be resent, if the interrupt has a parent\nIRQ and runs in the context of the parent IRQ, then resend the parent.\n\nAlso, handle_nested_irq() needs to clear the replay flag like the\nother handlers, otherwise check_irq_resend() will set it and it will\nnever be cleared.  Without clearing, it results in the first resend\nworking fine, but check_irq_resend() returning early on subsequent\nresends because the replay flag is still set.\n\nProblem discovered on ARM/OMAP platforms where a nested IRQ that\u0027s\nalso a wakeup IRQ happens late in suspend and needed to be retriggered\nduring the resume process.\n\n[khilman@ti.com: changelog edits, clear IRQS_REPLAY in handle_nested_irq()]\n\nReported-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nTested-by: Kevin Hilman \u003ckhilman@ti.com\u003e\nCc: linux-arm-kernel@lists.infradead.org\nLink: http://lkml.kernel.org/r/1350425269-11489-1-git-send-email-khilman@deeprootsystems.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "2854d167cc545d0642277bf8b77f972a91146fc6",
      "tree": "a8b8a2083bdd6569093af1613adea259064a1bcb",
      "parents": [
        "c22df08c7ffbfb281b0e5dff3fff4e192d1a7863"
      ],
      "author": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Thu Sep 27 14:59:39 2012 +0200"
      },
      "committer": {
        "name": "Linus Walleij",
        "email": "linus.walleij@linaro.org",
        "time": "Wed Oct 10 08:57:26 2012 +0200"
      },
      "message": "irqdomain: augment add_simple() to allocate descs\n\nCurrently we rely on all IRQ chip instances to dynamically\nallocate their IRQ descriptors unless they use the linear\nIRQ domain. So for irqdomain_add_legacy() and\nirqdomain_add_simple() the caller need to make sure that\ndescriptors are allocated.\n\nLet\u0027s slightly augment the yet unused irqdomain_add_simple()\nto also allocate descriptors as a means to simplify usage\nand avoid code duplication throughout the kernel.\n\nWe warn if descriptors cannot be allocated, e.g. if a\nplatform has the bad habit of hogging descriptors at boot\ntime.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nCc: Lee Jones \u003clee.jones@linaro.org\u003e\nReviewed-by: Rob Herring \u003crob.herring@calxeda.com\u003e\nSigned-off-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\n"
    },
    {
      "commit": "17d83127d4c2b322dd8f217e0ac08c66eb403779",
      "tree": "95bef6416bf98f67cb64eddec2c77ff997757629",
      "parents": [
        "b3ae66f209e8929db62b5a5f874ab2cdcf5ef1d4"
      ],
      "author": {
        "name": "Kuninori Morimoto",
        "email": "kuninori.morimoto.gx@renesas.com",
        "time": "Mon Jul 30 22:39:20 2012 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Aug 21 16:14:23 2012 +0200"
      },
      "message": "genirq: Export dummy_irq_chip\n\nExport dummy_irq_chip to modules to allow them to do things such as\n\n\tirq_set_chip_and_handler(virq,\n\t\t\t\t \u0026dummy_irq_chip,\n\t\t\t\t handle_level_irq);\nThis fixes\n\n\tERROR: \"dummy_irq_chip\" [drivers/gpio/gpio-pcf857x.ko] undefined!\n\nwhen gpio-pcf857x.c is being built as a module.\n\nSigned-off-by: Kuninori Morimoto \u003ckuninori.morimoto.gx@renesas.com\u003e\nCc: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Greg KH \u003cgregkh@linuxfoundation.org\u003e\nLink: http://lkml.kernel.org/r/871ujstrp6.wl%25kuninori.morimoto.gx@renesas.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "b3ae66f209e8929db62b5a5f874ab2cdcf5ef1d4",
      "tree": "d7c2a3fcfc9fb7e7a7d01c9463803a4e43abb3ec",
      "parents": [
        "d9875690d9b89a866022ff49e3fcea892345ad92"
      ],
      "author": {
        "name": "Kuninori Morimoto",
        "email": "kuninori.morimoto.gx@renesas.com",
        "time": "Mon Jul 30 22:39:06 2012 -0700"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Aug 21 16:14:23 2012 +0200"
      },
      "message": "genirq: Export irq_set_chip_and_handler_name()\n\nExport irq_set_chip_and_handler_name() to modules to allow them to\ndo things such as\n\n\tirq_set_chip_and_handler(....);\n\nThis fixes\n\n\tERROR: \"irq_set_chip_and_handler_name\" \\\n\t          [drivers/gpio/gpio-pcf857x.ko] undefined!\n\nwhen gpio-pcf857x.c is being built as a module.\n\nSigned-off-by: Kuninori Morimoto \u003ckuninori.morimoto.gx@renesas.com\u003e\nCc: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nCc: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Greg KH \u003cgregkh@linuxfoundation.org\u003e\nLink: http://lkml.kernel.org/r/873948trpk.wl%25kuninori.morimoto.gx@renesas.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "148311d2ade909a79afb85a853c7979eb499563f",
      "tree": "6dde0ac8804b729e084c3bef7226b10d661f12da",
      "parents": [
        "d97e1dcde5e19ed1f828baff4ab5fd0e517c8dae",
        "dc9b229a58dc0dfed34272ff26c6d5fd17c674e0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 03 10:56:44 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 03 10:56:44 2012 -0700"
      },
      "message": "Merge branch \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull irq fix from Ingo Molnar.\n\n* \u0027irq-urgent-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Allow irq chips to mark themself oneshot safe\n"
    },
    {
      "commit": "2d534926205db9ffce4bbbde67cb9b2cee4b835c",
      "tree": "b906e41009b54d9a286df3454a841fd2b3f170cc",
      "parents": [
        "ac694dbdbc403c00e2c14d10bc7b8412cc378259",
        "f5a1ad057e6da5d0fc9c5677ff44797d193d3e62"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 20:44:03 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 20:44:03 2012 -0700"
      },
      "message": "Merge tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6\n\nPull irqdomain changes from Grant Likely:\n \"Round of refactoring and enhancements to irq_domain infrastructure.\n  This series starts the process of simplifying irqdomain.  The ultimate\n  goal is to merge LEGACY, LINEAR and TREE mappings into a single\n  system, but had to back off from that after some last minute bugs.\n  Instead it mainly reorganizes the code and ensures that the reverse\n  map gets populated when the irq is mapped instead of the first time it\n  is looked up.\n\n  Merging of the irq_domain types is deferred to v3.7\n\n  In other news, this series adds helpers for creating static mappings\n  on a linear or tree mapping.\"\n\n* tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  irqdomain: Improve diagnostics when a domain mapping fails\n  irqdomain: eliminate slow-path revmap lookups\n  irqdomain: Fix irq_create_direct_mapping() to test irq_domain type.\n  irqdomain: Eliminate dedicated radix lookup functions\n  irqdomain: Support for static IRQ mapping and association.\n  irqdomain: Always update revmap when setting up a virq\n  irqdomain: Split disassociating code into separate function\n  irq_domain: correct a minor wrong comment for linear revmap\n  irq_domain: Standardise legacy/linear domain selection\n  irqdomain: Make ops-\u003emap hook optional\n  irqdomain: Remove unnecessary test for IRQ_DOMAIN_MAP_LEGACY\n  irqdomain: Simple NUMA awareness.\n  devicetree: add helper inline for retrieving a node\u0027s full name\n"
    },
    {
      "commit": "3e9a97082fa639394e905e1fc4a0a7f719ca7644",
      "tree": "9985cfa26e0597128eae03a2ee7e4614efea571f",
      "parents": [
        "941c8726e4e737e74d418ccec3d8e7b946a65541",
        "d2e7c96af1e54b507ae2a6a7dd2baf588417a7e5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:07:42 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 31 19:07:42 2012 -0700"
      },
      "message": "Merge tag \u0027random_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random\n\nPull random subsystem patches from Ted Ts\u0027o:\n \"This patch series contains a major revamp of how we collect entropy\n  from interrupts for /dev/random and /dev/urandom.\n\n  The goal is to addresses weaknesses discussed in the paper \"Mining\n  your Ps and Qs: Detection of Widespread Weak Keys in Network Devices\",\n  by Nadia Heninger, Zakir Durumeric, Eric Wustrow, J.  Alex Halderman,\n  which will be published in the Proceedings of the 21st Usenix Security\n  Symposium, August 2012.  (See https://factorable.net for more\n  information and an extended version of the paper.)\"\n\nFix up trivial conflicts due to nearby changes in\ndrivers/{mfd/ab3100-core.c, usb/gadget/omap_udc.c}\n\n* tag \u0027random_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random: (33 commits)\n  random: mix in architectural randomness in extract_buf()\n  dmi: Feed DMI table to /dev/random driver\n  random: Add comment to random_initialize()\n  random: final removal of IRQF_SAMPLE_RANDOM\n  um: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  sparc/ldc: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  [ARM] pxa: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  board-palmz71: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  isp1301_omap: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  pxa25x_udc: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  omap_udc: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  goku_udc: remove IRQF_SAMPLE_RANDOM which was commented out\n  uartlite: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  drivers: hv: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  xen-blkfront: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  n2_crypto: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  pda_power: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  i2c-pmcmsp: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  input/serio/hp_sdc.c: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  mfd: remove IRQF_SAMPLE_RANDOM which is now a no-op\n  ...\n"
    },
    {
      "commit": "dc9b229a58dc0dfed34272ff26c6d5fd17c674e0",
      "tree": "722795c29e6037d971e76d52d607d7a70cbbefaf",
      "parents": [
        "e2b34e311be3a57c9abcb927e37a57e38913714c"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Jul 13 19:29:45 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Jul 25 12:46:38 2012 +0200"
      },
      "message": "genirq: Allow irq chips to mark themself oneshot safe\n\nSome interrupt chips like MSI are oneshot safe by implementation. For\nthose interrupts we can avoid the mask/unmask sequence for threaded\ninterrupt handlers.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nLink: http://lkml.kernel.org/r/alpine.LFD.2.02.1207132056540.32033@ionos\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Avi Kivity \u003cavi@redhat.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Jan Kiszka \u003cjan.kiszka@web.de\u003e\n"
    },
    {
      "commit": "f5a1ad057e6da5d0fc9c5677ff44797d193d3e62",
      "tree": "41eba9c89a1792d07db9110177fe62187a717f4e",
      "parents": [
        "4c0946c47463defa681b83294383dc996d255bb7"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Jul 20 10:33:19 2012 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Jul 24 22:37:30 2012 -0600"
      },
      "message": "irqdomain: Improve diagnostics when a domain mapping fails\n\nWhen the map operation fails log the error code we get and add a WARN_ON()\nso we get a backtrace (which should help work out which interrupt is the\nsource of the issue).\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "4c0946c47463defa681b83294383dc996d255bb7",
      "tree": "97443f85088db0aac64bda73d3e7e4d2261623ba",
      "parents": [
        "6aeea3ecc33b1f36dbc3b80461d15a7052ae424f"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sun Jun 03 22:04:39 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Jul 24 22:37:23 2012 -0600"
      },
      "message": "irqdomain: eliminate slow-path revmap lookups\n\nWith the current state of irq_domain, the reverse map is always updated\nwhen new IRQs get mapped.  This means that the irq_find_mapping() function\ncan be simplified to execute the revmap lookup functions unconditionally\n\nThis patch adds lookup functions for the revmaps that don\u0027t yet have one\nand removes the slow path lookup code path.\n\nv8: Broke out unrelated changes into separate patches.  Rebased on Paul\u0027s irq\n    association patches.\nv7: Rebased to irqdomain/next for v3.4 and applied before the removal of \u0027hint\u0027\nv6: Remove the slow path entirely.  The only place where the slow path\n    could get called is for a linear mapping if the hwirq number is larger\n    than the linear revmap size.  There shouldn\u0027t be any interrupt\n    controllers that do that.\nv5: rewrite to not use a -\u003erevmap() callback.  It is simpler, smaller,\n    safer and faster to open code each of the revmap lookups directly into\n    irq_find_mapping() via a switch statement.\nv4: Fix build failure on incorrect variable reference.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\n"
    },
    {
      "commit": "6aeea3ecc33b1f36dbc3b80461d15a7052ae424f",
      "tree": "bbd273e3e0ca76094aed8e9c77e5adfe2b07f779",
      "parents": [
        "9844a5524ec532aee826c35e3031637c7fc8287b",
        "bdc0077af574800d24318b6945cf2344e8dbb050"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Jul 24 22:31:09 2012 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Jul 24 22:34:40 2012 -0600"
      },
      "message": "Merge remote-tracking branch \u0027origin\u0027 into irqdomain/next\n"
    },
    {
      "commit": "f14121ab35912e3d2e57ac9a4ce1f9d4b7baeffb",
      "tree": "7d5b4799998760e0a88166185abff1147d4ee04d",
      "parents": [
        "914311c9fb9bc01a215de9d848b72b5449c0e342",
        "e95d8aafa5d911bf523bc47fe89f3336eb8a1b51"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 14:07:22 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 24 14:07:22 2012 -0700"
      },
      "message": "Merge tag \u0027dt-for-3.6\u0027 of git://sources.calxeda.com/kernel/linux\n\nPull devicetree updates from Rob Herring:\n \"A small set of changes for devicetree:\n   - Couple of Documentation fixes\n   - Addition of new helper function of_node_full_name\n   - Improve of_parse_phandle_with_args return values\n   - Some NULL related sparse fixes\"\n\nGrant\u0027s busy packing.\n\n* tag \u0027dt-for-3.6\u0027 of git://sources.calxeda.com/kernel/linux:\n  of: mtd: nuke useless const qualifier\n  devicetree: add helper inline for retrieving a node\u0027s full name\n  of: return -ENOENT when no property\n  usage-model.txt: fix typo machine_init-\u003einit_machine\n  of: Fix null pointer related warnings in base.c file\n  LED: Fix missing semicolon in OF documentation\n  of: fix a few typos in the binding documentation\n"
    },
    {
      "commit": "67d1214551e800f9fe7dc7c47a346d2df0fafed5",
      "tree": "ffcc93af9390339adda36668255e617073b724a1",
      "parents": [
        "158e1645e07f3e9f7e4962d7a0997f5c3b98311b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Jun 27 11:07:19 2012 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 22 23:57:56 2012 +0400"
      },
      "message": "merge task_work and rcu_head, get rid of separate allocation for keyring case\n\ntask_work and rcu_head are identical now; merge them (calling the result\nstruct callback_head, rcu_head #define\u0027d to it), kill separate allocation\nin security/keys since we can just use cred-\u003ercu now.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "41f9d29f09ca0b22c3631e8a39676e74cda9bcc0",
      "tree": "7ab5ed25f14466471fb55536e1cf71c514fb7fe9",
      "parents": [
        "7266702805f9d824f92ce5c4069eca65d0f21d28"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Jun 26 22:10:04 2012 +0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Jul 22 23:57:54 2012 +0400"
      },
      "message": "trimming task_work: kill -\u003edata\n\nget rid of the only user of -\u003edata; this is _not_ the final variant - in the\nend we\u0027ll have task_work and rcu_head identical and just use cred-\u003ercu,\nat which point the separate allocation will be gone completely.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c5857ccf293968348e5eb4ebedc68074de3dcda6",
      "tree": "33b74f247459881a9dfdaafd6eb2756c3894521a",
      "parents": [
        "27130f0cc3ab97560384da437e4621fc4e94f21c"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jul 14 20:27:52 2012 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Thu Jul 19 10:38:32 2012 -0400"
      },
      "message": "random: remove rand_initialize_irq()\n\nWith the new interrupt sampling system, we are no longer using the\ntimer_rand_state structure in the irq descriptor, so we can stop\ninitializing it now.\n\n[ Merged in fixes from Sedat to find some last missing references to\n  rand_initialize_irq() ]\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Sedat Dilek \u003csedat.dilek@gmail.com\u003e\n"
    },
    {
      "commit": "775f4b297b780601e61787b766f306ed3e1d23eb",
      "tree": "e97e21669f0719636ccac0219f617bad6a0e8b54",
      "parents": [
        "74feec5dd83d879368c1081aec5b6a1cb6dd7ce2"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Mon Jul 02 07:52:16 2012 -0400"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Sat Jul 14 20:17:28 2012 -0400"
      },
      "message": "random: make \u0027add_interrupt_randomness()\u0027 do something sane\n\nWe\u0027ve been moving away from add_interrupt_randomness() for various\nreasons: it\u0027s too expensive to do on every interrupt, and flooding the\nCPU with interrupts could theoretically cause bogus floods of entropy\nfrom a somewhat externally controllable source.\n\nThis solves both problems by limiting the actual randomness addition\nto just once a second or after 64 interrupts, whicever comes first.\nDuring that time, the interrupt cycle data is buffered up in a per-cpu\npool.  Also, we make sure the the nonblocking pool used by urandom is\ninitialized before we start feeding the normal input pool.  This\nassures that /dev/urandom is returning unpredictable data as soon as\npossible.\n\n(Based on an original patch by Linus, but significantly modified by\ntytso.)\n\nTested-by: Eric Wustrow \u003cewust@umich.edu\u003e\nReported-by: Eric Wustrow \u003cewust@umich.edu\u003e\nReported-by: Nadia Heninger \u003cnadiah@cs.ucsd.edu\u003e\nReported-by: Zakir Durumeric \u003czakir@umich.edu\u003e\nReported-by: J. Alex Halderman \u003cjhalderm@umich.edu\u003e.\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "9844a5524ec532aee826c35e3031637c7fc8287b",
      "tree": "3fd2d2bd4ecdb8252d66f1f8c30d4a03e270ea0d",
      "parents": [
        "d6b0d1f7058f7cf818138cd7fd116dca3f3576d9"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sun Jun 03 22:04:38 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Jul 11 16:16:13 2012 +0100"
      },
      "message": "irqdomain: Fix irq_create_direct_mapping() to test irq_domain type.\n\nirq_create_direct_mapping can only be used with the NOMAP type.  Make\nthe function test to ensure it is passed the correct type of\nirq_domain.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\n"
    },
    {
      "commit": "d6b0d1f7058f7cf818138cd7fd116dca3f3576d9",
      "tree": "77badaee27c21a63f5de73b7b4483824208245ec",
      "parents": [
        "98aa468e045a0091a7c34d9f5205a629634fabf4"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sun Jun 03 22:04:37 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Jul 11 16:16:00 2012 +0100"
      },
      "message": "irqdomain: Eliminate dedicated radix lookup functions\n\nIn preparation to remove the slow revmap path, eliminate the public\nradix revmap lookup functions.  This simplifies the code and makes the\nslowpath removal patch a lot simpler.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\n"
    },
    {
      "commit": "98aa468e045a0091a7c34d9f5205a629634fabf4",
      "tree": "a08da590d80462c302750640eb88ec6c72859e1b",
      "parents": [
        "2a71a1a9da40dfbd5b23d4312aa1641385581f4a"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sun Jun 17 16:17:04 2012 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Jul 11 16:15:37 2012 +0100"
      },
      "message": "irqdomain: Support for static IRQ mapping and association.\n\nThis adds a new strict mapping API for supporting creation of linux IRQs\nat existing positions within the domain. The new routines are as follows:\n\nFor dynamic allocation and insertion to specified ranges:\n\n\t- irq_create_identity_mapping()\n\t- irq_create_strict_mappings()\n\nThese will allocate and associate a range of linux IRQs at the specified\nlocation. This can be used by controllers that have their own static linux IRQ\ndefinitions to map a hwirq range to, as well as for platforms that wish to\nestablish 1:1 identity mapping between linux and hwirq space.\n\nFor insertion to specified ranges by platforms that do their own irq_desc\nmanagement:\n\n\t- irq_domain_associate()\n\t- irq_domain_associate_many()\n\nThese in turn call back in to the domain\u0027s -\u003emap() routine, for further\nprocessing by the platform. Disassociation of IRQs get handled through\nirq_dispose_mapping() as normal.\n\nWith these in place it should be possible to begin migration of legacy IRQ\ndomains to linear ones, without requiring special handling for static vs\ndynamic IRQ definitions in DT vs non-DT paths. This also makes it possible\nfor domains with static mappings to adopt whichever tree model best fits\ntheir needs, rather than simply restricting them to linear revmaps.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n[grant.likely: Reorganized irq_domain_associate{,_many} to have all logic in one place]\n[grant.likely: Add error checking for unallocated irq_descs at associate time]\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e"
    },
    {
      "commit": "2a71a1a9da40dfbd5b23d4312aa1641385581f4a",
      "tree": "9a246c0aa997d98acb9a931e10331468a3661ac0",
      "parents": [
        "913af2070731bfc1bd39bb35c5cd2fd66f5eff12"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sun Jun 03 22:04:36 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Jul 11 16:15:34 2012 +0100"
      },
      "message": "irqdomain: Always update revmap when setting up a virq\n\nAt irq_setup_virq() time all of the data needed to update the reverse\nmap is available, but the current code ignores it and relies upon the\nslow path to insert revmap records.  This patch adds revmap updating\nto the setup path so the slow path will no longer be necessary.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\n"
    },
    {
      "commit": "913af2070731bfc1bd39bb35c5cd2fd66f5eff12",
      "tree": "26e177b59bdc23aa5d0ef75a51cc76abdfd1281e",
      "parents": [
        "80c1834fc86c2bbacb54a8fc3c04a8b0066b0996"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sun Jun 03 22:04:35 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Jul 11 16:15:34 2012 +0100"
      },
      "message": "irqdomain: Split disassociating code into separate function\n\nThis patch moves the irq disassociation code out into a separate\nfunction in preparation to extend irq_setup_virq to handle multiple\nirqs and rename it for use by interrupt controller drivers.  The new\nfunction will be used by irq_setup_virq() in its error path.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\n"
    },
    {
      "commit": "22076c7712be29a602de45b1c573f31adbd428a9",
      "tree": "391b8b9c6780dc2b4de97b3a3957138aaa3cd16d",
      "parents": [
        "781d0f46d81e2c26c70649903b503bcfe817efc8"
      ],
      "author": {
        "name": "Dong Aisheng",
        "email": "dong.aisheng@linaro.org",
        "time": "Wed Jun 20 17:00:30 2012 +0800"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Jul 11 15:07:27 2012 +0100"
      },
      "message": "irq_domain: correct a minor wrong comment for linear revmap\n\nThe revmap type should be linear for irq_domain_add_linear function.\n\nSigned-off-by: Dong Aisheng \u003cdong.aisheng@linaro.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "781d0f46d81e2c26c70649903b503bcfe817efc8",
      "tree": "11794b64c41e8468db6d14243c5becce3b5b64c8",
      "parents": [
        "aed98048bd1c83469d96932c1901e867d9ba519a"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jul 05 12:19:19 2012 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Jul 11 14:59:17 2012 +0100"
      },
      "message": "irq_domain: Standardise legacy/linear domain selection\n\nA large proportion of interrupt controllers that support legacy mappings\ndo so because non-DT systems need to use fixed IRQ numbers when registering\ndevices via buses but can otherwise use a linear mapping. The interrupt\ncontroller itself typically is not affected by the mapping used and best\npractice is to use a linear mapping where possible so drivers frequently\nselect at runtime depending on if a legacy range has been allocated to\nthem.\n\nStandardise this behaviour by providing irq_domain_register_simple() which\nwill allocate a linear mapping unless a positive first_irq is provided in\nwhich case it will fall back to a legacy mapping. This helps make best\npractice for irq_domain adoption clearer.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "74a7f08448adea6cb47cd9b260c98ff168117e92",
      "tree": "df2ce1ae517e390d1049e01c1428a4b31fd689cc",
      "parents": [
        "1af4c7f18a442771d86d496c761e9816349f98c9"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Jun 15 11:50:25 2012 -0600"
      },
      "committer": {
        "name": "Rob Herring",
        "email": "rob.herring@calxeda.com",
        "time": "Fri Jul 06 07:16:34 2012 -0500"
      },
      "message": "devicetree: add helper inline for retrieving a node\u0027s full name\n\nThe pattern (np ? np-\u003efull_name : \"\u003cnone\u003e\") is rather common in the\nkernel, but can also make for quite long lines.  This patch adds a new\ninline function, of_node_full_name() so that the test for a valid node\npointer doesn\u0027t need to be open coded at all call sites.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Rob Herring \u003crob.herring@calxeda.com\u003e\n"
    },
    {
      "commit": "aed98048bd1c83469d96932c1901e867d9ba519a",
      "tree": "b1347b9e4f3953de7a2ff665fbded5ba2c306d60",
      "parents": [
        "732557047128e5c200c3590efba39f10ac46bcb2"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sun Jun 03 22:04:39 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sun Jun 17 15:41:57 2012 -0600"
      },
      "message": "irqdomain: Make ops-\u003emap hook optional\n\nThere isn\u0027t a really compelling reason to force -\u003emap to be populated,\nso allow it to be left unset.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\n"
    },
    {
      "commit": "732557047128e5c200c3590efba39f10ac46bcb2",
      "tree": "325db6acedf3501128ca9c88f6f2c28d5573ffdb",
      "parents": [
        "5ca4db61e859526b2dbee3bcea3626d3de49a0b2"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sun Jun 03 22:04:35 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Jun 15 12:08:09 2012 -0600"
      },
      "message": "irqdomain: Remove unnecessary test for IRQ_DOMAIN_MAP_LEGACY\n\nWhere irq_domain_associate() is called in irq_create_mapping, there is\nno need to test for IRQ_DOMAIN_MAP_LEGACY because it is already tested\nfor earlier in the routine.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\n\n"
    },
    {
      "commit": "5ca4db61e859526b2dbee3bcea3626d3de49a0b2",
      "tree": "abbe2bc14d1de334834b1c5ace2cbbaf2b7c1b45",
      "parents": [
        "efd68e7254503f3207805f674a1ea1d743f5dfe2"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sun Jun 03 22:04:34 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Jun 15 12:08:00 2012 -0600"
      },
      "message": "irqdomain: Simple NUMA awareness.\n\nWhile common irqdesc allocation is node aware, the irqdomain code is not.\n\nPresently we observe a number of regressions/inconsistencies on\nNUMA-capable platforms:\n\n- Platforms using irqdomains with legacy mappings, where the\n  irq_descs are allocated node-local and the irqdomain data\n  structure is not.\n\n- Drivers implementing irqdomains will lose node locality\n  regardless of the underlying struct device\u0027s node id.\n\nThis plugs in NUMA node id proliferation across the various allocation\ncallsites by way of_node_to_nid() node lookup. While of_node_to_nid()\ndoes the right thing for OF-capable platforms it doesn\u0027t presently handle\nthe non-DT case. This is trivially dealt with by simply wraping in to\nnuma_node_id() unconditionally.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "efd68e7254503f3207805f674a1ea1d743f5dfe2",
      "tree": "d5d0dc0b2b6fdf41ff57eb4b21501fbfe3a56d64",
      "parents": [
        "cfaf025112d3856637ff34a767ef785ef5cf2ca9"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sun Jun 03 22:04:33 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Jun 15 11:44:03 2012 -0600"
      },
      "message": "devicetree: add helper inline for retrieving a node\u0027s full name\n\nThe pattern (np ? np-\u003efull_name : \"\u003cnone\u003e\") is rather common in the\nkernel, but can also make for quite long lines.  This patch adds a new\ninline function, of_node_full_name() so that the test for a valid node\npointer doesn\u0027t need to be open coded at all call sites.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "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": "b343c8beec664ef6f0e9964d3001c7c7966331ae",
      "tree": "c61be2147a700ff83704164686e1db23461d0bb3",
      "parents": [
        "745914df47053c758f3d7999dfa82df184c2e5af",
        "a87487e687ceafdc696b8cb1fb27e37cc463586b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 13:55:24 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 24 13:55:24 2012 -0700"
      },
      "message": "Merge tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6\n\nPull irqdomain changes from Grant Likely:\n \"Minor changes and fixups for irqdomain infrastructure.  The most\n  important change adds the ability to remove a registered irqdomain.\"\n\n* tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6:\n  irqdomain: Document size parameter of irq_domain_add_linear()\n  irqdomain: trivial pr_fmt conversion.\n  irqdomain: Kill off duplicate definitions.\n  irqdomain: Make irq_domain_simple_map() static.\n  irqdomain: Export remaining public API symbols.\n  irqdomain: Support removal of IRQ domains.\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": "23812b9d9e497580d38c62ebdc6f308733b0a32a",
      "tree": "5093189b4bea411380c112a35b9183b5b7deea95",
      "parents": [
        "f9369910a6225b8d4892c3f20ae740a711cd5ace"
      ],
      "author": {
        "name": "Ning Jiang",
        "email": "ning.n.jiang@gmail.com",
        "time": "Tue May 22 00:19:20 2012 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu May 24 22:27:45 2012 +0200"
      },
      "message": "genirq: Add IRQS_PENDING for nested and simple irq\n\nEvery interrupt which is an active wakeup source needs the ability to\nabort suspend if there is a pending irq. Right now only edge and level\nirqs can do that.\n\n            |\n       +---------+\n       |   INTC  |\n       +---------+\n               | GPIO_IRQ\n            +------------+\n            |  gpio-exp  |\n            +------------+\n              |        |\n         GPIO0_IRQ  GPIO1_IRQ\n\nIn the above diagram, gpio expander has irq number GPIO_IRQ, it is\nconnected with two sub GPIO pins, GPIO0 and GPIO1.\n\nDuring suspend, we set IRQF_NO_SUSPEND for GPIO_IRQ so that gpio\nexpander driver can handle the sub irq GPIO0_IRQ and GPIO1_IRQ, and\nthese two irqs themselves can further be handled by simple or nested\nirq in some drivers(typically gpio and mfd driver). If they are used\nas wakeup sources during suspend, we want them to be able to abort\nsuspend too.\n\nSetting IRQS_PENDING flag in handle_nested_irq() and handle_simple_irq()\nwhen the irq is disabled allows check_wakeup_irqs() to identify such\nirqs as source for aborting suspend.\n\nSigned-off-by: Ning Jiang \u003cning.n.jiang@gmail.com\u003e\nCc: rjw@sisk.pl\nLink: http://lkml.kernel.org/r/CAH3Oq6T905%2B3fkF43NAMMFvJvq7dsk_so6T2vQ8ZJrA5xiU3YA@mail.gmail.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": "471368557a734c6c486ee757952c902b36e7fd01",
      "tree": "f192a77d2cb70b1d135e7be62418806e8c590a3e",
      "parents": [
        "cb60e3e65c1b96a4d6444a7a13dc7dd48bc15a2b",
        "e0d8ffd1df44518cb9ac9b1807d1f13cc100fc2f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 20:33:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon May 21 20:33:19 2012 -0700"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull core irq changes from Ingo Molnar:\n \"A collection of small fixes.\"\n\nBy Thomas Gleixner\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  hexagon: Remove select of not longer existing Kconfig switches\n  arm: Select core options instead of redefining them\n  genirq: Do not consider disabled wakeup irqs\n  genirq: Allow check_wakeup_irqs to notice level-triggered interrupts\n  genirq: Be more informative on irq type mismatch\n  genirq: Reject bogus threaded irq requests\n  genirq: Streamline irq_action\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": "a87487e687ceafdc696b8cb1fb27e37cc463586b",
      "tree": "4fde950b0c81090673d04b7facb92c21785a15b2",
      "parents": [
        "54a9058860f2b7ed8d2fe5bf7be19bb901866dc2"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat May 19 12:15:35 2012 +0100"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat May 19 13:07:51 2012 -0600"
      },
      "message": "irqdomain: Document size parameter of irq_domain_add_linear()\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "54a9058860f2b7ed8d2fe5bf7be19bb901866dc2",
      "tree": "f6c779143685db48f32a480c3e3423dd6bd3cd4f",
      "parents": [
        "cb5557bec9f14d05204a9014ae1b23aca8b04f1d"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat May 19 15:11:47 2012 +0900"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat May 19 12:59:15 2012 -0600"
      },
      "message": "irqdomain: trivial pr_fmt conversion.\n\nConvert to pr_fmt before things start to get out of hand and some\njanitors start getting overly excited.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "5c5806e50b9fd4ca435acdf0eceddda64da9be5b",
      "tree": "09e831a978fb1d09cdcec36e705d04923ac36a25",
      "parents": [
        "ecd84eb20a08841197d6bbda5961dcf5f4e424fc"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat May 19 15:11:43 2012 +0900"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat May 19 12:35:33 2012 -0600"
      },
      "message": "irqdomain: Make irq_domain_simple_map() static.\n\nPresently irq_domain_simple_map() isn\u0027t labelled as static, but there\u0027s\nno definition for it in the public irqdomain header either. At present\nall in-tree -\u003emap users have meaningful work to do, and all others are\nusing irq_domain_simple_ops directly. Make it static for now, as it can\nalways be exported and added to the public API later.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "ecd84eb20a08841197d6bbda5961dcf5f4e424fc",
      "tree": "c8717474bf4c8bfca560d88ebd0f89be4d642e93",
      "parents": [
        "58ee99ada293b5ed971a023304fcfbc1a0ccdb1c"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat May 19 15:11:42 2012 +0900"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat May 19 12:34:38 2012 -0600"
      },
      "message": "irqdomain: Export remaining public API symbols.\n\nmodules making use of irq domains at the very least need access to the\nadd/remove/lookup routines, though there\u0027s nothing preventing them from\nusing the remainder of the public API, either.\n\nThe current set of exports seem primarily geared at DT-enabled platforms\nusing DT-backed IRQ domains, where many of the API accesses are hidden\naway in OF code. The non-DT cases need to do most of this on their own.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "58ee99ada293b5ed971a023304fcfbc1a0ccdb1c",
      "tree": "29faab64364615dda0cb373ee7dbd483ff89ce9c",
      "parents": [
        "36be50515fe2aef61533b516fa2576a2c7fe7664"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sat May 19 15:11:41 2012 +0900"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat May 19 12:32:35 2012 -0600"
      },
      "message": "irqdomain: Support removal of IRQ domains.\n\nNow that IRQ domains are being used by modules it\u0027s necessary to support\nremoving them, too. This adds a new irq_domain_remove() routine for doing\nthe bulk of the heavy lifting. It\u0027s left as an exercise to the caller to\nensure all mappings have been appropriatey disposed of before attempting\nto remove the domain.\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "3911ff30f5d1175e2e67e73244405e3492b35c79",
      "tree": "9727439d23b9308b6c26710db3aadf0406b1998b",
      "parents": [
        "b6255ee3d82798eb1eee9fb1cca713317b5afae8"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun May 13 12:13:15 2012 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 15 08:10:07 2012 -0700"
      },
      "message": "genirq: export handle_edge_irq() and irq_to_desc()\n\nExport handle_edge_irq() and irq_to_desc() to modules to allow them to\ndo things such as\n\n\t__irq_set_handler_locked(...., handle_edge_irq);\n\nThis fixes\n\n\tERROR: \"handle_edge_irq\" [drivers/gpio/gpio-pch.ko] undefined!\n\tERROR: \"irq_to_desc\" [drivers/gpio/gpio-pch.ko] undefined!\n\nwhen gpio-pch is being built as a module.\n\nThis was introduced by commit df9541a60af0 (\"gpio: pch9: Use proper flow\ntype handlers\") that added\n\n\t__irq_set_handler_locked(d-\u003eirq, handle_edge_irq);\n\nbut handle_edge_irq() was not exported for modules (and inlined\n__irq_set_handler_locked() requires irq_to_desc() exported as well)\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c6079aa1bfcf7e14de10b824779ce39b679bcb8",
      "tree": "4d2dd86804abbb95b12abe811cb2095ce7758349",
      "parents": [
        "d4dc0f90d243fb54cfbca6601c9a7c5a758e437f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 04 17:56:16 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 04 23:38:50 2012 +0200"
      },
      "message": "genirq: Do not consider disabled wakeup irqs\n\nIf an wakeup interrupt has been disabled before the suspend code\ndisables all interrupts then we have to ignore the pending flag.\n\nOtherwise we would abort suspend over and over as nothing clears the\npending flag because the interrupt is disabled.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "d4dc0f90d243fb54cfbca6601c9a7c5a758e437f",
      "tree": "c868d2debe4a4f8d802ad6bbaa257bb5be83dd22",
      "parents": [
        "f5d89470f91f2e67eeaf350c730ae8412c3a98e3"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Apr 25 12:54:54 2012 +0200"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri May 04 23:38:50 2012 +0200"
      },
      "message": "genirq: Allow check_wakeup_irqs to notice level-triggered interrupts\n\nLevel triggered interrupts do not cause IRQS_PENDING to be set when\nthey fire while \"disabled\" as the \u0027pending\u0027 state is always present in\nthe level - they automatically refire where re-enabled.\n\nHowever the IRQS_PENDING flag is also used to abort a suspend cycle -\nif any \u0027is_wakeup_set\u0027 interrupt is PENDING, check_wakeup_irqs() will\ncause suspend to abort. Without IRQS_PENDING, suspend won\u0027t abort.\n\nConsequently, level-triggered interrupts that fire during the \u0027noirq\u0027\nphase of suspend do not currently abort suspend.\n\nSo set IRQS_PENDING even for level triggered interrupts, and make sure\nto clear the flag in check_irq_resend.\n\n[ Changelog by courtesy of Neil ]\n\nTested-by: NeilBrown \u003cneilb@suse.de\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n\n"
    },
    {
      "commit": "9f3045eca89a2e6fdd1901aafb9e28231d3f31fb",
      "tree": "f6d4e6acd6c2b252dfa7695446f3dba081f710a7",
      "parents": [
        "bfae8ee8d28e6a4ac1d63e8077cb09928d8a557a"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed Apr 18 16:29:57 2012 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Apr 23 12:30:03 2012 -0400"
      },
      "message": "irq: hide debug macros so they don\u0027t collide with others.\n\nThe file kernel/irq/debug.h temporarily defines P, PS, PD\nand then undefines them.  However these names aren\u0027t really\n\"internal\" enough, and collide with other more legit users\nsuch as the ones in the xtensa arch, causing:\n\nIn file included from kernel/irq/internals.h:58:0,\n                 from kernel/irq/irqdesc.c:18:\nkernel/irq/debug.h:8:0: warning: \"PS\" redefined [enabled by default]\narch/xtensa/include/asm/regs.h:59:0: note: this is the location of the previous definition\n\nAdd a handful of underscores to do a better job of hiding these\ntemporary macros.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\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": "5269a9ab7def9a3116663347d59c4d70afa2d180",
      "tree": "e4c93f4f7a1cc8e6c243bce6be7b5c37ece3cc54",
      "parents": [
        "ecca5c3acc0d0933d89abc44e60afb0cc8170e35"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Apr 12 14:42:15 2012 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Apr 12 16:25:48 2012 -0600"
      },
      "message": "irq_domain: fix type mismatch in debugfs output format\n\nsizeof(void*) returns an unsigned long, but it was being used as a width parameter to a \"%-*s\" format string which requires an int.  On 64 bit platforms this causes a type mismatch:\n\n    linux/kernel/irq/irqdomain.c:575: warning: field width should have type\n    \u0027int\u0027, but argument 6 has type \u0027long unsigned int\u0027\n\nThis change casts the size to an int so printf gets the right data type.\n\nReported-by: Andreas Schwab \u003cschwab@linux-m68k.org\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: David Daney \u003cdavid.daney@cavium.com\u003e\n"
    },
    {
      "commit": "6fa6c8e25e95bdc73e92e4c96b8e3299169b616e",
      "tree": "34dc13fb2448eab4916f55edd10dfa34c36505df",
      "parents": [
        "15e06bf64f686befd2030da867a3dad965b96cc0"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Feb 15 15:06:08 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Apr 12 00:37:48 2012 -0600"
      },
      "message": "irq_domain: Move irq_virq_count into NOMAP revmap\n\nThis patch replaces the old global setting of irq_virq_count that is only\nused by the NOMAP mapping and instead uses a revmap_data property so that\nthe maximum NOMAP allocation can be set per NOMAP irq_domain.\n\nThere is exactly one user of irq_virq_count in-tree right now: PS3.\nAlso, irq_virq_count is only useful for the NOMAP mapping.  So,\ninstead of having a single global irq_virq_count values, this change\ndrops it entirely and added a max_irq argument to irq_domain_add_nomap().\nThat makes it a property of an individual nomap irq domain instead of\na global system settting.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nTested-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\n"
    },
    {
      "commit": "15e06bf64f686befd2030da867a3dad965b96cc0",
      "tree": "769d3c6192d1eeff58fd84d5e6c4667f2952d26c",
      "parents": [
        "ac5830a33f5b25eae1dc0708b3e7a3d270a6c07f"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Apr 11 00:26:25 2012 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Wed Apr 11 01:01:45 2012 -0600"
      },
      "message": "irqdomain: Fix debugfs formatting\n\nThis patch fixes the irq_domain_mapping debugfs output to pad pointer\nvalues with leading zeros so that pointer values are displayed\ncorrectly.  Otherwise you get output similar to \"0x 5e0000000000000\".\nAlso, when the irq_domain is set to \u0027null\u0027\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: David Daney \u003cdavid.daney@cavium.com\u003e\nCc: Mika Westerberg \u003cmika.westerberg@linux.intel.com\u003e\n"
    },
    {
      "commit": "ac5830a33f5b25eae1dc0708b3e7a3d270a6c07f",
      "tree": "8e3bf52b942d432f8ebb79b8ad3c2eae1c06a744",
      "parents": [
        "a699e4e49ec3fb62c4a44394357d14081df10bef"
      ],
      "author": {
        "name": "Mika Westerberg",
        "email": "mika.westerberg@linux.intel.com",
        "time": "Tue Apr 10 15:25:42 2012 +0300"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Apr 10 22:39:17 2012 -0600"
      },
      "message": "irq_domain: correct the debugfs file name\n\nThe actual name of the irq_domain mapping debugfs file is\n\"irq_domain_mapping\" not \"virq_mapping\".\n\nSigned-off-by: Mika Westerberg \u003cmika.westerberg@linux.intel.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "5b7526e3a640e491075557acaa842c59c652c0c3",
      "tree": "43b3d5d33078b4683482b25559735e1e5d719a72",
      "parents": [
        "0034102808e0dbbf3a2394b82b1bb40b5778de9e"
      ],
      "author": {
        "name": "David Daney",
        "email": "david.daney@cavium.com",
        "time": "Thu Apr 05 16:52:13 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Apr 10 22:39:16 2012 -0600"
      },
      "message": "irq/irq_domain: Quit ignoring error returns from irq_alloc_desc_from().\n\nIn commit 4bbdd45a (irq_domain/powerpc: eliminate irq_map; use\nirq_alloc_desc() instead) code was added that ignores error returns\nfrom irq_alloc_desc_from() by (silently) casting the return value to\nunsigned.  The negitive value error return now suddenly looks like a\nvalid irq number.\n\nCommits cc79ca69 (irq_domain: Move irq_domain code from powerpc to\nkernel/irq) and 1bc04f2c (irq_domain: Add support for base irq and\nhwirq in legacy mappings) move this code to its current location in\nirqdomain.c\n\nThe result of all of this is a null pointer dereference OOPS if one of\nthe error cases is hit.\n\nThe fix: Don\u0027t cast away the negativeness of the return value and then\ncheck for errors.\n\nSigned-off-by: David Daney \u003cdavid.daney@cavium.com\u003e\nAcked-by: Rob Herring \u003crob.herring@calxeda.com\u003e\n[grant.likely: dropped addition of new \u0027irq\u0027 variable]\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\n"
    },
    {
      "commit": "f558c272386a0f7507cc8de7b6b5afc24d17fa9c",
      "tree": "5929476273509cfb26817fc1e06392e56c872e5f",
      "parents": [
        "3a0d1849432461eec1321f8918c6c13497d390c9",
        "f5cb92ac82d06cb583c1f66666314c5c0a4d7913"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:08:05 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 18:08:05 2012 -0700"
      },
      "message": "Merge branch \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull genirq updates from Thomas Gleixner.\n\n* \u0027irq-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:\n  genirq: Adjust irq thread affinity on IRQ_SET_MASK_OK_NOCOPY return value\n  genirq: Respect NUMA node affinity in setup_irq_irq affinity()\n  genirq: Get rid of unneeded force parameter in irq_finalize_oneshot()\n  genirq: Minor readablity improvement in irq_wake_thread()\n"
    },
    {
      "commit": "f5cb92ac82d06cb583c1f66666314c5c0a4d7913",
      "tree": "3553fcffceda28462137f73f3f81ccccc19c620b",
      "parents": [
        "241fc640be783f903e74b6d9c68481c01873f758"
      ],
      "author": {
        "name": "Jiang Liu",
        "email": "liuj97@gmail.com",
        "time": "Fri Mar 30 23:11:33 2012 +0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Fri Mar 30 23:13:46 2012 +0200"
      },
      "message": "genirq: Adjust irq thread affinity on IRQ_SET_MASK_OK_NOCOPY return value\n\nirq_move_masked_irq() checks the return code of\nchip-\u003eirq_set_affinity() only for 0, but IRQ_SET_MASK_OK_NOCOPY is\nalso a valid return code, which is there to avoid a redundant copy of\nthe cpumask. But in case of IRQ_SET_MASK_OK_NOCOPY we not only avoid\nthe redundant copy, we also fail to adjust the thread affinity of an\neventually threaded interrupt handler.\n\nHandle IRQ_SET_MASK_OK (\u003d\u003d0) and IRQ_SET_MASK_OK_NOCOPY(\u003d\u003d1) return\nvalues correctly by checking the valid return values seperately.\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\nCc: stable@vger.kernel.org\nLink: http://lkml.kernel.org/r/1333120296-13563-2-git-send-email-jiang.liu@huawei.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "12679a2d7e3bfbdc7586e3e86d1ca90c46659363",
      "tree": "d9c00f2e599d1c3e04a349229a6a19906d01f99e",
      "parents": [
        "1c036588772d01655d851f75dffc27c971e072e2",
        "b0df89868006517417251e02cc4ce5d4b0165885"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 16:53:48 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 29 16:53:48 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.linaro.org/people/rmk/linux-arm\n\nPull more ARM updates from Russell King.\n\nThis got a fair number of conflicts with the \u003casm/system.h\u003e split, but\nalso with some other sparse-irq and header file include cleanups.  They\nall looked pretty trivial, though.\n\n* \u0027for-linus\u0027 of git://git.linaro.org/people/rmk/linux-arm: (59 commits)\n  ARM: fix Kconfig warning for HAVE_BPF_JIT\n  ARM: 7361/1: provide XIP_VIRT_ADDR for no-MMU builds\n  ARM: 7349/1: integrator: convert to sparse irqs\n  ARM: 7259/3: net: JIT compiler for packet filters\n  ARM: 7334/1: add jump label support\n  ARM: 7333/2: jump label: detect %c support for ARM\n  ARM: 7338/1: add support for early console output via semihosting\n  ARM: use set_current_blocked() and block_sigmask()\n  ARM: exec: remove redundant set_fs(USER_DS)\n  ARM: 7332/1: extract out code patch function from kprobes\n  ARM: 7331/1: extract out insn generation code from ftrace\n  ARM: 7330/1: ftrace: use canonical Thumb-2 wide instruction format\n  ARM: 7351/1: ftrace: remove useless memory checks\n  ARM: 7316/1: kexec: EOI active and mask all interrupts in kexec crash path\n  ARM: Versatile Express: add NO_IOPORT\n  ARM: get rid of asm/irq.h in asm/prom.h\n  ARM: 7319/1: Print debug info for SIGBUS in user faults\n  ARM: 7318/1: gic: refactor irq_start assignment\n  ARM: 7317/1: irq: avoid NULL check in for_each_irq_desc loop\n  ARM: 7315/1: perf: add support for the Cortex-A7 PMU\n  ...\n"
    },
    {
      "commit": "092b2fb0766e7a0bf2e50d9cdd7d3b6bb5d12e19",
      "tree": "dafeb26d9e12262c602469a2bc7e5484ab1ce188",
      "parents": [
        "b5174fa3a7f4f8f150bfa3b917c92608953dfa0f"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Mar 29 14:10:30 2012 -0600"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Mar 29 14:31:02 2012 -0600"
      },
      "message": "irqdomain: Remove powerpc dependency from debugfs file\n\nThe debugfs code is really generic for all platforms.  This patch removes the\npowerpc-specific directory reference and makes it available to all\narchitectures.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\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": "69592db298e400a7c175c4dfbe7a086c783f349d",
      "tree": "cd6b3b24af6996612331ebf8cd9fb749c2d19f24",
      "parents": [
        "b5174fa3a7f4f8f150bfa3b917c92608953dfa0f"
      ],
      "author": {
        "name": "Alexander Gordeev",
        "email": "agordeev@redhat.com",
        "time": "Wed Mar 21 17:22:13 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Thu Mar 29 11:31:52 2012 +0200"
      },
      "message": "genirq: Minor readablity improvement in irq_wake_thread()\n\nexit_irq_thread() clears IRQTF_RUNTHREAD flag and drops the thread\u0027s bit in\ndesc-\u003ethreads_oneshot then. The bit must not be set again in between and it\ndoes not, since irq_wake_thread() sees PF_EXITING flag first and returns.\n\nDue to above the order or checking PF_EXITING and IRQTF_RUNTHREAD flags in\nirq_wake_thread() is important. This change just makes it more visible in the\nsource code.\n\nSigned-off-by: Alexander Gordeev \u003cagordeev@redhat.com\u003e\nLink: http://lkml.kernel.org/r/20120321162212.GO24806@dhcp-26-207.brq.redhat.com\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "c207f3a43194e108dda43dc9a1ce507335cff6b9",
      "tree": "55880f8301e8546b1908f69947d0d41aaa044814",
      "parents": [
        "c7c66c0cb0c77b1a8edf09bca57d922312d58030",
        "e7cc3aca0f6a36b018934264ee20bee45dc13e29"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 10:27:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Mar 21 10:27:19 2012 -0700"
      },
      "message": "Merge tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6\n\nPull irq_domain support for all architectures from Grant Likely:\n \"Generialize powerpc\u0027s irq_host as irq_domain\n\n  This branch takes the PowerPC irq_host infrastructure (reverse mapping\n  from Linux IRQ numbers to hardware irq numbering), generalizes it,\n  renames it to irq_domain, and makes it available to all architectures.\n\n  Originally the plan has been to create an all-new irq_domain\n  implementation which addresses some of the powerpc shortcomings such\n  as not handling 1:1 mappings well, but doing that proved to be far\n  more difficult and invasive than generalizing the working code and\n  refactoring it in-place.  So, this branch rips out the \u0027new\u0027\n  irq_domain and replaces it with the modified powerpc version (in a\n  fully bisectable way of course).  It converts all users over to the\n  new API and makes irq_domain selectable on any architecture.\n\n  No architecture is forced to enable irq_domain, but the infrastructure\n  is required for doing OpenFirmware style irq translations.  It will\n  even work on SPARC even though SPARC has it\u0027s own mechanism for\n  translating irqs at boot time.  MIPS, microblaze, embedded x86 and c6x\n  are converted too.\n\n  The resulting irq_domain code is probably still too verbose and can be\n  optimized more, but that can be done incrementally and is a task for\n  follow-on patches.\"\n\n* tag \u0027irqdomain-for-linus\u0027 of git://git.secretlab.ca/git/linux-2.6: (31 commits)\n  dt: fix twl4030 for non-dt compile on x86\n  mfd: twl-core: Add IRQ_DOMAIN dependency\n  devicetree: Add empty of_platform_populate() for !CONFIG_OF_ADDRESS (sparc)\n  irq_domain: Centralize definition of irq_dispose_mapping()\n  irq_domain/mips: Allow irq_domain on MIPS\n  irq_domain/x86: Convert x86 (embedded) to use common irq_domain\n  ppc-6xx: fix build failure in flipper-pic.c and hlwd-pic.c\n  irq_domain/microblaze: Convert microblaze to use irq_domains\n  irq_domain/powerpc: Replace custom xlate functions with library functions\n  irq_domain/powerpc: constify irq_domain_ops\n  irq_domain/c6x: Use library of xlate functions\n  irq_domain/c6x: constify irq_domain structures\n  irq_domain/c6x: Convert c6x to use generic irq_domain support.\n  irq_domain: constify irq_domain_ops\n  irq_domain: Create common xlate functions that device drivers can use\n  irq_domain: Remove irq_domain_add_simple()\n  irq_domain: Remove \u0027new\u0027 irq_domain in favour of the ppc one\n  mfd: twl-core.c: Fix the number of interrupts managed by twl4030\n  of/address: add empty static inlines for !CONFIG_OF\n  irq_domain: Add support for base irq and hwirq in legacy mappings\n  ...\n"
    },
    {
      "commit": "9c2b957db1772ebf942ae7a9346b14eba6c8ca66",
      "tree": "0dbb83e57260ea7fc0dc421f214d5f1b26262005",
      "parents": [
        "0bbfcaff9b2a69c71a95e6902253487ab30cb498",
        "bea95c152dee1791dd02cbc708afbb115bb00f9a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:29:15 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 10:29:15 2012 -0700"
      },
      "message": "Merge branch \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull perf events changes for v3.4 from Ingo Molnar:\n\n - New \"hardware based branch profiling\" feature both on the kernel and\n   the tooling side, on CPUs that support it.  (modern x86 Intel CPUs\n   with the \u0027LBR\u0027 hardware feature currently.)\n\n   This new feature is basically a sophisticated \u0027magnifying glass\u0027 for\n   branch execution - something that is pretty difficult to extract from\n   regular, function histogram centric profiles.\n\n   The simplest mode is activated via \u0027perf record -b\u0027, and the result\n   looks like this in perf report:\n\n\t$ perf record -b any_call,u -e cycles:u branchy\n\n\t$ perf report -b --sort\u003dsymbol\n\t    52.34%  [.] main                   [.] f1\n\t    24.04%  [.] f1                     [.] f3\n\t    23.60%  [.] f1                     [.] f2\n\t     0.01%  [k] _IO_new_file_xsputn    [k] _IO_file_overflow\n\t     0.01%  [k] _IO_vfprintf_internal  [k] _IO_new_file_xsputn\n\t     0.01%  [k] _IO_vfprintf_internal  [k] strchrnul\n\t     0.01%  [k] __printf               [k] _IO_vfprintf_internal\n\t     0.01%  [k] main                   [k] __printf\n\n   This output shows from/to branch columns and shows the highest\n   percentage (from,to) jump combinations - i.e.  the most likely taken\n   branches in the system.  \"branches\" can also include function calls\n   and any other synchronous and asynchronous transitions of the\n   instruction pointer that are not \u0027next instruction\u0027 - such as system\n   calls, traps, interrupts, etc.\n\n   This feature comes with (hopefully intuitive) flat ascii and TUI\n   support in perf report.\n\n - Various \u0027perf annotate\u0027 visual improvements for us assembly junkies.\n   It will now recognize function calls in the TUI and by hitting enter\n   you can follow the call (recursively) and back, amongst other\n   improvements.\n\n - Multiple threads/processes recording support in perf record, perf\n   stat, perf top - which is activated via a comma-list of PIDs:\n\n\tperf top -p 21483,21485\n\tperf stat -p 21483,21485 -ddd\n\tperf record -p 21483,21485\n\n - Support for per UID views, via the --uid paramter to perf top, perf\n   report, etc.  For example \u0027perf top --uid mingo\u0027 will only show the\n   tasks that I am running, excluding other users, root, etc.\n\n - Jump label restructurings and improvements - this includes the\n   factoring out of the (hopefully much clearer) include/linux/static_key.h\n   generic facility:\n\n\tstruct static_key key \u003d STATIC_KEY_INIT_FALSE;\n\n\t...\n\n\tif (static_key_false(\u0026key))\n\t        do unlikely code\n\telse\n\t        do likely code\n\n\t...\n\tstatic_key_slow_inc();\n\t...\n\tstatic_key_slow_inc();\n\t...\n\n   The static_key_false() branch will be generated into the code with as\n   little impact to the likely code path as possible.  the\n   static_key_slow_*() APIs flip the branch via live kernel code patching.\n\n   This facility can now be used more widely within the kernel to\n   micro-optimize hot branches whose likelihood matches the static-key\n   usage and fast/slow cost patterns.\n\n - SW function tracer improvements: perf support and filtering support.\n\n - Various hardenings of the perf.data ABI, to make older perf.data\u0027s\n   smoother on newer tool versions, to make new features integrate more\n   smoothly, to support cross-endian recording/analyzing workflows\n   better, etc.\n\n - Restructuring of the kprobes code, the splitting out of \u0027optprobes\u0027,\n   and a corner case bugfix.\n\n - Allow the tracing of kernel console output (printk).\n\n - Improvements/fixes to user-space RDPMC support, allowing user-space\n   self-profiling code to extract PMU counts without performing any\n   system calls, while playing nice with the kernel side.\n\n - \u0027perf bench\u0027 improvements\n\n - ... and lots of internal restructurings, cleanups and fixes that made\n   these features possible.  And, as usual this list is incomplete as\n   there were also lots of other improvements\n\n* \u0027perf-core-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (120 commits)\n  perf report: Fix annotate double quit issue in branch view mode\n  perf report: Remove duplicate annotate choice in branch view mode\n  perf/x86: Prettify pmu config literals\n  perf report: Enable TUI in branch view mode\n  perf report: Auto-detect branch stack sampling mode\n  perf record: Add HEADER_BRANCH_STACK tag\n  perf record: Provide default branch stack sampling mode option\n  perf tools: Make perf able to read files from older ABIs\n  perf tools: Fix ABI compatibility bug in print_event_desc()\n  perf tools: Enable reading of perf.data files from different ABI rev\n  perf: Add ABI reference sizes\n  perf report: Add support for taken branch sampling\n  perf record: Add support for sampling taken branch\n  perf tools: Add code to support PERF_SAMPLE_BRANCH_STACK\n  x86/kprobes: Split out optprobe related code to kprobes-opt.c\n  x86/kprobes: Fix a bug which can modify kernel code permanently\n  x86/kprobes: Fix instruction recovery on optimized path\n  perf: Add callback to flush branch_stack on context switch\n  perf: Disable PERF_SAMPLE_BRANCH_* when not supported\n  perf/x86: Add LBR software filter support for Intel CPUs\n  ...\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": "35239e23c66f1614c76739b62a299c3c92d6eb68",
      "tree": "7b1e068df888ec9a00b43c1dd7517a6490da6a94",
      "parents": [
        "3f33ab1c0c741bfab2138c14ba1918a7905a1e8b",
        "87e24f4b67e68d9fd8df16e0bf9c66d1ad2a2533"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 12 20:44:07 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 12 20:44:11 2012 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nMerge reason: We are going to queue up a dependent patch.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\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": "a09b659cd68c10ec6a30cb91ebd2c327fcd5bfe5",
      "tree": "ea0b9390262eb337db89514e492968b92dc3dc04",
      "parents": [
        "986cb48c5a4de0085db94d343b4e7dcf54355ec1"
      ],
      "author": {
        "name": "Russell King",
        "email": "linux@arm.linux.org.uk",
        "time": "Mon Mar 05 15:07:25 2012 -0800"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Mar 06 13:33:27 2012 +0100"
      },
      "message": "genirq: Fix long-term regression in genirq irq_set_irq_type() handling\n\nIn 2008, commit 0c5d1eb77a8be (\"genirq: record trigger type\") modified the\nway set_irq_type() handles the \u0027no trigger\u0027 condition.  However, this has\nan adverse effect on PCMCIA support on Intel StrongARM and probably PXA\nplatforms.\n\nPCMCIA has several status signals on the socket which can trigger\ninterrupts; some of these status signals depend on the card\u0027s mode\n(whether it is configured in memory or IO mode).  For example, cards have\na \u0027Ready/IRQ\u0027 signal: in memory mode, this provides an indication to\nPCMCIA that the card has finished its power up initialization.  In IO\nmode, it provides the device interrupt signal.  Other status signals\nswitch between on-board battery status and loud speaker output.\n\nIn classical PCMCIA implementations, where you have a specific socket\ncontroller, the controller provides a method to mask interrupts from the\nsocket, and importantly ignore any state transitions on the pins which\ncorrespond with interrupts once masked.  This masking prevents unwanted\nevents caused by the removal and application of socket power being\nforwarded.\n\nHowever, on platforms where there is no socket controller, the PCMCIA\nstatus and interrupt signals are routed to standard edge-triggered GPIOs. \nThese GPIOs can be configured to interrupt on rising edge, falling edge,\nor never.  This is where the problems start.\n\nEdge triggered interrupts are required to record events while disabled via\nthe usual methods of {free,request,disable,enable}_irq() to prevent\nproblems with dropped interrupts (eg, the 8390 driver uses disable_irq()\nto defer the delivery of interrupts).  As a result, these interfaces can\nnot be used to implement the desired behaviour.\n\nThe side effect of this is that if the \u0027Ready/IRQ\u0027 GPIO is disabled via\ndisable_irq() on suspend, and enabled via enable_irq() after resume, we\nwill record the state transitions caused by powering events as valid\ninterrupts, and foward them to the card driver, which may attempt to\naccess a card which is not powered up.\n\nThis leads delays resume while drivers spin in their interrupt handlers,\nand complaints from drivers before they realize what\u0027s happened.\n\nMoreover, in the case of the \u0027Ready/IRQ\u0027 signal, this is requested and\nfreed by the card driver itself; the PCMCIA core has no idea whether the\ninterrupt is requested, and, therefore, whether a call to disable_irq()\nwould be valid.  (We tried this around 2.4.17 / 2.5.1 kernel era, and\nended up throwing it out because of this problem.)\n\nTherefore, it was decided back in around 2002 to disable the edge\ntriggering instead, resulting in all state transitions on the GPIO being\nignored.  That\u0027s what we actually need the hardware to do.\n\nThe commit above changes this behaviour; it explicitly prevents the \u0027no\ntrigger\u0027 state being selected.\n\nThe reason that request_irq() does not accept the \u0027no trigger\u0027 state is\nfor compatibility with existing drivers which do not provide their desired\ntriggering configuration.  The set_irq_type() function is \u0027new\u0027 and not\nused by non-trigger aware drivers.\n\nTherefore, revert this change, and restore previously working platforms\nback to their former state.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nCc: linux@arm.linux.org.uk\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "737f24bda723fdf89ecaacb99fa2bf5683c32799",
      "tree": "35495fff3e9956679cb5468e74e6814c8e44ee66",
      "parents": [
        "8eedce996556d7d06522cd3a0e6069141c8dffe0",
        "b7c924274c456499264d1cfa3d44063bb11eb5db"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 05 09:20:08 2012 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 05 09:20:08 2012 +0100"
      },
      "message": "Merge branch \u0027perf/urgent\u0027 into perf/core\n\nConflicts:\n\ttools/perf/builtin-record.c\n\ttools/perf/builtin-top.c\n\ttools/perf/perf.h\n\ttools/perf/util/top.h\n\nMerge reason: resolve these cherry-picking conflicts.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "abd2363f6a5f1030b935e0bdc15cf917313b3b10",
      "tree": "1f4546497af8162a60573203c5b017e2f7fed1f5",
      "parents": [
        "b4e518547da042fdc65bd4bdafd046fed13337d5"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Feb 24 08:07:06 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Fri Feb 24 09:47:23 2012 -0700"
      },
      "message": "irq_domain/mips: Allow irq_domain on MIPS\n\nThis patch makes IRQ_DOMAIN usable on MIPS.  It uses an ugly workaround\nto preserve current behaviour so that MIPS has time to add irq_domain\nregistration to the irq controller drivers.  The workaround will be\nremoved in Linux v3.6\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: linux-mips@linux-mips.org\n"
    },
    {
      "commit": "a18dc81bf58258ac0920bec26b91656cb0140d2a",
      "tree": "7e11dd40b11ffa281c3ecb902994b94250fbf916",
      "parents": [
        "16b2e6e2f31dda41f114aa0acade04f7e10f67c9"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jan 26 12:12:14 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Feb 16 06:11:24 2012 -0700"
      },
      "message": "irq_domain: constify irq_domain_ops\n\nMake irq_domain_ops pointer a constant to make it safer for multiple\ninstances to share the same ops pointer and change the irq_domain code\nso that it does not modify the ops.\n\nv4: Fix mismatched type reference in powerpc code\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nTested-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "16b2e6e2f31dda41f114aa0acade04f7e10f67c9",
      "tree": "73f8f3066e09eb7bb427c51fe2711458ac9220a2",
      "parents": [
        "6b783f7c5dde2648fa0bbe7fc8ac80d78699e67f"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Jan 26 11:26:52 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Feb 16 06:11:23 2012 -0700"
      },
      "message": "irq_domain: Create common xlate functions that device drivers can use\n\nRather than having each interrupt controller driver creating its own barely\nunique .xlate function for irq_domain, create a library of translators which\nany driver can use directly.\n\nv5: - Remove irq_domain_xlate_pci().  It was incorrect.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Mark Salter \u003cmsalter@redhat.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nTested-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "6b783f7c5dde2648fa0bbe7fc8ac80d78699e67f",
      "tree": "19a92338364d75d365b0587675d19250db5855ee",
      "parents": [
        "75294957be1dee7d22dd7d90bd31334ba410e836"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Jan 10 17:09:30 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Feb 16 06:11:23 2012 -0700"
      },
      "message": "irq_domain: Remove irq_domain_add_simple()\n\nirq_domain_add_simple() was a stop-gap measure until complete irq_domain\nsupport was complete.  This patch removes the irq_domain_add_simple()\ninterface.\n\nThis patch also drops the explicit irq_domain initialization performed\nby the mach-versatile code because the versatile interrupt controller\nalready has irq_domain support built into it.  This was a bug that was\nhanging around quietly for a while, but with the full irq_domain which\nactually verifies that irq_domain ranges are available it would cause\nthe registration to fail and the system wouldn\u0027t boot.\n\nv4: Fixed number of irqs in mx5 gpio code\nv2: Updated to pass in host_data pointer on irq_domain allocation.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nCc: Russell King \u003clinux@arm.linux.org.uk\u003e\nTested-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "75294957be1dee7d22dd7d90bd31334ba410e836",
      "tree": "afa8e2905af88ceeba2dccb50b56c42568e18ab9",
      "parents": [
        "5769089ac72569d024817270ab79fdf0b9046dde"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Feb 14 14:06:57 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Feb 16 06:11:23 2012 -0700"
      },
      "message": "irq_domain: Remove \u0027new\u0027 irq_domain in favour of the ppc one\n\nThis patch removes the simplistic implementation of irq_domains and enables\nthe powerpc infrastructure for all irq_domain users.  The powerpc\ninfrastructure includes support for complex mappings between Linux and\nhardware irq numbers, and can manage allocation of irq_descs.\n\nThis patch also converts the few users of irq_domain_add()/irq_domain_del()\nto call irq_domain_add_legacy() instead.\n\nv3: Fix bug that set up too many irqs in translation range.\nv2: Fix removal of irq_alloc_descs() call in gic driver\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nTested-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "1bc04f2cf8c2a1feadbd994f50c40bb145bf2989",
      "tree": "26508a452ca52542ac437f55bb632b48fa607048",
      "parents": [
        "a8db8cf0d894df5f1dcfd4bce9894e0dbcc01c96"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Feb 14 14:06:55 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Feb 16 06:11:23 2012 -0700"
      },
      "message": "irq_domain: Add support for base irq and hwirq in legacy mappings\n\nAdd support for a legacy mapping where irq \u003d (hwirq - first_hwirq + first_irq)\nso that a controller driver can allocate a fixed range of irq_descs and use\na simple calculation to translate back and forth between linux and hw irq\nnumbers.  This is needed to use an irq_domain with many of the ARM interrupt\ncontroller drivers that manage their own irq_desc allocations.  Ultimately\nthe goal is to migrate those drivers to use the linear revmap, but doing it\nthis way allows each driver to be converted separately which makes the\nmigration path easier.\n\nThis patch generalizes the IRQ_DOMAIN_MAP_LEGACY method to use\n(first_irq-first_hwirq) as the offset between hwirq and linux irq number,\nand adds checks to make sure that the hwirq number does not exceed range\nassigned to the controller.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nTested-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "a8db8cf0d894df5f1dcfd4bce9894e0dbcc01c96",
      "tree": "f9f2c53c57eeb04e5df60671951bcf4f2ca4966e",
      "parents": [
        "68700650e71b6bb6636673f4f9c8ec807353d8d6"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Feb 14 14:06:54 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Feb 16 06:11:22 2012 -0700"
      },
      "message": "irq_domain: Replace irq_alloc_host() with revmap-specific initializers\n\nEach revmap type has different arguments for setting up the revmap.\nThis patch splits up the generator functions so that each revmap type\ncan do its own setup and the user doesn\u0027t need to keep track of how\neach revmap type handles the arguments.\n\nThis patch also adds a host_data argument to the generators.  There are\ncases where the host_data pointer will be needed before the function returns.\nie. the legacy map calls the .map callback for each irq before returning.\n\nv2: - Add void *host_data argument to irq_domain_add_*() functions\n    - fixed failure to compile\n    - Moved IRQ_DOMAIN_MAP_* defines into irqdomain.c\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nTested-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "68700650e71b6bb6636673f4f9c8ec807353d8d6",
      "tree": "ca25ab4c37e7d2e1c9a962a33f8ff50341479116",
      "parents": [
        "03848373ea741caafab952fb62405ed7fc0c279c"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Feb 14 14:06:53 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Feb 16 06:11:22 2012 -0700"
      },
      "message": "irq_domain: Remove references to old irq_host names\n\nNo functional changes.  Replaces non-exported references to \u0027host\u0027 with domain.\nDoes not change any symbol names referenced by other .c files.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nTested-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "03848373ea741caafab952fb62405ed7fc0c279c",
      "tree": "7767c3044bee74b9f1b2786677763c8fd7984594",
      "parents": [
        "cc79ca691c292e9fd44f589c7940b9654e22f2f6"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Tue Feb 14 14:06:52 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Feb 16 06:11:21 2012 -0700"
      },
      "message": "irq_domain: remove NO_IRQ from irq domain code\n\nzero always means no irq when using irq domains.  Get rid of the NO_IRQ\nreferences.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Rob Herring \u003crob.herring@calxeda.com\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nTested-by: Olof Johansson \u003colof@lixom.net\u003e\n"
    },
    {
      "commit": "cc79ca691c292e9fd44f589c7940b9654e22f2f6",
      "tree": "4efe01e4f4a92f97dba326923e0a7a8af4b3bf87",
      "parents": [
        "6d9285b00f776eebe459a858ebf07b56c36c60d2"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Feb 16 01:37:49 2012 -0700"
      },
      "committer": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Thu Feb 16 01:37:49 2012 -0700"
      },
      "message": "irq_domain: Move irq_domain code from powerpc to kernel/irq\n\nThis patch only moves the code.  It doesn\u0027t make any changes, and the\ncode is still only compiled for powerpc.  Follow-on patches will generalize\nthe code for other architectures.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Milton Miller \u003cmiltonm@bga.com\u003e\nTested-by: Olof Johansson \u003colof@lixom.net\u003e"
    },
    {
      "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": "ac5637611150281f398bb7a47e3fcb69a09e7803",
      "tree": "b23a336c4409ad3cf00f211f0c709c8c757d9fd3",
      "parents": [
        "7ada1dd62804ca9ce1cb8666c6e563cd92fa50c1"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Tue Feb 07 17:58:03 2012 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Feb 15 11:56:59 2012 +0100"
      },
      "message": "genirq: Unmask oneshot irqs when thread was not woken\n\nWhen the primary handler of an interrupt which is marked IRQ_ONESHOT\nreturns IRQ_HANDLED or IRQ_NONE, then the interrupt thread is not\nwoken and the unmask logic of the interrupt line is never\ninvoked. This keeps the interrupt masked forever.\n\nThis was not noticed as most IRQ_ONESHOT users wake the thread\nunconditionally (usually because they cannot access the underlying\ndevice from hard interrupt context). Though this behaviour was nowhere\ndocumented and not necessarily intentional. Some drivers can avoid the\nthread wakeup in certain cases and run into the situation where the\ninterrupt line s kept masked.\n\nHandle it gracefully.\n\nReported-and-tested-by: Lothar Wassmann \u003clw@karo-electronics.de\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    }
  ],
  "next": "7bb69bade0d41715bdf1b24f5ef0b8f798769fe9"
}
