Lines Matching refs:bank

65 	int bank;  member
96 static int tegra_gpio_compose(int bank, int port, int bit) in tegra_gpio_compose() argument
98 return (bank << 5) | ((port & 0x3) << 3) | (bit & 0x7); in tegra_gpio_compose()
204 struct tegra_gpio_bank *bank = irq_data_get_irq_chip_data(d); in tegra_gpio_irq_set_type() local
242 spin_lock_irqsave(&bank->lvl_lock[port], flags); in tegra_gpio_irq_set_type()
249 spin_unlock_irqrestore(&bank->lvl_lock[port], flags); in tegra_gpio_irq_set_type()
271 struct tegra_gpio_bank *bank; in tegra_gpio_irq_handler() local
279 bank = irq_get_handler_data(irq); in tegra_gpio_irq_handler()
282 int gpio = tegra_gpio_compose(bank->bank, port, 0); in tegra_gpio_irq_handler()
318 struct tegra_gpio_bank *bank = &tegra_gpio_banks[b]; in tegra_gpio_resume() local
320 for (p = 0; p < ARRAY_SIZE(bank->oe); p++) { in tegra_gpio_resume()
322 tegra_gpio_writel(bank->cnf[p], GPIO_CNF(gpio)); in tegra_gpio_resume()
323 tegra_gpio_writel(bank->out[p], GPIO_OUT(gpio)); in tegra_gpio_resume()
324 tegra_gpio_writel(bank->oe[p], GPIO_OE(gpio)); in tegra_gpio_resume()
325 tegra_gpio_writel(bank->int_lvl[p], GPIO_INT_LVL(gpio)); in tegra_gpio_resume()
326 tegra_gpio_writel(bank->int_enb[p], GPIO_INT_ENB(gpio)); in tegra_gpio_resume()
342 struct tegra_gpio_bank *bank = &tegra_gpio_banks[b]; in tegra_gpio_suspend() local
344 for (p = 0; p < ARRAY_SIZE(bank->oe); p++) { in tegra_gpio_suspend()
346 bank->cnf[p] = tegra_gpio_readl(GPIO_CNF(gpio)); in tegra_gpio_suspend()
347 bank->out[p] = tegra_gpio_readl(GPIO_OUT(gpio)); in tegra_gpio_suspend()
348 bank->oe[p] = tegra_gpio_readl(GPIO_OE(gpio)); in tegra_gpio_suspend()
349 bank->int_enb[p] = tegra_gpio_readl(GPIO_INT_ENB(gpio)); in tegra_gpio_suspend()
350 bank->int_lvl[p] = tegra_gpio_readl(GPIO_INT_LVL(gpio)); in tegra_gpio_suspend()
353 tegra_gpio_writel(bank->wake_enb[p], in tegra_gpio_suspend()
363 struct tegra_gpio_bank *bank = irq_data_get_irq_chip_data(d); in tegra_gpio_irq_set_wake() local
372 bank->wake_enb[port] |= mask; in tegra_gpio_irq_set_wake()
374 bank->wake_enb[port] &= ~mask; in tegra_gpio_irq_set_wake()
376 return irq_set_irq_wake(bank->irq, enable); in tegra_gpio_irq_set_wake()
427 struct tegra_gpio_bank *bank; in tegra_gpio_probe() local
477 bank = &tegra_gpio_banks[i]; in tegra_gpio_probe()
478 bank->bank = i; in tegra_gpio_probe()
479 bank->irq = res->start; in tegra_gpio_probe()
506 bank = &tegra_gpio_banks[GPIO_BANK(gpio)]; in tegra_gpio_probe()
509 irq_set_chip_data(irq, bank); in tegra_gpio_probe()
516 bank = &tegra_gpio_banks[i]; in tegra_gpio_probe()
518 irq_set_chained_handler(bank->irq, tegra_gpio_irq_handler); in tegra_gpio_probe()
519 irq_set_handler_data(bank->irq, bank); in tegra_gpio_probe()
522 spin_lock_init(&bank->lvl_lock[j]); in tegra_gpio_probe()