Re: [PATCH REBASE 1/2] i2c: tegra: I2_M_NOSTART functionality notsupported in Tegra20

From: Laxman Dewangan
Date: Sat Aug 18 2012 - 09:08:27 EST


Thanks for review.

On Saturday 18 August 2012 06:17 PM, Wolfram Sang wrote:
* PGP Signed by an unknown key

On Sat, Aug 18, 2012 at 12:32:34AM +0530, Laxman Dewangan wrote:
+ bool has_continue_xfer_support;
I wonder if it makes sense to carry a pointer here to the
tegra_i2c_hw_feature in use instead of copying all entries by hand,
since they might get more and more.


Ok, we can store the hw pointer in device structure. I will send the new patch.

};

static void dvc_writel(struct tegra_i2c_dev *i2c_dev, u32 val, unsigned long reg)
@@ -563,7 +574,17 @@ static int tegra_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[],
if (i2c_dev->is_suspended)
return -EBUSY;

- clk_prepare_enable(i2c_dev->div_clk);
+ /* Support I2C_M_NOSTART only if HW support continue xfer. */
+ for (i = 0; i< num - 1; i++) {
+ if ((msgs[i + 1].flags& I2C_M_NOSTART)&&
+ !i2c_dev->has_continue_xfer_support) {
+ dev_err(i2c_dev->dev,
+ "mesg %d have illegal flag\n", i + 1);
+ return -EINVAL;
+ }
+ }
Drivers are requested to explicitly check for features of the I2C bus
(like M_NOSTART) before using them, so I'd skip this extra check.


Ok, I kept this as part of flag checking so illegal flag should not be passed. I will remove this on next version patch.

+
+ clk_prepare_enable(i2c_dev->clk);
From a glimpse, this change looks unrelated at least. Even wrong, no?


It was already there, just before above check. Due to insertion of check, this code shifted, otherwise it is not a new code.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/