linux/drivers/pinctrl
Stephen Warren b2b3e66e40 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>
2012-02-22 17:59:31 +01:00
..
Kconfig pinctrl: enable pinmux for mmp series 2012-02-01 19:42:35 +01:00
Makefile pinctrl: enable pinmux for mmp series 2012-02-01 19:42:35 +01:00
core.c pinctrl: Store mapping table as a list of chunks 2012-02-22 17:59:31 +01:00
core.h pinctrl: factor pin control handles over to the core 2012-02-10 21:33:06 +01:00
pinconf.c pinctrl: delete raw device pointers in pinmux maps 2012-02-01 19:42:35 +01:00
pinconf.h pinctrl: add checks for empty function names 2012-01-26 14:13:11 +01:00
pinctrl-coh901.c pinctrl: move generic functions to the pinctrl_ namespace 2012-02-10 21:33:02 +01:00
pinctrl-mmp2.c pinctrl: enable pinmux for mmp series 2012-02-01 19:42:35 +01:00
pinctrl-pxa3xx.c pinctrl: enable pinmux for mmp series 2012-02-01 19:42:35 +01:00
pinctrl-pxa3xx.h pinctrl: enable pinmux for mmp series 2012-02-01 19:42:35 +01:00
pinctrl-pxa168.c pinctrl: enable pinmux for mmp series 2012-02-01 19:42:35 +01:00
pinctrl-pxa910.c pinctrl: enable pinmux for mmp series 2012-02-01 19:42:35 +01:00
pinctrl-sirf.c pinctrl: remove unnecessary max pin number 2012-01-03 09:10:09 +01:00
pinctrl-u300.c pinctrl: remove unnecessary max pin number 2012-01-03 09:10:09 +01:00
pinmux.c pinctrl: use list_add_tail instead of list_add 2012-02-22 17:59:31 +01:00
pinmux.h pinctrl: factor pin control handles over to the core 2012-02-10 21:33:06 +01:00