diff options
Diffstat (limited to 'arch/powerpc/sysdev')
| -rw-r--r-- | arch/powerpc/sysdev/cpm1.c | 8 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/cpm2_pic.c | 10 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/ipic.c | 16 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/mpc8xx_pic.c | 10 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/mpc8xxx_gpio.c | 12 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/mpic.c | 28 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/mv64x60_pic.c | 14 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/qe_lib/qe_ic.c | 6 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/uic.c | 12 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/xics/icp-hv.c | 2 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/xics/icp-native.c | 2 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/xics/ics-rtas.c | 8 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/xics/xics-common.c | 4 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/xilinx_intc.c | 8 | 
14 files changed, 66 insertions, 74 deletions
diff --git a/arch/powerpc/sysdev/cpm1.c b/arch/powerpc/sysdev/cpm1.c index e0bc944eb23..350787c83e2 100644 --- a/arch/powerpc/sysdev/cpm1.c +++ b/arch/powerpc/sysdev/cpm1.c @@ -58,21 +58,21 @@ static struct irq_host *cpm_pic_host;  static void cpm_mask_irq(struct irq_data *d)  { -	unsigned int cpm_vec = (unsigned int)irq_map[d->irq].hwirq; +	unsigned int cpm_vec = (unsigned int)irqd_to_hwirq(d);  	clrbits32(&cpic_reg->cpic_cimr, (1 << cpm_vec));  }  static void cpm_unmask_irq(struct irq_data *d)  { -	unsigned int cpm_vec = (unsigned int)irq_map[d->irq].hwirq; +	unsigned int cpm_vec = (unsigned int)irqd_to_hwirq(d);  	setbits32(&cpic_reg->cpic_cimr, (1 << cpm_vec));  }  static void cpm_end_irq(struct irq_data *d)  { -	unsigned int cpm_vec = (unsigned int)irq_map[d->irq].hwirq; +	unsigned int cpm_vec = (unsigned int)irqd_to_hwirq(d);  	out_be32(&cpic_reg->cpic_cisr, (1 << cpm_vec));  } @@ -157,7 +157,7 @@ unsigned int cpm_pic_init(void)  		goto end;  	/* Initialize the CPM interrupt controller. */ -	hwirq = (unsigned int)irq_map[sirq].hwirq; +	hwirq = (unsigned int)virq_to_hw(sirq);  	out_be32(&cpic_reg->cpic_cicr,  	    (CICR_SCD_SCC4 | CICR_SCC_SCC3 | CICR_SCB_SCC2 | CICR_SCA_SCC1) |  		((hwirq/2) << 13) | CICR_HP_MASK); diff --git a/arch/powerpc/sysdev/cpm2_pic.c b/arch/powerpc/sysdev/cpm2_pic.c index 5495c1be472..bcab50e2a9e 100644 --- a/arch/powerpc/sysdev/cpm2_pic.c +++ b/arch/powerpc/sysdev/cpm2_pic.c @@ -81,7 +81,7 @@ static const u_char irq_to_siubit[] = {  static void cpm2_mask_irq(struct irq_data *d)  {  	int	bit, word; -	unsigned int irq_nr = virq_to_hw(d->irq); +	unsigned int irq_nr = irqd_to_hwirq(d);  	bit = irq_to_siubit[irq_nr];  	word = irq_to_siureg[irq_nr]; @@ -93,7 +93,7 @@ static void cpm2_mask_irq(struct irq_data *d)  static void cpm2_unmask_irq(struct irq_data *d)  {  	int	bit, word; -	unsigned int irq_nr = virq_to_hw(d->irq); +	unsigned int irq_nr = irqd_to_hwirq(d);  	bit = irq_to_siubit[irq_nr];  	word = irq_to_siureg[irq_nr]; @@ -105,7 +105,7 @@ static void cpm2_unmask_irq(struct irq_data *d)  static void cpm2_ack(struct irq_data *d)  {  	int	bit, word; -	unsigned int irq_nr = virq_to_hw(d->irq); +	unsigned int irq_nr = irqd_to_hwirq(d);  	bit = irq_to_siubit[irq_nr];  	word = irq_to_siureg[irq_nr]; @@ -116,7 +116,7 @@ static void cpm2_ack(struct irq_data *d)  static void cpm2_end_irq(struct irq_data *d)  {  	int	bit, word; -	unsigned int irq_nr = virq_to_hw(d->irq); +	unsigned int irq_nr = irqd_to_hwirq(d);  	bit = irq_to_siubit[irq_nr];  	word = irq_to_siureg[irq_nr]; @@ -133,7 +133,7 @@ static void cpm2_end_irq(struct irq_data *d)  static int cpm2_set_irq_type(struct irq_data *d, unsigned int flow_type)  { -	unsigned int src = virq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	unsigned int vold, vnew, edibit;  	/* Port C interrupts are either IRQ_TYPE_EDGE_FALLING or diff --git a/arch/powerpc/sysdev/ipic.c b/arch/powerpc/sysdev/ipic.c index fa438be962b..f0ece79f9be 100644 --- a/arch/powerpc/sysdev/ipic.c +++ b/arch/powerpc/sysdev/ipic.c @@ -521,12 +521,10 @@ static inline struct ipic * ipic_from_irq(unsigned int virq)  	return primary_ipic;  } -#define ipic_irq_to_hw(virq)	((unsigned int)irq_map[virq].hwirq) -  static void ipic_unmask_irq(struct irq_data *d)  {  	struct ipic *ipic = ipic_from_irq(d->irq); -	unsigned int src = ipic_irq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	unsigned long flags;  	u32 temp; @@ -542,7 +540,7 @@ static void ipic_unmask_irq(struct irq_data *d)  static void ipic_mask_irq(struct irq_data *d)  {  	struct ipic *ipic = ipic_from_irq(d->irq); -	unsigned int src = ipic_irq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	unsigned long flags;  	u32 temp; @@ -562,7 +560,7 @@ static void ipic_mask_irq(struct irq_data *d)  static void ipic_ack_irq(struct irq_data *d)  {  	struct ipic *ipic = ipic_from_irq(d->irq); -	unsigned int src = ipic_irq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	unsigned long flags;  	u32 temp; @@ -581,7 +579,7 @@ static void ipic_ack_irq(struct irq_data *d)  static void ipic_mask_irq_and_ack(struct irq_data *d)  {  	struct ipic *ipic = ipic_from_irq(d->irq); -	unsigned int src = ipic_irq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	unsigned long flags;  	u32 temp; @@ -604,7 +602,7 @@ static void ipic_mask_irq_and_ack(struct irq_data *d)  static int ipic_set_irq_type(struct irq_data *d, unsigned int flow_type)  {  	struct ipic *ipic = ipic_from_irq(d->irq); -	unsigned int src = ipic_irq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	unsigned int vold, vnew, edibit;  	if (flow_type == IRQ_TYPE_NONE) @@ -793,7 +791,7 @@ struct ipic * __init ipic_init(struct device_node *node, unsigned int flags)  int ipic_set_priority(unsigned int virq, unsigned int priority)  {  	struct ipic *ipic = ipic_from_irq(virq); -	unsigned int src = ipic_irq_to_hw(virq); +	unsigned int src = virq_to_hw(virq);  	u32 temp;  	if (priority > 7) @@ -821,7 +819,7 @@ int ipic_set_priority(unsigned int virq, unsigned int priority)  void ipic_set_highest_priority(unsigned int virq)  {  	struct ipic *ipic = ipic_from_irq(virq); -	unsigned int src = ipic_irq_to_hw(virq); +	unsigned int src = virq_to_hw(virq);  	u32 temp;  	temp = ipic_read(ipic->regs, IPIC_SICFR); diff --git a/arch/powerpc/sysdev/mpc8xx_pic.c b/arch/powerpc/sysdev/mpc8xx_pic.c index a88800ff4d0..20924f2246f 100644 --- a/arch/powerpc/sysdev/mpc8xx_pic.c +++ b/arch/powerpc/sysdev/mpc8xx_pic.c @@ -28,7 +28,7 @@ int cpm_get_irq(struct pt_regs *regs);  static void mpc8xx_unmask_irq(struct irq_data *d)  {  	int	bit, word; -	unsigned int irq_nr = (unsigned int)irq_map[d->irq].hwirq; +	unsigned int irq_nr = (unsigned int)irqd_to_hwirq(d);  	bit = irq_nr & 0x1f;  	word = irq_nr >> 5; @@ -40,7 +40,7 @@ static void mpc8xx_unmask_irq(struct irq_data *d)  static void mpc8xx_mask_irq(struct irq_data *d)  {  	int	bit, word; -	unsigned int irq_nr = (unsigned int)irq_map[d->irq].hwirq; +	unsigned int irq_nr = (unsigned int)irqd_to_hwirq(d);  	bit = irq_nr & 0x1f;  	word = irq_nr >> 5; @@ -52,7 +52,7 @@ static void mpc8xx_mask_irq(struct irq_data *d)  static void mpc8xx_ack(struct irq_data *d)  {  	int	bit; -	unsigned int irq_nr = (unsigned int)irq_map[d->irq].hwirq; +	unsigned int irq_nr = (unsigned int)irqd_to_hwirq(d);  	bit = irq_nr & 0x1f;  	out_be32(&siu_reg->sc_sipend, 1 << (31-bit)); @@ -61,7 +61,7 @@ static void mpc8xx_ack(struct irq_data *d)  static void mpc8xx_end_irq(struct irq_data *d)  {  	int bit, word; -	unsigned int irq_nr = (unsigned int)irq_map[d->irq].hwirq; +	unsigned int irq_nr = (unsigned int)irqd_to_hwirq(d);  	bit = irq_nr & 0x1f;  	word = irq_nr >> 5; @@ -73,7 +73,7 @@ static void mpc8xx_end_irq(struct irq_data *d)  static int mpc8xx_set_irq_type(struct irq_data *d, unsigned int flow_type)  {  	if (flow_type & IRQ_TYPE_EDGE_FALLING) { -		irq_hw_number_t hw = (unsigned int)irq_map[d->irq].hwirq; +		irq_hw_number_t hw = (unsigned int)irqd_to_hwirq(d);  		unsigned int siel = in_be32(&siu_reg->sc_siel);  		/* only external IRQ senses are programmable */ diff --git a/arch/powerpc/sysdev/mpc8xxx_gpio.c b/arch/powerpc/sysdev/mpc8xxx_gpio.c index 0892a2841c2..fb4963abdf5 100644 --- a/arch/powerpc/sysdev/mpc8xxx_gpio.c +++ b/arch/powerpc/sysdev/mpc8xxx_gpio.c @@ -163,7 +163,7 @@ static void mpc8xxx_irq_unmask(struct irq_data *d)  	spin_lock_irqsave(&mpc8xxx_gc->lock, flags); -	setbits32(mm->regs + GPIO_IMR, mpc8xxx_gpio2mask(virq_to_hw(d->irq))); +	setbits32(mm->regs + GPIO_IMR, mpc8xxx_gpio2mask(irqd_to_hwirq(d)));  	spin_unlock_irqrestore(&mpc8xxx_gc->lock, flags);  } @@ -176,7 +176,7 @@ static void mpc8xxx_irq_mask(struct irq_data *d)  	spin_lock_irqsave(&mpc8xxx_gc->lock, flags); -	clrbits32(mm->regs + GPIO_IMR, mpc8xxx_gpio2mask(virq_to_hw(d->irq))); +	clrbits32(mm->regs + GPIO_IMR, mpc8xxx_gpio2mask(irqd_to_hwirq(d)));  	spin_unlock_irqrestore(&mpc8xxx_gc->lock, flags);  } @@ -186,7 +186,7 @@ static void mpc8xxx_irq_ack(struct irq_data *d)  	struct mpc8xxx_gpio_chip *mpc8xxx_gc = irq_data_get_irq_chip_data(d);  	struct of_mm_gpio_chip *mm = &mpc8xxx_gc->mm_gc; -	out_be32(mm->regs + GPIO_IER, mpc8xxx_gpio2mask(virq_to_hw(d->irq))); +	out_be32(mm->regs + GPIO_IER, mpc8xxx_gpio2mask(irqd_to_hwirq(d)));  }  static int mpc8xxx_irq_set_type(struct irq_data *d, unsigned int flow_type) @@ -199,14 +199,14 @@ static int mpc8xxx_irq_set_type(struct irq_data *d, unsigned int flow_type)  	case IRQ_TYPE_EDGE_FALLING:  		spin_lock_irqsave(&mpc8xxx_gc->lock, flags);  		setbits32(mm->regs + GPIO_ICR, -			  mpc8xxx_gpio2mask(virq_to_hw(d->irq))); +			  mpc8xxx_gpio2mask(irqd_to_hwirq(d)));  		spin_unlock_irqrestore(&mpc8xxx_gc->lock, flags);  		break;  	case IRQ_TYPE_EDGE_BOTH:  		spin_lock_irqsave(&mpc8xxx_gc->lock, flags);  		clrbits32(mm->regs + GPIO_ICR, -			  mpc8xxx_gpio2mask(virq_to_hw(d->irq))); +			  mpc8xxx_gpio2mask(irqd_to_hwirq(d)));  		spin_unlock_irqrestore(&mpc8xxx_gc->lock, flags);  		break; @@ -221,7 +221,7 @@ static int mpc512x_irq_set_type(struct irq_data *d, unsigned int flow_type)  {  	struct mpc8xxx_gpio_chip *mpc8xxx_gc = irq_data_get_irq_chip_data(d);  	struct of_mm_gpio_chip *mm = &mpc8xxx_gc->mm_gc; -	unsigned long gpio = virq_to_hw(d->irq); +	unsigned long gpio = irqd_to_hwirq(d);  	void __iomem *reg;  	unsigned int shift;  	unsigned long flags; diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index f91c065bed5..824a94fc413 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c @@ -607,8 +607,6 @@ static int irq_choose_cpu(const struct cpumask *mask)  }  #endif -#define mpic_irq_to_hw(virq)	((unsigned int)irq_map[virq].hwirq) -  /* Find an mpic associated with a given linux interrupt */  static struct mpic *mpic_find(unsigned int irq)  { @@ -621,7 +619,7 @@ static struct mpic *mpic_find(unsigned int irq)  /* Determine if the linux irq is an IPI */  static unsigned int mpic_is_ipi(struct mpic *mpic, unsigned int irq)  { -	unsigned int src = mpic_irq_to_hw(irq); +	unsigned int src = virq_to_hw(irq);  	return (src >= mpic->ipi_vecs[0] && src <= mpic->ipi_vecs[3]);  } @@ -674,7 +672,7 @@ void mpic_unmask_irq(struct irq_data *d)  {  	unsigned int loops = 100000;  	struct mpic *mpic = mpic_from_irq_data(d); -	unsigned int src = mpic_irq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	DBG("%p: %s: enable_irq: %d (src %d)\n", mpic, mpic->name, d->irq, src); @@ -695,7 +693,7 @@ void mpic_mask_irq(struct irq_data *d)  {  	unsigned int loops = 100000;  	struct mpic *mpic = mpic_from_irq_data(d); -	unsigned int src = mpic_irq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	DBG("%s: disable_irq: %d (src %d)\n", mpic->name, d->irq, src); @@ -733,7 +731,7 @@ void mpic_end_irq(struct irq_data *d)  static void mpic_unmask_ht_irq(struct irq_data *d)  {  	struct mpic *mpic = mpic_from_irq_data(d); -	unsigned int src = mpic_irq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	mpic_unmask_irq(d); @@ -744,7 +742,7 @@ static void mpic_unmask_ht_irq(struct irq_data *d)  static unsigned int mpic_startup_ht_irq(struct irq_data *d)  {  	struct mpic *mpic = mpic_from_irq_data(d); -	unsigned int src = mpic_irq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	mpic_unmask_irq(d);  	mpic_startup_ht_interrupt(mpic, src, irqd_is_level_type(d)); @@ -755,7 +753,7 @@ static unsigned int mpic_startup_ht_irq(struct irq_data *d)  static void mpic_shutdown_ht_irq(struct irq_data *d)  {  	struct mpic *mpic = mpic_from_irq_data(d); -	unsigned int src = mpic_irq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	mpic_shutdown_ht_interrupt(mpic, src);  	mpic_mask_irq(d); @@ -764,7 +762,7 @@ static void mpic_shutdown_ht_irq(struct irq_data *d)  static void mpic_end_ht_irq(struct irq_data *d)  {  	struct mpic *mpic = mpic_from_irq_data(d); -	unsigned int src = mpic_irq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  #ifdef DEBUG_IRQ  	DBG("%s: end_irq: %d\n", mpic->name, d->irq); @@ -785,7 +783,7 @@ static void mpic_end_ht_irq(struct irq_data *d)  static void mpic_unmask_ipi(struct irq_data *d)  {  	struct mpic *mpic = mpic_from_ipi(d); -	unsigned int src = mpic_irq_to_hw(d->irq) - mpic->ipi_vecs[0]; +	unsigned int src = virq_to_hw(d->irq) - mpic->ipi_vecs[0];  	DBG("%s: enable_ipi: %d (ipi %d)\n", mpic->name, d->irq, src);  	mpic_ipi_write(src, mpic_ipi_read(src) & ~MPIC_VECPRI_MASK); @@ -816,7 +814,7 @@ int mpic_set_affinity(struct irq_data *d, const struct cpumask *cpumask,  		      bool force)  {  	struct mpic *mpic = mpic_from_irq_data(d); -	unsigned int src = mpic_irq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	if (mpic->flags & MPIC_SINGLE_DEST_CPU) {  		int cpuid = irq_choose_cpu(cpumask); @@ -862,7 +860,7 @@ static unsigned int mpic_type_to_vecpri(struct mpic *mpic, unsigned int type)  int mpic_set_irq_type(struct irq_data *d, unsigned int flow_type)  {  	struct mpic *mpic = mpic_from_irq_data(d); -	unsigned int src = mpic_irq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	unsigned int vecpri, vold, vnew;  	DBG("mpic: set_irq_type(mpic:@%p,virq:%d,src:0x%x,type:0x%x)\n", @@ -898,7 +896,7 @@ int mpic_set_irq_type(struct irq_data *d, unsigned int flow_type)  void mpic_set_vector(unsigned int virq, unsigned int vector)  {  	struct mpic *mpic = mpic_from_irq(virq); -	unsigned int src = mpic_irq_to_hw(virq); +	unsigned int src = virq_to_hw(virq);  	unsigned int vecpri;  	DBG("mpic: set_vector(mpic:@%p,virq:%d,src:%d,vector:0x%x)\n", @@ -916,7 +914,7 @@ void mpic_set_vector(unsigned int virq, unsigned int vector)  void mpic_set_destination(unsigned int virq, unsigned int cpuid)  {  	struct mpic *mpic = mpic_from_irq(virq); -	unsigned int src = mpic_irq_to_hw(virq); +	unsigned int src = virq_to_hw(virq);  	DBG("mpic: set_destination(mpic:@%p,virq:%d,src:%d,cpuid:0x%x)\n",  	    mpic, virq, src, cpuid); @@ -1427,7 +1425,7 @@ void __init mpic_set_serial_int(struct mpic *mpic, int enable)  void mpic_irq_set_priority(unsigned int irq, unsigned int pri)  {  	struct mpic *mpic = mpic_find(irq); -	unsigned int src = mpic_irq_to_hw(irq); +	unsigned int src = virq_to_hw(irq);  	unsigned long flags;  	u32 reg; diff --git a/arch/powerpc/sysdev/mv64x60_pic.c b/arch/powerpc/sysdev/mv64x60_pic.c index e9c633c7c08..14d130268e7 100644 --- a/arch/powerpc/sysdev/mv64x60_pic.c +++ b/arch/powerpc/sysdev/mv64x60_pic.c @@ -78,7 +78,7 @@ static struct irq_host *mv64x60_irq_host;  static void mv64x60_mask_low(struct irq_data *d)  { -	int level2 = irq_map[d->irq].hwirq & MV64x60_LEVEL2_MASK; +	int level2 = irqd_to_hwirq(d) & MV64x60_LEVEL2_MASK;  	unsigned long flags;  	spin_lock_irqsave(&mv64x60_lock, flags); @@ -91,7 +91,7 @@ static void mv64x60_mask_low(struct irq_data *d)  static void mv64x60_unmask_low(struct irq_data *d)  { -	int level2 = irq_map[d->irq].hwirq & MV64x60_LEVEL2_MASK; +	int level2 = irqd_to_hwirq(d) & MV64x60_LEVEL2_MASK;  	unsigned long flags;  	spin_lock_irqsave(&mv64x60_lock, flags); @@ -115,7 +115,7 @@ static struct irq_chip mv64x60_chip_low = {  static void mv64x60_mask_high(struct irq_data *d)  { -	int level2 = irq_map[d->irq].hwirq & MV64x60_LEVEL2_MASK; +	int level2 = irqd_to_hwirq(d) & MV64x60_LEVEL2_MASK;  	unsigned long flags;  	spin_lock_irqsave(&mv64x60_lock, flags); @@ -128,7 +128,7 @@ static void mv64x60_mask_high(struct irq_data *d)  static void mv64x60_unmask_high(struct irq_data *d)  { -	int level2 = irq_map[d->irq].hwirq & MV64x60_LEVEL2_MASK; +	int level2 = irqd_to_hwirq(d) & MV64x60_LEVEL2_MASK;  	unsigned long flags;  	spin_lock_irqsave(&mv64x60_lock, flags); @@ -152,7 +152,7 @@ static struct irq_chip mv64x60_chip_high = {  static void mv64x60_mask_gpp(struct irq_data *d)  { -	int level2 = irq_map[d->irq].hwirq & MV64x60_LEVEL2_MASK; +	int level2 = irqd_to_hwirq(d) & MV64x60_LEVEL2_MASK;  	unsigned long flags;  	spin_lock_irqsave(&mv64x60_lock, flags); @@ -165,7 +165,7 @@ static void mv64x60_mask_gpp(struct irq_data *d)  static void mv64x60_mask_ack_gpp(struct irq_data *d)  { -	int level2 = irq_map[d->irq].hwirq & MV64x60_LEVEL2_MASK; +	int level2 = irqd_to_hwirq(d) & MV64x60_LEVEL2_MASK;  	unsigned long flags;  	spin_lock_irqsave(&mv64x60_lock, flags); @@ -180,7 +180,7 @@ static void mv64x60_mask_ack_gpp(struct irq_data *d)  static void mv64x60_unmask_gpp(struct irq_data *d)  { -	int level2 = irq_map[d->irq].hwirq & MV64x60_LEVEL2_MASK; +	int level2 = irqd_to_hwirq(d) & MV64x60_LEVEL2_MASK;  	unsigned long flags;  	spin_lock_irqsave(&mv64x60_lock, flags); diff --git a/arch/powerpc/sysdev/qe_lib/qe_ic.c b/arch/powerpc/sysdev/qe_lib/qe_ic.c index 832d6924ad1..b2acda07220 100644 --- a/arch/powerpc/sysdev/qe_lib/qe_ic.c +++ b/arch/powerpc/sysdev/qe_lib/qe_ic.c @@ -197,12 +197,10 @@ static inline struct qe_ic *qe_ic_from_irq_data(struct irq_data *d)  	return irq_data_get_irq_chip_data(d);  } -#define virq_to_hw(virq)	((unsigned int)irq_map[virq].hwirq) -  static void qe_ic_unmask_irq(struct irq_data *d)  {  	struct qe_ic *qe_ic = qe_ic_from_irq_data(d); -	unsigned int src = virq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	unsigned long flags;  	u32 temp; @@ -218,7 +216,7 @@ static void qe_ic_unmask_irq(struct irq_data *d)  static void qe_ic_mask_irq(struct irq_data *d)  {  	struct qe_ic *qe_ic = qe_ic_from_irq_data(d); -	unsigned int src = virq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	unsigned long flags;  	u32 temp; diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c index 5d913851662..984cd202915 100644 --- a/arch/powerpc/sysdev/uic.c +++ b/arch/powerpc/sysdev/uic.c @@ -41,8 +41,6 @@  #define UIC_VR		0x7  #define UIC_VCR		0x8 -#define uic_irq_to_hw(virq)	(irq_map[virq].hwirq) -  struct uic *primary_uic;  struct uic { @@ -58,7 +56,7 @@ struct uic {  static void uic_unmask_irq(struct irq_data *d)  {  	struct uic *uic = irq_data_get_irq_chip_data(d); -	unsigned int src = uic_irq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	unsigned long flags;  	u32 er, sr; @@ -76,7 +74,7 @@ static void uic_unmask_irq(struct irq_data *d)  static void uic_mask_irq(struct irq_data *d)  {  	struct uic *uic = irq_data_get_irq_chip_data(d); -	unsigned int src = uic_irq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	unsigned long flags;  	u32 er; @@ -90,7 +88,7 @@ static void uic_mask_irq(struct irq_data *d)  static void uic_ack_irq(struct irq_data *d)  {  	struct uic *uic = irq_data_get_irq_chip_data(d); -	unsigned int src = uic_irq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	unsigned long flags;  	spin_lock_irqsave(&uic->lock, flags); @@ -101,7 +99,7 @@ static void uic_ack_irq(struct irq_data *d)  static void uic_mask_ack_irq(struct irq_data *d)  {  	struct uic *uic = irq_data_get_irq_chip_data(d); -	unsigned int src = uic_irq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	unsigned long flags;  	u32 er, sr; @@ -126,7 +124,7 @@ static void uic_mask_ack_irq(struct irq_data *d)  static int uic_set_irq_type(struct irq_data *d, unsigned int flow_type)  {  	struct uic *uic = irq_data_get_irq_chip_data(d); -	unsigned int src = uic_irq_to_hw(d->irq); +	unsigned int src = irqd_to_hwirq(d);  	unsigned long flags;  	int trigger, polarity;  	u32 tr, pr, mask; diff --git a/arch/powerpc/sysdev/xics/icp-hv.c b/arch/powerpc/sysdev/xics/icp-hv.c index b03d348b19a..76e87245bbf 100644 --- a/arch/powerpc/sysdev/xics/icp-hv.c +++ b/arch/powerpc/sysdev/xics/icp-hv.c @@ -58,7 +58,7 @@ static inline void icp_hv_set_qirr(int n_cpu , u8 value)  static void icp_hv_eoi(struct irq_data *d)  { -	unsigned int hw_irq = (unsigned int)irq_data_to_hw(d); +	unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d);  	iosync();  	icp_hv_set_xirr((xics_pop_cppr() << 24) | hw_irq); diff --git a/arch/powerpc/sysdev/xics/icp-native.c b/arch/powerpc/sysdev/xics/icp-native.c index be5e3d748ed..d9e0515592c 100644 --- a/arch/powerpc/sysdev/xics/icp-native.c +++ b/arch/powerpc/sysdev/xics/icp-native.c @@ -80,7 +80,7 @@ static void icp_native_set_cpu_priority(unsigned char cppr)  static void icp_native_eoi(struct irq_data *d)  { -	unsigned int hw_irq = (unsigned int)irq_data_to_hw(d); +	unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d);  	iosync();  	icp_native_set_xirr((xics_pop_cppr() << 24) | hw_irq); diff --git a/arch/powerpc/sysdev/xics/ics-rtas.c b/arch/powerpc/sysdev/xics/ics-rtas.c index 610c148fedc..c782f85cf7e 100644 --- a/arch/powerpc/sysdev/xics/ics-rtas.c +++ b/arch/powerpc/sysdev/xics/ics-rtas.c @@ -38,7 +38,7 @@ static struct ics ics_rtas = {  static void ics_rtas_unmask_irq(struct irq_data *d)  { -	unsigned int hw_irq = (unsigned int)irq_data_to_hw(d); +	unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d);  	int call_status;  	int server; @@ -109,7 +109,7 @@ static void ics_rtas_mask_real_irq(unsigned int hw_irq)  static void ics_rtas_mask_irq(struct irq_data *d)  { -	unsigned int hw_irq = (unsigned int)irq_data_to_hw(d); +	unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d);  	pr_devel("xics: mask virq %d [hw 0x%x]\n", d->irq, hw_irq); @@ -122,7 +122,7 @@ static int ics_rtas_set_affinity(struct irq_data *d,  				 const struct cpumask *cpumask,  				 bool force)  { -	unsigned int hw_irq = (unsigned int)irq_data_to_hw(d); +	unsigned int hw_irq = (unsigned int)irqd_to_hwirq(d);  	int status;  	int xics_status[2];  	int irq_server; @@ -171,7 +171,7 @@ static struct irq_chip ics_rtas_irq_chip = {  static int ics_rtas_map(struct ics *ics, unsigned int virq)  { -	unsigned int hw_irq = (unsigned int)irq_map[virq].hwirq; +	unsigned int hw_irq = (unsigned int)virq_to_hw(virq);  	int status[2];  	int rc; diff --git a/arch/powerpc/sysdev/xics/xics-common.c b/arch/powerpc/sysdev/xics/xics-common.c index c58844d7242..a0576b705dd 100644 --- a/arch/powerpc/sysdev/xics/xics-common.c +++ b/arch/powerpc/sysdev/xics/xics-common.c @@ -240,9 +240,9 @@ void xics_migrate_irqs_away(void)  		/* We can't set affinity on ISA interrupts */  		if (virq < NUM_ISA_INTERRUPTS)  			continue; -		if (irq_map[virq].host != xics_host) +		if (virq_to_host(virq) != xics_host)  			continue; -		irq = (unsigned int)irq_map[virq].hwirq; +		irq = (unsigned int)virq_to_hw(virq);  		/* We need to get IPIs still. */  		if (irq == XICS_IPI || irq == XICS_IRQ_SPURIOUS)  			continue; diff --git a/arch/powerpc/sysdev/xilinx_intc.c b/arch/powerpc/sysdev/xilinx_intc.c index 0a13fc19e28..6183799754a 100644 --- a/arch/powerpc/sysdev/xilinx_intc.c +++ b/arch/powerpc/sysdev/xilinx_intc.c @@ -71,7 +71,7 @@ static unsigned char xilinx_intc_map_senses[] = {   */  static void xilinx_intc_mask(struct irq_data *d)  { -	int irq = virq_to_hw(d->irq); +	int irq = irqd_to_hwirq(d);  	void * regs = irq_data_get_irq_chip_data(d);  	pr_debug("mask: %d\n", irq);  	out_be32(regs + XINTC_CIE, 1 << irq); @@ -87,7 +87,7 @@ static int xilinx_intc_set_type(struct irq_data *d, unsigned int flow_type)   */  static void xilinx_intc_level_unmask(struct irq_data *d)  { -	int irq = virq_to_hw(d->irq); +	int irq = irqd_to_hwirq(d);  	void * regs = irq_data_get_irq_chip_data(d);  	pr_debug("unmask: %d\n", irq);  	out_be32(regs + XINTC_SIE, 1 << irq); @@ -112,7 +112,7 @@ static struct irq_chip xilinx_intc_level_irqchip = {   */  static void xilinx_intc_edge_unmask(struct irq_data *d)  { -	int irq = virq_to_hw(d->irq); +	int irq = irqd_to_hwirq(d);  	void *regs = irq_data_get_irq_chip_data(d);  	pr_debug("unmask: %d\n", irq);  	out_be32(regs + XINTC_SIE, 1 << irq); @@ -120,7 +120,7 @@ static void xilinx_intc_edge_unmask(struct irq_data *d)  static void xilinx_intc_edge_ack(struct irq_data *d)  { -	int irq = virq_to_hw(d->irq); +	int irq = irqd_to_hwirq(d);  	void * regs = irq_data_get_irq_chip_data(d);  	pr_debug("ack: %d\n", irq);  	out_be32(regs + XINTC_IAR, 1 << irq);  |