Lines Matching refs:irq_data
78 static void s3c_irq_mask(struct irq_data *data) in s3c_irq_mask()
80 struct s3c_irq_data *irq_data = irq_data_get_irq_chip_data(data); in s3c_irq_mask() local
81 struct s3c_irq_intc *intc = irq_data->intc; in s3c_irq_mask()
88 mask |= (1UL << irq_data->offset); in s3c_irq_mask()
92 parent_data = &parent_intc->irqs[irq_data->parent_irq]; in s3c_irq_mask()
100 irq_data->parent_irq); in s3c_irq_mask()
106 static void s3c_irq_unmask(struct irq_data *data) in s3c_irq_unmask()
108 struct s3c_irq_data *irq_data = irq_data_get_irq_chip_data(data); in s3c_irq_unmask() local
109 struct s3c_irq_intc *intc = irq_data->intc; in s3c_irq_unmask()
115 mask &= ~(1UL << irq_data->offset); in s3c_irq_unmask()
120 irq_data->parent_irq); in s3c_irq_unmask()
125 static inline void s3c_irq_ack(struct irq_data *data) in s3c_irq_ack()
127 struct s3c_irq_data *irq_data = irq_data_get_irq_chip_data(data); in s3c_irq_ack() local
128 struct s3c_irq_intc *intc = irq_data->intc; in s3c_irq_ack()
129 unsigned long bitval = 1UL << irq_data->offset; in s3c_irq_ack()
136 static int s3c_irq_type(struct irq_data *data, unsigned int type) in s3c_irq_type()
210 static int s3c_irqext_type(struct irq_data *data, unsigned int type) in s3c_irqext_type()
239 static int s3c_irqext0_type(struct irq_data *data, unsigned int type) in s3c_irqext0_type()
296 struct s3c_irq_data *irq_data = irq_desc_get_chip_data(desc); in s3c_irq_demux() local
297 struct s3c_irq_intc *intc = irq_data->intc; in s3c_irq_demux()
298 struct s3c_irq_intc *sub_intc = irq_data->sub_intc; in s3c_irq_demux()
314 src &= irq_data->sub_bits; in s3c_irq_demux()
418 struct s3c_irq_data *irq_data = &intc->irqs[hw]; in s3c24xx_irq_map() local
424 irq_data->intc = intc; in s3c24xx_irq_map()
425 irq_data->offset = hw; in s3c24xx_irq_map()
430 switch (irq_data->type) { in s3c24xx_irq_map()
461 pr_err("irq-s3c24xx: unsupported irqtype %d\n", irq_data->type); in s3c24xx_irq_map()
465 irq_set_chip_data(virq, irq_data); in s3c24xx_irq_map()
467 if (parent_intc && irq_data->type != S3C_IRQTYPE_NONE) { in s3c24xx_irq_map()
468 if (irq_data->parent_irq > 31) { in s3c24xx_irq_map()
470 irq_data->parent_irq); in s3c24xx_irq_map()
474 parent_irq_data = &parent_intc->irqs[irq_data->parent_irq]; in s3c24xx_irq_map()
480 irq_data->parent_irq); in s3c24xx_irq_map()
483 irq_data->parent_irq); in s3c24xx_irq_map()
524 struct s3c_irq_data *irq_data, in s3c24xx_init_intc() argument
538 intc->irqs = irq_data; in s3c24xx_init_intc()
1153 struct s3c_irq_data *irq_data = &intc->irqs[intc_hw]; in s3c24xx_irq_map_of() local
1156 irq_data->intc = intc; in s3c24xx_irq_map_of()
1157 irq_data->offset = intc_hw; in s3c24xx_irq_map_of()
1165 irq_set_chip_data(virq, irq_data); in s3c24xx_irq_map_of()
1179 struct s3c_irq_data *irq_data; in s3c24xx_irq_xlate_of() local
1197 irq_data = &intc->irqs[intspec[2]]; in s3c24xx_irq_xlate_of()
1198 irq_data->parent_irq = intspec[1]; in s3c24xx_irq_xlate_of()
1199 parent_irq_data = &parent_intc->irqs[irq_data->parent_irq]; in s3c24xx_irq_xlate_of()