<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/i2c, branch linux-2.6.18.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-2.6.18.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-2.6.18.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2007-02-23T23:49:51+00:00</updated>
<entry>
<title>i2c: fix broken ds1337 initialization</title>
<updated>2007-02-23T23:49:51+00:00</updated>
<author>
<name>Dirk Eibach</name>
<email>eibach@gdsys.de</email>
</author>
<published>2006-12-20T07:34:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6ce115c0d888086716aef2b4b3cd702d3b4f060d'/>
<id>urn:sha1:6ce115c0d888086716aef2b4b3cd702d3b4f060d</id>
<content type='text'>
On a custom board with ds1337 RTC I found that upgrade from 2.6.15 to
2.6.18 broke RTC support.

The main problem are changes to ds1337_init_client().
When a ds1337 recognizes a problem (e.g. power or clock failure) bit 7
in status register is set. This has to be reset by writing 0 to status
register. But since there are only 16 byte written to the chip and the
first byte is interpreted as an address, the status register (which is
the 16th) is never written.
The other problem is, that initializing all registers to zero is not
valid for day, date and month register. Funny enough this is checked by
ds1337_detect(), which depends on this values not being zero. So then
treated by ds1337_init_client() the ds1337 is not detected anymore,
whereas the failure bit in the status register is still set.

Broken by commit f9e8957937ebf60d22732a5ca9130f48a7603f60 (2.6.16-rc1,
2006-01-06). This fix is in Linus' tree since 2.6.20-rc1 (commit
763d9c046a2e511ec090a8986d3f85edf7448e7e).

Signed-off-by: Dirk Stieler &lt;stieler@gdsys.de&gt;
Signed-off-by: Dirk Eibach &lt;eibach@gdsys.de&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] i2c: tps65010 build fixes</title>
<updated>2006-08-26T20:05:12+00:00</updated>
<author>
<name>David Brownell</name>
<email>david-b@pacbell.net</email>
</author>
<published>2006-08-11T20:53:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4801bc25f37a969ea773c24d12fd4738541848a1'/>
<id>urn:sha1:4801bc25f37a969ea773c24d12fd4738541848a1</id>
<content type='text'>
The tps65010.c driver in the main tree never got updated with
build fixes since the last batch of I2C driver changes; and the
genirq trigger flags were updated wierdly too.

This also includes a minor tweak to reduce the frequency used to
poll for unplug-the-AC-power on the TPS chips that don't provide
relevant IRQs.  It _would_ be nice to sense whether there's even
a battery, but that'd normally be an HDQ/1-wire interface to a
smart battery, and such APIs aren't standardized.

Signed-off-by: David Brownell &lt;dbrownell@users.sourceforge.net&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] SCX200_ACB: eliminate spurious timeout errors</title>
<updated>2006-08-06T15:57:49+00:00</updated>
<author>
<name>David Woodhouse</name>
<email>dwmw2@infradead.org</email>
</author>
<published>2006-08-05T19:15:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3e3183bab0257a6d02038658c53b491e1378612f'/>
<id>urn:sha1:3e3183bab0257a6d02038658c53b491e1378612f</id>
<content type='text'>
While busy-waiting for completion, check the hardware after scheduling;
don't schedule and then immediately check the _timeout_.  If the yield()
took a long time (as it does on my OLPC prototype board when it's busy),
we'd report a timeout even though the hardware was now ready.

This fixes it, and also switches the yield() for a cond_resched() because
we don't actually want to be _that_ nice about it.  I see nice
tightly-packed SMBus transactions now, rather than waiting for milliseconds
between successive phases.

Actually, we shouldn't be busy-waiting here at all.  We should be using
interrupts.  That's an exercise for another day though.

Signed-off-by: David Woodhouse &lt;dwmw2@infradead.org&gt;
Cc: Christer Weinigel &lt;wingel@nano-system.com&gt;
Cc: &lt;Jordan.Crouse@amd.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] pca9539: Honor the force parameter</title>
<updated>2006-07-12T22:43:07+00:00</updated>
<author>
<name>Ben Gardner</name>
<email>gardner.ben@gmail.com</email>
</author>
<published>2006-07-01T15:22:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=50436a47c6b10c6e4e84e24ea44c5cb85bbcd290'/>
<id>urn:sha1:50436a47c6b10c6e4e84e24ea44c5cb85bbcd290</id>
<content type='text'>
The pca9539 driver doesn't honor the force parameter; it always does
detection. This patch will skip detection if forced.

Signed-off-by: Ben Gardner &lt;gardner.ben@gmail.com&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] i2c-algo-bit: Wipe out dead code</title>
<updated>2006-07-12T22:43:07+00:00</updated>
<author>
<name>Uwe Bugla</name>
<email>uwe.bugla@gmx.de</email>
</author>
<published>2006-07-01T15:25:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5313775f18f22f1dac2b548b598d47d65f90e6b0'/>
<id>urn:sha1:5313775f18f22f1dac2b548b598d47d65f90e6b0</id>
<content type='text'>
i2c-algo-bit: Wipe out dead code

Signed-off-by: Uwe Bugla &lt;uwe.bugla@gmx.de&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] i2c: Handle i2c_add_adapter failure in i2c algorithm drivers</title>
<updated>2006-07-12T22:43:07+00:00</updated>
<author>
<name>Mark M. Hoffman</name>
<email>mhoffman@lightlink.com</email>
</author>
<published>2006-07-01T15:16:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b39ad0cf7c19fc14e8f823b1b36245f7a3711655'/>
<id>urn:sha1:b39ad0cf7c19fc14e8f823b1b36245f7a3711655</id>
<content type='text'>
Content-Disposition: inline; filename=i2c-algo-error-handling-fix.patch

It is possible for i2c_add_adapter() to fail.  Several I2C algorithm
drivers ignore that fact.  This (compile-tested only) patch fixes them.

Signed-off-by: Mark M. Hoffman &lt;mhoffman@lightlink.com&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] i2c-powermac: Fix master_xfer return value</title>
<updated>2006-07-12T22:43:07+00:00</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2006-07-01T15:12:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8ced8eee8537b52ef5d77e28d7676ce81bc62359'/>
<id>urn:sha1:8ced8eee8537b52ef5d77e28d7676ce81bc62359</id>
<content type='text'>
Fix the value returned by the i2c-powermac's master_xfer method.
It should return the number of messages processed successfully, but
instead returns the number of data bytes in the first (and only)
processed message.

Also explicitly mention the master_xfer convention so that future
implementations get it right directly.

Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Acked-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] scx200_acb: Fix the block transactions</title>
<updated>2006-07-12T22:43:06+00:00</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2006-07-01T15:06:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c3efacaa68a75049a859cbfd03d52dfdebb7527b'/>
<id>urn:sha1:c3efacaa68a75049a859cbfd03d52dfdebb7527b</id>
<content type='text'>
The scx200_acb i2c bus driver pretends to support SMBus block
transactions, but in fact it implements the more simple I2C block
transactions. Additionally, it lacks sanity checks on the length
of the block transactions, which could lead to a buffer overrun.

This fixes an oops reported by Alexander Atanasov:
http://marc.theaimsgroup.com/?l=linux-kernel&amp;m=114970382125094

Thanks to Ben Gardner for fixing my bugs :)

Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] scx200_acb: Fix the state machine</title>
<updated>2006-07-12T22:43:06+00:00</updated>
<author>
<name>Thomas Andrews</name>
<email>tandrews@grok.co.za</email>
</author>
<published>2006-07-01T15:05:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=fd627a01477dadaef3bc8556e5e9d0ef80310c3a'/>
<id>urn:sha1:fd627a01477dadaef3bc8556e5e9d0ef80310c3a</id>
<content type='text'>
Fix the scx200_acb state machine:

* Nack was sent one byte too late on reads &gt;= 2 bytes.
* Stop bit was set one byte too late on reads.

Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>[PATCH] i2c-iop3xx: Avoid addressing self</title>
<updated>2006-07-12T22:43:06+00:00</updated>
<author>
<name>Peter Milne</name>
<email>peter.milne@d-tacq.com</email>
</author>
<published>2006-07-01T15:03:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=39288e1ac10b3b9a68a629be67d81a0b53512c4e'/>
<id>urn:sha1:39288e1ac10b3b9a68a629be67d81a0b53512c4e</id>
<content type='text'>
Avoid addressing self when sending a slave address. Follows instruction
in Intel 80331/80321 manuals.
Ignoring this worked previously on 80321, but causes a hang on i2cdetect
on 80331.

Signed-off-by: Peter Milne &lt;peter.milne@d-tacq.com&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
</feed>
