Re: [PATCH] I2C patches for 2.6.10

From: Greg KH
Date: Sat Jan 08 2005 - 03:20:22 EST


ChangeSet 1.1938.439.45, 2005/01/06 13:54:20-08:00, khali@xxxxxxxxxxxx

[PATCH] I2C: Add secondary Super-I/O address support to

This patch adds support for the secondary Super-I/O address to the
w83627hf driver. Most manufacturer use the primary address but at least
the EPoX EP-9NDA3+ had a Winbond W83627THF at the secondary address.

Signed-off-by: Jean Delvare <khali@xxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <greg@xxxxxxxxx>


drivers/i2c/chips/w83627hf.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)


diff -Nru a/drivers/i2c/chips/w83627hf.c b/drivers/i2c/chips/w83627hf.c
--- a/drivers/i2c/chips/w83627hf.c 2005-01-07 14:54:49 -08:00
+++ b/drivers/i2c/chips/w83627hf.c 2005-01-07 14:54:49 -08:00
@@ -67,9 +67,9 @@
MODULE_PARM_DESC(init, "Set to zero to bypass chip initialization");

/* modified from kernel/include/traps.c */
-#define REG 0x2e /* The register to read/write */
+static int REG; /* The register to read/write */
#define DEV 0x07 /* Register: Logical device select */
-#define VAL 0x2f /* The value to read/write */
+static int VAL; /* The value to read/write */

/* logical device numbers for superio_select (below) */
#define W83627HF_LD_FDC 0x00
@@ -938,10 +938,13 @@
return i2c_detect(adapter, &addr_data, w83627hf_detect);
}

-static int w83627hf_find(int *address)
+static int w83627hf_find(int sioaddr, int *address)
{
u16 val;

+ REG = sioaddr;
+ VAL = sioaddr + 1;
+
superio_enter();
val= superio_inb(DEVID);
if(val != W627_DEVID &&
@@ -1422,7 +1425,8 @@
{
int addr;

- if (w83627hf_find(&addr)) {
+ if (w83627hf_find(0x2e, &addr)
+ && w83627hf_find(0x4e, &addr)) {
return -ENODEV;
}
normal_isa[0] = addr;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/