diff options
Diffstat (limited to 'drivers/i2c/busses/i2c-tegra.c')
| -rw-r--r-- | drivers/i2c/busses/i2c-tegra.c | 13 | 
1 files changed, 11 insertions, 2 deletions
| diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c index 36704e3ab3f..b714776b6dd 100644 --- a/drivers/i2c/busses/i2c-tegra.c +++ b/drivers/i2c/busses/i2c-tegra.c @@ -411,7 +411,11 @@ static int tegra_i2c_init(struct tegra_i2c_dev *i2c_dev)  	int clk_multiplier = I2C_CLK_MULTIPLIER_STD_FAST_MODE;  	u32 clk_divisor; -	tegra_i2c_clock_enable(i2c_dev); +	err = tegra_i2c_clock_enable(i2c_dev); +	if (err < 0) { +		dev_err(i2c_dev->dev, "Clock enable failed %d\n", err); +		return err; +	}  	tegra_periph_reset_assert(i2c_dev->div_clk);  	udelay(2); @@ -628,7 +632,12 @@ static int tegra_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[],  	if (i2c_dev->is_suspended)  		return -EBUSY; -	tegra_i2c_clock_enable(i2c_dev); +	ret = tegra_i2c_clock_enable(i2c_dev); +	if (ret < 0) { +		dev_err(i2c_dev->dev, "Clock enable failed %d\n", ret); +		return ret; +	} +  	for (i = 0; i < num; i++) {  		enum msg_end_type end_type = MSG_END_STOP;  		if (i < (num - 1)) { |