Hi Grygorii, On Mon, Nov 24, 2014 at 03:15:58PM +0200, Grygorii Strashko wrote: > On 11/23/2014 07:04 PM, Uwe Kleine-König wrote: > > On Thu, Nov 20, 2014 at 12:03:08PM +0200, Grygorii Strashko wrote: > >> @@ -664,6 +759,7 @@ static int davinci_i2c_probe(struct platform_device *pdev) > >> if (!of_property_read_u32(pdev->dev.of_node, "clock-frequency", > >> &prop)) > >> dev->pdata->bus_freq = prop / 1000; > >> + dev->pdata->has_pfunc = true; > > I don't understand this. Why does this ICPFUNC recovery work if the bus > > is probed by oftree, but doesn't if not? > > I've mentioned this in commit message: > Allow platforms to indicate the presence of the ICPFUNC registers with a has_pfunc > platform data flag and enable this mode for platforms which supports DT (da850 and > Keystone 2 are two SoCs which support DT now and they also support ICPFUNC registers). Ah, so you assume that in the dt case the pfunc functionality is available. I didn't understand if it's bad or not if this assumption is wrong, but I suggest to only use the pfunc stuff if the device node has a given property (e.g. ti,has_pfunc). Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html