kona_gpio 81 drivers/gpio/gpio-bcm-kona.c struct bcm_kona_gpio *kona_gpio; kona_gpio 91 drivers/gpio/gpio-bcm-kona.c static void bcm_kona_gpio_lock_gpio(struct bcm_kona_gpio *kona_gpio, kona_gpio 98 drivers/gpio/gpio-bcm-kona.c raw_spin_lock_irqsave(&kona_gpio->lock, flags); kona_gpio 100 drivers/gpio/gpio-bcm-kona.c val = readl(kona_gpio->reg_base + GPIO_PWD_STATUS(bank_id)); kona_gpio 102 drivers/gpio/gpio-bcm-kona.c bcm_kona_gpio_write_lock_regs(kona_gpio->reg_base, bank_id, val); kona_gpio 104 drivers/gpio/gpio-bcm-kona.c raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); kona_gpio 107 drivers/gpio/gpio-bcm-kona.c static void bcm_kona_gpio_unlock_gpio(struct bcm_kona_gpio *kona_gpio, kona_gpio 114 drivers/gpio/gpio-bcm-kona.c raw_spin_lock_irqsave(&kona_gpio->lock, flags); kona_gpio 116 drivers/gpio/gpio-bcm-kona.c val = readl(kona_gpio->reg_base + GPIO_PWD_STATUS(bank_id)); kona_gpio 118 drivers/gpio/gpio-bcm-kona.c bcm_kona_gpio_write_lock_regs(kona_gpio->reg_base, bank_id, val); kona_gpio 120 drivers/gpio/gpio-bcm-kona.c raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); kona_gpio 125 drivers/gpio/gpio-bcm-kona.c struct bcm_kona_gpio *kona_gpio = gpiochip_get_data(chip); kona_gpio 126 drivers/gpio/gpio-bcm-kona.c void __iomem *reg_base = kona_gpio->reg_base; kona_gpio 135 drivers/gpio/gpio-bcm-kona.c struct bcm_kona_gpio *kona_gpio; kona_gpio 142 drivers/gpio/gpio-bcm-kona.c kona_gpio = gpiochip_get_data(chip); kona_gpio 143 drivers/gpio/gpio-bcm-kona.c reg_base = kona_gpio->reg_base; kona_gpio 144 drivers/gpio/gpio-bcm-kona.c raw_spin_lock_irqsave(&kona_gpio->lock, flags); kona_gpio 157 drivers/gpio/gpio-bcm-kona.c raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); kona_gpio 162 drivers/gpio/gpio-bcm-kona.c struct bcm_kona_gpio *kona_gpio; kona_gpio 169 drivers/gpio/gpio-bcm-kona.c kona_gpio = gpiochip_get_data(chip); kona_gpio 170 drivers/gpio/gpio-bcm-kona.c reg_base = kona_gpio->reg_base; kona_gpio 171 drivers/gpio/gpio-bcm-kona.c raw_spin_lock_irqsave(&kona_gpio->lock, flags); kona_gpio 181 drivers/gpio/gpio-bcm-kona.c raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); kona_gpio 189 drivers/gpio/gpio-bcm-kona.c struct bcm_kona_gpio *kona_gpio = gpiochip_get_data(chip); kona_gpio 191 drivers/gpio/gpio-bcm-kona.c bcm_kona_gpio_unlock_gpio(kona_gpio, gpio); kona_gpio 197 drivers/gpio/gpio-bcm-kona.c struct bcm_kona_gpio *kona_gpio = gpiochip_get_data(chip); kona_gpio 199 drivers/gpio/gpio-bcm-kona.c bcm_kona_gpio_lock_gpio(kona_gpio, gpio); kona_gpio 204 drivers/gpio/gpio-bcm-kona.c struct bcm_kona_gpio *kona_gpio; kona_gpio 209 drivers/gpio/gpio-bcm-kona.c kona_gpio = gpiochip_get_data(chip); kona_gpio 210 drivers/gpio/gpio-bcm-kona.c reg_base = kona_gpio->reg_base; kona_gpio 211 drivers/gpio/gpio-bcm-kona.c raw_spin_lock_irqsave(&kona_gpio->lock, flags); kona_gpio 218 drivers/gpio/gpio-bcm-kona.c raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); kona_gpio 226 drivers/gpio/gpio-bcm-kona.c struct bcm_kona_gpio *kona_gpio; kona_gpio 233 drivers/gpio/gpio-bcm-kona.c kona_gpio = gpiochip_get_data(chip); kona_gpio 234 drivers/gpio/gpio-bcm-kona.c reg_base = kona_gpio->reg_base; kona_gpio 235 drivers/gpio/gpio-bcm-kona.c raw_spin_lock_irqsave(&kona_gpio->lock, flags); kona_gpio 247 drivers/gpio/gpio-bcm-kona.c raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); kona_gpio 254 drivers/gpio/gpio-bcm-kona.c struct bcm_kona_gpio *kona_gpio; kona_gpio 256 drivers/gpio/gpio-bcm-kona.c kona_gpio = gpiochip_get_data(chip); kona_gpio 257 drivers/gpio/gpio-bcm-kona.c if (gpio >= kona_gpio->gpio_chip.ngpio) kona_gpio 259 drivers/gpio/gpio-bcm-kona.c return irq_create_mapping(kona_gpio->irq_domain, gpio); kona_gpio 265 drivers/gpio/gpio-bcm-kona.c struct bcm_kona_gpio *kona_gpio; kona_gpio 270 drivers/gpio/gpio-bcm-kona.c kona_gpio = gpiochip_get_data(chip); kona_gpio 271 drivers/gpio/gpio-bcm-kona.c reg_base = kona_gpio->reg_base; kona_gpio 291 drivers/gpio/gpio-bcm-kona.c raw_spin_lock_irqsave(&kona_gpio->lock, flags); kona_gpio 306 drivers/gpio/gpio-bcm-kona.c raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); kona_gpio 340 drivers/gpio/gpio-bcm-kona.c struct bcm_kona_gpio *kona_gpio; kona_gpio 348 drivers/gpio/gpio-bcm-kona.c kona_gpio = irq_data_get_irq_chip_data(d); kona_gpio 349 drivers/gpio/gpio-bcm-kona.c reg_base = kona_gpio->reg_base; kona_gpio 350 drivers/gpio/gpio-bcm-kona.c raw_spin_lock_irqsave(&kona_gpio->lock, flags); kona_gpio 356 drivers/gpio/gpio-bcm-kona.c raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); kona_gpio 361 drivers/gpio/gpio-bcm-kona.c struct bcm_kona_gpio *kona_gpio; kona_gpio 369 drivers/gpio/gpio-bcm-kona.c kona_gpio = irq_data_get_irq_chip_data(d); kona_gpio 370 drivers/gpio/gpio-bcm-kona.c reg_base = kona_gpio->reg_base; kona_gpio 371 drivers/gpio/gpio-bcm-kona.c raw_spin_lock_irqsave(&kona_gpio->lock, flags); kona_gpio 376 drivers/gpio/gpio-bcm-kona.c gpiochip_disable_irq(&kona_gpio->gpio_chip, gpio); kona_gpio 378 drivers/gpio/gpio-bcm-kona.c raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); kona_gpio 383 drivers/gpio/gpio-bcm-kona.c struct bcm_kona_gpio *kona_gpio; kona_gpio 391 drivers/gpio/gpio-bcm-kona.c kona_gpio = irq_data_get_irq_chip_data(d); kona_gpio 392 drivers/gpio/gpio-bcm-kona.c reg_base = kona_gpio->reg_base; kona_gpio 393 drivers/gpio/gpio-bcm-kona.c raw_spin_lock_irqsave(&kona_gpio->lock, flags); kona_gpio 398 drivers/gpio/gpio-bcm-kona.c gpiochip_enable_irq(&kona_gpio->gpio_chip, gpio); kona_gpio 400 drivers/gpio/gpio-bcm-kona.c raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); kona_gpio 405 drivers/gpio/gpio-bcm-kona.c struct bcm_kona_gpio *kona_gpio; kona_gpio 412 drivers/gpio/gpio-bcm-kona.c kona_gpio = irq_data_get_irq_chip_data(d); kona_gpio 413 drivers/gpio/gpio-bcm-kona.c reg_base = kona_gpio->reg_base; kona_gpio 431 drivers/gpio/gpio-bcm-kona.c dev_err(kona_gpio->gpio_chip.parent, kona_gpio 436 drivers/gpio/gpio-bcm-kona.c raw_spin_lock_irqsave(&kona_gpio->lock, flags); kona_gpio 443 drivers/gpio/gpio-bcm-kona.c raw_spin_unlock_irqrestore(&kona_gpio->lock, flags); kona_gpio 463 drivers/gpio/gpio-bcm-kona.c reg_base = bank->kona_gpio->reg_base; kona_gpio 471 drivers/gpio/gpio-bcm-kona.c irq_find_mapping(bank->kona_gpio->irq_domain, kona_gpio 489 drivers/gpio/gpio-bcm-kona.c struct bcm_kona_gpio *kona_gpio = irq_data_get_irq_chip_data(d); kona_gpio 491 drivers/gpio/gpio-bcm-kona.c return gpiochip_reqres_irq(&kona_gpio->gpio_chip, d->hwirq); kona_gpio 496 drivers/gpio/gpio-bcm-kona.c struct bcm_kona_gpio *kona_gpio = irq_data_get_irq_chip_data(d); kona_gpio 498 drivers/gpio/gpio-bcm-kona.c gpiochip_relres_irq(&kona_gpio->gpio_chip, d->hwirq); kona_gpio 550 drivers/gpio/gpio-bcm-kona.c static void bcm_kona_gpio_reset(struct bcm_kona_gpio *kona_gpio) kona_gpio 555 drivers/gpio/gpio-bcm-kona.c reg_base = kona_gpio->reg_base; kona_gpio 557 drivers/gpio/gpio-bcm-kona.c for (i = 0; i < kona_gpio->num_bank; i++) { kona_gpio 572 drivers/gpio/gpio-bcm-kona.c struct bcm_kona_gpio *kona_gpio; kona_gpio 583 drivers/gpio/gpio-bcm-kona.c kona_gpio = devm_kzalloc(dev, sizeof(*kona_gpio), GFP_KERNEL); kona_gpio 584 drivers/gpio/gpio-bcm-kona.c if (!kona_gpio) kona_gpio 587 drivers/gpio/gpio-bcm-kona.c kona_gpio->gpio_chip = template_chip; kona_gpio 588 drivers/gpio/gpio-bcm-kona.c chip = &kona_gpio->gpio_chip; kona_gpio 589 drivers/gpio/gpio-bcm-kona.c kona_gpio->num_bank = of_irq_count(dev->of_node); kona_gpio 590 drivers/gpio/gpio-bcm-kona.c if (kona_gpio->num_bank == 0) { kona_gpio 594 drivers/gpio/gpio-bcm-kona.c if (kona_gpio->num_bank > GPIO_MAX_BANK_NUM) { kona_gpio 599 drivers/gpio/gpio-bcm-kona.c kona_gpio->banks = devm_kcalloc(dev, kona_gpio 600 drivers/gpio/gpio-bcm-kona.c kona_gpio->num_bank, kona_gpio 601 drivers/gpio/gpio-bcm-kona.c sizeof(*kona_gpio->banks), kona_gpio 603 drivers/gpio/gpio-bcm-kona.c if (!kona_gpio->banks) kona_gpio 606 drivers/gpio/gpio-bcm-kona.c kona_gpio->pdev = pdev; kona_gpio 607 drivers/gpio/gpio-bcm-kona.c platform_set_drvdata(pdev, kona_gpio); kona_gpio 609 drivers/gpio/gpio-bcm-kona.c chip->ngpio = kona_gpio->num_bank * GPIO_PER_BANK; kona_gpio 611 drivers/gpio/gpio-bcm-kona.c kona_gpio->irq_domain = irq_domain_add_linear(dev->of_node, kona_gpio 614 drivers/gpio/gpio-bcm-kona.c kona_gpio); kona_gpio 615 drivers/gpio/gpio-bcm-kona.c if (!kona_gpio->irq_domain) { kona_gpio 620 drivers/gpio/gpio-bcm-kona.c kona_gpio->reg_base = devm_platform_ioremap_resource(pdev, 0); kona_gpio 621 drivers/gpio/gpio-bcm-kona.c if (IS_ERR(kona_gpio->reg_base)) { kona_gpio 622 drivers/gpio/gpio-bcm-kona.c ret = PTR_ERR(kona_gpio->reg_base); kona_gpio 626 drivers/gpio/gpio-bcm-kona.c for (i = 0; i < kona_gpio->num_bank; i++) { kona_gpio 627 drivers/gpio/gpio-bcm-kona.c bank = &kona_gpio->banks[i]; kona_gpio 630 drivers/gpio/gpio-bcm-kona.c bank->kona_gpio = kona_gpio; kona_gpio 640 drivers/gpio/gpio-bcm-kona.c bcm_kona_gpio_reset(kona_gpio); kona_gpio 642 drivers/gpio/gpio-bcm-kona.c ret = devm_gpiochip_add_data(dev, chip, kona_gpio); kona_gpio 647 drivers/gpio/gpio-bcm-kona.c for (i = 0; i < kona_gpio->num_bank; i++) { kona_gpio 648 drivers/gpio/gpio-bcm-kona.c bank = &kona_gpio->banks[i]; kona_gpio 654 drivers/gpio/gpio-bcm-kona.c raw_spin_lock_init(&kona_gpio->lock); kona_gpio 659 drivers/gpio/gpio-bcm-kona.c irq_domain_remove(kona_gpio->irq_domain);