Lines Matching refs:pchip
200 static inline int __gpio_is_occupied(struct pxa_gpio_chip *pchip, unsigned gpio)
206 base = gpio_bank_base(&pchip->chip, gpio);
231 struct pxa_gpio_chip *pchip = pxa_gpio_chip;
234 irq_gpio0 = irq_find_mapping(pchip->irqdomain, 0);
256 struct pxa_gpio_chip *pchip = chip_to_pxachip(chip);
258 return irq_find_mapping(pchip->irqdomain, offset);
347 static int pxa_init_gpio_chip(struct pxa_gpio_chip *pchip, int ngpio,
353 pchip->banks = devm_kcalloc(pchip->dev, nbanks, sizeof(*pchip->banks),
355 if (!pchip->banks)
358 pchip->chip.label = "gpio-pxa";
359 pchip->chip.direction_input = pxa_gpio_direction_input;
360 pchip->chip.direction_output = pxa_gpio_direction_output;
361 pchip->chip.get = pxa_gpio_get;
362 pchip->chip.set = pxa_gpio_set;
363 pchip->chip.to_irq = pxa_gpio_to_irq;
364 pchip->chip.ngpio = ngpio;
365 pchip->chip.request = gpiochip_generic_request;
366 pchip->chip.free = gpiochip_generic_free;
369 pchip->chip.of_node = np;
370 pchip->chip.of_xlate = pxa_gpio_of_xlate;
371 pchip->chip.of_gpio_n_cells = 2;
375 bank = pchip->banks + i;
379 return gpiochip_add_data(&pchip->chip, pchip);
399 struct pxa_gpio_chip *pchip = irq_data_get_irq_chip_data(d);
401 struct pxa_gpio_bank *c = gpio_to_pxabank(&pchip->chip, gpio);
411 if (__gpio_is_occupied(pchip, gpio))
446 struct pxa_gpio_chip *pchip = d;
451 for_each_gpio_bank(gpio, c, pchip) {
460 irq_find_mapping(pchip->irqdomain,
472 struct pxa_gpio_chip *pchip = d;
474 if (in_irq == pchip->irq0) {
475 generic_handle_irq(irq_find_mapping(pchip->irqdomain, 0));
476 } else if (in_irq == pchip->irq1) {
477 generic_handle_irq(irq_find_mapping(pchip->irqdomain, 1));
487 struct pxa_gpio_chip *pchip = irq_data_get_irq_chip_data(d);
489 void __iomem *base = gpio_bank_base(&pchip->chip, gpio);
496 struct pxa_gpio_chip *pchip = irq_data_get_irq_chip_data(d);
498 struct pxa_gpio_bank *b = gpio_to_pxabank(&pchip->chip, gpio);
499 void __iomem *base = gpio_bank_base(&pchip->chip, gpio);
512 struct pxa_gpio_chip *pchip = irq_data_get_irq_chip_data(d);
515 if (pchip->set_wake)
516 return pchip->set_wake(gpio, on);
523 struct pxa_gpio_chip *pchip = irq_data_get_irq_chip_data(d);
525 struct pxa_gpio_bank *c = gpio_to_pxabank(&pchip->chip, gpio);
594 struct pxa_gpio_chip *pchip)
613 #define pxa_gpio_probe_dt(pdev, pchip) (-1)
618 struct pxa_gpio_chip *pchip;
626 pchip = devm_kzalloc(&pdev->dev, sizeof(*pchip), GFP_KERNEL);
627 if (!pchip)
629 pchip->dev = &pdev->dev;
637 pchip->set_wake = info->gpio_set_wake;
639 irq_base = pxa_gpio_probe_dt(pdev, pchip);
647 pchip->irqdomain = irq_domain_add_legacy(pdev->dev.of_node,
649 0, &pxa_irq_domain_ops, pchip);
650 if (!pchip->irqdomain)
660 pchip->irq0 = irq0;
661 pchip->irq1 = irq1;
680 ret = pxa_init_gpio_chip(pchip, pxa_last_gpio + 1, pdev->dev.of_node,
688 for_each_gpio_bank(gpio, c, pchip) {
700 "gpio-0", pchip);
708 "gpio-1", pchip);
715 "gpio-mux", pchip);
720 pxa_gpio_chip = pchip;
767 struct pxa_gpio_chip *pchip = pxa_gpio_chip;
771 if (!pchip)
774 for_each_gpio_bank(gpio, c, pchip) {
788 struct pxa_gpio_chip *pchip = pxa_gpio_chip;
792 if (!pchip)
795 for_each_gpio_bank(gpio, c, pchip) {