Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

irqchip/loongson-eiointc: Remove explicit interrupt affinity restore on resume

During suspend all CPUs except CPU0 are hot-unpluged and all active
interrupts are migrated to CPU0.

On resume eiointc_router_init() affines all interrupts to CPU0, so the
subsequent explicit interrupt affinity restore is redundant.

Remove it.

[ tglx: Rewrote changelog ]

Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20240130082722.2912576-4-maobibo@loongson.cn

authored by

Bibo Mao and committed by
Thomas Gleixner
83c07087 3eece72d

-16
-16
drivers/irqchip/irq-loongson-eiointc.c
··· 310 310 311 311 static void eiointc_resume(void) 312 312 { 313 - int i, j; 314 - struct irq_desc *desc; 315 - struct irq_data *irq_data; 316 - 317 313 eiointc_router_init(0); 318 - 319 - for (i = 0; i < nr_pics; i++) { 320 - for (j = 0; j < eiointc_priv[0]->vec_count; j++) { 321 - desc = irq_resolve_mapping(eiointc_priv[i]->eiointc_domain, j); 322 - if (desc && desc->handle_irq && desc->handle_irq != handle_bad_irq) { 323 - raw_spin_lock(&desc->lock); 324 - irq_data = irq_domain_get_irq_data(eiointc_priv[i]->eiointc_domain, irq_desc_get_irq(desc)); 325 - eiointc_set_irq_affinity(irq_data, irq_data->common->affinity, 0); 326 - raw_spin_unlock(&desc->lock); 327 - } 328 - } 329 - } 330 314 } 331 315 332 316 static struct syscore_ops eiointc_syscore_ops = {