On Wed, Apr 13, 2011 at 11:10 AM, Nori, Sekhar <nsekhar@xxxxxx> wrote: > > Hi Ben, > > On Wed, Apr 06, 2011 at 03:08:09, Ben Gardiner wrote: > > Both the da850 and da830 have an I2C controller which has the ICPFUNC > > registers. Indicate this for all da830 and da850 boards by setting the > > has_pfunc flag true in the da8xx utility setup routine for registering the > > I2C controller > > > > Signed-off-by: Ben Gardiner <bengardiner@xxxxxxxxxxxxxx> > > Cc: Sekhar Nori <nsekhar@xxxxxx> > > Cc: Ben Dooks <ben-linux@xxxxxxxxx> > > > > --- > > Âarch/arm/mach-davinci/devices-da8xx.c | Â Â6 ++++++ > > Â1 files changed, 6 insertions(+), 0 deletions(-) > > > > diff --git a/arch/arm/mach-davinci/devices-da8xx.c b/arch/arm/mach-davinci/devices-da8xx.c > > index beda8a4..da01558 100644 > > --- a/arch/arm/mach-davinci/devices-da8xx.c > > +++ b/arch/arm/mach-davinci/devices-da8xx.c > > @@ -324,6 +324,12 @@ int __init da8xx_register_i2c(int instance, > > Â Â Â else > > Â Â Â Â Â Â Â return -EINVAL; > > > > + Â Â /* > > + Â Â Â* Both the DA850 and DA830 have an I2C controller which has the > > + Â Â Â* ICPFUNC et. al. registers > > + Â Â Â*/ > > + Â Â pdata->has_pfunc = 1; > > The I2C driver implements a default platform data > so it should actually be legal for a DA8x board to > pass NULL platform data. In that case this line > will crash. You should either check for pdata to > be NULL or just let each board choose whether it > needs recovery (I think the better option). > I actually had a problem with using NULL for pdata with davinci I2C and had submitted a patch here that sort of fell on the floor. The problem was that the i2c_davinci_calc_clk_dividers is using platform_data without a check as described above. So at the moment using NULL doesn't really work, best as I can tell... https://lkml.org/lkml/2010/9/4/119 FWIW. -Mike -- 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