Lines Matching refs:mt6397

99 	struct mt6397_chip *mt6397 = irq_data_get_irq_chip_data(data);  in mt6397_irq_lock()  local
101 mutex_lock(&mt6397->irqlock); in mt6397_irq_lock()
106 struct mt6397_chip *mt6397 = irq_data_get_irq_chip_data(data); in mt6397_irq_sync_unlock() local
108 regmap_write(mt6397->regmap, mt6397->int_con[0], in mt6397_irq_sync_unlock()
109 mt6397->irq_masks_cur[0]); in mt6397_irq_sync_unlock()
110 regmap_write(mt6397->regmap, mt6397->int_con[1], in mt6397_irq_sync_unlock()
111 mt6397->irq_masks_cur[1]); in mt6397_irq_sync_unlock()
113 mutex_unlock(&mt6397->irqlock); in mt6397_irq_sync_unlock()
118 struct mt6397_chip *mt6397 = irq_data_get_irq_chip_data(data); in mt6397_irq_disable() local
122 mt6397->irq_masks_cur[reg] &= ~BIT(shift); in mt6397_irq_disable()
127 struct mt6397_chip *mt6397 = irq_data_get_irq_chip_data(data); in mt6397_irq_enable() local
131 mt6397->irq_masks_cur[reg] |= BIT(shift); in mt6397_irq_enable()
137 struct mt6397_chip *mt6397 = irq_data_get_irq_chip_data(irq_data); in mt6397_irq_set_wake() local
142 mt6397->wake_mask[reg] |= BIT(shift); in mt6397_irq_set_wake()
144 mt6397->wake_mask[reg] &= ~BIT(shift); in mt6397_irq_set_wake()
161 static void mt6397_irq_handle_reg(struct mt6397_chip *mt6397, int reg, in mt6397_irq_handle_reg() argument
167 ret = regmap_read(mt6397->regmap, reg, &status); in mt6397_irq_handle_reg()
169 dev_err(mt6397->dev, "Failed to read irq status: %d\n", ret); in mt6397_irq_handle_reg()
175 irq = irq_find_mapping(mt6397->irq_domain, irqbase + i); in mt6397_irq_handle_reg()
181 regmap_write(mt6397->regmap, reg, status); in mt6397_irq_handle_reg()
186 struct mt6397_chip *mt6397 = data; in mt6397_irq_thread() local
188 mt6397_irq_handle_reg(mt6397, mt6397->int_status[0], 0); in mt6397_irq_thread()
189 mt6397_irq_handle_reg(mt6397, mt6397->int_status[1], 16); in mt6397_irq_thread()
197 struct mt6397_chip *mt6397 = d->host_data; in mt6397_irq_domain_map() local
199 irq_set_chip_data(irq, mt6397); in mt6397_irq_domain_map()
211 static int mt6397_irq_init(struct mt6397_chip *mt6397) in mt6397_irq_init() argument
215 mutex_init(&mt6397->irqlock); in mt6397_irq_init()
218 regmap_write(mt6397->regmap, mt6397->int_con[0], 0x0); in mt6397_irq_init()
219 regmap_write(mt6397->regmap, mt6397->int_con[1], 0x0); in mt6397_irq_init()
221 mt6397->irq_domain = irq_domain_add_linear(mt6397->dev->of_node, in mt6397_irq_init()
222 MT6397_IRQ_NR, &mt6397_irq_domain_ops, mt6397); in mt6397_irq_init()
223 if (!mt6397->irq_domain) { in mt6397_irq_init()
224 dev_err(mt6397->dev, "could not create irq domain\n"); in mt6397_irq_init()
228 ret = devm_request_threaded_irq(mt6397->dev, mt6397->irq, NULL, in mt6397_irq_init()
229 mt6397_irq_thread, IRQF_ONESHOT, "mt6397-pmic", mt6397); in mt6397_irq_init()
231 dev_err(mt6397->dev, "failed to register irq=%d; err: %d\n", in mt6397_irq_init()
232 mt6397->irq, ret); in mt6397_irq_init()