On Fri, Jun 30, 2017 at 3:54 AM, Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx> wrote: > Use device_property_read_u32 instead of of_property_read_u32_index to > lookup the "clock-frequency" property. My comments below. > > Signed-off-by: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx> > --- > drivers/i2c/busses/i2c-pca-platform.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/drivers/i2c/busses/i2c-pca-platform.c b/drivers/i2c/busses/i2c-pca-platform.c > index 1e3c247de8f8..80420f753a87 100644 > --- a/drivers/i2c/busses/i2c-pca-platform.c > +++ b/drivers/i2c/busses/i2c-pca-platform.c > @@ -176,13 +176,12 @@ static int i2c_pca_pf_probe(struct platform_device *pdev) > if (platform_data) { > i2c->adap.timeout = platform_data->timeout; > i2c->algo_data.i2c_clock = platform_data->i2c_clock_speed; > } else { > i2c->adap.timeout = HZ; > - i2c->algo_data.i2c_clock = 59000; > + ret = device_property_read_u32(&pdev->dev, "clock-frequency", > + &i2c->algo_data.i2c_clock); > + if (ret) > + i2c->algo_data.i2c_clock = 59000; My idea is to get rid of legacy platform data completely. That's why I suggested device_* in the first place. In similar way like you did with GPIO lookup table, you may use PROPERTY_ENTRY*() macros in the board files. Does it make sense? -- With Best Regards, Andy Shevchenko