Kevin, On Fri, Sep 16, 2011 at 12:46 AM, Kevin Hilman <khilman@xxxxxx> wrote: > Hi Jean, > > Jean Pihet <jean.pihet@xxxxxxxxxxxxxx> writes: > >> Convert the driver from the outdated omap_pm_set_max_mpu_wakeup_lat >> API to the new PM QoS API. >> Since the constraint is on the MPU subsystem, use the PM_QOS_CPU_DMA_LATENCY >> class of PM QoS. The resulting MPU constraints are used by cpuidle to >> decide the next power state of the MPU subsystem. >> >> Currently only OMAP3 is placing constraints on the MPU. >> >> Signed-off-by: Jean Pihet <j-pihet@xxxxxx> > > [...] > >> @@ -648,8 +648,16 @@ omap_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num) >> if (r < 0) >> goto out; >> >> - if (dev->set_mpu_wkup_lat != NULL) >> - dev->set_mpu_wkup_lat(dev->dev, dev->latency); >> + /* >> + * When waiting for completion of a i2c transfer, we need to >> + * set a wake up latency constraint for the MPU. This is to >> + * ensure quick enough wakeup from idle, when transfer >> + * completes. >> + * Used on OMAP3 Only >> + */ >> + if (cpu_is_omap34xx()) > > We don't want any cpu_is_* checking in drivers. > > If this is only done on certain SoCs, then a flag should be passed from > device init code via pdata. > > That being said, I don't see why this shouldn't be set for all SoCs > since it's using the FIFO size to determine the latency. I am OK to have the constraints active for all OMAPs. Side question: what if different SOCs need different values for the constraint? > > Kevin > Regards, Jean -- 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