All of lore.kernel.org
 help / color / mirror / Atom feed
From: khali@linux-fr.org (Jean Delvare)
To: lm-sensors@vger.kernel.org
Subject: [lm-sensors] PATCH- i2c-iop3xx platform driver avoid addressing
Date: Sun, 18 Jun 2006 18:45:03 +0000	[thread overview]
Message-ID: <20060618204503.68fce2aa.khali@linux-fr.org> (raw)
In-Reply-To: <44931779.6050302@d-tacq.com>

Hi Peter,

> Thanks very much for reviewing this patch, you have given me some useful 
> insights.
> Please consider the revised patch which addresses the issues you raise.

My pleasure, here we go:

> > BTW, you must be using an old version of i2cdetect, as the slave address
> > appears to be forced to 0x02 in the i2c-iop3xx driver (not a smart
> > choice...) and i2cdetect does no more scan this address by default.
>
> OK, new patch leaves the slave address at default 0.

Huh, this might be worst :/ 0 is the "general call address", think of
it as a broadcast address. 2 is reserved for "CBUS compatibility"
(whatever it is.)

I would suggest 8, which is the "SMBus host" address in the SMBus spec
- unless you have to deal with multi-master busses where this address
might be already taken by another master.

Note that I have no strong opinion on this either, as long as nothing
breaks and you are happy...

> I note that i2cdetect now scans from 0x3, but I'd still prefer to 
> prevent writes to the device's own address since this wedges the unit.

Sure, I have no problem with this.

> @@ -243,12 +240,19 @@ iop3xx_i2c_wait_idle(struct i2c_algo_iop
>  
>  static int 
>  iop3xx_i2c_send_target_addr(struct i2c_algo_iop3xx_data *iop3xx_adap, 
> -				struct i2c_msg* msg)
> +			    struct i2c_msg* msg)
>  {

Please don't mix cleanups with real changes!

>  	unsigned long cr = __raw_readl(iop3xx_adap->ioaddr + CR_OFFSET);
>  	int status;
>  	int rc;
>  
> +	/* avoid writing to my slave address (hangs on 80331),
> +	 * forbidden in Intel developer manual
> +	 */
> +	if (msg->addr = MYSAR) {
> +		return -I2C_ERR_WRITEMYSAR;
> +	}
> +	

How will the address be reported by i2cdetect? As if there was no chip
there, I guess (XX)? I'm a bit worried about this, as someone might
then want to use the address for something else without realizing that
the address is already in use. Would it be possible to make it so that
the address would be reported as busy (UU)? I'm not too sure myself if
the i2c-core currently allows this, but I'd like you to investigate in
that direction as it might avoid trouble in the future. I guess the
only way right now would be to instanciante a fake client at that
address.

Thanks,
-- 
Jean Delvare


  parent reply	other threads:[~2006-06-18 18:45 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-16 20:41 [lm-sensors] PATCH- i2c-iop3xx platform driver avoid addressing self Peter Milne
2006-06-18  9:23 ` [lm-sensors] PATCH- i2c-iop3xx platform driver avoid addressing Jean Delvare
2006-06-18 15:54 ` Peter Milne
2006-06-18 18:45 ` Jean Delvare [this message]
2006-06-18 21:28 ` Peter Milne
2006-06-19 10:11 ` Jean Delvare
2006-06-19 12:17 ` Peter Milne

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=20060618204503.68fce2aa.khali@linux-fr.org \
    --to=khali@linux-fr.org \
    --cc=lm-sensors@vger.kernel.org \
    /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.