Bartosz Golaszewski 3386fb86ec gpiolib: fix reference leaks when removing GPIO chips still in use
After we remove a GPIO chip that still has some requested descriptors,
gpiod_free_commit() will fail and we will never put the references to the
GPIO device and the owning module in gpiod_free().

Rework this function to:
- not warn on desc == NULL as this is a use-case on which most free
  functions silently return
- put the references to desc->gdev and desc->gdev->owner unconditionally
  so that the release callback actually gets called when the remaining
  references are dropped by external GPIO users

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
2023-08-16 13:35:50 +02:00
..
2021-04-14 10:19:22 +01:00
2022-10-26 14:52:02 +02:00
2021-05-05 16:07:41 +02:00
2022-10-26 14:52:01 +02:00
2022-10-08 09:46:29 -07:00
2023-07-20 14:38:36 +02:00
2022-06-21 18:01:11 +03:00
2023-03-06 12:33:02 +02:00
2022-06-06 14:09:16 +03:00
2021-11-08 11:55:21 -08:00
2023-02-22 11:01:17 -08:00
2022-01-14 18:50:52 -05:00
2023-01-30 15:55:31 +01:00
2023-04-25 17:18:18 -07:00
2023-03-06 12:33:02 +02:00
2023-03-06 12:33:02 +02:00
2023-03-06 12:33:02 +02:00
2023-03-06 12:33:02 +02:00
2022-10-24 12:30:26 +03:00
2023-06-29 10:11:10 -07:00
2023-06-16 11:08:32 +02:00