Re: [PATCH V4 1/6] regmap: irq: add apis to unmap the mapped irq

From: Laxman Dewangan
Date: Mon Feb 08 2016 - 12:08:00 EST


Adding Thomas in the discussion.

On Monday 08 February 2016 10:29 PM, Mark Brown wrote:
* PGP Signed by an unknown key

On Mon, Feb 08, 2016 at 10:08:28PM +0530, Laxman Dewangan wrote:
On Monday 08 February 2016 08:25 PM, Mark Brown wrote:
On Sat, Feb 06, 2016 at 08:07:22PM +0530, Laxman Dewangan wrote:
Before removing irq domains, it is require to unmap all
mapped interrupt from that domain. Currently there is API
to map the interrupt on chip as regmap_irq_get_virq() for
creating mapping. Add equivalent API to dispose the mapped
irq in irq domains.
This makes no sense to me. Why would you ever want to unmap the
interrupts separately to destroying the domain
This is the requirement from irq_domain_remove(). This is what we have in
irq_domain_remove():
kernel/irq/irqdomain.c
I am adding the API equivalent to regmap_irq_get_virq() to unmap virtual irq
here.
This does not explain why anyone would ever want to use this interface
(which was my question), why would anyone ever want to do this as a
separate step?

OK, so you want to say that irq_domain_remove() should take care of doing unmap also?


and why would you ever
want to destroy the domain without unmapping the interrupts?
That's exactlly we are trying to do, unmap interrupt in client level before
destroying domain.
Again, why would any client ever want to skip this step?

If above is yes then we will not need for unmap virtual irq.
So fix need to go in the irq_domain_remove() to unamp before actually destroying the irq domain?