Skip to content
  • Masahiro Yamada's avatar
    pinctrl: copy per-pin driver private data to struct pin_desc · cd8f61f1
    Masahiro Yamada authored
    
    
    Currently, struct pinctrl_pin_desc can have per-pin driver private
    data, but it is not copied to struct pin_desc.
    
    For a driver with sparse pin space, for-loop search like below would
    be necessary in order to get the driver-specific data for a desired
    pin number.
    
      for (i = 0; i < pctldev->desc->npins; i++)
              if (pin_number == pctldev->desc->pins[i].number)
                      return pctldev->desc->pins[i].drv_data;
    
    This is not efficient for a driver with a large number of pins.
    So, copy the data to struct pin_desc when each pin is registered
    for the faster radix tree lookup.
    
    Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    cd8f61f1