[PATCHV2 3/5] OMAP: I2C: Remove the reset in the init path
Shubhrajyoti
shubhrajyoti at ti.com
Fri Jul 29 07:27:44 EDT 2011
On Thursday 21 July 2011 04:57 PM, Santosh Shilimkar wrote:
Thanks for your review.
> On 7/21/2011 4:39 PM, Shubhrajyoti D wrote:
>
<snip>
>> + /*
>> + * Enabling all wakup sources to stop I2C freezing on
>> + * WFI instruction.
>> + * REVISIT: Some wkup sources might not be needed.
>> + */
> Surely not related to your patch. But the 'REVISIT:' caught
> my attention. Is the comment still valid.
Yes I will look and optimise the settings. Obviously all of them may not
be needed.
Will get back on this.
Also I see that we are not writing it for " < OMAP_I2C_REV_ON_3530_4430"
I will send a patch correcting the same.
>
>> + dev->westate = OMAP_I2C_WE_ALL;
>> + if (dev->rev< OMAP_I2C_REV_ON_3530_4430)
> Space if (dev->rev < OMAP_I2C_REV_ON_3530_4430)
>> + omap_i2c_write_reg(dev, OMAP_I2C_WE_REG,
>> + dev->westate);
>> }
>> omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0);
>>
>> @@ -612,6 +572,11 @@ static int omap_i2c_xfer_msg(struct i2c_adapter
>> *adap,
>> return r;
>> if (r == 0) {
>> dev_err(dev->dev, "controller timed out\n");
>> + if (dev->device_reset != NULL) {
>> + r = dev->device_reset(dev->dev);
>> + if (r< 0)
> ditto
>> + dev_err(dev->dev, "reset failed\n");
>> + }
>> omap_i2c_init(dev);
>> return -ETIMEDOUT;
>> }
>> @@ -622,6 +587,11 @@ static int omap_i2c_xfer_msg(struct i2c_adapter
>> *adap,
>> /* We have an error */
>> if (dev->cmd_err& (OMAP_I2C_STAT_AL | OMAP_I2C_STAT_ROVR |
> You can fix this one as well.
>> OMAP_I2C_STAT_XUDF)) {
>> + if (dev->device_reset != NULL) {
>> + r = dev->device_reset(dev->dev);
>> + if (r< 0)
> here too.
>> + dev_err(dev->dev, "reset failed\n");
>> + }
>> omap_i2c_init(dev);
>> return -EIO;
>> }
>> @@ -1024,6 +994,7 @@ omap_i2c_probe(struct platform_device *pdev)
>> if (pdata != NULL) {
>> speed = pdata->clkrate;
>> dev->set_mpu_wkup_lat = pdata->set_mpu_wkup_lat;
>> + dev->device_reset = pdata->device_reset;
>> } else {
>> speed = 100; /* Default speed */
>> dev->set_mpu_wkup_lat = NULL;
>
> Regards
> Santosh
More information about the linux-arm-kernel
mailing list