summaryrefslogtreecommitdiff
path: root/drivers/i2c
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2011-04-07 14:42:57 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:37:03 -0800
commita6fe57bb9aa543f85754470f0d4d7636933bde69 (patch)
treef8f4cf86c5795b1d76d49189501faa86677bb1bd /drivers/i2c
parentd05226c93c72cc56f469fbd6383a23a9aa728d9b (diff)
Fix i2c build
Change-Id: I558577e86654bc9a5a2cbfeeeb8055454ab8f328
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/busses/i2c-tegra.c24
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);