1. 14 9月, 2020 3 次提交
  2. 11 9月, 2020 1 次提交
  3. 12 7月, 2020 2 次提交
  4. 30 6月, 2020 1 次提交
  5. 21 6月, 2020 1 次提交
  6. 03 6月, 2020 1 次提交
  7. 29 5月, 2020 2 次提交
  8. 27 5月, 2020 1 次提交
  9. 18 5月, 2020 1 次提交
  10. 16 5月, 2020 1 次提交
  11. 13 5月, 2020 1 次提交
  12. 28 4月, 2020 2 次提交
  13. 23 4月, 2020 2 次提交
  14. 01 4月, 2020 1 次提交
  15. 31 3月, 2020 1 次提交
  16. 28 3月, 2020 4 次提交
  17. 27 3月, 2020 1 次提交
  18. 25 3月, 2020 1 次提交
  19. 20 3月, 2020 1 次提交
  20. 11 3月, 2020 1 次提交
    • L
      gpiolib: Fix irq_disable() semantics · 8959b304
      Linus Walleij 提交于
      The implementation if .irq_disable() which kicks in between
      the gpiolib and the driver is not properly mimicking the
      expected semantics of the irqchip core: the irqchip will
      call .irq_disable() if that exists, else it will call
      mask_irq() which first checks if .irq_mask() is defined
      before calling it.
      
      Since we are calling it unconditionally, we get this bug
      from drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c, as it only
      defines .irq_mask_ack and not .irq_mask:
      
        Unable to handle kernel NULL pointer dereference at virtual address 00000000
        pgd = (ptrval)
        (...)
        PC is at 0x0
        LR is at gpiochip_irq_disable+0x20/0x30
      
      Fix this by only calling .irq_mask() if it exists.
      
      Cc: Brian Masney <masneyb@onstation.org>
      Cc: Hans Verkuil <hans.verkuil@cisco.com>
      Cc: stable@vger.kernel.org
      Reviewed-by: NBartosz Golaszewski <bgolaszewski@baylibre.com>
      Fixes: 461c1a7d ("gpiolib: override irq_enable/disable")
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Link: https://lore.kernel.org/r/20200306132326.1329640-1-linus.walleij@linaro.org
      8959b304
  21. 03 3月, 2020 1 次提交
  22. 02 3月, 2020 3 次提交
  23. 29 2月, 2020 1 次提交
  24. 25 2月, 2020 1 次提交
  25. 22 2月, 2020 1 次提交
  26. 21 2月, 2020 2 次提交
  27. 12 2月, 2020 2 次提交
    • B
      gpiolib: add new ioctl() for monitoring changes in line info · 51c1064e
      Bartosz Golaszewski 提交于
      Currently there is no way for user-space to be informed about changes
      in status of GPIO lines e.g. when someone else requests the line or its
      config changes. We can only periodically re-read the line-info. This
      is fine for simple one-off user-space tools, but any daemon that provides
      a centralized access to GPIO chips would benefit hugely from an event
      driven line info synchronization.
      
      This patch adds a new ioctl() that allows user-space processes to reuse
      the file descriptor associated with the character device for watching
      any changes in line properties. Every such event contains the updated
      line information.
      
      Currently the events are generated on three types of status changes: when
      a line is requested, when it's released and when its config is changed.
      The first two are self-explanatory. For the third one: this will only
      happen when another user-space process calls the new SET_CONFIG ioctl()
      as any changes that can happen from within the kernel (i.e.
      set_transitory() or set_debounce()) are of no interest to user-space.
      Signed-off-by: NBartosz Golaszewski <bgolaszewski@baylibre.com>
      Reviewed-by: NLinus Walleij <linus.walleij@linaro.org>
      51c1064e
    • B
      gpiolib: provide a dedicated function for setting lineinfo · d2ac2579
      Bartosz Golaszewski 提交于
      We'll soon be filling out the gpioline_info structure in multiple
      places. Add a separate function that given a gpio_desc sets all relevant
      fields.
      Signed-off-by: NBartosz Golaszewski <bgolaszewski@baylibre.com>
      Reviewed-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      d2ac2579