Lines Matching refs:irq_data
86 static void s3c_irq_mask(struct irq_data *data) in s3c_irq_mask()
88 struct s3c_irq_data *irq_data = irq_data_get_irq_chip_data(data); in s3c_irq_mask() local
89 struct s3c_irq_intc *intc = irq_data->intc; in s3c_irq_mask()
96 mask |= (1UL << irq_data->offset); in s3c_irq_mask()
100 parent_data = &parent_intc->irqs[irq_data->parent_irq]; in s3c_irq_mask()
108 irq_data->parent_irq); in s3c_irq_mask()
114 static void s3c_irq_unmask(struct irq_data *data) in s3c_irq_unmask()
116 struct s3c_irq_data *irq_data = irq_data_get_irq_chip_data(data); in s3c_irq_unmask() local
117 struct s3c_irq_intc *intc = irq_data->intc; in s3c_irq_unmask()
123 mask &= ~(1UL << irq_data->offset); in s3c_irq_unmask()
128 irq_data->parent_irq); in s3c_irq_unmask()
133 static inline void s3c_irq_ack(struct irq_data *data) in s3c_irq_ack()
135 struct s3c_irq_data *irq_data = irq_data_get_irq_chip_data(data); in s3c_irq_ack() local
136 struct s3c_irq_intc *intc = irq_data->intc; in s3c_irq_ack()
137 unsigned long bitval = 1UL << irq_data->offset; in s3c_irq_ack()
144 static int s3c_irq_type(struct irq_data *data, unsigned int type) in s3c_irq_type()
218 static int s3c_irqext_type(struct irq_data *data, unsigned int type) in s3c_irqext_type()
247 static int s3c_irqext0_type(struct irq_data *data, unsigned int type) in s3c_irqext0_type()
304 struct s3c_irq_data *irq_data = irq_desc_get_chip_data(desc); in s3c_irq_demux() local
305 struct s3c_irq_intc *intc = irq_data->intc; in s3c_irq_demux()
306 struct s3c_irq_intc *sub_intc = irq_data->sub_intc; in s3c_irq_demux()
322 src &= irq_data->sub_bits; in s3c_irq_demux()
420 struct s3c_irq_data *irq_data = &intc->irqs[hw]; in s3c24xx_irq_map() local
426 irq_data->intc = intc; in s3c24xx_irq_map()
427 irq_data->offset = hw; in s3c24xx_irq_map()
432 switch (irq_data->type) { in s3c24xx_irq_map()
463 pr_err("irq-s3c24xx: unsupported irqtype %d\n", irq_data->type); in s3c24xx_irq_map()
467 irq_set_chip_data(virq, irq_data); in s3c24xx_irq_map()
469 if (parent_intc && irq_data->type != S3C_IRQTYPE_NONE) { in s3c24xx_irq_map()
470 if (irq_data->parent_irq > 31) { in s3c24xx_irq_map()
472 irq_data->parent_irq); in s3c24xx_irq_map()
476 parent_irq_data = &parent_intc->irqs[irq_data->parent_irq]; in s3c24xx_irq_map()
482 irq_data->parent_irq); in s3c24xx_irq_map()
485 irq_data->parent_irq); in s3c24xx_irq_map()
526 struct s3c_irq_data *irq_data, in s3c24xx_init_intc() argument
540 intc->irqs = irq_data; in s3c24xx_init_intc()
1155 struct s3c_irq_data *irq_data = &intc->irqs[intc_hw]; in s3c24xx_irq_map_of() local
1158 irq_data->intc = intc; in s3c24xx_irq_map_of()
1159 irq_data->offset = intc_hw; in s3c24xx_irq_map_of()
1167 irq_set_chip_data(virq, irq_data); in s3c24xx_irq_map_of()
1181 struct s3c_irq_data *irq_data; in s3c24xx_irq_xlate_of() local
1199 irq_data = &intc->irqs[intspec[2]]; in s3c24xx_irq_xlate_of()
1200 irq_data->parent_irq = intspec[1]; in s3c24xx_irq_xlate_of()
1201 parent_irq_data = &parent_intc->irqs[irq_data->parent_irq]; in s3c24xx_irq_xlate_of()