diff options
| author | pgoyette <pgoyette@NetBSD.org> | 2008-12-18 20:41:35 +0000 |
|---|---|---|
| committer | pgoyette <pgoyette@NetBSD.org> | 2008-12-18 20:41:35 +0000 |
| commit | 3ed3895de3e47801a28a7200cb3c8d03d3623364 (patch) | |
| tree | b8a5f7c36cfe1e43ab51475feece4671ffe3f0f5 /sys/dev | |
| parent | 4c237aa750012fc8e5541693c007d7b87c908357 (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.c | 8 | ||||
| -rw-r--r-- | sys/dev/i2c/dbcool_reg.h | 8 |
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 */ |
