Lines Matching refs:pint

134 	int (*pint_map_port)(struct gpio_pint *pint, bool assign,
182 struct gpio_pint *pint; member
203 struct gpio_pint *pint; in find_gpio_pint() local
206 list_for_each_entry(pint, &adi_pint_list, node) { in find_gpio_pint()
208 return pint; in find_gpio_pint()
259 struct gpio_pint_regs *regs = port->pint->regs; in adi_gpio_ack_irq()
263 spin_lock(&port->pint->lock); in adi_gpio_ack_irq()
274 spin_unlock(&port->pint->lock); in adi_gpio_ack_irq()
282 struct gpio_pint_regs *regs = port->pint->regs; in adi_gpio_mask_ack_irq()
286 spin_lock(&port->pint->lock); in adi_gpio_mask_ack_irq()
298 spin_unlock(&port->pint->lock); in adi_gpio_mask_ack_irq()
306 struct gpio_pint_regs *regs = port->pint->regs; in adi_gpio_mask_irq()
309 spin_lock(&port->pint->lock); in adi_gpio_mask_irq()
313 spin_unlock(&port->pint->lock); in adi_gpio_mask_irq()
321 struct gpio_pint_regs *regs = port->pint->regs; in adi_gpio_unmask_irq()
324 spin_lock(&port->pint->lock); in adi_gpio_unmask_irq()
328 spin_unlock(&port->pint->lock); in adi_gpio_unmask_irq()
344 regs = port->pint->regs; in adi_gpio_irq_startup()
347 spin_lock(&port->pint->lock); in adi_gpio_irq_startup()
355 spin_unlock(&port->pint->lock); in adi_gpio_irq_startup()
365 struct gpio_pint_regs *regs = port->pint->regs; in adi_gpio_irq_shutdown()
368 spin_lock(&port->pint->lock); in adi_gpio_irq_shutdown()
372 spin_unlock(&port->pint->lock); in adi_gpio_irq_shutdown()
391 pint_regs = port->pint->regs; in adi_gpio_irq_type()
396 spin_lock(&port->pint->lock); in adi_gpio_irq_type()
437 spin_unlock(&port->pint->lock); in adi_gpio_irq_type()
448 if (!port || !port->pint || port->pint->irq != d->irq) in adi_gpio_set_wake()
452 adi_internal_set_wake(port->pint->irq, state); in adi_gpio_set_wake()
460 struct gpio_pint *pint; in adi_pint_suspend() local
462 list_for_each_entry(pint, &adi_pint_list, node) { in adi_pint_suspend()
463 writel(0xffffffff, &pint->regs->mask_clear); in adi_pint_suspend()
464 pint->saved_data.assign = readl(&pint->regs->assign); in adi_pint_suspend()
465 pint->saved_data.edge_set = readl(&pint->regs->edge_set); in adi_pint_suspend()
466 pint->saved_data.invert_set = readl(&pint->regs->invert_set); in adi_pint_suspend()
474 struct gpio_pint *pint; in adi_pint_resume() local
476 list_for_each_entry(pint, &adi_pint_list, node) { in adi_pint_resume()
477 writel(pint->saved_data.assign, &pint->regs->assign); in adi_pint_resume()
478 writel(pint->saved_data.edge_set, &pint->regs->edge_set); in adi_pint_resume()
479 writel(pint->saved_data.invert_set, &pint->regs->invert_set); in adi_pint_resume()
539 struct gpio_pint *pint = irq_desc_get_handler_data(desc); in adi_gpio_handle_pint_irq() local
541 struct gpio_pint_regs *regs = pint->regs; in adi_gpio_handle_pint_irq()
551 domain = pint->domain[0]; in adi_gpio_handle_pint_irq()
557 domain = pint->domain[1]; in adi_gpio_handle_pint_irq()
807 static int adi_pint_map_port(struct gpio_pint *pint, bool assign, u8 map, in adi_pint_map_port() argument
810 struct gpio_pint_regs *regs = pint->regs; in adi_pint_map_port()
813 if (pint->map_count > 1) in adi_pint_map_port()
816 pint->map_count++; in adi_pint_map_port()
831 pint->domain[assign] = domain; in adi_pint_map_port()
840 struct gpio_pint *pint; in adi_gpio_pint_probe() local
842 pint = devm_kzalloc(dev, sizeof(struct gpio_pint), GFP_KERNEL); in adi_gpio_pint_probe()
843 if (!pint) { in adi_gpio_pint_probe()
849 pint->base = devm_ioremap_resource(dev, res); in adi_gpio_pint_probe()
850 if (IS_ERR(pint->base)) in adi_gpio_pint_probe()
851 return PTR_ERR(pint->base); in adi_gpio_pint_probe()
853 pint->regs = (struct gpio_pint_regs *)pint->base; in adi_gpio_pint_probe()
861 spin_lock_init(&pint->lock); in adi_gpio_pint_probe()
863 pint->irq = res->start; in adi_gpio_pint_probe()
864 pint->pint_map_port = adi_pint_map_port; in adi_gpio_pint_probe()
865 platform_set_drvdata(pdev, pint); in adi_gpio_pint_probe()
867 irq_set_chained_handler(pint->irq, adi_gpio_handle_pint_irq); in adi_gpio_pint_probe()
868 irq_set_handler_data(pint->irq, pint); in adi_gpio_pint_probe()
870 list_add_tail(&pint->node, &adi_pint_list); in adi_gpio_pint_probe()
877 struct gpio_pint *pint = platform_get_drvdata(pdev); in adi_gpio_pint_remove() local
879 list_del(&pint->node); in adi_gpio_pint_remove()
880 irq_set_handler(pint->irq, handle_simple_irq); in adi_gpio_pint_remove()
908 struct gpio_pint *pint = port->pint; in adi_gpio_init_int() local
925 ret = pint->pint_map_port(port->pint, port->pint_assign, in adi_gpio_init_int()
981 port->pint = find_gpio_pint(pdata->pint_id); in adi_gpio_probe()
982 if (port->pint) { in adi_gpio_probe()
1032 if (port->pint) in adi_gpio_probe()
1045 if (port->pint) { in adi_gpio_remove()