1. 14 5月, 2015 1 次提交
  2. 13 5月, 2015 1 次提交
  3. 12 5月, 2015 1 次提交
  4. 19 3月, 2015 1 次提交
  5. 27 11月, 2014 1 次提交
    • R
      gpiolib: allow simultaneous setting of multiple GPIO outputs · 5f424243
      Rojhalat Ibrahim 提交于
      Introduce new functions gpiod_set_array & gpiod_set_raw_array to the consumer
      interface which allow setting multiple outputs with just one function call.
      Also add an optional set_multiple function to the driver interface. Without an
      implementation of that function in the chip driver outputs are set
      sequentially.
      
      Implementing the set_multiple function in a chip driver allows for:
      - Improved performance for certain use cases. The original motivation for this
        was the task of configuring an FPGA. In that specific case, where 9 GPIO
        lines have to be set many times, configuration time goes down from 48 s to
        20 s when using the new function.
      - Simultaneous glitch-free setting of multiple pins on any kind of parallel
        bus attached to GPIOs provided they all reside on the same chip and bank.
      
      Limitations:
        Performance is only improved for normal high-low outputs. Open drain and
        open source outputs are always set separately from each other. Those kinds
        of outputs could probably be accelerated in a similar way if we could
        forgo the error checking when setting GPIO directions.
      
      Change log:
        v6: - rebase on current linux-gpio devel branch
        v5: - check can_sleep property per chip
            - remove superfluous checks
            - supplement documentation
        v4: - add gpiod_set_array function for setting logical values
            - change interface of the set_multiple driver function to use
              unsigned long as type for the bit fields
            - use generic bitops (which also use unsigned long for bit fields)
            - do not use ARCH_NR_GPIOS any more
        v3: - add documentation
            - change commit message
        v2: - use descriptor interface
            - allow arbitrary groups of GPIOs spanning multiple chips
      Signed-off-by: NRojhalat Ibrahim <imr@rtschenk.de>
      Reviewed-by: NAlexandre Courbot <acourbot@nvidia.com>
      Reviewed-by: NMark Brown <broonie@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      5f424243
  6. 29 10月, 2014 1 次提交
  7. 24 9月, 2014 1 次提交
  8. 23 9月, 2014 1 次提交
  9. 05 9月, 2014 1 次提交
  10. 29 8月, 2014 1 次提交
  11. 28 7月, 2014 1 次提交
  12. 24 7月, 2014 1 次提交
  13. 23 7月, 2014 3 次提交
  14. 29 4月, 2014 1 次提交
    • L
      gpio: support threaded interrupts in irqchip helpers · 1c8732bb
      Linus Walleij 提交于
      Some off-chip GPIO expanders need to be communicated by I2C or
      SPI traffic, but may still support IRQs. By the sleeping nature
      of such buses, such IRQ handlers need to be threaded. Support
      such handlers in the gpiochip irqchip helpers by flagging IRQs
      as threaded if the .can_sleep property of the gpiochip is
      true.
      
      Helpfully deny registration of chained IRQ handlers if the
      .can_sleep property is set, as such chips will invariably need
      a nested handler rather than a chained handler.
      
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      1c8732bb
  15. 29 3月, 2014 1 次提交
  16. 26 3月, 2014 1 次提交
  17. 13 2月, 2014 1 次提交
  18. 09 12月, 2013 2 次提交
  19. 04 12月, 2013 1 次提交
    • L
      gpio/pinctrl: make gpio_chip members typed boolean · 9fb1f39e
      Linus Walleij 提交于
      This switches the two members of struct gpio_chip that were
      defined as unsigned foo:1 to bool, because that is indeed what
      they are. Switch all users in the gpio and pinctrl subsystems
      to assign these values with true/false instead of 0/1. The
      users outside these subsystems will survive since true/false
      is 1/0, atleast we set some kind of more strict typing example.
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      9fb1f39e
  20. 03 12月, 2013 1 次提交
  21. 25 11月, 2013 1 次提交
    • A
      gpiolib: use dedicated flags for GPIO properties · 53e7cac3
      Alexandre Courbot 提交于
      GPIO mapping properties were defined using the GPIOF_* flags, which are
      declared in linux/gpio.h. This file is not included when using the
      GPIO descriptor interface.
      
      This patch declares the flags that can be used as GPIO mappings
      properties in linux/gpio/driver.h, and uses them in gpiolib, so that no
      deprecated declarations are used by the GPIO descriptor interface.
      
      This patch also allows GPIO_OPEN_DRAIN and GPIO_OPEN_SOURCE to be
      specified as GPIO mapping properties.
      Signed-off-by: NAlexandre Courbot <acourbot@nvidia.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      53e7cac3
  22. 30 10月, 2013 1 次提交
  23. 20 10月, 2013 2 次提交