[PATCH 2/2] mfd: da9063: ensure all gpio devices are probed before

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



GPIO lines in da9063 are assigned dynamically, while majority of SOC
GPIO drivers assign their GPIOs in static manner (GPIO line numbers can
be calculated).

This introduces regression if deep probe support is used. If da9063
GPIOs are registered before the SOCs GPIOs, there is a good chance that
the SOCs statically computed GPIO line numbers will already be used by
PMIC.

Ensure all SOCs GPIO drivers and GPIO lines get registered before the
da9063 registers its own gpiochip.

Signed-off-by: Andrej Picej <andrej.picej@xxxxxxxxx>
---
 drivers/mfd/da9063.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/mfd/da9063.c b/drivers/mfd/da9063.c
index a4e5226f3c..8b943eb4ef 100644
--- a/drivers/mfd/da9063.c
+++ b/drivers/mfd/da9063.c
@@ -390,6 +390,10 @@ static int da9063_probe(struct device_d *dev)
 	restart_handler_register(&priv->restart);
 
 	if (IS_ENABLED(CONFIG_GPIOLIB)) {
+		ret = of_device_ensured_probed_by_alias_stem("gpio");
+		if (ret)
+			goto on_error;
+
 		priv->gpio.base = -1;
 		priv->gpio.ngpio = 5;
 		priv->gpio.ops  = &da9063_gpio_ops;
-- 
2.25.1


_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux