All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: "Grant Likely" <grant.likely@secretlab.ca>
Cc: linuxppc-dev@ozlabs.org, i2c@lm-sensors.org,
	rtc-linux@googlegroups.com, James Chapman <jchapman@katalix.com>
Subject: Re: [patch/rft 4/4] rtc-ds1307 platform update, powerpc mpc834x_itx and mpc8313_rdb
Date: Mon, 14 May 2007 11:25:58 -0700	[thread overview]
Message-ID: <200705141125.59266.david-b@pacbell.net> (raw)
In-Reply-To: <528646bc0705141044s244ce3ecyad5096c441134203@mail.gmail.com>

On Monday 14 May 2007, Grant Likely wrote:
> > --- at91.orig/drivers/i2c/busses/i2c-mpc.c      2007-05-10 00:48:22.000000000 -0700
> > +++ at91/drivers/i2c/busses/i2c-mpc.c   2007-05-13 10:56:52.000000000 -0700
> > @@ -280,6 +280,7 @@ static struct i2c_adapter mpc_ops = {
> >         .owner = THIS_MODULE,
> >         .name = "MPC adapter",
> >         .id = I2C_HW_MPC107,
> > +       /* .nr = 0, */
> >         .algo = &mpc_algo,
> >         .class = I2C_CLASS_HWMON,
> >         .timeout = 1,
> > @@ -329,7 +330,7 @@ static int fsl_i2c_probe(struct platform
> >         i2c->adap = mpc_ops;
> >         i2c_set_adapdata(&i2c->adap, i2c);
> >         i2c->adap.dev.parent = &pdev->dev;
> > -       if ((result = i2c_add_adapter(&i2c->adap)) < 0) {
> > +       if ((result = i2c_add_numbered_adapter(&i2c->adap)) < 0) {
> >                 printk(KERN_ERR "i2c-mpc - failed to add adapter\n");
> >                 goto fail_add;
> >         }
> 
> I think this will break many boards as more than one i2c adapter is
> common on these chips. 

It didn't look like that from my quick glance at the sources,
but I could have been deceived.  I certainly don't know powerpc
hardware.


> If I read the code correctly, the first 
> adapter will be registered with adap->nr == 0.  The second adapter
> will also be registered with adap->nr == 0; but
> i2c_add_numbered_adapter will return -EBUSY because the id is already
> used.
> 
> I think you need to add this line before the call to i2c_add_numbered_adapter:
> 
> i2c->adap.nr = pdev->id;

If these chips do have multiple instances of that adapter logic,
that would be an appropriate change.  The only "gotcha" might be
that some platforms use the "pdev->id = -1" trick when there's
only a single instance ... that would probably map to zero.

I'll hope that whoever makes all this work will resolve those
particular questions ...

- Dave

  reply	other threads:[~2007-05-14 18:26 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-14 16:46 [patch/rft 4/4] rtc-ds1307 platform update, powerpc mpc834x_itx and mpc8313_rdb David Brownell
2007-05-14 17:44 ` Grant Likely
2007-05-14 18:25   ` David Brownell [this message]
2007-05-14 18:49     ` David Brownell
2007-05-14 19:02       ` Grant Likely
2007-05-15 13:24       ` [i2c] " Jean Delvare
2007-05-14 18:05 ` Olof Johansson
2007-05-14 18:37   ` David Brownell
2007-05-14 18:52     ` [rtc-linux] " Alessandro Zummo
2007-05-14 19:30     ` Olof Johansson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200705141125.59266.david-b@pacbell.net \
    --to=david-b@pacbell.net \
    --cc=grant.likely@secretlab.ca \
    --cc=i2c@lm-sensors.org \
    --cc=jchapman@katalix.com \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=rtc-linux@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.