aboutsummaryrefslogtreecommitdiffstats
path: root/i2c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2005-11-02 11:49:19 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2005-11-02 11:49:19 -0800
commit3f749dd310dbfa5e8faa07cc40a1c78519a53f95 (patch)
tree81b6acbc6894ce2bc1a7d1a40acc7eda6258bdba /i2c
parent8630bdf37b417012ac07d163beaebe5bf505e4dd (diff)
downloadpatches-3f749dd310dbfa5e8faa07cc40a1c78519a53f95.tar.gz
added i2c patch
Diffstat (limited to 'i2c')
-rw-r--r--i2c/i2c-viapro-some-adjustments.patch109
1 files changed, 109 insertions, 0 deletions
diff --git a/i2c/i2c-viapro-some-adjustments.patch b/i2c/i2c-viapro-some-adjustments.patch
new file mode 100644
index 0000000000000..17a8214dd653c
--- /dev/null
+++ b/i2c/i2c-viapro-some-adjustments.patch
@@ -0,0 +1,109 @@
+From linux-kernel-owner+greg=40kroah.com-S964808AbVJaRv1@vger.kernel.org Mon Oct 31 10:53:34 2005
+Date: Mon, 31 Oct 2005 18:51:21 +0100
+From: Jean Delvare <khali@linux-fr.org>
+Subject: i2c-viapro: Some adjustments
+Message-Id: <20051031185121.6700d67e.khali@linux-fr.org>
+
+The big i2c-viapro SMBus driver update which went into 2.6.14-git1
+introduced a few minor issues. Nothing critical, but I would like a
+few adjustments to be merged in to fix the following problems:
+
+* VIA should not be spelled Via.
+* Frodo Looijaard and Philip Edelbrock did not write the i2c-viapro
+ driver.
+* When debugging is disabled, half of messages would be logged.
+* Drop an unneeded masking.
+* Some port reads can be avoided now that the transaction size is
+ passed as a parameter to vt596_transaction().
+* SMBus Receive Byte transactions are used for probing too (for
+ EEPROMs), so hide errors on these too.
+
+Signed-off-by: Jean Delvare <khali@linux-fr.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+ Documentation/i2c/busses/i2c-viapro | 6 ++----
+ drivers/i2c/busses/i2c-viapro.c | 27 ++++++++++++++-------------
+ 2 files changed, 16 insertions(+), 17 deletions(-)
+
+--- gregkh-2.6.orig/Documentation/i2c/busses/i2c-viapro 2005-11-02 09:24:45.000000000 -0800
++++ gregkh-2.6/Documentation/i2c/busses/i2c-viapro 2005-11-02 11:48:44.000000000 -0800
+@@ -7,12 +7,10 @@
+ * VIA Technologies, Inc. VT82C686A/B
+ Datasheet: Sometimes available at the VIA website
+
+- * VIA Technologies, Inc. VT8231, VT8233, VT8233A, VT8235, VT8237
+- Datasheet: available on request from Via
++ * VIA Technologies, Inc. VT8231, VT8233, VT8233A, VT8235, VT8237R
++ Datasheet: available on request from VIA
+
+ Authors:
+- Frodo Looijaard <frodol@dds.nl>,
+- Philip Edelbrock <phil@netroedge.com>,
+ Kyösti Mälkki <kmalkki@cc.hut.fi>,
+ Mark D. Studebaker <mdsxyz123@yahoo.com>,
+ Jean Delvare <khali@linux-fr.org>
+--- gregkh-2.6.orig/drivers/i2c/busses/i2c-viapro.c 2005-11-02 09:24:58.000000000 -0800
++++ gregkh-2.6/drivers/i2c/busses/i2c-viapro.c 2005-11-02 11:48:44.000000000 -0800
+@@ -142,19 +142,18 @@
+ /* Make sure the SMBus host is ready to start transmitting */
+ if ((temp = inb_p(SMBHSTSTS)) & 0x1F) {
+ dev_dbg(&vt596_adapter.dev, "SMBus busy (0x%02x). "
+- "Resetting... ", temp);
++ "Resetting...\n", temp);
+
+ outb_p(temp, SMBHSTSTS);
+ if ((temp = inb_p(SMBHSTSTS)) & 0x1F) {
+- printk("Failed! (0x%02x)\n", temp);
++ dev_err(&vt596_adapter.dev, "SMBus reset failed! "
++ "(0x%02x)\n", temp);
+ return -1;
+- } else {
+- printk("Successful!\n");
+ }
+ }
+
+ /* Start the transaction by setting bit 6 */
+- outb_p(0x40 | (size & 0x3C), SMBHSTCNT);
++ outb_p(0x40 | size, SMBHSTCNT);
+
+ /* We will always wait for a fraction of a second */
+ do {
+@@ -171,7 +170,7 @@
+ if (temp & 0x10) {
+ result = -1;
+ dev_err(&vt596_adapter.dev, "Transaction failed (0x%02x)\n",
+- inb_p(SMBHSTCNT) & 0x3C);
++ size);
+ }
+
+ if (temp & 0x08) {
+@@ -180,11 +179,13 @@
+ }
+
+ if (temp & 0x04) {
++ int read = inb_p(SMBHSTADD) & 0x01;
+ result = -1;
+- /* Quick commands are used to probe for chips, so
+- errors are expected, and we don't want to frighten the
+- user. */
+- if ((inb_p(SMBHSTCNT) & 0x3C) != VT596_QUICK)
++ /* The quick and receive byte commands are used to probe
++ for chips, so errors are expected, and we don't want
++ to frighten the user. */
++ if (!((size == VT596_QUICK && !read) ||
++ (size == VT596_BYTE && read)))
+ dev_err(&vt596_adapter.dev, "Transaction error!\n");
+ }
+
+@@ -462,9 +463,9 @@
+ }
+ }
+
+-MODULE_AUTHOR(
+- "Frodo Looijaard <frodol@dds.nl> and "
+- "Philip Edelbrock <phil@netroedge.com>");
++MODULE_AUTHOR("Kyosti Malkki <kmalkki@cc.hut.fi>, "
++ "Mark D. Studebaker <mdsxyz123@yahoo.com> and "
++ "Jean Delvare <khali@linux-fr.org>");
+ MODULE_DESCRIPTION("vt82c596 SMBus driver");
+ MODULE_LICENSE("GPL");
+