diff options
author | Alexandre Courbot <acourbot@nvidia.com> | 2013-12-03 12:20:11 +0900 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2013-12-09 14:05:51 +0100 |
commit | ad824783fb23bbc8295cffb6214b3b82d25f7d4a (patch) | |
tree | 745d128c1d04dca7a6c7b10dd737f116f13ddcb1 /drivers/hid/hid-picolcd_lcd.c | |
parent | bdc54ef45d7670aeb52ce73f8b7ad5f3e5563661 (diff) | |
download | blackbird-op-linux-ad824783fb23bbc8295cffb6214b3b82d25f7d4a.tar.gz blackbird-op-linux-ad824783fb23bbc8295cffb6214b3b82d25f7d4a.zip |
gpio: better lookup method for platform GPIOs
Change the format of the platform GPIO lookup tables to make them less
confusing and improve lookup efficiency.
The previous format was a single linked-list that required to compare
the device name and function ID of every single GPIO defined for each
lookup. Switch that to a list of per-device tables, so that the lookup
can be done in two steps, omitting the GPIOs that are not relevant for a
particular device.
The matching rules are now defined as follows:
- The device name must match *exactly*, and can be NULL for GPIOs not
assigned to a particular device,
- If the function ID in the lookup table is NULL, the con_id argument of
gpiod_get() will not be used for lookup. However, if it is defined, it
must match exactly.
- The index must always match.
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/hid/hid-picolcd_lcd.c')
0 files changed, 0 insertions, 0 deletions