Messages in this thread | | | Subject | Re: [PATCH -next] gpio: mockup: remove gpio debugfs when remove device | From | "weiyongjun (A)" <> | Date | Mon, 22 Aug 2022 11:39:29 +0800 |
| |
On 2022/8/19 20:49, Bartosz Golaszewski wrote: > On Tue, Aug 16, 2022 at 4:34 PM Wei Yongjun <weiyongjun1@huawei.com> 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@huawei.com> >> --- >> 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.
| |