[PATCH v2] ARM: i.MX: phytec-som-imx6: phycore: fix updating pmic regulators

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

 



Currently the fixup code assumes that only one i2c bus is active. If we
reuse the board code for other boards this isn't always true. Fix that
by using of_find_i2c_adapter_by_node() to address both cases.

Fixes: b6bebb7aca ("ARM: i.MX: phytec-som-imx6: phycore: Set BUCK mode to SYNC")
Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx>
---
Changelog:

v2:
- Make use of of_find_i2c_adapter_by_node() to get the right adapter.
---
 arch/arm/boards/phytec-som-imx6/board.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boards/phytec-som-imx6/board.c b/arch/arm/boards/phytec-som-imx6/board.c
index 730115702b..27a1ad4f66 100644
--- a/arch/arm/boards/phytec-som-imx6/board.c
+++ b/arch/arm/boards/phytec-som-imx6/board.c
@@ -115,12 +115,16 @@ static int ksz8081_phy_fixup(struct phy_device *phydev)
 static int phycore_da9062_setup_buck_mode(void)
 {
 	struct i2c_adapter *adapter = NULL;
+	struct device_node *pmic_np = NULL;
 	struct i2c_client client;
 	unsigned char value;
-	int bus = 0;
 	int ret;
 
-	adapter = i2c_get_adapter(bus);
+	pmic_np = of_find_node_by_name(NULL, "pmic@58");
+	if (!pmic_np)
+		return -ENODEV;
+
+	adapter = of_find_i2c_adapter_by_node(pmic_np->parent);
 	if (!adapter)
 		return -ENODEV;
 
-- 
2.20.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