mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-28 09:31:14 +00:00
irqdesc: Add a resource managed version of irq_alloc_descs()
Add a devres flavor of __devm_irq_alloc_descs() and corresponding helper macros. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Cc: Marc Zyngier <marc.zyngier@arm.com> Cc: linux-doc@vger.kernel.org Cc: Jonathan Corbet <corbet@lwn.net> Link: http://lkml.kernel.org/r/1486729403-21132-1-git-send-email-bgolaszewski@baylibre.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
b4f2d7c342
commit
2b5e77308f
3 changed files with 79 additions and 0 deletions
|
@ -715,6 +715,10 @@ unsigned int arch_dynirq_lower_bound(unsigned int from);
|
|||
int __irq_alloc_descs(int irq, unsigned int from, unsigned int cnt, int node,
|
||||
struct module *owner, const struct cpumask *affinity);
|
||||
|
||||
int __devm_irq_alloc_descs(struct device *dev, int irq, unsigned int from,
|
||||
unsigned int cnt, int node, struct module *owner,
|
||||
const struct cpumask *affinity);
|
||||
|
||||
/* use macros to avoid needing export.h for THIS_MODULE */
|
||||
#define irq_alloc_descs(irq, from, cnt, node) \
|
||||
__irq_alloc_descs(irq, from, cnt, node, THIS_MODULE, NULL)
|
||||
|
@ -731,6 +735,21 @@ int __irq_alloc_descs(int irq, unsigned int from, unsigned int cnt, int node,
|
|||
#define irq_alloc_descs_from(from, cnt, node) \
|
||||
irq_alloc_descs(-1, from, cnt, node)
|
||||
|
||||
#define devm_irq_alloc_descs(dev, irq, from, cnt, node) \
|
||||
__devm_irq_alloc_descs(dev, irq, from, cnt, node, THIS_MODULE, NULL)
|
||||
|
||||
#define devm_irq_alloc_desc(dev, node) \
|
||||
devm_irq_alloc_descs(dev, -1, 0, 1, node)
|
||||
|
||||
#define devm_irq_alloc_desc_at(dev, at, node) \
|
||||
devm_irq_alloc_descs(dev, at, at, 1, node)
|
||||
|
||||
#define devm_irq_alloc_desc_from(dev, from, node) \
|
||||
devm_irq_alloc_descs(dev, -1, from, 1, node)
|
||||
|
||||
#define devm_irq_alloc_descs_from(dev, from, cnt, node) \
|
||||
devm_irq_alloc_descs(dev, -1, from, cnt, node)
|
||||
|
||||
void irq_free_descs(unsigned int irq, unsigned int cnt);
|
||||
static inline void irq_free_desc(unsigned int irq)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue