Lines Matching refs:pin_range

784 	struct gpio_pin_range *pin_range;  in gpiochip_add_pingroup_range()  local
787 pin_range = kzalloc(sizeof(*pin_range), GFP_KERNEL); in gpiochip_add_pingroup_range()
788 if (!pin_range) { in gpiochip_add_pingroup_range()
794 pin_range->range.id = gpio_offset; in gpiochip_add_pingroup_range()
795 pin_range->range.gc = chip; in gpiochip_add_pingroup_range()
796 pin_range->range.name = chip->label; in gpiochip_add_pingroup_range()
797 pin_range->range.base = chip->base + gpio_offset; in gpiochip_add_pingroup_range()
798 pin_range->pctldev = pctldev; in gpiochip_add_pingroup_range()
801 &pin_range->range.pins, in gpiochip_add_pingroup_range()
802 &pin_range->range.npins); in gpiochip_add_pingroup_range()
804 kfree(pin_range); in gpiochip_add_pingroup_range()
808 pinctrl_add_gpio_range(pctldev, &pin_range->range); in gpiochip_add_pingroup_range()
811 gpio_offset, gpio_offset + pin_range->range.npins - 1, in gpiochip_add_pingroup_range()
814 list_add_tail(&pin_range->node, &chip->pin_ranges); in gpiochip_add_pingroup_range()
833 struct gpio_pin_range *pin_range; in gpiochip_add_pin_range() local
836 pin_range = kzalloc(sizeof(*pin_range), GFP_KERNEL); in gpiochip_add_pin_range()
837 if (!pin_range) { in gpiochip_add_pin_range()
843 pin_range->range.id = gpio_offset; in gpiochip_add_pin_range()
844 pin_range->range.gc = chip; in gpiochip_add_pin_range()
845 pin_range->range.name = chip->label; in gpiochip_add_pin_range()
846 pin_range->range.base = chip->base + gpio_offset; in gpiochip_add_pin_range()
847 pin_range->range.pin_base = pin_offset; in gpiochip_add_pin_range()
848 pin_range->range.npins = npins; in gpiochip_add_pin_range()
849 pin_range->pctldev = pinctrl_find_and_add_gpio_range(pinctl_name, in gpiochip_add_pin_range()
850 &pin_range->range); in gpiochip_add_pin_range()
851 if (IS_ERR(pin_range->pctldev)) { in gpiochip_add_pin_range()
852 ret = PTR_ERR(pin_range->pctldev); in gpiochip_add_pin_range()
854 kfree(pin_range); in gpiochip_add_pin_range()
862 list_add_tail(&pin_range->node, &chip->pin_ranges); in gpiochip_add_pin_range()
874 struct gpio_pin_range *pin_range, *tmp; in gpiochip_remove_pin_ranges() local
876 list_for_each_entry_safe(pin_range, tmp, &chip->pin_ranges, node) { in gpiochip_remove_pin_ranges()
877 list_del(&pin_range->node); in gpiochip_remove_pin_ranges()
878 pinctrl_remove_gpio_range(pin_range->pctldev, in gpiochip_remove_pin_ranges()
879 &pin_range->range); in gpiochip_remove_pin_ranges()
880 kfree(pin_range); in gpiochip_remove_pin_ranges()