On Tue, Jun 18, 2013 at 09:44:29AM +0200, Christian Ruppert wrote: > This patch makes the SDA hold time configurable through device tree. > > Signed-off-by: Christian Ruppert <christian.ruppert@xxxxxxxxxx> > Signed-off-by: Pierrick Hascoet <pierrick.hascoet@xxxxxxxxxx> Okay, I am convinced of the property now... > diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c > index 35b70a1..81362e5 100644 > --- a/drivers/i2c/busses/i2c-designware-platdrv.c > +++ b/drivers/i2c/busses/i2c-designware-platdrv.c > @@ -34,6 +34,7 @@ > #include <linux/sched.h> > #include <linux/err.h> > #include <linux/interrupt.h> > +#include <linux/of.h> > #include <linux/of_i2c.h> > #include <linux/platform_device.h> > #include <linux/pm.h> > @@ -121,6 +122,15 @@ static int dw_i2c_probe(struct platform_device *pdev) > return PTR_ERR(dev->clk); > clk_prepare_enable(dev->clk); > > + if (pdev->dev.of_node) { > + u32 ht; > + u32 ic_clk = dev->get_clk_rate_khz(dev); > + > + of_property_read_u32(pdev->dev.of_node, > + "i2c-sda-hold-time-ns", &ht); > + dev->sda_holdO_time = ((u64)ic_clk * ht + 500000) / 1000000; ... but is this correct even if the property is not defined? > + } > + Thanks for all the input so far!
Attachment:
signature.asc
Description: Digital signature