| From c7414484216988f19ec6aa108cd2c93c43c11f3e Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 22 Aug 2022 04:10:25 +0000 |
| Subject: gpio: mockup: remove gpio debugfs when remove device |
| |
| From: Wei Yongjun <weiyongjun1@huawei.com> |
| |
| [ Upstream commit 303e6da99429510b1e4edf833afe90ac8542e747 ] |
| |
| GPIO mockup debugfs is created in gpio_mockup_probe() but |
| forgot to remove when remove device. This patch add a devm |
| managed callback for removing them. |
| |
| Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> |
| Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/gpio/gpio-mockup.c | 9 ++++++++- |
| 1 file changed, 8 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c |
| index 8943cea927642..a2e505a7545cd 100644 |
| --- a/drivers/gpio/gpio-mockup.c |
| +++ b/drivers/gpio/gpio-mockup.c |
| @@ -373,6 +373,13 @@ static void gpio_mockup_debugfs_setup(struct device *dev, |
| } |
| } |
| |
| +static void gpio_mockup_debugfs_cleanup(void *data) |
| +{ |
| + struct gpio_mockup_chip *chip = data; |
| + |
| + debugfs_remove_recursive(chip->dbg_dir); |
| +} |
| + |
| static void gpio_mockup_dispose_mappings(void *data) |
| { |
| struct gpio_mockup_chip *chip = data; |
| @@ -455,7 +462,7 @@ static int gpio_mockup_probe(struct platform_device *pdev) |
| |
| gpio_mockup_debugfs_setup(dev, chip); |
| |
| - return 0; |
| + return devm_add_action_or_reset(dev, gpio_mockup_debugfs_cleanup, chip); |
| } |
| |
| static const struct of_device_id gpio_mockup_of_match[] = { |
| -- |
| 2.35.1 |
| |