dm: core: Don't use pinctrl for the root device
authorSimon Glass <sjg@chromium.org>
Sat, 12 Sep 2015 14:45:19 +0000 (08:45 -0600)
committerSimon Glass <sjg@chromium.org>
Mon, 5 Oct 2015 14:47:49 +0000 (15:47 +0100)
commit84d26e296ab62b172f73b5367d9b7295309dfdd5
tree9b7b34af512bbe3e5df68ca9fb379860e26b6203
parent996ec1dcc58a34b53891acde0ec5df9141b5fcc2
dm: core: Don't use pinctrl for the root device

Currently when driver model starts up it finds the root uclass and the
pinctrl uclass. This is because even the root node handles pinctrl
processing.

But this is not useful. The root node is not a real hardware device so
cannot require any particular pinmux settings. Also it means that the
memory leak tests fails, since they end up freeing more memory than
they allocate: the marker it set after the root device and pinctrl
uclass are allocated, and later once the pinctrl uclass is freed the memory
used by driver model is less than when the marker was set.

If a platform needs 'core' pin mulitplex settings it can do this with
a driver that is probed on start-up. It would be an abuse of the root node
to use this for pinctrl.

To avoid this problem, only process pinctrl settings for non-root nodes.

Signed-off-by: Simon Glass <sjg@chromium.org>
drivers/core/device.c