1. 07 Oct, 2014 1 commit
  2. 30 Sep, 2014 3 commits
    • Azael Avalos's avatar
      toshiba_acpi: Change HCI/SCI functions return code type · 893f3f62
      Azael Avalos authored
      Currently the HCI/SCI read/write functions are returning
      the status of the ACPI call and also assigning the
      returned value of the HCI/SCI function, however, only
      the HCI/SCI status is being checked.
      
      This patch changes such functions, returning the value
      of the HCI/SCI function instead of the ACPI call status,
      eliminating one parameter, and returning something
      useful that indeed is being checked.
      Signed-off-by: default avatarAzael Avalos <coproscefalo@gmail.com>
      Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
      893f3f62
    • Azael Avalos's avatar
      toshiba_acpi: Unify return codes prefix from HCI/SCI to TOS · 1864bbc2
      Azael Avalos authored
      The return codes are split in between HCI/SCI prefixes,
      but they are shared (used) by both interfaces, mixing
      hci_read/write calls with SCI_* return codes, and
      sci_read/write calls with HCI_* ones.
      
      This patch changes the prefix of the return codes
      definitions, dropping the HCI/SCI naming and instead
      replacing it with TOS (for TOShiba).
      Signed-off-by: default avatarAzael Avalos <coproscefalo@gmail.com>
      Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
      1864bbc2
    • Azael Avalos's avatar
      toshiba_acpi: Rename hci_raw to tci_raw · 258c5903
      Azael Avalos authored
      The function name hci_raw was used before to reflect
      a raw (read/write) call to Toshiba's Hardware
      Configuration Interface (HCI), however, since the
      introduction of the System Configuration Interface
      (SCI), that "name" no longer applies.
      
      This patch changes the name of that function to
      tci_raw (for Toshiba Configuration Interface), and
      change the comments about it.
      
      Also, the HCI_WORDS definition was changed to TCI_RAW,
      to better reflect that we're no longer using pure HCI
      calls, but a combination of HCI and SCI, which form
      part of the Toshiba Configuration Interface.
      Signed-off-by: default avatarAzael Avalos <coproscefalo@gmail.com>
      Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
      258c5903
  3. 29 Sep, 2014 1 commit
  4. 22 Sep, 2014 1 commit
  5. 19 Sep, 2014 9 commits
  6. 18 Sep, 2014 1 commit
    • Paul Bolle's avatar
      eeepc-laptop: simplify parse_arg() · 95369a73
      Paul Bolle authored
      parse_arg() has three possible return values:
          -EINVAL if sscanf(), in short, fails;
          zero if "count" is zero; and
          "count" in all other cases
      
      But "count" will never be zero. See, parse_arg() is called by the
      various store functions. And the callchain of these functions starts
      with sysfs_kf_write(). And that function checks for a zero "count". So
      we can stop checking for a zero "count", drop the "count" argument
      entirely, and transform parse_arg() into a function that returns zero on
      success or a negative error. That, in turn, allows to make those store
      functions just return "count" on success. The net effect is that the
      code becomes a bit easier to understand.
      
      A nice side effect is that this GCC warning is silenced too:
          drivers/platform/x86/eeepc-laptop.c: In function ‘store_sys_acpi’:
          drivers/platform/x86/eeepc-laptop.c:279:10: warning: ‘value’ may be used uninitialized in this function [-Wmaybe-uninitialized]
            int rv, value;
      
      Which is, of course, the reason to have a look at parse_arg().
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
      95369a73
  7. 17 Sep, 2014 7 commits
  8. 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
  9. 14 Sep, 2014 12 commits
  10. 13 Sep, 2014 2 commits