Lines Matching refs:a7gc
5582 atlas7_gpio_bank *atlas7_gpio_to_bank(struct atlas7_gpio_chip *a7gc, u32 gpio) in atlas7_gpio_to_bank() argument
5584 return &a7gc->banks[GPIO_TO_BANK(gpio)]; in atlas7_gpio_to_bank()
5587 static int __atlas7_gpio_to_pin(struct atlas7_gpio_chip *a7gc, u32 gpio) in __atlas7_gpio_to_pin() argument
5592 bank = atlas7_gpio_to_bank(a7gc, gpio); in __atlas7_gpio_to_pin()
5603 struct atlas7_gpio_chip *a7gc = to_atlas7_gpio(gc); in atlas7_gpio_irq_ack() local
5609 bank = atlas7_gpio_to_bank(a7gc, d->hwirq); in atlas7_gpio_irq_ack()
5613 spin_lock_irqsave(&a7gc->lock, flags); in atlas7_gpio_irq_ack()
5619 spin_unlock_irqrestore(&a7gc->lock, flags); in atlas7_gpio_irq_ack()
5622 static void __atlas7_gpio_irq_mask(struct atlas7_gpio_chip *a7gc, int idx) in __atlas7_gpio_irq_mask() argument
5628 bank = atlas7_gpio_to_bank(a7gc, idx); in __atlas7_gpio_irq_mask()
5641 struct atlas7_gpio_chip *a7gc = to_atlas7_gpio(gc); in atlas7_gpio_irq_mask() local
5644 spin_lock_irqsave(&a7gc->lock, flags); in atlas7_gpio_irq_mask()
5646 __atlas7_gpio_irq_mask(a7gc, d->hwirq); in atlas7_gpio_irq_mask()
5648 spin_unlock_irqrestore(&a7gc->lock, flags); in atlas7_gpio_irq_mask()
5654 struct atlas7_gpio_chip *a7gc = to_atlas7_gpio(gc); in atlas7_gpio_irq_unmask() local
5660 bank = atlas7_gpio_to_bank(a7gc, d->hwirq); in atlas7_gpio_irq_unmask()
5664 spin_lock_irqsave(&a7gc->lock, flags); in atlas7_gpio_irq_unmask()
5671 spin_unlock_irqrestore(&a7gc->lock, flags); in atlas7_gpio_irq_unmask()
5678 struct atlas7_gpio_chip *a7gc = to_atlas7_gpio(gc); in atlas7_gpio_irq_type() local
5684 bank = atlas7_gpio_to_bank(a7gc, d->hwirq); in atlas7_gpio_irq_type()
5688 spin_lock_irqsave(&a7gc->lock, flags); in atlas7_gpio_irq_type()
5731 spin_unlock_irqrestore(&a7gc->lock, flags); in atlas7_gpio_irq_type()
5747 struct atlas7_gpio_chip *a7gc = to_atlas7_gpio(gc); in atlas7_gpio_handle_irq() local
5754 for (idx = 0; idx < a7gc->nbank; idx++) { in atlas7_gpio_handle_irq()
5755 bank = &a7gc->banks[idx]; in atlas7_gpio_handle_irq()
5759 BUG_ON(idx == a7gc->nbank); in atlas7_gpio_handle_irq()
5796 static void __atlas7_gpio_set_input(struct atlas7_gpio_chip *a7gc, in __atlas7_gpio_set_input() argument
5803 bank = atlas7_gpio_to_bank(a7gc, gpio); in __atlas7_gpio_set_input()
5815 struct atlas7_gpio_chip *a7gc = to_atlas7_gpio(chip); in atlas7_gpio_request() local
5819 ret = __atlas7_gpio_to_pin(a7gc, gpio); in atlas7_gpio_request()
5826 spin_lock_irqsave(&a7gc->lock, flags); in atlas7_gpio_request()
5832 __atlas7_gpio_set_input(a7gc, gpio); in atlas7_gpio_request()
5833 __atlas7_gpio_irq_mask(a7gc, gpio); in atlas7_gpio_request()
5835 spin_unlock_irqrestore(&a7gc->lock, flags); in atlas7_gpio_request()
5843 struct atlas7_gpio_chip *a7gc = to_atlas7_gpio(chip); in atlas7_gpio_free() local
5846 spin_lock_irqsave(&a7gc->lock, flags); in atlas7_gpio_free()
5848 __atlas7_gpio_irq_mask(a7gc, gpio); in atlas7_gpio_free()
5849 __atlas7_gpio_set_input(a7gc, gpio); in atlas7_gpio_free()
5851 spin_unlock_irqrestore(&a7gc->lock, flags); in atlas7_gpio_free()
5859 struct atlas7_gpio_chip *a7gc = to_atlas7_gpio(chip); in atlas7_gpio_direction_input() local
5862 spin_lock_irqsave(&a7gc->lock, flags); in atlas7_gpio_direction_input()
5864 __atlas7_gpio_set_input(a7gc, gpio); in atlas7_gpio_direction_input()
5866 spin_unlock_irqrestore(&a7gc->lock, flags); in atlas7_gpio_direction_input()
5871 static void __atlas7_gpio_set_output(struct atlas7_gpio_chip *a7gc, in __atlas7_gpio_set_output() argument
5878 bank = atlas7_gpio_to_bank(a7gc, gpio); in __atlas7_gpio_set_output()
5896 struct atlas7_gpio_chip *a7gc = to_atlas7_gpio(chip); in atlas7_gpio_direction_output() local
5899 spin_lock_irqsave(&a7gc->lock, flags); in atlas7_gpio_direction_output()
5901 __atlas7_gpio_set_output(a7gc, gpio, value); in atlas7_gpio_direction_output()
5903 spin_unlock_irqrestore(&a7gc->lock, flags); in atlas7_gpio_direction_output()
5911 struct atlas7_gpio_chip *a7gc = to_atlas7_gpio(chip); in atlas7_gpio_get_value() local
5916 bank = atlas7_gpio_to_bank(a7gc, gpio); in atlas7_gpio_get_value()
5919 spin_lock_irqsave(&a7gc->lock, flags); in atlas7_gpio_get_value()
5923 spin_unlock_irqrestore(&a7gc->lock, flags); in atlas7_gpio_get_value()
5931 struct atlas7_gpio_chip *a7gc = to_atlas7_gpio(chip); in atlas7_gpio_set_value() local
5937 bank = atlas7_gpio_to_bank(a7gc, gpio); in atlas7_gpio_set_value()
5941 spin_lock_irqsave(&a7gc->lock, flags); in atlas7_gpio_set_value()
5950 spin_unlock_irqrestore(&a7gc->lock, flags); in atlas7_gpio_set_value()
5961 struct atlas7_gpio_chip *a7gc; in atlas7_gpio_probe() local
5975 a7gc = devm_kzalloc(&pdev->dev, sizeof(*a7gc) + in atlas7_gpio_probe()
5977 if (!a7gc) in atlas7_gpio_probe()
5981 a7gc->clk = of_clk_get(np, 0); in atlas7_gpio_probe()
5982 if (!IS_ERR(a7gc->clk)) { in atlas7_gpio_probe()
5983 ret = clk_prepare_enable(a7gc->clk); in atlas7_gpio_probe()
5992 a7gc->reg = of_iomap(np, 0); in atlas7_gpio_probe()
5993 if (!a7gc->reg) { in atlas7_gpio_probe()
5998 a7gc->nbank = nbank; in atlas7_gpio_probe()
5999 spin_lock_init(&a7gc->lock); in atlas7_gpio_probe()
6002 chip = &a7gc->chip; in atlas7_gpio_probe()
6039 bank = &a7gc->banks[idx]; in atlas7_gpio_probe()
6041 bank->base = ATLAS7_GPIO_BASE(a7gc, idx); in atlas7_gpio_probe()
6072 platform_set_drvdata(pdev, a7gc); in atlas7_gpio_probe()
6082 struct atlas7_gpio_chip *a7gc = dev_get_drvdata(dev); in atlas7_gpio_suspend_noirq() local
6087 for (idx = 0; idx < a7gc->nbank; idx++) { in atlas7_gpio_suspend_noirq()
6088 bank = &a7gc->banks[idx]; in atlas7_gpio_suspend_noirq()
6100 struct atlas7_gpio_chip *a7gc = dev_get_drvdata(dev); in atlas7_gpio_resume_noirq() local
6105 for (idx = 0; idx < a7gc->nbank; idx++) { in atlas7_gpio_resume_noirq()
6106 bank = &a7gc->banks[idx]; in atlas7_gpio_resume_noirq()