summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorpgoyette <pgoyette@NetBSD.org>2008-12-18 20:41:35 +0000
committerpgoyette <pgoyette@NetBSD.org>2008-12-18 20:41:35 +0000
commit3ed3895de3e47801a28a7200cb3c8d03d3623364 (patch)
treeb8a5f7c36cfe1e43ab51475feece4671ffe3f0f5 /sys/dev
parent4c237aa750012fc8e5541693c007d7b87c908357 (diff)
Add i2c bus address checking for these chips. All supported chips live
at predefined addresses 0x2c, 0x2d, or 0x2e.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/i2c/dbcool.c8
-rw-r--r--sys/dev/i2c/dbcool_reg.h8
2 files changed, 9 insertions, 7 deletions
diff --git a/sys/dev/i2c/dbcool.c b/sys/dev/i2c/dbcool.c
index 7f9972f33af..61d0f094a9e 100644
--- a/sys/dev/i2c/dbcool.c
+++ b/sys/dev/i2c/dbcool.c
@@ -1,4 +1,4 @@
-/* $NetBSD: dbcool.c,v 1.6 2008/11/18 10:49:45 jnemeth Exp $ */
+/* $NetBSD: dbcool.c,v 1.7 2008/12/18 20:41:35 pgoyette Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -49,7 +49,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dbcool.c,v 1.6 2008/11/18 10:49:45 jnemeth Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dbcool.c,v 1.7 2008/12/18 20:41:35 pgoyette Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -594,7 +594,9 @@ dbcool_match(device_t parent, cfdata_t cf, void *aux)
sc.sc_readreg = dbcool_readreg;
sc.sc_writereg = dbcool_writereg;
- /* no probing if we attach to iic, but verify chip id */
+ /* no probing if we attach to iic, but verify chip id and address */
+ if ((ia->ia_addr & DBCOOL_ADDRMASK) != DBCOOL_ADDR)
+ return 0;
if (dbcool_chip_ident(&sc) >= 0)
return 1;
diff --git a/sys/dev/i2c/dbcool_reg.h b/sys/dev/i2c/dbcool_reg.h
index f267bb5aee6..5246a3f28e1 100644
--- a/sys/dev/i2c/dbcool_reg.h
+++ b/sys/dev/i2c/dbcool_reg.h
@@ -1,4 +1,4 @@
-/* $NetBSD: dbcool_reg.h,v 1.2 2008/10/06 01:35:35 pgoyette Exp $ */
+/* $NetBSD: dbcool_reg.h,v 1.3 2008/12/18 20:41:35 pgoyette Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -37,10 +37,10 @@
#define DBCOOLREG_H
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dbcool_reg.h,v 1.2 2008/10/06 01:35:35 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dbcool_reg.h,v 1.3 2008/12/18 20:41:35 pgoyette Exp $");
-#define DBCOOL_ADDRMASK 0x7f
-#define DBCOOL_ADDR 0x2e /* Some chips have multiple addrs */
+#define DBCOOL_ADDRMASK 0x7c
+#define DBCOOL_ADDR 0x2c /* Some chips have multiple addrs */
/* The dBCool chip family register set */