From 22ecff594d9248f0a63e191e31d48f417a946d75 Mon Sep 17 00:00:00 2001
From: Jean-Jacques Hiblot <jjhiblot@ti.com>
Date: Tue, 11 Dec 2018 19:56:34 +0100
Subject: [PATCH] i2c: tegra: Fix regression by implementing a dummy
 probe_chip() callback

Commit f32a8007ef0f ("dm: i2c: Make i2c_get_chip_for_busnum() fail if the
chip is not detected") introduced a regression for the NVIDIA Jetson TX2.

For some reason the xfer callback of the tegra i2c driver doesn't support
probing the I2C devices with a 0-length message.
Fixing the regression by providing a dummy implementation of probe_chip()
that does nothing.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
---
 drivers/i2c/tegra186_bpmp_i2c.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/i2c/tegra186_bpmp_i2c.c b/drivers/i2c/tegra186_bpmp_i2c.c
index b4fff43269..793f3f59b5 100644
--- a/drivers/i2c/tegra186_bpmp_i2c.c
+++ b/drivers/i2c/tegra186_bpmp_i2c.c
@@ -85,6 +85,12 @@ static int tegra186_bpmp_i2c_xfer(struct udevice *dev, struct i2c_msg *msg,
 	return 0;
 }
 
+static int tegra186_bpmp_probe_chip(struct udevice *bus, uint chip_addr,
+				    uint chip_flags)
+{
+	return 0;
+}
+
 static int tegra186_bpmp_i2c_probe(struct udevice *dev)
 {
 	struct tegra186_bpmp_i2c *priv = dev_get_priv(dev);
@@ -101,6 +107,7 @@ static int tegra186_bpmp_i2c_probe(struct udevice *dev)
 
 static const struct dm_i2c_ops tegra186_bpmp_i2c_ops = {
 	.xfer = tegra186_bpmp_i2c_xfer,
+	.probe_chip = tegra186_bpmp_probe_chip,
 };
 
 static const struct udevice_id tegra186_bpmp_i2c_ids[] = {
-- 
2.39.5