Lines Matching refs:lp
40 struct lp8788 *lp; member
97 lp8788_update_bits(irqd->lp, addr, mask, val); in lp8788_irq_bus_sync_unlock()
113 struct lp8788 *lp = irqd->lp; in lp8788_irq_handler() local
118 if (lp8788_read_multi_bytes(lp, LP8788_INT_1, status, NUM_REGS)) in lp8788_irq_handler()
153 int lp8788_irq_init(struct lp8788 *lp, int irq) in lp8788_irq_init() argument
159 dev_warn(lp->dev, "invalid irq number: %d\n", irq); in lp8788_irq_init()
163 irqd = devm_kzalloc(lp->dev, sizeof(*irqd), GFP_KERNEL); in lp8788_irq_init()
167 irqd->lp = lp; in lp8788_irq_init()
168 irqd->domain = irq_domain_add_linear(lp->dev->of_node, LP8788_INT_MAX, in lp8788_irq_init()
171 dev_err(lp->dev, "failed to add irq domain err\n"); in lp8788_irq_init()
175 lp->irqdm = irqd->domain; in lp8788_irq_init()
182 dev_err(lp->dev, "failed to create a thread for IRQ_N\n"); in lp8788_irq_init()
186 lp->irq = irq; in lp8788_irq_init()
191 void lp8788_irq_exit(struct lp8788 *lp) in lp8788_irq_exit() argument
193 if (lp->irq) in lp8788_irq_exit()
194 free_irq(lp->irq, lp->irqdm); in lp8788_irq_exit()