Lines Matching refs:pchip

194 static inline int __gpio_is_occupied(struct pxa_gpio_chip *pchip, unsigned gpio)
200 base = gpio_bank_base(&pchip->chip, gpio);
225 struct pxa_gpio_chip *pchip = pxa_gpio_chip;
228 irq_gpio0 = irq_find_mapping(pchip->irqdomain, 0);
250 struct pxa_gpio_chip *pchip = chip_to_pxachip(chip);
252 return irq_find_mapping(pchip->irqdomain, offset);
341 static int pxa_init_gpio_chip(struct pxa_gpio_chip *pchip, int ngpio, void __iomem *regbase)
346 pchip->banks = devm_kcalloc(pchip->dev, nbanks, sizeof(*pchip->banks),
348 if (!pchip->banks)
351 pchip->chip.parent = pchip->dev;
352 pchip->chip.label = "gpio-pxa";
353 pchip->chip.direction_input = pxa_gpio_direction_input;
354 pchip->chip.direction_output = pxa_gpio_direction_output;
355 pchip->chip.get = pxa_gpio_get;
356 pchip->chip.set = pxa_gpio_set;
357 pchip->chip.to_irq = pxa_gpio_to_irq;
358 pchip->chip.ngpio = ngpio;
359 pchip->chip.request = gpiochip_generic_request;
360 pchip->chip.free = gpiochip_generic_free;
363 pchip->chip.of_xlate = pxa_gpio_of_xlate;
364 pchip->chip.of_gpio_n_cells = 2;
368 bank = pchip->banks + i;
372 return gpiochip_add_data(&pchip->chip, pchip);
392 struct pxa_gpio_chip *pchip = irq_data_get_irq_chip_data(d);
394 struct pxa_gpio_bank *c = gpio_to_pxabank(&pchip->chip, gpio);
404 if (__gpio_is_occupied(pchip, gpio))
439 struct pxa_gpio_chip *pchip = d;
444 for_each_gpio_bank(gpio, c, pchip) {
452 generic_handle_domain_irq(pchip->irqdomain,
464 struct pxa_gpio_chip *pchip = d;
466 if (in_irq == pchip->irq0) {
467 generic_handle_domain_irq(pchip->irqdomain, 0);
468 } else if (in_irq == pchip->irq1) {
469 generic_handle_domain_irq(pchip->irqdomain, 1);
479 struct pxa_gpio_chip *pchip = irq_data_get_irq_chip_data(d);
481 void __iomem *base = gpio_bank_base(&pchip->chip, gpio);
488 struct pxa_gpio_chip *pchip = irq_data_get_irq_chip_data(d);
490 struct pxa_gpio_bank *b = gpio_to_pxabank(&pchip->chip, gpio);
491 void __iomem *base = gpio_bank_base(&pchip->chip, gpio);
504 struct pxa_gpio_chip *pchip = irq_data_get_irq_chip_data(d);
507 if (pchip->set_wake)
508 return pchip->set_wake(gpio, on);
515 struct pxa_gpio_chip *pchip = irq_data_get_irq_chip_data(d);
517 struct pxa_gpio_bank *c = gpio_to_pxabank(&pchip->chip, gpio);
586 struct pxa_gpio_chip *pchip)
605 #define pxa_gpio_probe_dt(pdev, pchip) (-1)
610 struct pxa_gpio_chip *pchip;
618 pchip = devm_kzalloc(&pdev->dev, sizeof(*pchip), GFP_KERNEL);
619 if (!pchip)
621 pchip->dev = &pdev->dev;
629 pchip->set_wake = info->gpio_set_wake;
631 irq_base = pxa_gpio_probe_dt(pdev, pchip);
639 pchip->irqdomain = irq_domain_add_legacy(pdev->dev.of_node,
641 0, &pxa_irq_domain_ops, pchip);
642 if (!pchip->irqdomain)
652 pchip->irq0 = irq0;
653 pchip->irq1 = irq1;
667 ret = pxa_init_gpio_chip(pchip, pxa_last_gpio + 1, gpio_reg_base);
672 for_each_gpio_bank(gpio, c, pchip) {
684 "gpio-0", pchip);
692 "gpio-1", pchip);
699 "gpio-mux", pchip);
704 pxa_gpio_chip = pchip;
751 struct pxa_gpio_chip *pchip = pxa_gpio_chip;
755 if (!pchip)
758 for_each_gpio_bank(gpio, c, pchip) {
772 struct pxa_gpio_chip *pchip = pxa_gpio_chip;
776 if (!pchip)
779 for_each_gpio_bank(gpio, c, pchip) {