From patchwork Thu Jan 23 18:48:26 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 240017 List-Id: U-Boot discussion From: sjg at chromium.org (Simon Glass) Date: Thu, 23 Jan 2020 11:48:26 -0700 Subject: [PATCH v3 23/23] i2c: designware_i2c: Do more in the probe() method In-Reply-To: <20200123184826.116850-1-sjg@chromium.org> References: <20200123184826.116850-1-sjg@chromium.org> Message-ID: <20200123114556.v3.23.I285f5a7aa0a0de7b3b1db30e243a2f17384a97bd@changeid> Move some of the code currently in the ofdata_to_platdata() method to probe() so that it is not executed when generating ACPI tables. Signed-off-by: Simon Glass --- Changes in v3: - Add new patch to do more in the probe() method Changes in v2: None drivers/i2c/designware_i2c.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/i2c/designware_i2c.c b/drivers/i2c/designware_i2c.c index 39af25af9a..c8c5d2c331 100644 --- a/drivers/i2c/designware_i2c.c +++ b/drivers/i2c/designware_i2c.c @@ -704,6 +704,7 @@ static int designware_i2c_probe_chip(struct udevice *bus, uint chip_addr, int designware_i2c_ofdata_to_platdata(struct udevice *bus) { struct dw_i2c *priv = dev_get_priv(bus); + int ret; if (!priv->regs) priv->regs = (struct i2c_regs *)devfdt_get_addr_ptr(bus); @@ -711,14 +712,6 @@ int designware_i2c_ofdata_to_platdata(struct udevice *bus) dev_read_u32(bus, "i2c-scl-falling-time-ns", &priv->scl_fall_time_ns); dev_read_u32(bus, "i2c-sda-hold-time-ns", &priv->sda_hold_time_ns); - return 0; -} - -int designware_i2c_probe(struct udevice *bus) -{ - struct dw_i2c *priv = dev_get_priv(bus); - int ret; - ret = reset_get_bulk(bus, &priv->resets); if (ret) dev_warn(bus, "Can't get reset: %d\n", ret); @@ -738,6 +731,13 @@ int designware_i2c_probe(struct udevice *bus) } #endif + return 0; +} + +int designware_i2c_probe(struct udevice *bus) +{ + struct dw_i2c *priv = dev_get_priv(bus); + return __dw_i2c_init(priv->regs, 0, 0); }