diff options
Diffstat (limited to 'arch/x86/include/asm/apic.h')
| -rw-r--r-- | arch/x86/include/asm/apic.h | 36 | 
1 files changed, 11 insertions, 25 deletions
| diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h index bdffcd9eab2b..5f01671c68f2 100644 --- a/arch/x86/include/asm/apic.h +++ b/arch/x86/include/asm/apic.h @@ -252,6 +252,8 @@ static inline int x2apic_enabled(void) { return 0; }  #define	x2apic_supported()	(0)  #endif /* !CONFIG_X86_X2APIC */ +struct irq_data; +  /*   * Copyright 2004 James Cleverdon, IBM.   * Subject to the GNU Public License, v.2 @@ -296,9 +298,9 @@ struct apic {  	/* Can't be NULL on 64-bit */  	unsigned long (*set_apic_id)(unsigned int id); -	int (*cpu_mask_to_apicid_and)(const struct cpumask *cpumask, -				      const struct cpumask *andmask, -				      unsigned int *apicid); +	int (*cpu_mask_to_apicid)(const struct cpumask *cpumask, +				  struct irq_data *irqdata, +				  unsigned int *apicid);  	/* ipi */  	void (*send_IPI)(int cpu, int vector); @@ -540,28 +542,12 @@ static inline int default_phys_pkg_id(int cpuid_apic, int index_msb)  #endif -static inline int -flat_cpu_mask_to_apicid_and(const struct cpumask *cpumask, -			    const struct cpumask *andmask, -			    unsigned int *apicid) -{ -	unsigned long cpu_mask = cpumask_bits(cpumask)[0] & -				 cpumask_bits(andmask)[0] & -				 cpumask_bits(cpu_online_mask)[0] & -				 APIC_ALL_CPUS; - -	if (likely(cpu_mask)) { -		*apicid = (unsigned int)cpu_mask; -		return 0; -	} else { -		return -EINVAL; -	} -} - -extern int -default_cpu_mask_to_apicid_and(const struct cpumask *cpumask, -			       const struct cpumask *andmask, -			       unsigned int *apicid); +extern int flat_cpu_mask_to_apicid(const struct cpumask *cpumask, +				   struct irq_data *irqdata, +				   unsigned int *apicid); +extern int default_cpu_mask_to_apicid(const struct cpumask *cpumask, +				      struct irq_data *irqdata, +				      unsigned int *apicid);  static inline void  flat_vector_allocation_domain(int cpu, struct cpumask *retmask, |