Lines Matching refs:range
273 static inline int gpio_to_pin(struct pinctrl_gpio_range *range, in gpio_to_pin() argument
276 unsigned int offset = gpio - range->base; in gpio_to_pin()
277 if (range->pins) in gpio_to_pin()
278 return range->pins[offset]; in gpio_to_pin()
280 return range->pin_base + offset; in gpio_to_pin()
294 struct pinctrl_gpio_range *range; in pinctrl_match_gpio_range() local
298 list_for_each_entry(range, &pctldev->gpio_ranges, node) { in pinctrl_match_gpio_range()
300 if (gpio >= range->base && in pinctrl_match_gpio_range()
301 gpio < range->base + range->npins) { in pinctrl_match_gpio_range()
303 return range; in pinctrl_match_gpio_range()
327 struct pinctrl_gpio_range *range = NULL; in pinctrl_ready_for_gpio_range() local
344 list_for_each_entry(range, &pctldev->gpio_ranges, node) { in pinctrl_ready_for_gpio_range()
346 if (range->base + range->npins - 1 < chip->base || in pinctrl_ready_for_gpio_range()
347 range->base > chip->base + chip->ngpio - 1) in pinctrl_ready_for_gpio_range()
385 struct pinctrl_gpio_range *range; in pinctrl_get_device_gpio_range() local
387 range = pinctrl_match_gpio_range(pctldev, gpio); in pinctrl_get_device_gpio_range()
388 if (range) { in pinctrl_get_device_gpio_range()
390 *outrange = range; in pinctrl_get_device_gpio_range()
410 struct pinctrl_gpio_range *range) in pinctrl_add_gpio_range() argument
413 list_add_tail(&range->node, &pctldev->gpio_ranges); in pinctrl_add_gpio_range()
430 struct pinctrl_gpio_range *range) in pinctrl_find_and_add_gpio_range() argument
444 pinctrl_add_gpio_range(pctldev, range); in pinctrl_find_and_add_gpio_range()
471 struct pinctrl_gpio_range *range; in pinctrl_find_gpio_range_from_pin_nolock() local
474 list_for_each_entry(range, &pctldev->gpio_ranges, node) { in pinctrl_find_gpio_range_from_pin_nolock()
476 if (range->pins) { in pinctrl_find_gpio_range_from_pin_nolock()
478 for (a = 0; a < range->npins; a++) { in pinctrl_find_gpio_range_from_pin_nolock()
479 if (range->pins[a] == pin) in pinctrl_find_gpio_range_from_pin_nolock()
480 return range; in pinctrl_find_gpio_range_from_pin_nolock()
482 } else if (pin >= range->pin_base && in pinctrl_find_gpio_range_from_pin_nolock()
483 pin < range->pin_base + range->npins) in pinctrl_find_gpio_range_from_pin_nolock()
484 return range; in pinctrl_find_gpio_range_from_pin_nolock()
500 struct pinctrl_gpio_range *range; in pinctrl_find_gpio_range_from_pin() local
503 range = pinctrl_find_gpio_range_from_pin_nolock(pctldev, pin); in pinctrl_find_gpio_range_from_pin()
506 return range; in pinctrl_find_gpio_range_from_pin()
516 struct pinctrl_gpio_range *range) in pinctrl_remove_gpio_range() argument
519 list_del(&range->node); in pinctrl_remove_gpio_range()
750 struct pinctrl_gpio_range *range; in pinctrl_gpio_can_use_line() local
759 if (pinctrl_get_device_gpio_range(gpio, &pctldev, &range)) in pinctrl_gpio_can_use_line()
765 pin = gpio_to_pin(range, gpio); in pinctrl_gpio_can_use_line()
786 struct pinctrl_gpio_range *range; in pinctrl_gpio_request() local
790 ret = pinctrl_get_device_gpio_range(gpio, &pctldev, &range); in pinctrl_gpio_request()
800 pin = gpio_to_pin(range, gpio); in pinctrl_gpio_request()
802 ret = pinmux_request_gpio(pctldev, range, pin, gpio); in pinctrl_gpio_request()
821 struct pinctrl_gpio_range *range; in pinctrl_gpio_free() local
825 ret = pinctrl_get_device_gpio_range(gpio, &pctldev, &range); in pinctrl_gpio_free()
832 pin = gpio_to_pin(range, gpio); in pinctrl_gpio_free()
834 pinmux_free_gpio(pctldev, pin, range); in pinctrl_gpio_free()
843 struct pinctrl_gpio_range *range; in pinctrl_gpio_direction() local
847 ret = pinctrl_get_device_gpio_range(gpio, &pctldev, &range); in pinctrl_gpio_direction()
855 pin = gpio_to_pin(range, gpio); in pinctrl_gpio_direction()
856 ret = pinmux_gpio_direction(pctldev, range, pin, input); in pinctrl_gpio_direction()
903 struct pinctrl_gpio_range *range; in pinctrl_gpio_set_config() local
907 ret = pinctrl_get_device_gpio_range(gpio, &pctldev, &range); in pinctrl_gpio_set_config()
912 pin = gpio_to_pin(range, gpio); in pinctrl_gpio_set_config()
1634 struct pinctrl_gpio_range *range; in pinctrl_pins_show() local
1657 list_for_each_entry(range, &pctldev->gpio_ranges, node) { in pinctrl_pins_show()
1658 if ((pin >= range->pin_base) && in pinctrl_pins_show()
1659 (pin < (range->pin_base + range->npins))) { in pinctrl_pins_show()
1660 gpio_num = range->base + (pin - range->pin_base); in pinctrl_pins_show()
1741 struct pinctrl_gpio_range *range; in pinctrl_gpioranges_show() local
1748 list_for_each_entry(range, &pctldev->gpio_ranges, node) { in pinctrl_gpioranges_show()
1749 if (range->pins) { in pinctrl_gpioranges_show()
1752 range->id, range->name, in pinctrl_gpioranges_show()
1753 range->base, (range->base + range->npins - 1)); in pinctrl_gpioranges_show()
1754 for (a = 0; a < range->npins - 1; a++) in pinctrl_gpioranges_show()
1755 seq_printf(s, "%u, ", range->pins[a]); in pinctrl_gpioranges_show()
1756 seq_printf(s, "%u}\n", range->pins[a]); in pinctrl_gpioranges_show()
1760 range->id, range->name, in pinctrl_gpioranges_show()
1761 range->base, (range->base + range->npins - 1), in pinctrl_gpioranges_show()
1762 range->pin_base, in pinctrl_gpioranges_show()
1763 (range->pin_base + range->npins - 1)); in pinctrl_gpioranges_show()
2199 struct pinctrl_gpio_range *range, *n; in pinctrl_unregister() local
2221 list_for_each_entry_safe(range, n, &pctldev->gpio_ranges, node) in pinctrl_unregister()
2222 list_del(&range->node); in pinctrl_unregister()