[PATCH] ARM: ux500: Register pinctrl from platform code until it's been DT:ed
Lee Jones
lee.jones at linaro.org
Wed Jul 4 10:34:12 EDT 2012
There are some inconsistencies with the way pinctrl devices are named
when registered from platform code to the ones registered by Device
Tree. Platform devices look like 'pinctrl-db8500', whereas the ones
registered from Device Tree look more like 'pinctrl.2'. This leads to
failure when carrying out name-based searches for known devices.
Until the correct DT bindings have been applied to the pinctrl driver
it will fail to function correctly. For instance, during a Device
Tree boot on Snowball no bootlog is visible due to a UART port probe
failure. Regulators fail in a similar way.
This patch prevents Device Tree from probing the pinctrl driver and
ensures registration is completed from platform code instead.
Signed-off-by: Lee Jones <lee.jones at linaro.org>
---
arch/arm/boot/dts/db8500.dtsi | 1 +
arch/arm/mach-ux500/board-mop500.c | 2 ++
2 files changed, 3 insertions(+)
diff --git a/arch/arm/boot/dts/db8500.dtsi b/arch/arm/boot/dts/db8500.dtsi
index 4ad5160..0e9ca87 100644
--- a/arch/arm/boot/dts/db8500.dtsi
+++ b/arch/arm/boot/dts/db8500.dtsi
@@ -172,6 +172,7 @@
pinctrl {
compatible = "stericsson,nmk_pinctrl";
+ status = "disabled";
};
usb at a03e0000 {
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index 461012a..2a5d46f 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -824,6 +824,8 @@ static void __init u8500_init_machine(void)
/* automatically probe child nodes of db8500 device */
of_platform_populate(NULL, u8500_local_bus_nodes, u8500_auxdata_lookup, parent);
+ dbx500_add_pinctrl(parent, "pinctrl-db8500");
+
if (of_machine_is_compatible("st-ericsson,mop500")) {
mop500_gpio_keys[0].gpio = GPIO_PROX_SENSOR;
--
1.7.9.5
More information about the linux-arm-kernel
mailing list