<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/i2c, branch mybooklive</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/i2c?h=mybooklive</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/i2c?h=mybooklive'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2010-04-01T22:58:07Z</updated>
<entry>
<title>i2c-i801: Don't use the block buffer for I2C block writes</title>
<updated>2010-04-01T22:58:07Z</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2010-03-13T19:56:53Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cde4ff84e046eaed345bde28aa2e5529b5124d02'/>
<id>urn:sha1:cde4ff84e046eaed345bde28aa2e5529b5124d02</id>
<content type='text'>
commit c074c39d62306efa5ba7c69c1a1531bc7333d252 upstream.

Experience has shown that the block buffer can only be used for SMBus
(not I2C) block transactions, even though the datasheet doesn't
mention this limitation.

Reported-by: Felix Rubinstein &lt;felixru@gmail.com&gt;
Signed-off-by: Jean Delvare &lt;khali@linux-fr.org&gt;
Cc: Oleg Ryjkov &lt;oryjkov@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>i2c-tiny-usb: Fix on big-endian systems</title>
<updated>2010-02-23T15:37:48Z</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2010-02-05T16:48:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=17eff773b4c988e6de965446283de7315ffbac85'/>
<id>urn:sha1:17eff773b4c988e6de965446283de7315ffbac85</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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>i2c/pca: Don't use *_interruptible</title>
<updated>2010-01-22T23:18:35Z</updated>
<author>
<name>Wolfram Sang</name>
<email>w.sang@pengutronix.de</email>
</author>
<published>2010-01-16T19:43:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2d22b3821b34d2dec1e263820ffa0b43311d92d2'/>
<id>urn:sha1:2d22b3821b34d2dec1e263820ffa0b43311d92d2</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;
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-01-22T23:18:34Z</updated>
<author>
<name>Thadeu Lima de Souza Cascardo</name>
<email>cascardo@holoscopio.com</email>
</author>
<published>2010-01-16T19:43:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c1f77a7025d7802dc29ca1a8fe84e416973525ed'/>
<id>urn:sha1:c1f77a7025d7802dc29ca1a8fe84e416973525ed</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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging</title>
<updated>2009-11-30T22:50:44Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2009-11-30T22:50:44Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=af5fdf80645304e7077ab876a43b325425c7ef70'/>
<id>urn:sha1:af5fdf80645304e7077ab876a43b325425c7ef70</id>
<content type='text'>
* 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
  at24: Use timeout also for read
  i2c: Fix userspace_device list corruption
  MAINTAINERS: Add missing i2c files
  i2c/tsl2550: Fix lux value in extended mode
</content>
</entry>
<entry>
<title>i2c: Fix userspace_device list corruption</title>
<updated>2009-11-26T08:22:33Z</updated>
<author>
<name>Jean Delvare</name>
<email>khali@linux-fr.org</email>
</author>
<published>2009-11-26T08:22:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bbd2d9c9198c6efd449e9d395b3eaf2d03aa3bba'/>
<id>urn:sha1:bbd2d9c9198c6efd449e9d395b3eaf2d03aa3bba</id>
<content type='text'>
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;
</content>
</entry>
<entry>
<title>i2c/tsl2550: Fix lux value in extended mode</title>
<updated>2009-11-26T08:22:32Z</updated>
<author>
<name>Michele Jr De Candia</name>
<email>michele.decandia@valueteam.com</email>
</author>
<published>2009-11-26T08:22:32Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5f5bfb09d81c9a1d26238ae6668e584c14ae3daf'/>
<id>urn:sha1:5f5bfb09d81c9a1d26238ae6668e584c14ae3daf</id>
<content type='text'>
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;
</content>
</entry>
<entry>
<title>ARM: PNX4008: i2c-pnx: use the same dev_id for request_irq and free_irq</title>
<updated>2009-11-21T19:01:05Z</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2009-11-21T16:00:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f8d5e5a8f5be475796c7f357e43546c2d7f44540'/>
<id>urn:sha1:f8d5e5a8f5be475796c7f357e43546c2d7f44540</id>
<content type='text'>
This allows i2c-pnx to free its interrupt handler when the module
is removed or if an error occurs; using the same dev_id for both
request_irq and free_irq is desirable.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Acked-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</content>
</entry>
<entry>
<title>i2c: i2c-pnx: Added missing mach/i2c.h and linux/io.h header file includes</title>
<updated>2009-11-20T00:25:42Z</updated>
<author>
<name>Kevin Wells</name>
<email>kevin.wells@nxp.com</email>
</author>
<published>2009-11-11T23:25:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a7d73d8c686d919cc18dec63e5e194f0e5a7206e'/>
<id>urn:sha1:a7d73d8c686d919cc18dec63e5e194f0e5a7206e</id>
<content type='text'>
Added missing mach/i2c.h and linux/io.h header file includes

Signed-off-by: Kevin Wells &lt;kevin.wells@nxp.com&gt;
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</content>
</entry>
<entry>
<title>i2c: i2c-pnx: Limit minimum jiffie timeout to 2</title>
<updated>2009-11-20T00:25:41Z</updated>
<author>
<name>Kevin Wells</name>
<email>kevin.wells@nxp.com</email>
</author>
<published>2009-11-11T23:28:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b2f125bcf5eac41a6d74f75ac573b77753213b74'/>
<id>urn:sha1:b2f125bcf5eac41a6d74f75ac573b77753213b74</id>
<content type='text'>
Limit minimum jiffie timeout to 2 to prevent early timeout on systems
with low tick rates

Signed-off-by: Kevin Wells &lt;kevin.wells@nxp.com&gt;
Signed-off-by: Ben Dooks &lt;ben-linux@fluff.org&gt;
</content>
</entry>
</feed>
