RE: [PATCH] OMAP I2C: Include OMAP_I2C_SYSC_REG in save and restore.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Kevin,
  Did you get a chance to review this patch?

--
Jagadeesh

> -----Original Message-----
> From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap-owner@xxxxxxxxxxxxxxx] On Behalf Of
> Pakaravoor, Jagadeesh
> Sent: Thursday, January 22, 2009 12:49 PM
> To: linux-omap@xxxxxxxxxxxxxxx
> Cc: jouni.hogander@xxxxxxxxx; khilman@xxxxxxxxxxxxxxxxxxx
> Subject: [PATCH] OMAP I2C: Include OMAP_I2C_SYSC_REG in save and restore.
> 
> From: Jagadeesh Bhaskar Pakaravoor <j-pakaravoor@xxxxxx>
> 
> Save and restore should include OMAP_I2C_SYSC_REG.
> This patch applies on origin/pm.
> 
> Signed-off-by: Jagadeesh Bhaskar Pakaravoor <j-pakaravoor@xxxxxx>
> ---
> Index: linux-omap-2.6/drivers/i2c/busses/i2c-omap.c
> ===================================================================
> --- linux-omap-2.6.orig/drivers/i2c/busses/i2c-omap.c	2009-01-22 12:11:12.000000000 +0530
> +++ linux-omap-2.6/drivers/i2c/busses/i2c-omap.c	2009-01-22 12:44:12.202367296 +0530
> @@ -182,6 +182,7 @@ struct omap_i2c_dev {
>  	u16			scllstate;
>  	u16			sclhstate;
>  	u16			bufstate;
> +	u16			syscstate;
>  };
> 
>  static inline void omap_i2c_write_reg(struct omap_i2c_dev *i2c_dev,
> @@ -240,6 +241,7 @@ static void omap_i2c_unidle(struct omap_
>  		omap_i2c_write_reg(dev, OMAP_I2C_SCLL_REG, dev->scllstate);
>  		omap_i2c_write_reg(dev, OMAP_I2C_SCLH_REG, dev->sclhstate);
>  		omap_i2c_write_reg(dev, OMAP_I2C_BUF_REG, dev->bufstate);
> +		omap_i2c_write_reg(dev, OMAP_I2C_SYSC_REG, dev->syscstate);
>  	}
>  	dev->idle = 0;
>  	omap_i2c_write_reg(dev, OMAP_I2C_IE_REG, dev->iestate);
> @@ -300,14 +302,15 @@ static int omap_i2c_init(struct omap_i2c
>  		} else if (dev->rev >= OMAP_I2C_REV_ON_3430) {
>  			u32 v;
> 
> -			v = SYSC_AUTOIDLE_MASK;
> -			v |= SYSC_ENAWAKEUP_MASK;
> -			v |= (SYSC_IDLEMODE_SMART <<
> +			dev->syscstate = SYSC_AUTOIDLE_MASK;
> +			dev->syscstate |= SYSC_ENAWAKEUP_MASK;
> +			dev->syscstate |= (SYSC_IDLEMODE_SMART <<
>  			      __ffs(SYSC_SIDLEMODE_MASK));
> -			v |= (SYSC_CLOCKACTIVITY_FCLK <<
> +			dev->syscstate |= (SYSC_CLOCKACTIVITY_FCLK <<
>  			      __ffs(SYSC_CLOCKACTIVITY_MASK));
> 
> -			omap_i2c_write_reg(dev, OMAP_I2C_SYSC_REG, v);
> +			omap_i2c_write_reg(dev, OMAP_I2C_SYSC_REG,
> +							dev->syscstate);
>  			/*
>  			 * Enabling all wakup sources to stop I2C freezing on
>  			 * WFI instruction.
> 
> --
> With Regards,
> Jagadeesh Bhaskar P
> 
> ----------------------------
> Some men see things as they are and say why - I dream things that never were and say why not.
> - George Bernard Shaw
> -------------------
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux