diff options
Diffstat (limited to 'arch/powerpc/sysdev/xics/xics-common.c')
| -rw-r--r-- | arch/powerpc/sysdev/xics/xics-common.c | 12 | 
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/powerpc/sysdev/xics/xics-common.c b/arch/powerpc/sysdev/xics/xics-common.c index e70175dfe32..c58844d7242 100644 --- a/arch/powerpc/sysdev/xics/xics-common.c +++ b/arch/powerpc/sysdev/xics/xics-common.c @@ -331,11 +331,13 @@ int xics_get_irq_server(unsigned int virq, const struct cpumask *cpumask,  static int xics_host_match(struct irq_host *h, struct device_node *node)  { -	/* IBM machines have interrupt parents of various funky types for things -	 * like vdevices, events, etc... The trick we use here is to match -	 * everything here except the legacy 8259 which is compatible "chrp,iic" -	 */ -	return !of_device_is_compatible(node, "chrp,iic"); +	struct ics *ics; + +	list_for_each_entry(ics, &ics_list, link) +		if (ics->host_match(ics, node)) +			return 1; + +	return 0;  }  /* Dummies */  |