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

irqchip/gic: Move PM device over to irq domain

Move the reference to the GIC device over to the irq domain.
This allows for some localised cleanup.

Signed-off-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Bartosz Golaszewski <brgl@bgdev.pl>
Link: https://lore.kernel.org/r/20220201120310.878267-3-maz@kernel.org

+6 -6
+6 -6
drivers/irqchip/irq-gic.c
··· 1127 1127 .unmap = gic_irq_domain_unmap, 1128 1128 }; 1129 1129 1130 - static void gic_init_chip(struct gic_chip_data *gic, struct device *dev, 1131 - const char *name, bool use_eoimode1) 1130 + static void gic_init_chip(struct gic_chip_data *gic, const char *name, 1131 + bool use_eoimode1) 1132 1132 { 1133 1133 /* Initialize irq_chip */ 1134 1134 gic->chip = gic_chip; 1135 1135 gic->chip.name = name; 1136 - gic->chip.parent_device = dev; 1137 1136 1138 1137 if (use_eoimode1) { 1139 1138 gic->chip.irq_mask = gic_eoimode1_mask_irq; ··· 1267 1268 1268 1269 if (static_branch_likely(&supports_deactivate_key) && gic == &gic_data[0]) { 1269 1270 name = kasprintf(GFP_KERNEL, "GICv2"); 1270 - gic_init_chip(gic, NULL, name, true); 1271 + gic_init_chip(gic, name, true); 1271 1272 } else { 1272 1273 name = kasprintf(GFP_KERNEL, "GIC-%d", (int)(gic-&gic_data[0])); 1273 - gic_init_chip(gic, NULL, name, false); 1274 + gic_init_chip(gic, name, false); 1274 1275 } 1275 1276 1276 1277 ret = gic_init_bases(gic, handle); ··· 1459 1460 if (!*gic) 1460 1461 return -ENOMEM; 1461 1462 1462 - gic_init_chip(*gic, dev, dev->of_node->name, false); 1463 + gic_init_chip(*gic, dev->of_node->name, false); 1463 1464 1464 1465 ret = gic_of_setup(*gic, dev->of_node); 1465 1466 if (ret) ··· 1471 1472 return ret; 1472 1473 } 1473 1474 1475 + irq_domain_set_pm_device((*gic)->domain, dev); 1474 1476 irq_set_chained_handler_and_data(irq, gic_handle_cascade_irq, *gic); 1475 1477 1476 1478 return 0;