Skip to content
  • Laxman Dewangan's avatar
    regmap: irq: add devm apis for regmap_{add,del}_irq_chip · 045b9848
    Laxman Dewangan authored and Mark Brown's avatar Mark Brown committed
    
    
    Add device managed APIs for regmap_add_irq_chip() and
    regmap_del_irq_chip() so that it can be managed by
    device framework for freeing it.
    
    This helps on following:
    1. Maintaining the sequence of resource allocation and deallocation
    	regmap_add_irq_chip(&d);
    	devm_requested_threaded_irq(virq)
    
    	On free path:
    		regmap_del_irq_chip(d);
    		and then removing the irq registration.
    
    	On this case, regmap irq is deleted before the irq is free.
    	This force to use normal irq registration.
    
    	By using devm apis, the sequence can be maintain properly:
    		devm_regmap_add_irq_chip(&d);
    		devm_requested_threaded_irq(virq);
    
    	and resource deallocation will be done in reverse order
    	by device framework.
    
    2. No need to delete the regmap_irq_chip in error path or remove
       callback and hence there is less code on this path.
    
    Signed-off-by: default avatarLaxman Dewangan <ldewangan@nvidia.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    045b9848