<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux.git/drivers/i2c, branch linux-2.6.31.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-2.6.31.y</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/atom?h=linux-2.6.31.y'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/'/>
<updated>2010-04-01T22:55:46+00:00</updated>
<entry>
<title>i2c-tiny-usb: Fix on big-endian systems</title>
<updated>2010-04-01T22:55:46+00:00</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2010-04-01T22:55:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=d8d6782349be3b550ebe438794c327b7373ce54e'/>
<id>urn:sha1:d8d6782349be3b550ebe438794c327b7373ce54e</id>
<content type='text'>
commit 1c010ff8912cbc08d80e865aab9c32b6b00c527d upstream.

The functionality bit vector is always returned as a little-endian
32-bit number by the device, so it must be byte-swapped to the host
endianness.

On the other hand, the delay value is handled by the USB stack, so no
byte swapping is needed on our side.

This fixes bug #15105:
http://bugzilla.kernel.org/show_bug.cgi?id=15105

Reported-by: Jens Richter &lt;jens@richter-stutensee.de&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Tested-by: Jens Richter &lt;jens@richter-stutensee.de&gt;
Cc: Till Harbaum &lt;till@harbaum.org&gt;
Cc: stable@kernel.org
Acked-by: Jean Delvare &lt;jdelvare@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>i2c/pca: Don't use *_interruptible</title>
<updated>2010-04-01T22:55:45+00:00</updated>
<author>
<name>Wolfram Sang</name>
<email>w.sang@pengutronix.de</email>
</author>
<published>2010-04-01T22:55:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8859bd1aef1f4030afe5aac41b685e13f31c60fb'/>
<id>urn:sha1:8859bd1aef1f4030afe5aac41b685e13f31c60fb</id>
<content type='text'>
commit 22f8b2695eda496026623020811cae34590ee3d7 upstream.

Unexpected signals can disturb the bus-handling and lock it up. Don't use
interruptible in 'wait_event_*' and 'wake_*' as in commits
dc1972d02747d2170fb1d78d114801f5ecb27506 (for cpm),
1ab082d7cbd0f34e39a5396cc6340c00bc5d66ef (for mpc),
b7af349b175af45f9d87b3bf3f0a221e1831ed39 (for omap).

Signed-off-by: Wolfram Sang &lt;w.sang@pengutronix.de&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Acked-by: Jean Delvare &lt;jdelvare@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>i2c: Do not use device name after device_unregister</title>
<updated>2010-04-01T22:55:45+00:00</updated>
<author>
<name>Thadeu Lima de Souza Cascardo</name>
<email>cascardo@holoscopio.com</email>
</author>
<published>2010-04-01T22:55:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b1b624d1b57be13651a0470017106f5c27d056d7'/>
<id>urn:sha1:b1b624d1b57be13651a0470017106f5c27d056d7</id>
<content type='text'>
commit c556752109794a5ff199b80a1673336b4df8433a upstream.

dev_dbg outputs dev_name, which is released with device_unregister. This bug
resulted in output like this:

i2c Xy2�0: adapter [SMBus I801 adapter at 1880] unregistered

The right output would be:
i2c i2c-0: adapter [SMBus I801 adapter at 1880] unregistered

Signed-off-by: Thadeu Lima de Souza Cascardo &lt;cascardo@holoscopio.com&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Acked-by: Jean Delvare &lt;jdelvare@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>i2c/tsl2550: Fix lux value in extended mode</title>
<updated>2010-01-06T22:26:39+00:00</updated>
<author>
<name>Michele Jr De Candia</name>
<email>michele.decandia@valueteam.com</email>
</author>
<published>2009-11-26T08:22:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b167b0c6a4ae732370eba9486b6274d6637fdd06'/>
<id>urn:sha1:b167b0c6a4ae732370eba9486b6274d6637fdd06</id>
<content type='text'>
commit 5f5bfb09d81c9a1d26238ae6668e584c14ae3daf upstream.

According to the TAOS Application Note 'Controlling a Backlight with
the TSL2550 Ambient Light Sensor' (page 14), the actual lux value in
extended mode should be obtained multiplying the calculated lux value
by 5.

Signed-off-by: Michele Jr De Candia &lt;michele.decandia@valueteam.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>i2c: Fix userspace_device list corruption</title>
<updated>2009-12-08T18:22:39+00:00</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2009-11-26T08:22:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=95c2fff142fd3d44ba55cd6b3d9758c3215b52ca'/>
<id>urn:sha1:95c2fff142fd3d44ba55cd6b3d9758c3215b52ca</id>
<content type='text'>
commit bbd2d9c9198c6efd449e9d395b3eaf2d03aa3bba upstream.

Fix userspace_device list corruption. The corruption was caused by
clients not being removed when adapters with such clients were
themselves removed. Something like the following would trigger it
(assuming i2c-stub gets adapter number 3):

# modprobe i2c-stub chip_addr=0x50
# echo 24c08 0x50 &gt; /sys/bus/i2c/devices/i2c-3/new_device
# rmmod i2c-stub
# modprobe i2c-stub chip_addr=0x50
# echo 24c08 0x50 &gt; /sys/bus/i2c/devices/i2c-3/new_device

For the records, the stack trace in the kernel logs look like this:

kernel: WARNING: at lib/list_debug.c:30 __list_add+0x8b/0x90()
kernel: Hardware name: (...)
kernel: list_add corruption. prev-&gt;next should be next (c137fc84), but was (null). (prev=f57111b8).
kernel: Modules linked in: (...)
kernel: Pid: 4669, comm: bash Not tainted 2.6.32-rc8 #259
kernel: Call Trace:
kernel:  [&lt;c111eb8b&gt;] ? __list_add+0x8b/0x90
kernel:  [&lt;c111eb8b&gt;] ? __list_add+0x8b/0x90
kernel:  [&lt;c103265c&gt;] warn_slowpath_common+0x6c/0xc0
kernel:  [&lt;c111eb8b&gt;] ? __list_add+0x8b/0x90
kernel:  [&lt;c10326f6&gt;] warn_slowpath_fmt+0x26/0x30
kernel:  [&lt;c111eb8b&gt;] __list_add+0x8b/0x90
kernel:  [&lt;c11ba165&gt;] i2c_sysfs_new_device+0x1c5/0x250
kernel:  [&lt;c10861be&gt;] ? might_fault+0x2e/0x80
kernel:  [&lt;c11b9fa0&gt;] ? i2c_sysfs_new_device+0x0/0x250
kernel:  [&lt;c118c625&gt;] dev_attr_store+0x25/0x30
kernel:  [&lt;c10e305c&gt;] sysfs_write_file+0x9c/0xf0
kernel:  [&lt;c109d35c&gt;] vfs_write+0x9c/0x160
kernel:  [&lt;c10e2fc0&gt;] ? sysfs_write_file+0x0/0xf0
kernel:  [&lt;c109d4dd&gt;] sys_write+0x3d/0x70
kernel:  [&lt;c1002ed8&gt;] sysenter_do_call+0x12/0x36

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>i2c: Hide probe errors caused by ACPI resource conflicts</title>
<updated>2009-10-22T22:11:58+00:00</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2009-10-04T20:53:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=91be0e881d6abf1da9903c831d20954f2325ce3e'/>
<id>urn:sha1:91be0e881d6abf1da9903c831d20954f2325ce3e</id>
<content type='text'>
commit 18669eabde2ff5fc446e72e043f0539059763438 upstream.

When an ACPI resource conflict is detected, error messages are already
printed by ACPI. There's no point in causing the driver core to print
more error messages, so return one of the error codes for which no
message is printed.

This fixes bug #14293:
http://bugzilla.kernel.org/show_bug.cgi?id=14293

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>i2c-stu300: I2C STU300 stability updates</title>
<updated>2009-08-20T21:27:58+00:00</updated>
<author>
<name>Linus Walleij</name>
<email>linus.walleij@stericsson.com</email>
</author>
<published>2009-08-13T20:14:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=c37faafa7d46622b749437f7d294201a63af4beb'/>
<id>urn:sha1:c37faafa7d46622b749437f7d294201a63af4beb</id>
<content type='text'>
- blk clk is enabled when an irq arrives. The clk should be enabled,
  but just to make sure.
- All error bits are handled no matter state machine state
- All irq's will run complete() except for irq's that wasn't an event.
- No more looking into status registers just in case an interrupt
  has happend and the irq handle wasn't executed.
- irq_disable/enable are now separete functions.
- clk settings calculation changed to round upwards instead of
  downwards.
- Number of address send attempts before giving up is increased to 12
  from 10 since it most times take 8 tries before getting through.

Signed-off-by: Linus Walleij &lt;linus.walleij@stericsson.com&gt;
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</content>
</entry>
<entry>
<title>i2c-omap: Enable workaround for Errata 1.153 based on</title>
<updated>2009-08-20T21:27:58+00:00</updated>
<author>
<name>Moiz Sonasath</name>
<email>m-sonasath@ti.com</email>
</author>
<published>2009-08-20T16:21:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=61149787d65b4a2f9c638d363dc65e13cb063e29'/>
<id>urn:sha1:61149787d65b4a2f9c638d363dc65e13cb063e29</id>
<content type='text'>
Silicon Errata 1.153 has been fixed on OMAP 3630|4430 with the use of a later
version of I2C IP block.

The errata impacts OMAP 2420|2430|3430, enable the workaround for these based
on I2C IP block revision number instead of OMAP CPU type

Signed-off-by: Moiz Sonasath &lt;m-sonasath@ti.com&gt;
Signed-off-by: Vikram Pandita &lt;vikram.pandita@ti.com
Reviewed-by: Paul Walmsley &lt;paul@pwsan.com&gt;
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</content>
</entry>
<entry>
<title>i2c-omap: ACK pending [R/X]DR and [R/X]RDY interrupts</title>
<updated>2009-08-20T21:27:57+00:00</updated>
<author>
<name>Moiz Sonasath</name>
<email>m-sonasath@ti.com</email>
</author>
<published>2009-08-20T16:21:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=dd11976aea15bde53ce40b076dd5fa462c74f41a'/>
<id>urn:sha1:dd11976aea15bde53ce40b076dd5fa462c74f41a</id>
<content type='text'>
ACK any pending read/write interrupts before exiting the ISR either after
completing the operation [ARDY interrupt] or in case of an error
[NACK|AL interrupt]

Signed-off-by: Moiz Sonasath &lt;m-sonasath@ti.com&gt;
Signed-off-by: Vikram Pandita &lt;vikram.pandita@ti.com&gt;
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</content>
</entry>
<entry>
<title>i2c-omap: Fix I2C status ACK</title>
<updated>2009-08-20T21:27:57+00:00</updated>
<author>
<name>Nishanth Menon</name>
<email>nm@ti.com</email>
</author>
<published>2009-08-20T16:21:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=dcc4ec26942d3bae2c5a82ab8346ab53b540a171'/>
<id>urn:sha1:dcc4ec26942d3bae2c5a82ab8346ab53b540a171</id>
<content type='text'>
I2C status ack for [RX]RDR and [RX]RDY could
cause race conditions of clearing the event
twice and a violation of the programing
sequence as defined in TRM This patch fixes
the same.

Signed-off-by: Nishanth Menon &lt;nm@ti.com&gt;
Signed-off-by: Moiz Sonasath &lt;m-sonasath@ti.com&gt;
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</content>
</entry>
</feed>
