opal_event_irqchip
static struct opal_event_irqchip opal_event_irqchip = {
irq_set_chip_data(irq, &opal_event_irqchip);
irq_set_chip_and_handler(irq, &opal_event_irqchip.irqchip,
opal_event_irqchip.domain = irq_domain_create_linear(of_fwnode_handle(dn),
&opal_event_domain_ops, &opal_event_irqchip);
if (!opal_event_irqchip.domain) {
if (WARN_ON_ONCE(!opal_event_irqchip.domain))
return irq_create_mapping(opal_event_irqchip.domain, opal_event_nr);
static struct opal_event_irqchip opal_event_irqchip;
e = READ_ONCE(last_outstanding_events) & opal_event_irqchip.mask;
generic_handle_domain_irq(opal_event_irqchip.domain, hwirq);
e = be64_to_cpu(events) & opal_event_irqchip.mask;
if (READ_ONCE(last_outstanding_events) & opal_event_irqchip.mask)
clear_bit(d->hwirq, &opal_event_irqchip.mask);
set_bit(d->hwirq, &opal_event_irqchip.mask);