diff options
author | Colin Cross <ccross@android.com> | 2011-04-07 14:42:57 -0700 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:37:03 -0800 |
commit | a6fe57bb9aa543f85754470f0d4d7636933bde69 (patch) | |
tree | f8f4cf86c5795b1d76d49189501faa86677bb1bd /drivers/i2c | |
parent | d05226c93c72cc56f469fbd6383a23a9aa728d9b (diff) |
Fix i2c build
Change-Id: I558577e86654bc9a5a2cbfeeeb8055454ab8f328
Diffstat (limited to 'drivers/i2c')
-rw-r--r-- | drivers/i2c/busses/i2c-tegra.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c index 10fdc96a338c..311612580676 100644 --- a/drivers/i2c/busses/i2c-tegra.c +++ b/drivers/i2c/busses/i2c-tegra.c @@ -100,6 +100,16 @@ #define I2C_HEADER_MASTER_ADDR_SHIFT 12 #define I2C_HEADER_SLAVE_ADDR_SHIFT 1 +struct tegra_i2c_dev; + +struct tegra_i2c_bus { + struct tegra_i2c_dev *dev; + const struct tegra_pingroup_config *mux; + int mux_len; + unsigned long bus_clk_rate; + struct i2c_adapter adapter; +}; + /** * struct tegra_i2c_dev - per device i2c context * @dev: device reference for power management @@ -143,14 +153,6 @@ struct tegra_i2c_dev { struct tegra_i2c_bus busses[1]; }; -struct tegra_i2c_bus { - struct tegra_i2c_dev *dev; - const struct tegra_pingroup_config *mux; - int mux_len; - unsigned long bus_clk_rate; - struct i2c_adapter adapter; -}; - static void dvc_writel(struct tegra_i2c_dev *i2c_dev, u32 val, unsigned long reg) { writel(val, i2c_dev->base + reg); @@ -562,9 +564,9 @@ static int tegra_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], i2c_dev->last_mux_len = i2c_bus->mux_len; } - if (i2c_dev->last_bus_clk != i2c_bus->bus_clk_rate) { - tegra_i2c_set_clk(i2c_dev, i2c_bus->bus_clk_rate); - i2c_dev->last_bus_clk = i2c_bus->bus_clk_rate; + if (i2c_dev->last_bus_clk_rate != i2c_bus->bus_clk_rate) { + clk_set_rate(i2c_dev, i2c_bus->bus_clk_rate * 8); + i2c_dev->last_bus_clk_rate = i2c_bus->bus_clk_rate; } clk_enable(i2c_dev->clk); |