[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BANLkTikskhqNk3NihqJ5kZhFqn1YpJEN9A@mail.gmail.com>
Date: Wed, 13 Apr 2011 19:04:34 -0400
From: Mike Williamson <michael.williamson@...ticallink.com>
To: "Nori, Sekhar" <nsekhar@...com>
Cc: Ben Gardiner <bengardiner@...ometrics.ca>,
"davinci-linux-open-source@...ux.davincidsp.com"
<davinci-linux-open-source@...ux.davincidsp.com>,
"linux-i2c@...r.kernel.org" <linux-i2c@...r.kernel.org>,
Ben Dooks <ben-linux@...ff.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Bastian Ruppert <Bastian.Ruppert@...erin.de>,
Philby John <pjohn@...mvista.com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH 6/6] da8xx: enable the use of the ICPFUNC in i2c-davinci
On Wed, Apr 13, 2011 at 11:10 AM, Nori, Sekhar <nsekhar@...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 <bengardiner@...ometrics.ca>
> > Cc: Sekhar Nori <nsekhar@...com>
> > Cc: Ben Dooks <ben-linux@...ff.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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists