Lines Matching refs:irq_data
77 static void s3c_irq_mask(struct irq_data *data) in s3c_irq_mask()
79 struct s3c_irq_data *irq_data = irq_data_get_irq_chip_data(data); in s3c_irq_mask() local
80 struct s3c_irq_intc *intc = irq_data->intc; in s3c_irq_mask()
87 mask |= (1UL << irq_data->offset); in s3c_irq_mask()
91 parent_data = &parent_intc->irqs[irq_data->parent_irq]; in s3c_irq_mask()
99 irq_data->parent_irq); in s3c_irq_mask()
105 static void s3c_irq_unmask(struct irq_data *data) in s3c_irq_unmask()
107 struct s3c_irq_data *irq_data = irq_data_get_irq_chip_data(data); in s3c_irq_unmask() local
108 struct s3c_irq_intc *intc = irq_data->intc; in s3c_irq_unmask()
114 mask &= ~(1UL << irq_data->offset); in s3c_irq_unmask()
119 irq_data->parent_irq); in s3c_irq_unmask()
124 static inline void s3c_irq_ack(struct irq_data *data) in s3c_irq_ack()
126 struct s3c_irq_data *irq_data = irq_data_get_irq_chip_data(data); in s3c_irq_ack() local
127 struct s3c_irq_intc *intc = irq_data->intc; in s3c_irq_ack()
128 unsigned long bitval = 1UL << irq_data->offset; in s3c_irq_ack()
135 static int s3c_irq_type(struct irq_data *data, unsigned int type) in s3c_irq_type()
209 static int s3c_irqext_type(struct irq_data *data, unsigned int type) in s3c_irqext_type()
238 static int s3c_irqext0_type(struct irq_data *data, unsigned int type) in s3c_irqext0_type()
295 struct s3c_irq_data *irq_data = irq_desc_get_chip_data(desc); in s3c_irq_demux() local
296 struct s3c_irq_intc *intc = irq_data->intc; in s3c_irq_demux()
297 struct s3c_irq_intc *sub_intc = irq_data->sub_intc; in s3c_irq_demux()
313 src &= irq_data->sub_bits; in s3c_irq_demux()
411 struct s3c_irq_data *irq_data = &intc->irqs[hw]; in s3c24xx_irq_map() local
417 irq_data->intc = intc; in s3c24xx_irq_map()
418 irq_data->offset = hw; in s3c24xx_irq_map()
423 switch (irq_data->type) { in s3c24xx_irq_map()
454 pr_err("irq-s3c24xx: unsupported irqtype %d\n", irq_data->type); in s3c24xx_irq_map()
458 irq_set_chip_data(virq, irq_data); in s3c24xx_irq_map()
460 if (parent_intc && irq_data->type != S3C_IRQTYPE_NONE) { in s3c24xx_irq_map()
461 if (irq_data->parent_irq > 31) { in s3c24xx_irq_map()
463 irq_data->parent_irq); in s3c24xx_irq_map()
467 parent_irq_data = &parent_intc->irqs[irq_data->parent_irq]; in s3c24xx_irq_map()
473 irq_data->parent_irq); in s3c24xx_irq_map()
476 irq_data->parent_irq); in s3c24xx_irq_map()
517 struct s3c_irq_data *irq_data, in s3c24xx_init_intc() argument
531 intc->irqs = irq_data; in s3c24xx_init_intc()
1146 struct s3c_irq_data *irq_data = &intc->irqs[intc_hw]; in s3c24xx_irq_map_of() local
1149 irq_data->intc = intc; in s3c24xx_irq_map_of()
1150 irq_data->offset = intc_hw; in s3c24xx_irq_map_of()
1158 irq_set_chip_data(virq, irq_data); in s3c24xx_irq_map_of()
1172 struct s3c_irq_data *irq_data; in s3c24xx_irq_xlate_of() local
1190 irq_data = &intc->irqs[intspec[2]]; in s3c24xx_irq_xlate_of()
1191 irq_data->parent_irq = intspec[1]; in s3c24xx_irq_xlate_of()
1192 parent_irq_data = &parent_intc->irqs[irq_data->parent_irq]; in s3c24xx_irq_xlate_of()