linux/drivers/pinctrl
Linus Walleij 97607d157c pinctrl: make a copy of pinmux map
This makes a deep copy of the pinmux function map instead of
keeping the copy supplied from the platform around. This makes
it possible to tag the platforms map with __initdata as is also
done as part of this patch.

Rationale: a certain target platform (PXA) has numerous
pinmux maps, many of which will be lying around unused after
boot in a multi-platform binary. Instead, deep-copy the one
we're going to use and tag them all __initdata so they go away
after boot.

ChangeLog v1->v2:
- Fixup the deep copy, missed a few items on the struct,
  plus mark bool member non-const since we're making runtime
  copies if this stuff now.
ChangeLog v2->v3:
- Make a shallow copy (just copy the array of map structs)
  as Arnd noticed, string constants never get discarded by the
  kernel anyway, so these pointers may be safely copied over.

Reviewed-by: Arnd Bergmann <arnd.bergmann@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2012-01-03 09:10:02 +01:00
..
core.c pinctrl: print pin range in GPIO range debugs 2012-01-03 09:10:01 +01:00
core.h pinctrl: unify pin type from signed to unsigned 2012-01-03 09:10:00 +01:00
Kconfig pinctrl: hide subsystem from the populace 2011-11-10 09:02:12 +01:00
Makefile pinctrl: make the "Debug PINCTRL calls" entry actually do something 2011-12-08 16:17:47 +01:00
pinmux-sirf.c pinctrl: add a pin_base for sparse gpio-ranges 2012-01-03 09:10:01 +01:00
pinmux-u300.c pinctrl: add a pin_base for sparse gpio-ranges 2012-01-03 09:10:01 +01:00
pinmux.c pinctrl: make a copy of pinmux map 2012-01-03 09:10:02 +01:00
pinmux.h drivers: create a pin control subsystem 2011-10-13 12:49:17 +02:00