<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/i2c, branch v2.6.16.51</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>i2c-piix4: Add ATI IXP200/300/400 support</title>
<updated>2007-02-25T23:42:07+00:00</updated>
<author>
<name>Rudolf Marek</name>
<email>r.marek@sh.cvut.cz</email>
</author>
<published>2007-02-25T23:42:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=164ef61c84ac388a4534392ea60eb80190ad5184'/>
<id>164ef61c84ac388a4534392ea60eb80190ad5184</id>
<content type='text'>
This patch adds the ATI IXP southbridges support to i2c-piix4,
as it turned out those chips are compatible with it.

Signed-off-by: Rudolf Marek &lt;r.marek@sh.cvut.cz&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds the ATI IXP southbridges support to i2c-piix4,
as it turned out those chips are compatible with it.

Signed-off-by: Rudolf Marek &lt;r.marek@sh.cvut.cz&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>I2C: i2c-piix4: Add Broadcom HT-1000 support</title>
<updated>2007-02-25T23:40:16+00:00</updated>
<author>
<name>Martin Devera</name>
<email>devik@cdi.cz</email>
</author>
<published>2007-02-25T23:40:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c3c9165ccca7147b43bb2469648a1bf14a4d7d2c'/>
<id>c3c9165ccca7147b43bb2469648a1bf14a4d7d2c</id>
<content type='text'>
Add Broadcom HT-1000 south bridge's PCI ID to i2c-piix driver. Note
that at least on Supermicro H8SSL it uses non-standard SMBHSTCFG = 3
and standard values like 0 or 9 causes hangup.

Signed-off-by: Martin Devera &lt;devik@cdi.cz&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add Broadcom HT-1000 south bridge's PCI ID to i2c-piix driver. Note
that at least on Supermicro H8SSL it uses non-standard SMBHSTCFG = 3
and standard values like 0 or 9 causes hangup.

Signed-off-by: Martin Devera &lt;devik@cdi.cz&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hwmon: Update Rudolf Marek's e-mail address</title>
<updated>2007-02-03T01:04:01+00:00</updated>
<author>
<name>Rudolf Marek</name>
<email>r.marek@assembler.cz</email>
</author>
<published>2007-02-03T01:04:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2b135824bd4148c46c809f04520b871a5ddc8910'/>
<id>2b135824bd4148c46c809f04520b871a5ddc8910</id>
<content type='text'>
The Silicon Hill club is not what it used to be.

Signed-off-by: Rudolf Marek &lt;r.marek@assembler.cz&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The Silicon Hill club is not what it used to be.

Signed-off-by: Rudolf Marek &lt;r.marek@assembler.cz&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i2c-mv64xxx: Fix random oops at boot</title>
<updated>2007-01-09T02:23:34+00:00</updated>
<author>
<name>Maxime Bizon</name>
<email>mbizon@freebox.fr</email>
</author>
<published>2007-01-08T06:07:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=55f645946c66b354a52d30b512f1af73c61dfb60'/>
<id>55f645946c66b354a52d30b512f1af73c61dfb60</id>
<content type='text'>
I have a Marvell board which has the same i2c hw block than mv64xxx, so
I'm trying to use i2c-mv64xxx driver.

But I get the following random oops at boot:

Unable to handle kernel NULL pointer dereference at virtual address 00000002
Backtrace:
[&lt;c0397e4c&gt;] (mv64xxx_i2c_intr+0x0/0x2b8) from [&lt;c02879c4&gt;] (__do_irq+0x4c/0x8c)
[&lt;c0287978&gt;] (__do_irq+0x0/0x8c) from [&lt;c0287c0c&gt;] (do_level_IRQ+0x68/0xc0)
 r8 = C0501E08  r7 = 00000005  r6 = C0501E08  r5 = 00000005
 r4 = C048BB78
[&lt;c0287ba4&gt;] (do_level_IRQ+0x0/0xc0) from [&lt;c02885f8&gt;] (asm_do_IRQ+0x50/0x134)
 r6 = C0449C78  r5 = F1020000  r4 = FFFFFFFF
[&lt;c02885a8&gt;] (asm_do_IRQ+0x0/0x134) from [&lt;c02869c4&gt;] (__irq_svc+0x24/0x100)
 r8 = C1CAC400  r7 = 00000005  r6 = 00000002  r5 = F1020000
 r4 = FFFFFFFF
[&lt;c0287efc&gt;] (setup_irq+0x0/0x124) from [&lt;c02880d0&gt;] (request_irq+0xb0/0xd0)
 r7 = C041B2AC  r6 = C0397E4C  r5 = 00000000  r4 = 00000005
[&lt;c0288020&gt;] (request_irq+0x0/0xd0) from [&lt;c03985f4&gt;] (mv64xxx_i2c_probe+0x148/0x244)
[&lt;c03984ac&gt;] (mv64xxx_i2c_probe+0x0/0x244) from [&lt;c038bedc&gt;] (platform_drv_probe+0x20/0x24)

The oops is caused by a spurious interrupt that occurs when request_irq
is called. mv64xxx_i2c_fsm() tries to read drv_data-&gt;msg, which is NULL.

I noticed that hardware init is done after requesting irq. Thus any
pending irq from previous hardware usage may cause this.

Signed-off-by: Maxime Bizon &lt;mbizon@freebox.fr&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I have a Marvell board which has the same i2c hw block than mv64xxx, so
I'm trying to use i2c-mv64xxx driver.

But I get the following random oops at boot:

Unable to handle kernel NULL pointer dereference at virtual address 00000002
Backtrace:
[&lt;c0397e4c&gt;] (mv64xxx_i2c_intr+0x0/0x2b8) from [&lt;c02879c4&gt;] (__do_irq+0x4c/0x8c)
[&lt;c0287978&gt;] (__do_irq+0x0/0x8c) from [&lt;c0287c0c&gt;] (do_level_IRQ+0x68/0xc0)
 r8 = C0501E08  r7 = 00000005  r6 = C0501E08  r5 = 00000005
 r4 = C048BB78
[&lt;c0287ba4&gt;] (do_level_IRQ+0x0/0xc0) from [&lt;c02885f8&gt;] (asm_do_IRQ+0x50/0x134)
 r6 = C0449C78  r5 = F1020000  r4 = FFFFFFFF
[&lt;c02885a8&gt;] (asm_do_IRQ+0x0/0x134) from [&lt;c02869c4&gt;] (__irq_svc+0x24/0x100)
 r8 = C1CAC400  r7 = 00000005  r6 = 00000002  r5 = F1020000
 r4 = FFFFFFFF
[&lt;c0287efc&gt;] (setup_irq+0x0/0x124) from [&lt;c02880d0&gt;] (request_irq+0xb0/0xd0)
 r7 = C041B2AC  r6 = C0397E4C  r5 = 00000000  r4 = 00000005
[&lt;c0288020&gt;] (request_irq+0x0/0xd0) from [&lt;c03985f4&gt;] (mv64xxx_i2c_probe+0x148/0x244)
[&lt;c03984ac&gt;] (mv64xxx_i2c_probe+0x0/0x244) from [&lt;c038bedc&gt;] (platform_drv_probe+0x20/0x24)

The oops is caused by a spurious interrupt that occurs when request_irq
is called. mv64xxx_i2c_fsm() tries to read drv_data-&gt;msg, which is NULL.

I noticed that hardware init is done after requesting irq. Thus any
pending irq from previous hardware usage may cause this.

Signed-off-by: Maxime Bizon &lt;mbizon@freebox.fr&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i2c-i801: SMBus patch for Intel ICH9</title>
<updated>2007-01-09T02:23:31+00:00</updated>
<author>
<name>Jason Gaston</name>
<email>jason.d.gaston@intel.com</email>
</author>
<published>2007-01-06T00:16:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=95785f6cfc53d4d215a0acb90715e3cec727ad84'/>
<id>95785f6cfc53d4d215a0acb90715e3cec727ad84</id>
<content type='text'>
This updated patch adds the Intel ICH9 LPC and SMBus Controller DID's.

Signed-off-by: Jason Gaston &lt;jason.d.gaston@intel.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This updated patch adds the Intel ICH9 LPC and SMBus Controller DID's.

Signed-off-by: Jason Gaston &lt;jason.d.gaston@intel.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i2c-viapro: Add support for the VT8237A and VT8251</title>
<updated>2007-01-09T02:23:31+00:00</updated>
<author>
<name>Rudolf Marek</name>
<email>r.marek@sh.cvut.cz</email>
</author>
<published>2007-01-06T00:13:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2d353a7ec2db507b376aef5dca78726f16969a31'/>
<id>2d353a7ec2db507b376aef5dca78726f16969a31</id>
<content type='text'>
Documentation update included. Compile tested.

Signed-off-by: Rudolf Marek &lt;r.marek@sh.cvut.cz&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Documentation update included. Compile tested.

Signed-off-by: Rudolf Marek &lt;r.marek@sh.cvut.cz&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i2c: fix broken ds1337 initialization</title>
<updated>2007-01-04T00:02:48+00:00</updated>
<author>
<name>Dirk Eibach</name>
<email>eibach@gdsys.de</email>
</author>
<published>2007-01-03T23:42:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=51b73a030955179f236959eaedaf03f405b878a6'/>
<id>51b73a030955179f236959eaedaf03f405b878a6</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;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>proper flags type of spin_lock_irqsave()</title>
<updated>2006-11-29T13:17:58+00:00</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@gmail.com</email>
</author>
<published>2006-11-29T13:17:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=82ae0fbafe0b80627b7f10e2436ee86578faf065'/>
<id>82ae0fbafe0b80627b7f10e2436ee86578faf065</id>
<content type='text'>
Convert various spin_lock_irqsave() callers to correctly use `unsigned long'

Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Convert various spin_lock_irqsave() callers to correctly use `unsigned long'

Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>i2c: Handle i2c_add_adapter failure in i2c algorithm drivers</title>
<updated>2006-11-25T02:02:49+00:00</updated>
<author>
<name>Mark M. Hoffman</name>
<email>mhoffman@lightlink.com</email>
</author>
<published>2006-11-25T02:02:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=74fe77b76999fb30335e5b338e43f71deb53fc15'/>
<id>74fe77b76999fb30335e5b338e43f71deb53fc15</id>
<content type='text'>
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: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix i2c-ixp4xx compilation breakage</title>
<updated>2006-11-24T01:53:16+00:00</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2006-11-24T01:53:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c0235754cd95b0f9b4172572007135ec450c5615'/>
<id>c0235754cd95b0f9b4172572007135ec450c5615</id>
<content type='text'>
Fix recent i2c-ixp4xx compilation breakage. Sorry for overlooking it.

Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix recent i2c-ixp4xx compilation breakage. Sorry for overlooking it.

Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&gt;
</pre>
</div>
</content>
</entry>
</feed>
