1. 02 May, 2022 2 commits
    • Bartosz Golaszewski's avatar
      Merge tag 'intel-gpio-v5.19-1' of... · c85b2f15
      Bartosz Golaszewski authored
      Merge tag 'intel-gpio-v5.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-gpio-intel into gpio/for-next
      
      intel-gpio for v5.19-1
      
      * Introduce helpers to iterate over GPIO chip nodes and covert some drivers
      
      gpiolib:
       -  Introduce a helper to get first GPIO controller node
       -  Introduce gpiochip_node_count() helper
       -  Introduce for_each_gpiochip_node() loop helper
      
      pinctrl:
       -  meson: Replace custom code by gpiochip_node_count() call
       -  meson: Enable COMPILE_TEST
       -  meson: Rename REG_* to MESON_REG_*
       -  armada-37xx: Reuse GPIO fwnode in armada_37xx_irqchip_register()
       -  armada-37xx: Switch to use fwnode instead of of_node
       -  samsung: Switch to use for_each_gpiochip_node() helper
       -  samsung: Drop redundant node parameter in samsung_banks_of_node_get()
       -  npcm7xx: Switch to use for_each_gpiochip_node() helper
       -  renesas: rza1: Switch to use for_each_gpiochip_node() helper
       -  renesas: rza1: Replace custom code by gpiochip_node_count() call
       -  stm32: Switch to use for_each_gpiochip_node() helper
       -  stm32: Replace custom code by gpiochip_node_count() call
      c85b2f15
    • Alexander Shiyan's avatar
      gpio: syscon: Remove usage of syscon_regmap_lookup_by_compatible · 2e9cf845
      Alexander Shiyan authored
      Since version 5.13, the standard syscon bindings have been added
      to all clps711x DT nodes, so we can now use the more general
      syscon_regmap_lookup_by_phandle function to get the syscon pointer.
      
      This patch removes the usage of the syscon_regmap_lookup_by_compatible
      function as it is no longer used in the driver.
      Signed-off-by: default avatarAlexander Shiyan <eagle.alexander923@gmail.com>
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
      2e9cf845
  2. 25 Apr, 2022 4 commits
    • Uwe Kleine-König's avatar
      gpio: pcf857x: Make teardown callback return void · fae74fb5
      Uwe Kleine-König authored
      All teardown functions return 0. Also there is little sense in returning
      a negative error code from an i2c remove function as this only results in
      emitting an error message but the device is removed nevertheless.
      
      This patch is a preparation for making i2c remove callbacks return void.
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
      fae74fb5
    • Linus Walleij's avatar
      irq/gpio: ixp4xx: Drop boardfile probe path · c83227a5
      Linus Walleij authored
      The boardfiles for IXP4xx have been deleted. Delete all the
      quirks and code dealing with that boot path and rely solely on
      device tree boot.
      
      Fix some missing static keywords that the kernel test robot
      was complaining about while we're at it.
      
      Cc: Bartosz Golaszewski <brgl@bgdev.pl>
      Acked-by: default avatarMarc Zyngier <maz@kernel.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
      c83227a5
    • Krzysztof Kozlowski's avatar
      dt-bindings: gpio: add common consumer GPIO lines · 6588cb81
      Krzysztof Kozlowski authored
      Typical GPIO lines like enable, powerdown, reset or wakeup are not
      documented as common, which leads to new variations of these (e.g.
      pwdn-gpios).  Add a common schema which serves also as a documentation
      for preferred naming.
      Signed-off-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
      6588cb81
    • Schspa Shi's avatar
      gpio: use raw spinlock for gpio chip shadowed data · 3c938cc5
      Schspa Shi authored
      In case of PREEMPT_RT, there is a raw_spinlock -> spinlock dependency
      as the lockdep report shows.
      
      __irq_set_handler
        irq_get_desc_buslock
          __irq_get_desc_lock
            raw_spin_lock_irqsave(&desc->lock, *flags);  // raw spinlock get here
        __irq_do_set_handler
          mask_ack_irq
            dwapb_irq_ack
              spin_lock_irqsave(&gc->bgpio_lock, flags); // sleep able spinlock
        irq_put_desc_busunlock
      
      Replace with a raw lock to avoid BUGs. This lock is only used to access
      registers, and It's safe to replace with the raw lock without bad
      influence.
      
      [   15.090359][    T1] =============================
      [   15.090365][    T1] [ BUG: Invalid wait context ]
      [   15.090373][    T1] 5.10.59-rt52-00983-g186a6841c682-dirty #3 Not tainted
      [   15.090386][    T1] -----------------------------
      [   15.090392][    T1] swapper/0/1 is trying to lock:
      [   15.090402][    T1] 70ff00018507c188 (&gc->bgpio_lock){....}-{3:3}, at: _raw_spin_lock_irqsave+0x1c/0x28
      [   15.090470][    T1] other info that might help us debug this:
      [   15.090477][    T1] context-{5:5}
      [   15.090485][    T1] 3 locks held by swapper/0/1:
      [   15.090497][    T1]  #0: c2ff0001816de1a0 (&dev->mutex){....}-{4:4}, at: __device_driver_lock+0x98/0x104
      [   15.090553][    T1]  #1: ffff90001485b4b8 (irq_domain_mutex){+.+.}-{4:4}, at: irq_domain_associate+0xbc/0x6d4
      [   15.090606][    T1]  #2: 4bff000185d7a8e0 (lock_class){....}-{2:2}, at: _raw_spin_lock_irqsave+0x1c/0x28
      [   15.090654][    T1] stack backtrace:
      [   15.090661][    T1] CPU: 4 PID: 1 Comm: swapper/0 Not tainted 5.10.59-rt52-00983-g186a6841c682-dirty #3
      [   15.090682][    T1] Hardware name: Horizon Robotics Journey 5 DVB (DT)
      [   15.090692][    T1] Call trace:
      ......
      [   15.090811][    T1]  _raw_spin_lock_irqsave+0x1c/0x28
      [   15.090828][    T1]  dwapb_irq_ack+0xb4/0x300
      [   15.090846][    T1]  __irq_do_set_handler+0x494/0xb2c
      [   15.090864][    T1]  __irq_set_handler+0x74/0x114
      [   15.090881][    T1]  irq_set_chip_and_handler_name+0x44/0x58
      [   15.090900][    T1]  gpiochip_irq_map+0x210/0x644
      Signed-off-by: default avatarSchspa Shi <schspa@gmail.com>
      Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Acked-by: default avatarDoug Berger <opendmb@gmail.com>
      Acked-by: default avatarSerge Semin <fancer.lancer@gmail.com>
      Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
      3c938cc5
  3. 18 Apr, 2022 6 commits
  4. 14 Apr, 2022 3 commits
  5. 11 Apr, 2022 6 commits
  6. 09 Apr, 2022 5 commits
  7. 08 Apr, 2022 9 commits
  8. 05 Apr, 2022 3 commits
  9. 04 Apr, 2022 1 commit
  10. 03 Apr, 2022 1 commit