summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/xics.h
diff options
context:
space:
mode:
authorCédric Le Goater <clg@kaod.org>2021-07-01 15:27:35 +0200
committerMichael Ellerman <mpe@ellerman.id.au>2021-08-10 15:14:59 +0200
commit248af248a8f45461662fb633eca4adf24ae704ad (patch)
tree6601ffdd9f0c1e9af4166ace1bc1c1037bee23ec /arch/powerpc/include/asm/xics.h
parentpowerpc/xics: Remove ICS list (diff)
downloadlinux-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.h3
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[];
};