1. 01 Jun, 2015 3 commits
    • Grygorii Strashko's avatar
      gpio: omap: fix omap_gpio_free to not clean up irq configuration · 5f982c70
      Grygorii Strashko authored
      This patch fixes following issue:
      - GPIOn is used as IRQ by some dev, for example PCF8575.INT ->  gpio6.11
      - PCFx driver knows nothing about type of IRQ line (GPIO or not)
        so it doesn't request gpio and just do request_irq()
      - If gpio6.11 will be exported through the sysfs and then un-xeported
      then IRQs from PCFx will not be received any more, because
      IRQ configuration for gpio6.11 will be cleaned up unconditionally
      in omap_gpio_free.
      
      Fix this by removing all GPIO IRQ specific code from omap_gpio_free()
      and also do GPIO clean up (change direction to 'in' and disable debounce)
      only if corresponding GPIO is not used as IRQ too.
      GPIO IRQ will be properly cleaned up by GPIO irqchip code.
      Signed-off-by: default avatarGrygorii Strashko <grygorii.strashko@linaro.org>
      Tested-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      5f982c70
    • Geert Uytterhoeven's avatar
      gpio: rcar: Check for irq_set_irq_wake() failures · 501ef0f9
      Geert Uytterhoeven authored
      If an interrupt controller doesn't support wake-up configuration,
      irq_set_irq_wake() returns an error code.  Then any subsequent call
      trying to deconfigure wake-up will cause an imbalance, and a warning
      will be printed:
      
          WARNING: CPU: 1 PID: 1341 at kernel/irq/manage.c:540 irq_set_irq_wake+0x9c/0xf8()
          Unbalanced IRQ 26 wake disable
      
      To fix this, refrain from any further parent interrupt controller
      (de)configuration if irq_set_irq_wake() failed.
      
      Alternative fixes would be:
        - calling "gic_set_irqchip_flags(IRQCHIP_SKIP_SET_WAKE)" from the
          platform code,
        - setting "gic_chip.flags = IRQCHIP_SKIP_SET_WAKE" in the GIC driver
          code,
      but these were withheld as the GIC hardware doesn't really support
      wake-up interrupts.
      
      Fixes: ab82fa7d ("gpio: rcar: Prevent module clock disable when wake-up is enabled")
      Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      501ef0f9
    • Rojhalat Ibrahim's avatar
      gpiolib: rename gpiod_set_array to gpiod_set_array_value · 3fff99bc
      Rojhalat Ibrahim authored
      There have been concerns that the function names gpiod_set_array() and
      gpiod_get_array() might be confusing to users. One might expect
      gpiod_get_array() to return array values, while it is actually the array
      counterpart of gpiod_get(). To be consistent with the single descriptor API
      we could rename gpiod_set_array() to gpiod_set_array_value(). This makes
      some function names a bit lengthy: gpiod_set_raw_array_value_cansleep().
      Signed-off-by: default avatarRojhalat Ibrahim <imr@rtschenk.de>
      Acked-by: default avatarAlexandre Courbot <acourbot@nvidia.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      3fff99bc
  2. 19 May, 2015 1 commit
  3. 14 May, 2015 1 commit
  4. 13 May, 2015 4 commits
  5. 12 May, 2015 29 commits
  6. 11 May, 2015 2 commits