Skip to content
Snippets Groups Projects
  1. Jan 03, 2022
  2. Dec 21, 2021
  3. Dec 19, 2021
    • Noralf Trønnes's avatar
      gpio: dln2: Fix interrupts when replugging the device · 9a5875f1
      Noralf Trønnes authored
      
      When replugging the device the following message shows up:
      
      gpio gpiochip2: (dln2): detected irqchip that is shared with multiple gpiochips: please fix the driver.
      
      This also has the effect that interrupts won't work.
      The same problem would also show up if multiple devices where plugged in.
      
      Fix this by allocating the irq_chip data structure per instance like other
      drivers do.
      
      I don't know when this problem appeared, but it is present in 5.10.
      
      Cc: <stable@vger.kernel.org> # 5.10+
      Cc: Daniel Baluta <daniel.baluta@gmail.com>
      Signed-off-by: default avatarNoralf Trønnes <noralf@tronnes.org>
      Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
      9a5875f1
  4. Nov 16, 2021
    • Randy Dunlap's avatar
      gpio: rockchip: needs GENERIC_IRQ_CHIP to fix build errors · d6912b12
      Randy Dunlap authored
      
      gpio-rockchip uses interfaces that are provided by the Kconfig
      symbol GENERIC_IRQ_CHIP, so the driver should select that symbol
      in order to prevent build errors.
      
      Fixes these build errors (and more):
      
      aarch64-linux-ld: drivers/gpio/gpio-rockchip.o: in function `rockchip_irq_disable':
      gpio-rockchip.c:(.text+0x454): undefined reference to `irq_gc_mask_set_bit'
      aarch64-linux-ld: drivers/gpio/gpio-rockchip.o: in function `rockchip_irq_enable':
      gpio-rockchip.c:(.text+0x478): undefined reference to `irq_gc_mask_clr_bit'
      aarch64-linux-ld: drivers/gpio/gpio-rockchip.o: in function `rockchip_interrupts_register':
      gpio-rockchip.c:(.text+0x518): undefined reference to `irq_generic_chip_ops'
      aarch64-linux-ld: gpio-rockchip.c:(.text+0x594): undefined reference to `__irq_alloc_domain_generic_chips'
      aarch64-linux-ld: gpio-rockchip.c:(.text+0x5cc): undefined reference to `irq_get_domain_generic_chip'
      aarch64-linux-ld: gpio-rockchip.c:(.text+0x5e0): undefined reference to `irq_gc_ack_set_bit'
      aarch64-linux-ld: gpio-rockchip.c:(.text+0x604): undefined reference to `irq_gc_set_wake'
      
      Fixes: 936ee267 ("gpio/rockchip: add driver for rockchip gpio")
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
      d6912b12
  5. Nov 15, 2021
  6. Nov 04, 2021
  7. Oct 30, 2021
  8. Oct 29, 2021
  9. Oct 26, 2021
  10. Oct 25, 2021
  11. Oct 20, 2021
  12. Oct 13, 2021
  13. Oct 06, 2021
    • Andy Shevchenko's avatar
      gpio: mockup: Convert to use software nodes · 6fda593f
      Andy Shevchenko authored
      
      The gpio-mockup driver creates the properties that are shared between
      platform and GPIO devices. Because of that, the properties may not
      be removed at the proper point of time without provoking a use-after-free
      as shown in the following backtrace:
      
        refcount_t: underflow; use-after-free.
        WARNING: CPU: 0 PID: 103 at lib/refcount.c:28 refcount_warn_saturate+0xd1/0x120
        ...
        Call Trace:
        kobject_put+0xdc/0xf0
        software_node_notify_remove+0xa8/0xc0
        device_del+0x15a/0x3e0
      
      That's why the driver has to manage the lifetime of the software nodes
      by itself.
      
      The problem originates from the old device_add_properties() API, but
      has been only revealed after the commit bd1e336a ("driver core: platform:
      Remove platform_device_add_properties()"). Hence, it's used as a landmark
      for backporting.
      
      Fixes: bd1e336a ("driver core: platform: Remove platform_device_add_properties()")
      Reported-by: default avatarKent Gibson <warthog618@gmail.com>
      Tested-by: default avatarKent Gibson <warthog618@gmail.com>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      [Bartosz: tweaked local variable placement]
      Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
      6fda593f
    • Andy Shevchenko's avatar
      gpio: pca953x: Improve bias setting · 55a9968c
      Andy Shevchenko authored
      
      The commit 15add068 ("gpio: pca953x: add ->set_config implementation")
      introduced support for bias setting. However this, due to being half-baked,
      brought potential issues:
       - the turning bias via disabling makes the pin floating for a while;
       - once enabled, bias can't be disabled.
      
      Fix all these by adding support for bias disabling and move the disabling
      part under the corresponding conditional.
      
      While at it, add support for default setting, since it's cheap to add.
      
      Fixes: 15add068 ("gpio: pca953x: add ->set_config implementation")
      Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
      55a9968c
    • Mark Brown's avatar
      gpio: 74x164: Add SPI device ID table · be449183
      Mark Brown authored
      
      Currently autoloading for SPI devices does not use the DT ID table, it uses
      SPI modalises. Supporting OF modalises is going to be difficult if not
      impractical, an attempt was made but has been reverted, so ensure that
      module autoloading works for this driver by adding a SPI device ID table.
      
      Fixes: 96c8395e ("spi: Revert modalias changes")
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
      be449183
  14. Sep 29, 2021
  15. Sep 23, 2021
  16. Sep 22, 2021
  17. Sep 17, 2021
  18. Aug 31, 2021
Loading