You're seeing just the function request_lines, go back to Circuits.GPIO.Chip module for more information.
Link to this function

request_lines(chip, offsets, direction)

View Source


request_lines(t() | String.t(), [offset()], line_direction()) ::
  {:ok, Circuits.GPIO.Chip.LineHandle.t()}

Request a line handle for multiple GPIO offsets

{:ok, line_handle} = Circuits.GPIO.Chip.request_lines(my_gpio_chip, [17, 24], :output)

For the GPIO character device driver you drive GPIOs by requesting for a line handle what contains one or more GPIO offsets. The line handle is mechanism by which you can read and set the values of the GPIO(s). The line handle is attached to the calling process and kernel will not allow others to control the GPIO(s) that are part of that the line handle. Moreover, one the process that requested the line handle goes away the kernel will be able to automatically free the system resources that were tied to that line handle.