[i2c] i2c-i801 Interrupt Support

Mark M. Hoffman mhoffman at lightlink.com
Sun Sep 30 20:10:49 CEST 2007


Hi everyone:

(I'm just back from a weeklong business trip.)

* Jean Delvare <khali at linux-fr.org> [2007-09-27 15:38:29 +0200]:
> On Thu, 27 Sep 2007 14:26:21 +0200, Ivo Manca wrote:
> > (Moving to I2C Mailinglist)
> > 
> > Actually, that problem was discussed in a different thread than the one 
> > I refered to. It can be found at: 
> > http://thread.gmane.org/gmane.linux.drivers.sensors/7987/focus=8021
> 
> As far as I can tell, this thread refers to the mainline i2c-i801
> driver and not Mark's rewrite, so it doesn't seem very relevant.
> 
> > So my question basically is: is the interrupt support removed from the 
> > i801 busriver because it was impossible to get it working right, is it 
> > removed because of, for instance, lack of time, or is it just never merged?
> > Since Mark M. Hoffman developed this driver with included interrupt 
> > support, and you seem to have tested it back them, I'm wondering if 
> > there is some more background information available about this, before 
> > we're starting working on something which might not be very possible.
> 
> Mark's driver was not implementing all the features the mainline
> i2c-i801 driver had, so we couldn't just replace the mainline driver
> with it. I also do not think that Mark's driver had received much
> testing. The i2c-i801 driver is widely used, so we have to make very
> sure that a rewritten driver works perfectly well before pushing it
> upstream.

Specifically, the problem I had was with the SMBus block commands.  My
implementation kept hanging the SMBus on my machine - it would hang so
hard that I had to physically unplug it to get it back.  I checked with
a scope that the block commands were doing the right thing, but there
was some chip on the bus that didn't behave well.  So I set that project
to the side, and wow here we are 3 years later.

As Jean did, I will also offer to perform some testing for you.  I have
an ICH5 here, with a header on the mainboard for easy 'scoping.  I also
have a piece of test hardware here that I designed and built some time
ago.

> Then Mark had higher priority tasks and gave up is i2c-i801 rewrite.
> But I can't think of any reason why an interrupt-driven i2c-i801 driver
> couldn't make it into mainline. That being said, I encourage you to
> work off the existing i2c-i801 driver if possible, rather than starting
> from scratch. It will make it much easier to merge your work upstream
> when you're done.

IIRC, there were also some suggestions at the time that the polling-mode
operation should remain available.  Because this driver is so widely
used, and because it is used in some cases with *very* old hardware
(which may not even initialize the IRQ properly)... I grudgingly agree
with those suggestions.  With that in mind, my old rewrite won't be all
that useful to you because some redesign will be necessary.

Regards,

-- 
Mark M. Hoffman
mhoffman at lightlink.com




More information about the i2c mailing list