1. 29 Jul, 2018 9 commits
  2. 25 Jul, 2018 1 commit
    • Linus Walleij's avatar
      Merge tag 'samsung-pinctrl-4.19' of... · 8c17dee1
      Linus Walleij authored
      Merge tag 'samsung-pinctrl-4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/samsung into devel
      
      Samsung pinctrl drivers changes for v4.19
      
      1. Add handling of external wakeup interrupts mask inside the pin
         controller driver.
      
         Existing solution is spread between the driver and machine code.  The
         machine code writes the mask but its value is taken from pin
         controller driver.
      
         This moves everything into pin controller driver allowing later to
         remove the cross-subsystem interaction.  Also this is a necessary
         step for implementing later Suspend to RAM on ARMv8 Exynos5433.
      
      2. Bring necessary suspend/resume callbacks for Exynos542x and
         Exynos5260.
      
      3. Document hidden requirement about one external wakeup interrupts
         device node.
      
      4. Minor documentation cleanups.
      8c17dee1
  3. 24 Jul, 2018 7 commits
  4. 17 Jul, 2018 7 commits
  5. 16 Jul, 2018 13 commits
  6. 09 Jul, 2018 3 commits
    • Douglas Anderson's avatar
      pinctrl: qcom: spmi-gpio: Fix pmic_gpio_config_get() to be compliant · 1cf86bc2
      Douglas Anderson authored
      If you do this on an sdm845 board:
        grep "" /sys/kernel/debug/pinctrl/*spmi:pmic*/pinconf-groups
      
      ...it looks like nonsense.  For every pin you see listed:
        input bias disabled, input bias high impedance, input bias pull down, input bias pull up, ...
      
      That's because pmic_gpio_config_get() isn't complying with the rules
      that pinconf_generic_dump_one() expects.  Specifically for boolean
      parameters (anything with a "struct pin_config_item" where has_arg is
      false) the function expects that the function should return its value
      not through the "config" parameter but should return "0" if the value
      is set and "-EINVAL" if the value isn't set.
      
      Let's fix this.
      
      From a quick sample of other pinctrl drivers, it appears to be
      tradition to also return 1 through the config parameter for these
      boolean parameters when they exist.  I'm not one to knock tradition,
      so I'll follow tradition and return 1 in these cases.  While I'm at
      it, I'll also continue searching for four leaf clovers, kocking on
      wood three times, and trying not to break mirrors.
      
      NOTE: This also fixes an apparent typo for reading
      PIN_CONFIG_BIAS_DISABLE where the old driver was accidentally
      using "=" instead of "==" and thus was setting some internal
      state when you tried to query PIN_CONFIG_BIAS_DISABLE.  Oops.
      
      Fixes: eadff302 ("pinctrl: Qualcomm SPMI PMIC GPIO pin controller driver")
      Signed-off-by: default avatarDouglas Anderson <dianders@chromium.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      1cf86bc2
    • Douglas Anderson's avatar
      pinctrl: msm: Fix msm_config_group_get() to be compliant · 05e0c828
      Douglas Anderson authored
      If you do this on an sdm845 board:
        cat /sys/kernel/debug/pinctrl/3400000.pinctrl/pinconf-groups
      
      ...it looks like nonsense.  For every pin you see listed:
        input bias bus hold, input bias disabled, input bias pull down, input bias pull up
      
      That's because msm_config_group_get() isn't complying with the rules
      that pinconf_generic_dump_one() expects.  Specifically for boolean
      parameters (anything with a "struct pin_config_item" where has_arg is
      false) the function expects that the function should return its value
      not through the "config" parameter but should return "0" if the value
      is set and "-EINVAL" if the value isn't set.
      
      Let's fix this.
      
      From a quick sample of other pinctrl drivers, it appears to be
      tradition to also return 1 through the config parameter for these
      boolean parameters when they exist.  I'm not one to knock tradition,
      so I'll follow tradition and return 1 in these cases.  While I'm at
      it, I'll also continue searching for four leaf clovers, kocking on
      wood three times, and trying not to break mirrors.
      
      Fixes: f365be09 ("pinctrl: Add Qualcomm TLMM driver")
      Signed-off-by: default avatarDouglas Anderson <dianders@chromium.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      05e0c828
    • Douglas Anderson's avatar
      pinctrl: Document pin_config_group_get() return codes like pin_config_get() · 63f3fb8d
      Douglas Anderson authored
      The pinconf_generic_dump_one() function makes the assumption that
      pin_config_group_get() should return -EINVAL and -ENOTSUPP just like
      pin_config_get() does.  Document that so it's more obvious.
      Signed-off-by: default avatarDouglas Anderson <dianders@chromium.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      63f3fb8d