Lines Matching refs:range

295 static inline int gpio_to_pin(struct pinctrl_gpio_range *range,  in gpio_to_pin()  argument
298 unsigned int offset = gpio - range->base; in gpio_to_pin()
299 if (range->pins) in gpio_to_pin()
300 return range->pins[offset]; in gpio_to_pin()
302 return range->pin_base + offset; in gpio_to_pin()
316 struct pinctrl_gpio_range *range = NULL; in pinctrl_match_gpio_range() local
320 list_for_each_entry(range, &pctldev->gpio_ranges, node) { in pinctrl_match_gpio_range()
322 if (gpio >= range->base && in pinctrl_match_gpio_range()
323 gpio < range->base + range->npins) { in pinctrl_match_gpio_range()
325 return range; in pinctrl_match_gpio_range()
349 struct pinctrl_gpio_range *range = NULL; in pinctrl_ready_for_gpio_range() local
361 list_for_each_entry(range, &pctldev->gpio_ranges, node) { in pinctrl_ready_for_gpio_range()
363 if (range->base + range->npins - 1 < chip->base || in pinctrl_ready_for_gpio_range()
364 range->base > chip->base + chip->ngpio - 1) in pinctrl_ready_for_gpio_range()
402 struct pinctrl_gpio_range *range; in pinctrl_get_device_gpio_range() local
404 range = pinctrl_match_gpio_range(pctldev, gpio); in pinctrl_get_device_gpio_range()
405 if (range != NULL) { in pinctrl_get_device_gpio_range()
407 *outrange = range; in pinctrl_get_device_gpio_range()
427 struct pinctrl_gpio_range *range) in pinctrl_add_gpio_range() argument
430 list_add_tail(&range->node, &pctldev->gpio_ranges); in pinctrl_add_gpio_range()
447 struct pinctrl_gpio_range *range) in pinctrl_find_and_add_gpio_range() argument
461 pinctrl_add_gpio_range(pctldev, range); in pinctrl_find_and_add_gpio_range()
493 struct pinctrl_gpio_range *range; in pinctrl_find_gpio_range_from_pin() local
497 list_for_each_entry(range, &pctldev->gpio_ranges, node) { in pinctrl_find_gpio_range_from_pin()
499 if (range->pins) { in pinctrl_find_gpio_range_from_pin()
501 for (a = 0; a < range->npins; a++) { in pinctrl_find_gpio_range_from_pin()
502 if (range->pins[a] == pin) in pinctrl_find_gpio_range_from_pin()
505 } else if (pin >= range->pin_base && in pinctrl_find_gpio_range_from_pin()
506 pin < range->pin_base + range->npins) in pinctrl_find_gpio_range_from_pin()
509 range = NULL; in pinctrl_find_gpio_range_from_pin()
512 return range; in pinctrl_find_gpio_range_from_pin()
522 struct pinctrl_gpio_range *range) in pinctrl_remove_gpio_range() argument
525 list_del(&range->node); in pinctrl_remove_gpio_range()
573 struct pinctrl_gpio_range *range; in pinctrl_request_gpio() local
577 ret = pinctrl_get_device_gpio_range(gpio, &pctldev, &range); in pinctrl_request_gpio()
587 pin = gpio_to_pin(range, gpio); in pinctrl_request_gpio()
589 ret = pinmux_request_gpio(pctldev, range, pin, gpio); in pinctrl_request_gpio()
608 struct pinctrl_gpio_range *range; in pinctrl_free_gpio() local
612 ret = pinctrl_get_device_gpio_range(gpio, &pctldev, &range); in pinctrl_free_gpio()
619 pin = gpio_to_pin(range, gpio); in pinctrl_free_gpio()
621 pinmux_free_gpio(pctldev, pin, range); in pinctrl_free_gpio()
630 struct pinctrl_gpio_range *range; in pinctrl_gpio_direction() local
634 ret = pinctrl_get_device_gpio_range(gpio, &pctldev, &range); in pinctrl_gpio_direction()
642 pin = gpio_to_pin(range, gpio); in pinctrl_gpio_direction()
643 ret = pinmux_gpio_direction(pctldev, range, pin, input); in pinctrl_gpio_direction()
1422 struct pinctrl_gpio_range *range = NULL; in pinctrl_gpioranges_show() local
1429 list_for_each_entry(range, &pctldev->gpio_ranges, node) { in pinctrl_gpioranges_show()
1430 if (range->pins) { in pinctrl_gpioranges_show()
1433 range->id, range->name, in pinctrl_gpioranges_show()
1434 range->base, (range->base + range->npins - 1)); in pinctrl_gpioranges_show()
1435 for (a = 0; a < range->npins - 1; a++) in pinctrl_gpioranges_show()
1436 seq_printf(s, "%u, ", range->pins[a]); in pinctrl_gpioranges_show()
1437 seq_printf(s, "%u}\n", range->pins[a]); in pinctrl_gpioranges_show()
1441 range->id, range->name, in pinctrl_gpioranges_show()
1442 range->base, (range->base + range->npins - 1), in pinctrl_gpioranges_show()
1443 range->pin_base, in pinctrl_gpioranges_show()
1444 (range->pin_base + range->npins - 1)); in pinctrl_gpioranges_show()
1835 struct pinctrl_gpio_range *range, *n; in pinctrl_unregister() local
1854 list_for_each_entry_safe(range, n, &pctldev->gpio_ranges, node) in pinctrl_unregister()
1855 list_del(&range->node); in pinctrl_unregister()