Re: [Patch v2 08/14] genirq: Introduce helper function irq_data_get_affinity_mask()
From: Russell King - ARM Linux <hidden>
Date: 2015-05-20 19:34:26
Also in:
linux-acpi, linux-alpha, linux-mips
On Wed, May 20, 2015 at 05:40:39PM +0800, Jiang Liu wrote:
quoted hunk ↗ jump to hunk
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index 350f188c92d2..baf8edebe26f 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c@@ -140,7 +140,7 @@ int __init arch_probe_nr_irqs(void) static bool migrate_one_irq(struct irq_desc *desc) { struct irq_data *d = irq_desc_get_irq_data(desc); - const struct cpumask *affinity = d->affinity; + const struct cpumask *affinity = irq_data_get_affinity_mask(d); struct irq_chip *c; bool ret = false;@@ -160,7 +160,7 @@ static bool migrate_one_irq(struct irq_desc *desc) if (!c->irq_set_affinity) pr_debug("IRQ%u: unable to set affinity\n", d->irq); else if (c->irq_set_affinity(d, affinity, false) == IRQ_SET_MASK_OK && ret) - cpumask_copy(d->affinity, affinity); + cpumask_copy(irq_data_get_affinity_mask(d), affinity); return ret; }
quoted hunk ↗ jump to hunk
diff --git a/include/linux/irq.h b/include/linux/irq.h index 43581e166298..2eb82257aaee 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h@@ -650,6 +650,18 @@ static inline int irq_data_get_node(struct irq_data *d) return irq_common_data_get_node(d->common); } +static inline struct cpumask *irq_get_affinity_mask(int irq) +{ + struct irq_data *d = irq_get_irq_data(irq); + + return d ? d->affinity : NULL; +} + +static inline struct cpumask *irq_data_get_affinity_mask(struct irq_data *d) +{ + return d->affinity; +} + unsigned int arch_dynirq_lower_bound(unsigned int from); int __irq_alloc_descs(int irq, unsigned int from, unsigned int cnt, int node,
For the above only, Acked-by: Russell King <redacted> Thanks. -- FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up according to speedtest.net.