1. 23 Oct, 2011 2 commits
  2. 20 Oct, 2011 1 commit
  3. 17 Oct, 2011 7 commits
  4. 04 Oct, 2011 1 commit
  5. 03 Oct, 2011 2 commits
    • Marc Zyngier's avatar
      genirq: percpu: allow interrupt type to be set at enable time · 1e7c5fd2
      Marc Zyngier authored
      As request_percpu_irq() doesn't allow for a percpu interrupt to have
      its type configured (it is generally impossible to configure it on all
      CPUs at once), add a 'type' argument to enable_percpu_irq().
      
      This allows some low-level, board specific init code to be switched to
      a generic API.
      
      [ tglx: Added WARN_ON argument ]
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      1e7c5fd2
    • Marc Zyngier's avatar
      genirq: Add support for per-cpu dev_id interrupts · 31d9d9b6
      Marc Zyngier authored
      The ARM GIC interrupt controller offers per CPU interrupts (PPIs),
      which are usually used to connect local timers to each core. Each CPU
      has its own private interface to the GIC, and only sees the PPIs that
      are directly connect to it.
      
      While these timers are separate devices and have a separate interrupt
      line to a core, they all use the same IRQ number.
      
      For these devices, request_irq() is not the right API as it assumes
      that an IRQ number is visible by a number of CPUs (through the
      affinity setting), but makes it very awkward to express that an IRQ
      number can be handled by all CPUs, and yet be a different interrupt
      line on each CPU, requiring a different dev_id cookie to be passed
      back to the handler.
      
      The *_percpu_irq() functions is designed to overcome these
      limitations, by providing a per-cpu dev_id vector:
      
      int request_percpu_irq(unsigned int irq, irq_handler_t handler,
      		   const char *devname, void __percpu *percpu_dev_id);
      void free_percpu_irq(unsigned int, void __percpu *);
      int setup_percpu_irq(unsigned int irq, struct irqaction *new);
      void remove_percpu_irq(unsigned int irq, struct irqaction *act);
      void enable_percpu_irq(unsigned int irq);
      void disable_percpu_irq(unsigned int irq);
      
      The API has a number of limitations:
      - no interrupt sharing
      - no threading
      - common handler across all the CPUs
      
      Once the interrupt is requested using setup_percpu_irq() or
      request_percpu_irq(), it must be enabled by each core that wishes its
      local interrupt to be delivered.
      
      Based on an initial patch by Thomas Gleixner.
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Link: http://lkml.kernel.org/r/1316793788-14500-2-git-send-email-marc.zyngier@arm.comSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      31d9d9b6
  6. 12 Sep, 2011 2 commits
  7. 11 Sep, 2011 1 commit
  8. 10 Sep, 2011 9 commits
  9. 09 Sep, 2011 3 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://dev.laptop.org/users/cjb/mmc · a6a5ed0d
      Linus Torvalds authored
      * 'for-linus' of git://dev.laptop.org/users/cjb/mmc:
        mmc: sdhci-s3c: Fix mmc card I/O problem
        mmc: sd: UHS-I bus speed should be set last in UHS initialization
        mmc: sdhi: initialise mmc_data->flags before use
        mmc: core: use non-reentrant workqueue for clock gating
        mmc: core: prevent aggressive clock gating racing with ios updates
        mmc: rename mmc_host_clk_{ungate|gate} to mmc_host_clk_{hold|release}
        mmc: sdhci-esdhc-imx: add missing inclusion of linux/module.h
      a6a5ed0d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://ceph.newdream.net/git/ceph-client · 0d20fbbe
      Linus Torvalds authored
      * 'for-linus' of git://ceph.newdream.net/git/ceph-client:
        libceph: fix leak of osd structs during shutdown
        ceph: fix memory leak
        ceph: fix encoding of ino only (not relative) paths
        libceph: fix msgpool
      0d20fbbe
    • Miklos Szeredi's avatar
      vfs: automount should ignore LOOKUP_FOLLOW · 0ec26fd0
      Miklos Szeredi authored
      Prior to 2.6.38 automount would not trigger on either stat(2) or
      lstat(2) on the automount point.
      
      After 2.6.38, with the introduction of the ->d_automount()
      infrastructure, stat(2) and others would start triggering automount
      while lstat(2), etc. still would not.  This is a regression and a
      userspace ABI change.
      
      Problem originally reported here:
      
        http://thread.gmane.org/gmane.linux.kernel.autofs/6098
      
      It appears that there was an attempt at fixing various userspace tools
      to not trigger the automount.  But since the stat system call is
      rather common it is impossible to "fix" all userspace.
      
      This patch reverts the original behavior, which is to not trigger on
      stat(2) and other symlink following syscalls.
      
      [ It's not really clear what the right behavior is.  Apparently Solaris
        does the "automount on stat, leave alone on lstat".  And some programs
        can get unhappy when "stat+open+fstat" ends up giving a different
        result from the fstat than from the initial stat.
      
        But the change in 2.6.38 resulted in problems for some people, so
        we're going back to old behavior.  Maybe we can re-visit this
        discussion at some future date  - Linus ]
      Reported-by: default avatarLeonardo Chiquitto <leonardo.lists@gmail.com>
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
      Acked-by: default avatarIan Kent <raven@themaw.net>
      Cc: David Howells <dhowells@redhat.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0ec26fd0
  10. 08 Sep, 2011 7 commits
  11. 07 Sep, 2011 5 commits