On Wed, Apr 13, 2011 at 11:10 AM, Nori, Sekhar <nsek...@ti.com> 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 <bengardi...@nanometrics.ca> > > Cc: Sekhar Nori <nsek...@ti.com> > > Cc: Ben Dooks <ben-li...@fluff.org> > > > > --- > > 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 _______________________________________________ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source