Re: [PATCH 6/6] da8xx: enable the use of the ICPFUNC in i2c-davinci

From: Mike Williamson
Date: Wed Apr 13 2011 - 19:05:25 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/