mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 00:50:50 +07:00
irqchip/bcm7120-l2: Set controller as wake-up source
Utilize the Broadcom interrupt controller standard property "brcm,irq-can-wake" to flag whether this particular interrupt controller instance is wake-up capable. Since we do not know what type of parent interrupt controller we are interfaced with, ensure that enable_irq_wake() is called early on. Signed-off-by: Justin Chen <justinpopo6@gmail.com> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20200709223016.989-2-f.fainelli@gmail.com
This commit is contained in:
parent
8ebf642f3d
commit
f4ccb74569
@ -143,6 +143,9 @@ static int bcm7120_l2_intc_init_one(struct device_node *dn,
|
||||
|
||||
irq_set_chained_handler_and_data(parent_irq,
|
||||
bcm7120_l2_intc_irq_handle, l1_data);
|
||||
if (data->can_wake)
|
||||
enable_irq_wake(parent_irq);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -247,6 +250,8 @@ static int __init bcm7120_l2_intc_probe(struct device_node *dn,
|
||||
if (ret < 0)
|
||||
goto out_free_l1_data;
|
||||
|
||||
data->can_wake = of_property_read_bool(dn, "brcm,irq-can-wake");
|
||||
|
||||
for (irq = 0; irq < data->num_parent_irqs; irq++) {
|
||||
ret = bcm7120_l2_intc_init_one(dn, data, irq, valid_mask);
|
||||
if (ret)
|
||||
@ -274,9 +279,6 @@ static int __init bcm7120_l2_intc_probe(struct device_node *dn,
|
||||
goto out_free_domain;
|
||||
}
|
||||
|
||||
if (of_property_read_bool(dn, "brcm,irq-can-wake"))
|
||||
data->can_wake = true;
|
||||
|
||||
for (idx = 0; idx < data->n_words; idx++) {
|
||||
irq = idx * IRQS_PER_WORD;
|
||||
gc = irq_get_domain_generic_chip(data->domain, irq);
|
||||
|
Loading…
Reference in New Issue
Block a user