• Home
  • Raw
  • Download

Lines Matching refs:max77693

43 static struct regmap *max77693_get_regmap(struct max77693_dev *max77693,  in max77693_get_regmap()  argument
48 return max77693->regmap; in max77693_get_regmap()
50 return max77693->regmap_muic; in max77693_get_regmap()
102 struct max77693_dev *max77693 = irq_get_chip_data(data->irq); in max77693_irq_lock() local
104 mutex_lock(&max77693->irqlock); in max77693_irq_lock()
109 struct max77693_dev *max77693 = irq_get_chip_data(data->irq); in max77693_irq_sync_unlock() local
114 struct regmap *map = max77693_get_regmap(max77693, i); in max77693_irq_sync_unlock()
119 max77693->irq_masks_cache[i] = max77693->irq_masks_cur[i]; in max77693_irq_sync_unlock()
122 max77693->irq_masks_cur[i]); in max77693_irq_sync_unlock()
125 mutex_unlock(&max77693->irqlock); in max77693_irq_sync_unlock()
129 irq_to_max77693_irq(struct max77693_dev *max77693, int irq) in irq_to_max77693_irq() argument
136 struct max77693_dev *max77693 = irq_get_chip_data(data->irq); in max77693_irq_mask() local
138 irq_to_max77693_irq(max77693, data->irq); in max77693_irq_mask()
144 max77693->irq_masks_cur[irq_data->group] &= ~irq_data->mask; in max77693_irq_mask()
146 max77693->irq_masks_cur[irq_data->group] |= irq_data->mask; in max77693_irq_mask()
151 struct max77693_dev *max77693 = irq_get_chip_data(data->irq); in max77693_irq_unmask() local
153 irq_to_max77693_irq(max77693, data->irq); in max77693_irq_unmask()
159 max77693->irq_masks_cur[irq_data->group] |= irq_data->mask; in max77693_irq_unmask()
161 max77693->irq_masks_cur[irq_data->group] &= ~irq_data->mask; in max77693_irq_unmask()
178 struct max77693_dev *max77693 = data; in max77693_irq_thread() local
184 ret = max77693_read_reg(max77693->regmap, MAX77693_PMIC_REG_INTSRC, in max77693_irq_thread()
187 dev_err(max77693->dev, "Failed to read interrupt source: %d\n", in max77693_irq_thread()
194 ret = max77693_read_reg(max77693->regmap, MAX77693_CHG_REG_CHG_INT, in max77693_irq_thread()
199 ret = max77693_read_reg(max77693->regmap, in max77693_irq_thread()
204 ret = max77693_read_reg(max77693->regmap, in max77693_irq_thread()
209 max77693_bulk_read(max77693->regmap_muic, MAX77693_MUIC_REG_INT1, in max77693_irq_thread()
215 irq_reg[i] &= max77693->irq_masks_cur[i]; in max77693_irq_thread()
217 irq_reg[i] &= ~max77693->irq_masks_cur[i]; in max77693_irq_thread()
223 cur_irq = irq_find_mapping(max77693->irq_domain, i); in max77693_irq_thread()
232 int max77693_irq_resume(struct max77693_dev *max77693) in max77693_irq_resume() argument
234 if (max77693->irq) in max77693_irq_resume()
235 max77693_irq_thread(0, max77693); in max77693_irq_resume()
243 struct max77693_dev *max77693 = d->host_data; in max77693_irq_domain_map() local
245 irq_set_chip_data(irq, max77693); in max77693_irq_domain_map()
260 int max77693_irq_init(struct max77693_dev *max77693) in max77693_irq_init() argument
267 mutex_init(&max77693->irqlock); in max77693_irq_init()
275 max77693->irq_masks_cur[i] = 0x00; in max77693_irq_init()
276 max77693->irq_masks_cache[i] = 0x00; in max77693_irq_init()
278 max77693->irq_masks_cur[i] = 0xff; in max77693_irq_init()
279 max77693->irq_masks_cache[i] = 0xff; in max77693_irq_init()
281 map = max77693_get_regmap(max77693, i); in max77693_irq_init()
294 &max77693_irq_domain_ops, max77693); in max77693_irq_init()
296 dev_err(max77693->dev, "could not create irq domain\n"); in max77693_irq_init()
300 max77693->irq_domain = domain; in max77693_irq_init()
303 ret = max77693_read_reg(max77693->regmap, in max77693_irq_init()
306 dev_err(max77693->dev, "fail to read PMIC register\n"); in max77693_irq_init()
313 ret = max77693_write_reg(max77693->regmap, in max77693_irq_init()
316 dev_err(max77693->dev, "fail to write PMIC register\n"); in max77693_irq_init()
320 ret = request_threaded_irq(max77693->irq, NULL, max77693_irq_thread, in max77693_irq_init()
322 "max77693-irq", max77693); in max77693_irq_init()
324 dev_err(max77693->dev, "Failed to request IRQ %d: %d\n", in max77693_irq_init()
325 max77693->irq, ret); in max77693_irq_init()
331 void max77693_irq_exit(struct max77693_dev *max77693) in max77693_irq_exit() argument
333 if (max77693->irq) in max77693_irq_exit()
334 free_irq(max77693->irq, max77693); in max77693_irq_exit()