Lines Matching +full:bank +full:- +full:name
1 // SPDX-License-Identifier: GPL-2.0
8 * git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
13 * linux/arch/arm/plat-omap/gpio.c
17 * Copyright (C) 2003-2005 Nokia Corporation
54 static void _set_gpio_direction(const struct gpio_bank *bank, int gpio, in _set_gpio_direction() argument
57 void *reg = bank->base; in _set_gpio_direction()
72 * corresponding to the specified bank.
74 static int _get_gpio_direction(const struct gpio_bank *bank, int gpio) in _get_gpio_direction() argument
76 void *reg = bank->base; in _get_gpio_direction()
89 static void _set_gpio_dataout(const struct gpio_bank *bank, int gpio, in _set_gpio_dataout() argument
92 void *reg = bank->base; in _set_gpio_dataout()
104 static int _get_gpio_value(const struct gpio_bank *bank, int gpio) in _get_gpio_value() argument
106 void *reg = bank->base; in _get_gpio_value()
109 input = _get_gpio_direction(bank, gpio); in _get_gpio_value()
118 return -1; in _get_gpio_value()
135 return -1; in check_gpio()
145 const struct gpio_bank *bank; in gpio_set_value() local
148 return -1; in gpio_set_value()
149 bank = get_gpio_bank(gpio); in gpio_set_value()
150 _set_gpio_dataout(bank, get_gpio_index(gpio), value); in gpio_set_value()
160 const struct gpio_bank *bank; in gpio_get_value() local
163 return -1; in gpio_get_value()
164 bank = get_gpio_bank(gpio); in gpio_get_value()
166 return _get_gpio_value(bank, get_gpio_index(gpio)); in gpio_get_value()
174 const struct gpio_bank *bank; in gpio_direction_input() local
177 return -1; in gpio_direction_input()
179 bank = get_gpio_bank(gpio); in gpio_direction_input()
180 _set_gpio_direction(bank, get_gpio_index(gpio), 1); in gpio_direction_input()
190 const struct gpio_bank *bank; in gpio_direction_output() local
193 return -1; in gpio_direction_output()
195 bank = get_gpio_bank(gpio); in gpio_direction_output()
196 _set_gpio_dataout(bank, get_gpio_index(gpio), value); in gpio_direction_output()
197 _set_gpio_direction(bank, get_gpio_index(gpio), 0); in gpio_direction_output()
210 return -1; in gpio_request()
228 struct gpio_bank *bank = dev_get_priv(dev); in omap_gpio_direction_input() local
231 _set_gpio_direction(bank, offset, 1); in omap_gpio_direction_input()
240 struct gpio_bank *bank = dev_get_priv(dev); in omap_gpio_direction_output() local
242 _set_gpio_dataout(bank, offset, value); in omap_gpio_direction_output()
243 _set_gpio_direction(bank, offset, 0); in omap_gpio_direction_output()
251 struct gpio_bank *bank = dev_get_priv(dev); in omap_gpio_get_value() local
253 return _get_gpio_value(bank, offset); in omap_gpio_get_value()
260 struct gpio_bank *bank = dev_get_priv(dev); in omap_gpio_set_value() local
262 _set_gpio_dataout(bank, offset, value); in omap_gpio_set_value()
269 struct gpio_bank *bank = dev_get_priv(dev); in omap_gpio_get_function() local
272 if (_get_gpio_direction(bank, offset) == OMAP_GPIO_DIR_OUT) in omap_gpio_get_function()
288 struct gpio_bank *bank = dev_get_priv(dev); in omap_gpio_probe() local
291 char name[18], *str; in omap_gpio_probe() local
293 sprintf(name, "gpio@%4x_", (unsigned int)plat->base); in omap_gpio_probe()
294 str = strdup(name); in omap_gpio_probe()
296 return -ENOMEM; in omap_gpio_probe()
297 uc_priv->bank_name = str; in omap_gpio_probe()
298 uc_priv->gpio_count = GPIO_PER_BANK; in omap_gpio_probe()
299 bank->base = (void *)plat->base; in omap_gpio_probe()
314 return -EINVAL; in omap_gpio_bind()
319 * supported, this can be done by auto-alloc feature, but in omap_gpio_bind()
328 return -ENOMEM; in omap_gpio_bind()
330 plat->base = base_addr; in omap_gpio_bind()
331 plat->port_name = fdt_get_name(gd->fdt_blob, dev_of_offset(dev), NULL); in omap_gpio_bind()
332 dev->platdata = plat; in omap_gpio_bind()
340 { .compatible = "ti,omap3-gpio" },
341 { .compatible = "ti,omap4-gpio" },
342 { .compatible = "ti,am4372-gpio" },
353 return -EINVAL; in omap_gpio_ofdata_to_platdata()
355 plat->base = addr; in omap_gpio_ofdata_to_platdata()
361 .name = "gpio_omap",