Re: [PATCH -next] gpio: mockup: remove gpio debugfs when remove device

From: weiyongjun (A)
Date: Sun Aug 21 2022 - 23:39:39 EST



On 2022/8/19 20:49, Bartosz Golaszewski wrote:
On Tue, Aug 16, 2022 at 4:34 PM Wei Yongjun <weiyongjun1@xxxxxxxxxx> wrote:
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.

The tag -next is for patches that address issues that are in next but
not yet in master.


Got it. Thanks.



Signed-off-by: Wei Yongjun <weiyongjun1@xxxxxxxxxx>
---
drivers/gpio/gpio-mockup.c | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/drivers/gpio/gpio-mockup.c b/drivers/gpio/gpio-mockup.c
index 8943cea92764..1fdc444b093b 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,6 +462,10 @@ static int gpio_mockup_probe(struct platform_device *pdev)

gpio_mockup_debugfs_setup(dev, chip);

+ rv = devm_add_action_or_reset(dev, gpio_mockup_debugfs_cleanup, chip);
+ if (rv)
+ return rv;
+
Please return that function directly.


Will fix it.



return 0;
}

--
2.34.1

This isn't very relevant as the module needs to be unloaded anyway in
order to reconfigure the simulated device but I'll apply it as it's
technically correct. Did you see we have a new one - gpio-sim - that
uses configfs?


gpio-mockup is used for testing other drivers with overlay dts, and triggered

this issue. I though gpio-sim not work with dts, but it should works well.

I will have a try to using the new gpio-sim module.