Thread (19 messages) 19 messages, 6 authors, 2013-12-09

Re: [PATCH v3] gpio: better lookup method for platform GPIOs

From: Linus Walleij <hidden>
Date: 2013-12-03 12:12:17
Also in: lkml

On Tue, Dec 3, 2013 at 4:20 AM, Alexandre Courbot [off-list ref] wrote:
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>
---
Changes since v2:
- Removed size member of the gpiod_lookup_table struct (thanks Heikki!)
- Added Andy's reviewed-by
OK looks good, however I must get my fixes stack to Torvalds
and pull -rc3 back in before I can apply this, it seems, as
it builds upon pending fixes.

Yours,
Linus Walleij
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help