Ports should be defined in the devicetree if they are to be enabled on
the system.

Signed-off-by: Eddie James <[email protected]>
Signed-off-by: Joel Stanley <[email protected]>
---
 drivers/i2c/busses/i2c-fsi.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/i2c/busses/i2c-fsi.c b/drivers/i2c/busses/i2c-fsi.c
index 977d6f524649..95b6b6bc1d78 100644
--- a/drivers/i2c/busses/i2c-fsi.c
+++ b/drivers/i2c/busses/i2c-fsi.c
@@ -703,7 +703,12 @@ static int fsi_i2c_probe(struct device *dev)
 
        for (port_no = 0; port_no < ports; port_no++) {
                np = fsi_i2c_find_port_of_node(dev->of_node, port_no);
-               if (np && !of_device_is_available(np))
+               /* Do not add port if it is not described in the device tree */
+               if (!np)
+                       continue;
+
+               /* Do not add port if it is described as disabled */
+               if (!of_device_is_available(np))
                        continue;
 
                port = kzalloc(sizeof(*port), GFP_KERNEL);
-- 
2.24.0

Reply via email to