Lines Matching full:mt6397

18 #include <linux/mfd/mt6397/core.h>
19 #include <linux/mfd/mt6397/registers.h>
23 struct mt6397_chip *mt6397 = irq_data_get_irq_chip_data(data); in mt6397_irq_lock() local
25 mutex_lock(&mt6397->irqlock); in mt6397_irq_lock()
30 struct mt6397_chip *mt6397 = irq_data_get_irq_chip_data(data); in mt6397_irq_sync_unlock() local
32 regmap_write(mt6397->regmap, mt6397->int_con[0], in mt6397_irq_sync_unlock()
33 mt6397->irq_masks_cur[0]); in mt6397_irq_sync_unlock()
34 regmap_write(mt6397->regmap, mt6397->int_con[1], in mt6397_irq_sync_unlock()
35 mt6397->irq_masks_cur[1]); in mt6397_irq_sync_unlock()
36 if (mt6397->int_con[2]) in mt6397_irq_sync_unlock()
37 regmap_write(mt6397->regmap, mt6397->int_con[2], in mt6397_irq_sync_unlock()
38 mt6397->irq_masks_cur[2]); in mt6397_irq_sync_unlock()
40 mutex_unlock(&mt6397->irqlock); in mt6397_irq_sync_unlock()
45 struct mt6397_chip *mt6397 = irq_data_get_irq_chip_data(data); in mt6397_irq_disable() local
49 mt6397->irq_masks_cur[reg] &= ~BIT(shift); in mt6397_irq_disable()
54 struct mt6397_chip *mt6397 = irq_data_get_irq_chip_data(data); in mt6397_irq_enable() local
58 mt6397->irq_masks_cur[reg] |= BIT(shift); in mt6397_irq_enable()
63 struct mt6397_chip *mt6397 = irq_data_get_irq_chip_data(irq_data); in mt6397_irq_set_wake() local
68 mt6397->wake_mask[reg] |= BIT(shift); in mt6397_irq_set_wake()
70 mt6397->wake_mask[reg] &= ~BIT(shift); in mt6397_irq_set_wake()
76 .name = "mt6397-irq",
84 static void mt6397_irq_handle_reg(struct mt6397_chip *mt6397, int reg, in mt6397_irq_handle_reg() argument
90 ret = regmap_read(mt6397->regmap, reg, &status); in mt6397_irq_handle_reg()
92 dev_err(mt6397->dev, "Failed to read irq status: %d\n", ret); in mt6397_irq_handle_reg()
98 irq = irq_find_mapping(mt6397->irq_domain, irqbase + i); in mt6397_irq_handle_reg()
104 regmap_write(mt6397->regmap, reg, status); in mt6397_irq_handle_reg()
109 struct mt6397_chip *mt6397 = data; in mt6397_irq_thread() local
111 mt6397_irq_handle_reg(mt6397, mt6397->int_status[0], 0); in mt6397_irq_thread()
112 mt6397_irq_handle_reg(mt6397, mt6397->int_status[1], 16); in mt6397_irq_thread()
113 if (mt6397->int_status[2]) in mt6397_irq_thread()
114 mt6397_irq_handle_reg(mt6397, mt6397->int_status[2], 32); in mt6397_irq_thread()
122 struct mt6397_chip *mt6397 = d->host_data; in mt6397_irq_domain_map() local
124 irq_set_chip_data(irq, mt6397); in mt6397_irq_domain_map()
230 "mt6397-pmic", chip); in mt6397_irq_init()