On Thu, Jun 15, 2023 at 1:45 PM Michael Walle <michael@xxxxxxxx> wrote: > > BTW, I wonder if it has problems when unregistering gpio-regmap. > > Call Trace of irq_domain_remove() always exits in my test: > > https://lore.kernel.org/all/011c01d98d3d$99e6c6e0$cdb454a0$@trustnetic.com/ > > > > Of course, it could be because there was something wrong with my > > test code. But I want to be clear about this. > > Mh, you've said you don't use the devm_ variant of > regmap_add_irq_chip(), > correct? Do you call regmap_del_irq_chip() yourself? > > It seems that gpiolib is already removing the domain itself. Mh. > I guess if the the domain is set via gpiochip_irqchip_add_domain() > gpiolib must not call irq_domain_remove() because the domain resource > is handled externally (i.e. gpiolib doesn't allocate the domain > itself) in our case. > > Nice finding! Looks like it has been broken since the beginning > when I've introduced the gpiochip_irqchip_add_domain(). Will you > do another fixes patch for that? I'm not sure where to store > that information though. Maybe a new bool "no_domain_free" > in struct gpio_irq_chip? While reading this I also thought about flag, but please use positive notation, e.g. "irq_domain_is_ext". -- With Best Regards, Andy Shevchenko