1. 24 Sep, 2014 26 commits
  2. 23 Sep, 2014 1 commit
    • Greg Kroah-Hartman's avatar
      Merge tag 'extcon-next-for-3.18' of... · e60cdc90
      Greg Kroah-Hartman authored
      Merge tag 'extcon-next-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-next
      
      Chanwoo writes:
      
      Update extcon for v3.18
      
      This patchset add new extcon provider driver and fix minor issue of extcon driver.
      
      Detailed description for patchset:
      1. Add new Richtek RT8973A extcon driver
      This driver support for Richtek RT8973A which is Micro USB Switch OVP and
      i2c interface. The RT8973A is a USB port accessory detector and switch that is
      optimized to protect low voltage system from abnormal high input voltage
      (up to 28V) and supports high speed USB operation. Also, RT8973A support
      'auto-configuration' mode. If auto-configuration mode is enabled, RT8973A
      would control internal h/w patch for USB D-/D+ switching.
      
      2. Fix code cleanup for other extcon driver
      - extcon-sm5502 driver
       : Fix bug to check cable type and build break.
       : Move header file from include/linux/extcon to drivers/extcon because this
         header file is only user for extcon-sm5502.c.
       : Clean up codes by using checkpatch script
      - extcon-max77693 driver
       : Use resource managed interrupt function
       : Fix bug to set ADC debounce time
      - extcon-gpio driver
       : Fix minor code cleanup
      e60cdc90
  3. 22 Sep, 2014 10 commits
  4. 15 Sep, 2014 3 commits
    • Linus Torvalds's avatar
      Linux 3.17-rc5 · 9e82bf01
      Linus Torvalds authored
      9e82bf01
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 83373f70
      Linus Torvalds authored
      Pull vfs fixes from Al Viro:
       "double iput() on failure exit in lustre, racy removal of spliced
        dentries from ->s_anon in __d_materialise_dentry() plus a bunch of
        assorted RCU pathwalk fixes"
      
      The RCU pathwalk fixes end up fixing a couple of cases where we
      incorrectly dropped out of RCU walking, due to incorrect initialization
      and testing of the sequence locks in some corner cases.  Since dropping
      out of RCU walk mode forces the slow locked accesses, those corner cases
      slowed down quite dramatically.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        be careful with nd->inode in path_init() and follow_dotdot_rcu()
        don't bugger nd->seq on set_root_rcu() from follow_dotdot_rcu()
        fix bogus read_seqretry() checks introduced in b37199e6
        move the call of __d_drop(anon) into __d_materialise_unique(dentry, anon)
        [fix] lustre: d_make_root() does iput() on dentry allocation failure
      83373f70
    • Linus Torvalds's avatar
      vfs: avoid non-forwarding large load after small store in path lookup · 9226b5b4
      Linus Torvalds authored
      The performance regression that Josef Bacik reported in the pathname
      lookup (see commit 99d263d4 "vfs: fix bad hashing of dentries") made
      me look at performance stability of the dcache code, just to verify that
      the problem was actually fixed.  That turned up a few other problems in
      this area.
      
      There are a few cases where we exit RCU lookup mode and go to the slow
      serializing case when we shouldn't, Al has fixed those and they'll come
      in with the next VFS pull.
      
      But my performance verification also shows that link_path_walk() turns
      out to have a very unfortunate 32-bit store of the length and hash of
      the name we look up, followed by a 64-bit read of the combined hash_len
      field.  That screws up the processor store to load forwarding, causing
      an unnecessary hickup in this critical routine.
      
      It's caused by the ugly calling convention for the "hash_name()"
      function, and easily fixed by just making hash_name() fill in the whole
      'struct qstr' rather than passing it a pointer to just the hash value.
      
      With that, the profile for this function looks much smoother.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9226b5b4