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

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



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

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

/*
* This routine is used to remove an irq domain. The caller must ensure
* that all mappings within the domain have been disposed of prior to
* use, depending on the revmap type.
*/
void irq_domain_remove(struct irq_domain *domain)


I am adding the API equivalent to regmap_irq_get_virq() to unmap virtual irq here.



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.