summaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/pinmux.h
diff options
context:
space:
mode:
authorStephen Warren2012-02-20 07:45:43 +0100
committerLinus Walleij2012-02-22 17:59:31 +0100
commitb2b3e66e40bb60b1aa222d2f712c019653215390 (patch)
tree94806f8a31ba5baa2b172b67234c08643fbcefd9 /drivers/pinctrl/pinmux.h
parentpinctrl: use list_add_tail instead of list_add (diff)
downloadkernel-qcow2-linux-b2b3e66e40bb60b1aa222d2f712c019653215390.tar.gz
kernel-qcow2-linux-b2b3e66e40bb60b1aa222d2f712c019653215390.tar.xz
kernel-qcow2-linux-b2b3e66e40bb60b1aa222d2f712c019653215390.zip
pinctrl: Store mapping table as a list of chunks
Instead of storing a single array of mapping table entries, which requires realloc()ing that array each time it's extended and copying the new data, simply store a list of pointers to the individual chunks. This also removes the need to copy the mapping table at all; a pointer is maintained to the original table, this saving memory. A macro for_each_maps() is introduced to hide the additional complexity of iterating over the map entries. This change will also simplify removing chunks of entries from the mapping table. This isn't important right now, but will be in the future, when mapping table entries are dynamically added when parsing them from the device tree, and removed when drivers no longer need to interact with pinctrl. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/pinmux.h')
0 files changed, 0 insertions, 0 deletions