1. 15 Feb, 2016 1 commit
    • Youngmin Nam's avatar
      pinctrl: samsung: fix SMP race condition · d9ff0eb9
      Youngmin Nam authored
      Previously, samsung_gpio_drection_in/output function were not covered
      with a spinlock.
      
      For example, samsung_gpio_direction_output function consists of
      two functions.
      1. samsung_gpio_set
      2. samsung_gpio_set_direction
      
      When 2 CPUs try to control the same gpio pin heavily,
      (situation like i2c control with gpio emulation)
      This situation can cause below problem.
      
      CPU 0                                   | CPU1
                                              |
      samsung_gpio_direction_output           |
         samsung_gpio_set(pin A as 1)         | samsung_gpio_direction_output
                                              |    samsung_gpio_set(pin A as 0)
         samsung_gpio_set_direction           |
                                              |    samsung_gpio_set_direction
      
      The initial value of pin A will be set as 0 while we wanted to set pin A as 1.
      
      This patch modifies samsung_gpio_direction_in/output function
      to be done in one spinlock to fix race condition.
      
      Additionally, the new samsung_gpio_set_value was added to implement
      gpio set callback(samsung_gpio_set) with spinlock using this function.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarYoungmin Nam <ym0914@gmail.com>
      Acked-by: default avatarTomasz Figa <tomasz.figa@gmail.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      d9ff0eb9
  2. 13 Feb, 2016 1 commit
  3. 11 Feb, 2016 1 commit
  4. 05 Feb, 2016 1 commit
  5. 28 Jan, 2016 1 commit
    • Arnd Bergmann's avatar
      pinctrl: nomadik: hide unused functions · 39178bb2
      Arnd Bergmann authored
      The nomadik pinctrl driver has two functions that are only used
      for debugfs output and are otherwise unused:
      
      drivers/pinctrl/nomadik/pinctrl-abx500.c:194:12: error: 'abx500_get_pull_updown' defined but not used
      drivers/pinctrl/nomadik/pinctrl-abx500.c:471:12: error: 'abx500_get_mode' defined but not used
      
      This makes the function definitions conditional to avoid the
      harmless warnings.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      39178bb2
  6. 27 Jan, 2016 1 commit
  7. 24 Jan, 2016 34 commits