Re: [PATCHv8 3/5] OMAP: I2C: Reset support
On Tue, 13 Dec 2011, Shubhrajyoti D wrote: Under some error conditions the i2c driver may do a reset. Adding a reset field and support in the device-specific code to aid error-recovery. Signed-off-by: Shubhrajyoti D shubhrajy...@ti.com Thanks, queued for 3.3. - Paul -- To unsubscribe from this list: send the line unsubscribe linux-i2c in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv8 3/5] OMAP: I2C: Reset support
Hi Shubhro, On 12/13/2011 11:55 AM, Shubhrajyoti D wrote: Under some error conditions the i2c driver may do a reset. Adding a reset field and support in the device-specific code to aid error-recovery. Signed-off-by: Shubhrajyoti Dshubhrajy...@ti.com --- arch/arm/plat-omap/i2c.c |2 ++ include/linux/i2c-omap.h |1 + 2 files changed, 3 insertions(+), 0 deletions(-) diff --git a/arch/arm/plat-omap/i2c.c b/arch/arm/plat-omap/i2c.c index db071bc..6cddde2 100644 --- a/arch/arm/plat-omap/i2c.c +++ b/arch/arm/plat-omap/i2c.c @@ -179,6 +179,8 @@ static inline int omap2_i2c_add_bus(int bus_id) */ if (cpu_is_omap34xx()) pdata-set_mpu_wkup_lat = omap_pm_set_max_mpu_wakeup_lat_compat; + + pdata-device_reset = omap_device_reset; We should avoid introducing any new pdata function pointers since we are in the process of removing them for DT support. Regards, Benoit -- To unsubscribe from this list: send the line unsubscribe linux-i2c in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv8 3/5] OMAP: I2C: Reset support
Hi Benoit, On Friday 16 December 2011 02:21 PM, Cousson, Benoit wrote: Hi Shubhro, On 12/13/2011 11:55 AM, Shubhrajyoti D wrote: Under some error conditions the i2c driver may do a reset. Adding a reset field and support in the device-specific code to aid error-recovery. Signed-off-by: Shubhrajyoti Dshubhrajy...@ti.com --- arch/arm/plat-omap/i2c.c |2 ++ include/linux/i2c-omap.h |1 + 2 files changed, 3 insertions(+), 0 deletions(-) diff --git a/arch/arm/plat-omap/i2c.c b/arch/arm/plat-omap/i2c.c index db071bc..6cddde2 100644 --- a/arch/arm/plat-omap/i2c.c +++ b/arch/arm/plat-omap/i2c.c @@ -179,6 +179,8 @@ static inline int omap2_i2c_add_bus(int bus_id) */ if (cpu_is_omap34xx()) pdata-set_mpu_wkup_lat = omap_pm_set_max_mpu_wakeup_lat_compat; + +pdata-device_reset = omap_device_reset; We should avoid introducing any new pdata function pointers since we are in the process of removing them for DT support. However if the driver has to do a reset due to some error what is the recommended way? Currently we used to access the SYSC directly I am removing the same and introducing this function pointer. Regards, Benoit -- To unsubscribe from this list: send the line unsubscribe linux-i2c in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCHv8 3/5] OMAP: I2C: Reset support
* Shubhrajyoti shubhrajy...@ti.com [111216 00:25]: Hi Benoit, On Friday 16 December 2011 02:21 PM, Cousson, Benoit wrote: Hi Shubhro, On 12/13/2011 11:55 AM, Shubhrajyoti D wrote: Under some error conditions the i2c driver may do a reset. Adding a reset field and support in the device-specific code to aid error-recovery. Signed-off-by: Shubhrajyoti Dshubhrajy...@ti.com --- arch/arm/plat-omap/i2c.c |2 ++ include/linux/i2c-omap.h |1 + 2 files changed, 3 insertions(+), 0 deletions(-) diff --git a/arch/arm/plat-omap/i2c.c b/arch/arm/plat-omap/i2c.c index db071bc..6cddde2 100644 --- a/arch/arm/plat-omap/i2c.c +++ b/arch/arm/plat-omap/i2c.c @@ -179,6 +179,8 @@ static inline int omap2_i2c_add_bus(int bus_id) */ if (cpu_is_omap34xx()) pdata-set_mpu_wkup_lat = omap_pm_set_max_mpu_wakeup_lat_compat; + +pdata-device_reset = omap_device_reset; We should avoid introducing any new pdata function pointers since we are in the process of removing them for DT support. However if the driver has to do a reset due to some error what is the recommended way? Currently we used to access the SYSC directly I am removing the same and introducing this function pointer. Sounds like this sould be possible to handle with pm_runtime calls from the driver which should end up making the right hwmod calls. Regards, Tony -- To unsubscribe from this list: send the line unsubscribe linux-i2c in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCHv8 3/5] OMAP: I2C: Reset support
Under some error conditions the i2c driver may do a reset. Adding a reset field and support in the device-specific code to aid error-recovery. Signed-off-by: Shubhrajyoti D shubhrajy...@ti.com --- arch/arm/plat-omap/i2c.c |2 ++ include/linux/i2c-omap.h |1 + 2 files changed, 3 insertions(+), 0 deletions(-) diff --git a/arch/arm/plat-omap/i2c.c b/arch/arm/plat-omap/i2c.c index db071bc..6cddde2 100644 --- a/arch/arm/plat-omap/i2c.c +++ b/arch/arm/plat-omap/i2c.c @@ -179,6 +179,8 @@ static inline int omap2_i2c_add_bus(int bus_id) */ if (cpu_is_omap34xx()) pdata-set_mpu_wkup_lat = omap_pm_set_max_mpu_wakeup_lat_compat; + + pdata-device_reset = omap_device_reset; pdev = omap_device_build(name, bus_id, oh, pdata, sizeof(struct omap_i2c_bus_platform_data), NULL, 0, 0); diff --git a/include/linux/i2c-omap.h b/include/linux/i2c-omap.h index 92a0dc7..fd38249 100644 --- a/include/linux/i2c-omap.h +++ b/include/linux/i2c-omap.h @@ -35,6 +35,7 @@ struct omap_i2c_bus_platform_data { u32 rev; u32 flags; void(*set_mpu_wkup_lat)(struct device *dev, long set); + int (*device_reset) (struct device *dev); }; #endif -- 1.7.1 -- To unsubscribe from this list: send the line unsubscribe linux-i2c in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html