Lines Matching +full:bank +full:- +full:name
4 * SPDX-License-Identifier: GPL-2.0+
8 #include "irq-internal.h"
52 IRQ_E("gpio-%d(bank-%d, pin-%d) is invalid!\n", in gpio_is_valid()
62 int idx, bank = 0, pin = 0; in __hard_gpio_to_irq() local
66 return -EINVAL; in __hard_gpio_to_irq()
68 bank = (gpio & GPIO_BANK_MASK) >> GPIO_BANK_OFFSET; in __hard_gpio_to_irq()
72 if (gpio_banks[idx].id == bank) { in __hard_gpio_to_irq()
75 return -EBUSY; in __hard_gpio_to_irq()
80 return -EINVAL; in __hard_gpio_to_irq()
85 const void *blob = gd->fdt_blob; in __phandle_gpio_to_irq()
89 int i, bank; in __phandle_gpio_to_irq() local
102 for (bank = 0; bank < GPIO_BANK_NUM; bank++) { in __phandle_gpio_to_irq()
103 if (strstr(gpio_name, gpio_banks[bank].name)) { in __phandle_gpio_to_irq()
123 for (bank = 0; bank < ARRAY_SIZE(gpio_banks); bank++) { in __phandle_gpio_to_irq()
124 if (strstr(gpio_alias[bank], gpio_name)) { in __phandle_gpio_to_irq()
136 IRQ_D("%s: gpio%d-%d\n", __func__, bank, offset); in __phandle_gpio_to_irq()
138 irq = RK_IRQ_GPIO(bank, offset); in __phandle_gpio_to_irq()
147 int bank, pin, idx; in __irq_to_gpio() local
149 bank = (irq - PIN_BASE) / GPIO_BANK_PINS; in __irq_to_gpio()
150 pin = (irq - PIN_BASE) % GPIO_BANK_PINS; in __irq_to_gpio()
153 if (gpio_banks[idx].id == bank) { in __irq_to_gpio()
154 return (bank << GPIO_BANK_OFFSET) | in __irq_to_gpio()
159 return -EINVAL; in __irq_to_gpio()
164 int irq_gpio, bank, ret = EINVAL_GPIO; in gpio_to_irq() local
165 char *name, *name_tok; in gpio_to_irq() local
168 if (!gpio->dev->name) { in gpio_to_irq()
169 IRQ_E("Can't find dev name for gpio bank\n"); in gpio_to_irq()
173 name_tok = strdup(gpio->dev->name); in gpio_to_irq()
175 IRQ_E("Strdup '%s' failed!\n", gpio->dev->name); in gpio_to_irq()
176 return -ENOMEM; in gpio_to_irq()
179 name = strtok(name_tok, "@"); in gpio_to_irq()
180 if (!name) { in gpio_to_irq()
185 for (bank = 0; bank < ARRAY_SIZE(gpio_banks); bank++) { in gpio_to_irq()
186 if (!strcmp(gpio_banks[bank].name, name)) { in gpio_to_irq()
193 IRQ_E("GPIO irq framework can't find '%s'\n", name); in gpio_to_irq()
197 irq_gpio = RK_IRQ_GPIO(bank, gpio->offset); in gpio_to_irq()