diff options
author | Cédric Le Goater <clg@kaod.org> | 2021-07-01 15:27:35 +0200 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2021-08-10 15:14:59 +0200 |
commit | 248af248a8f45461662fb633eca4adf24ae704ad (patch) | |
tree | 6601ffdd9f0c1e9af4166ace1bc1c1037bee23ec /arch/powerpc/include/asm/xics.h | |
parent | powerpc/xics: Remove ICS list (diff) | |
download | linux-248af248a8f45461662fb633eca4adf24ae704ad.tar.xz linux-248af248a8f45461662fb633eca4adf24ae704ad.zip |
powerpc/xics: Rename the map handler in a check handler
This moves the IRQ initialization done under the different ICS backends
in the common part of XICS. The 'map' handler becomes a simple 'check'
on the HW IRQ at the FW level.
As we don't need an ICS anymore in xics_migrate_irqs_away(), the XICS
domain does not set a chip data for the IRQ.
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210701132750.1475580-18-clg@kaod.org
Diffstat (limited to 'arch/powerpc/include/asm/xics.h')
-rw-r--r-- | arch/powerpc/include/asm/xics.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/xics.h b/arch/powerpc/include/asm/xics.h index d9cf192368ad..0ac9bfddf704 100644 --- a/arch/powerpc/include/asm/xics.h +++ b/arch/powerpc/include/asm/xics.h @@ -89,10 +89,11 @@ static inline int ics_opal_init(void) { return -ENODEV; } /* ICS instance, hooked up to chip_data of an irq */ struct ics { struct list_head link; - int (*map)(struct ics *ics, unsigned int virq); + int (*check)(struct ics *ics, unsigned int hwirq); void (*mask_unknown)(struct ics *ics, unsigned long vec); long (*get_server)(struct ics *ics, unsigned long vec); int (*host_match)(struct ics *ics, struct device_node *node); + struct irq_chip *chip; char data[]; }; |