NetBSD Problem Report #40420
From tkhr.hash@gmail.com Sat Jan 17 06:21:38 2009
Return-Path: <tkhr.hash@gmail.com>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
by narn.NetBSD.org (Postfix) with ESMTP id 0ED9563B8BA
for <gnats-bugs@gnats.netbsd.org>; Sat, 17 Jan 2009 06:21:38 +0000 (UTC)
Message-Id: <20090117151257.1D67.44A1DAE8@gmail.com>
Date: Sat, 17 Jan 2009 15:21:33 +0900
From: Takahiro Hayashi <tkhr.hash@gmail.com>
To: gnats-bugs@gnats.NetBSD.org
Cc: tkhr.hash@gmail.com
Subject: adding SMSC LPC47M192 hardware monitor at SMBus
>Number: 40420
>Category: kern
>Synopsis: adding SMSC LPC47M192 hardware monitor at SMBus
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: pgoyette
>State: closed
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Sat Jan 17 06:25:00 +0000 2009
>Closed-Date: Mon Feb 22 03:55:37 +0000 2010
>Last-Modified: Mon Feb 22 03:55:37 +0000 2010
>Originator: Takahiro Hayashi
>Release: NetBSD current(5.99.6) Jan 10 13:08:54 UTC 2009
>Organization:
>Environment:
System: NetBSD halt 5.99.6 NetBSD 5.99.6 (UNION) #0: Thu Jan 15 20:41:02 JST 2009 root@halt:/usr/obj/sys/arch/i386/compile/UNION i386
Architecture: i386
Machine: i386
>Description:
This patch adds SMSC LPC47M192 hardware monitor at SMBus
to the kernel.
For example, envstat(8) will display:
% envstat
Current CritMax CritMin CritCap Unit
[smsctemp0]
+2.5V: 2.568 V
Vccp: 1.156 V
+3.3V: 3.287 V
+5V: 4.980 V
+12V: 12.327 V
Vcc: 3.304 V
+1.5V: 1.587 V
+1.8V: 1.784 V
Remote Temp1: 46.000 degC
Ambient Temp: 38.000 degC
Remote Temp2: 41.000 degC
% dmesg | grep smsctemp
smsctemp0 at iic0 addr 0x2d: LPC47M192 hardware monitor
%
I tested on Intel D945GCLF and D945GCLF2 on i386/amd64.
This patch does not support fan monitoring.
>How-To-Repeat:
>Fix:
apply this patch and add line "smsctemp* at iic? addr 0x2d"
to the kernel configuration file.
Index: sys/dev/i2c/files.i2c
===================================================================
RCS file: /cvsroot/src/sys/dev/i2c/files.i2c,v
retrieving revision 1.23
diff -u -r1.23 files.i2c
--- sys/dev/i2c/files.i2c 30 Oct 2008 12:52:46 -0000 1.23
+++ sys/dev/i2c/files.i2c 17 Jan 2009 06:02:02 -0000
@@ -110,3 +110,8 @@
device admtemp: sysmon_envsys
attach admtemp at iic
file dev/i2c/adm1021.c admtemp
+
+# SMSC LPC47M192 hardware monitor
+device smsctemp: sysmon_envsys
+attach smsctemp at iic
+file dev/i2c/smsctemp.c smsctemp
--- /dev/null 2009-01-04 00:00:53.000000000 +0900
+++ sys/dev/i2c/smsctemp.c 2009-01-17 14:42:13.000000000 +0900
@@ -0,0 +1,334 @@
+/* $NetBSD$ */
+
+/*
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD$");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/device.h>
+
+#include <dev/i2c/i2cvar.h>
+#include <dev/sysmon/sysmonvar.h>
+#include <dev/i2c/smsctempvar.h>
+
+/*
+ * A driver for SMSC LPC47M192 hardware monitor at SMBus.
+ * This driver supports 8 Voltage and 3 Temperature sensors.
+ * Fan RPM monitoring is not supported in this driver because
+ * they are seen on ISA bus.
+ */
+
+static int smsctemp_match(device_t, cfdata_t, void *);
+static void smsctemp_attach(device_t, device_t, void *);
+static uint8_t smsctemp_readreg(struct smsctemp_sc *, int);
+static void smsctemp_writereg(struct smsctemp_sc *, int, int);
+static void smsctemp_sensors_setup(struct smsctemp_sc *,
+ struct smsctemp_sensor *);
+static void smsctemp_refresh_volt(struct smsctemp_sc *, envsys_data_t *);
+static void smsctemp_refresh_temp(struct smsctemp_sc *, envsys_data_t *);
+static void smsctemp_refresh(struct sysmon_envsys *, envsys_data_t *);
+
+CFATTACH_DECL_NEW(smsctemp, sizeof(struct smsctemp_sc),
+ smsctemp_match, smsctemp_attach, NULL, NULL);
+
+
+static struct smsctemp_sensor smsctemp_lpc47m192[] = {
+ {
+ .desc = "+2.5V",
+ .type = ENVSYS_SVOLTS_DC,
+ .reg = 0x20,
+ .refresh = smsctemp_refresh_volt,
+ .vmin = 13000,
+ .vmax = 3320000
+ },
+ {
+ .desc = "Vccp",
+ .type = ENVSYS_SVOLTS_DC,
+ .reg = 0x21,
+ .refresh = smsctemp_refresh_volt,
+ .vmin = 12000,
+ .vmax = 2988000
+ },
+ {
+ .desc = "+3.3V",
+ .type = ENVSYS_SVOLTS_DC,
+ .reg = 0x22,
+ .refresh = smsctemp_refresh_volt,
+ .vmin = 17000,
+ .vmax = 4383000
+ },
+ {
+ .desc = "+5V",
+ .type = ENVSYS_SVOLTS_DC,
+ .reg = 0x23,
+ .refresh = smsctemp_refresh_volt,
+ .vmin = 26000,
+ .vmax = 6640000
+ },
+ {
+ .desc = "+12V",
+ .type = ENVSYS_SVOLTS_DC,
+ .reg = 0x24,
+ .refresh = smsctemp_refresh_volt,
+ .vmin = 62000,
+ .vmax = 15938000
+ },
+ {
+ .desc = "Vcc",
+ .type = ENVSYS_SVOLTS_DC,
+ .reg = 0x25,
+ .refresh = smsctemp_refresh_volt,
+ .vmin = 17000,
+ .vmax = 4383000
+ },
+ {
+ .desc = "+1.5V",
+ .type = ENVSYS_SVOLTS_DC,
+ .reg = 0x50,
+ .refresh = smsctemp_refresh_volt,
+ .vmin = 8000,
+ .vmax = 1992000
+ },
+ {
+ .desc = "+1.8V",
+ .type = ENVSYS_SVOLTS_DC,
+ .reg = 0x51,
+ .refresh = smsctemp_refresh_volt,
+ .vmin = 9000,
+ .vmax = 2391000
+ },
+ {
+ .desc = "Remote Temp1",
+ .type = ENVSYS_STEMP,
+ .reg = 0x26,
+ .refresh = smsctemp_refresh_temp,
+ .vmin = 0,
+ .vmax = 0
+ },
+ {
+ .desc = "Ambient Temp",
+ .type = ENVSYS_STEMP,
+ .reg = 0x27,
+ .refresh = smsctemp_refresh_temp,
+ .vmin = 0,
+ .vmax = 0
+ },
+ {
+ .desc = "Remote Temp2",
+ .type = ENVSYS_STEMP,
+ .reg = 0x52,
+ .refresh = smsctemp_refresh_temp,
+ .vmax = 0,
+ .vmin = 0
+ },
+
+ { .desc = NULL }
+};
+
+
+static int
+smsctemp_match(device_t parent, cfdata_t match, void *aux)
+{
+ struct i2c_attach_args *ia = aux;
+ uint8_t cmd, cid, rev;
+
+ /* Must supply an address */
+ if (ia->ia_addr < 1)
+ return 0;
+
+ iic_acquire_bus(ia->ia_tag, 0);
+
+ cmd = SMSCTEMP_REG_COMPANY;
+ if (iic_exec(ia->ia_tag, I2C_OP_READ_WITH_STOP,
+ ia->ia_addr, &cmd, sizeof cmd, &cid, sizeof cid, 0)) {
+ iic_release_bus(ia->ia_tag, 0);
+ return 0;
+ }
+ cmd = SMSCTEMP_REG_STEPPING;
+ if (iic_exec(ia->ia_tag, I2C_OP_READ_WITH_STOP,
+ ia->ia_addr, &cmd, sizeof cmd, &rev, sizeof rev, 0)) {
+ iic_release_bus(ia->ia_tag, 0);
+ return 0;
+ }
+
+ if ( cid != SMSC_CID_47M192 || rev != SMSC_REV_47M192) {
+ iic_release_bus(ia->ia_tag, 0);
+ return 0;
+ }
+
+ iic_release_bus(ia->ia_tag, 0);
+ return 1;
+}
+
+
+static void
+smsctemp_attach(device_t parent, device_t self, void *aux)
+{
+ struct smsctemp_sc *sc = device_private(self);
+ struct i2c_attach_args *ia = aux;
+ uint8_t cid, rev;
+ int i;
+
+ sc->sc_dev = self;
+ sc->sc_tag = ia->ia_tag;
+ sc->sc_addr = ia->ia_addr;
+ sc->smsctemp_readreg = smsctemp_readreg;
+ sc->smsctemp_writereg = smsctemp_writereg;
+ sc->smsctemp_sensors = NULL;
+
+ cid = sc->smsctemp_readreg(sc, SMSCTEMP_REG_COMPANY);
+ rev = sc->smsctemp_readreg(sc, SMSCTEMP_REG_STEPPING);
+ switch (cid) {
+ case SMSC_CID_47M192:
+ if (rev == SMSC_REV_47M192) {
+ smsctemp_sensors_setup(sc, smsctemp_lpc47m192);
+ aprint_normal(": LPC47M192 hardware monitor\n");
+ }
+ break;
+ default:
+ /* unknown chip */
+ break;
+ }
+
+ if (sc->smsctemp_sensors == NULL) {
+ aprint_normal(": unknown chip: cid 0x%02x rev 0x%02x\n",
+ cid, rev);
+ return;
+ }
+
+ if ((sc->sc_sme = sysmon_envsys_create()) == NULL) {
+ aprint_error_dev(sc->sc_dev,
+ "unable to create sysmon structure\n");
+ return;
+ }
+
+ for (i = 0; i < sc->numsensors; i++) {
+ if (sysmon_envsys_sensor_attach(sc->sc_sme, &sc->sensors[i])) {
+ aprint_error_dev(sc->sc_dev,
+ "unable to attach sensor\n");
+ sysmon_envsys_destroy(sc->sc_sme);
+ return;
+ }
+ }
+
+ sc->sc_sme->sme_name = device_xname(sc->sc_dev);
+ sc->sc_sme->sme_cookie = sc;
+ sc->sc_sme->sme_refresh = smsctemp_refresh;
+ if (sysmon_envsys_register(sc->sc_sme)) {
+ aprint_error_dev(sc->sc_dev,
+ "unable to register with sysmon\n");
+ sysmon_envsys_destroy(sc->sc_sme);
+ return;
+ }
+}
+
+
+static uint8_t
+smsctemp_readreg(struct smsctemp_sc *sc, int reg)
+{
+ uint8_t cmd, data;
+
+ iic_acquire_bus(sc->sc_tag, 0);
+
+ cmd = reg;
+ iic_exec(sc->sc_tag, I2C_OP_READ_WITH_STOP,
+ sc->sc_addr, &cmd, sizeof cmd, &data, sizeof data, 0);
+
+ iic_release_bus(sc->sc_tag, 0);
+
+ return data;
+}
+
+static void
+smsctemp_writereg(struct smsctemp_sc *sc, int reg, int val)
+{
+ uint8_t cmd, data;
+
+ iic_acquire_bus(sc->sc_tag, 0);
+
+ cmd = reg;
+ data = val;
+ iic_exec(sc->sc_tag, I2C_OP_WRITE_WITH_STOP,
+ sc->sc_addr, &cmd, sizeof cmd, &data, sizeof data, 0);
+
+ iic_release_bus(sc->sc_tag, 0);
+}
+
+
+static void
+smsctemp_sensors_setup(struct smsctemp_sc *sc, struct smsctemp_sensor *sens)
+{
+ int i;
+
+ for (i = 0; sens[i].desc; i++) {
+ strlcpy(sc->sensors[i].desc, sens[i].desc,
+ sizeof(sc->sensors[i].desc));
+ sc->sensors[i].units = sens[i].type;
+ sc->numsensors++;
+ }
+ sc->smsctemp_sensors = sens;
+}
+
+
+static void
+smsctemp_refresh_volt(struct smsctemp_sc *sc, envsys_data_t *edata)
+{
+ struct smsctemp_sensor *sens = &sc->smsctemp_sensors[edata->sensor];
+ int data;
+
+ data = (*sc->smsctemp_readreg)(sc, sens->reg);
+ if (data == 0xff) {
+ edata->state = ENVSYS_SINVALID;
+ } else {
+ edata->value_cur =
+ (sens->vmax - sens->vmin)/255 * data + sens->vmin;
+ edata->state = ENVSYS_SVALID;
+ }
+}
+
+static void
+smsctemp_refresh_temp(struct smsctemp_sc *sc, envsys_data_t *edata)
+{
+ struct smsctemp_sensor *sens = &sc->smsctemp_sensors[edata->sensor];
+ int data;
+
+ data = (*sc->smsctemp_readreg)(sc, sens->reg);
+ if (data == 0xff) {
+ edata->state = ENVSYS_SINVALID;
+ } else {
+ /* convert data(degC) to uK */
+ edata->value_cur = 273150000 + 1000000 * data;
+ edata->state = ENVSYS_SVALID;
+ }
+}
+
+static void
+smsctemp_refresh(struct sysmon_envsys *sme, envsys_data_t *edata)
+{
+ struct smsctemp_sc *sc = sme->sme_cookie;
+
+ sc->smsctemp_sensors[edata->sensor].refresh(sc, edata);
+}
--- /dev/null 2009-01-04 00:00:53.000000000 +0900
+++ sys/dev/i2c/smsctempvar.h 2009-01-17 14:08:15.000000000 +0900
@@ -0,0 +1,62 @@
+/* $NetBSD$ */
+
+/*
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _DEV_I2C_SMSCTEMPVAR_H_
+#define _DEV_I2C_SMSCTEMPVAR_H_
+
+#define SMSCTEMP_REG_COMPANY 0x3e
+#define SMSCTEMP_REG_STEPPING 0x3f
+#define SMSCTEMP_REG_CONFIG 0x40
+
+#define SMSC_CID_47M192 0x55 /* LPC47M192/LPC47M997 */
+#define SMSC_REV_47M192 0x20
+
+#define SMSCTEMP_NUM_SENSORS 12
+
+
+struct smsctemp_sc {
+ device_t sc_dev;
+ i2c_tag_t sc_tag;
+ i2c_addr_t sc_addr;
+
+ uint8_t (*smsctemp_readreg)(struct smsctemp_sc *, int);
+ void (*smsctemp_writereg)(struct smsctemp_sc *, int, int);
+
+ struct sysmon_envsys *sc_sme;
+ envsys_data_t sensors[SMSCTEMP_NUM_SENSORS];
+ int numsensors;
+ struct smsctemp_sensor *smsctemp_sensors;
+};
+
+struct smsctemp_sensor {
+ const char *desc;
+ enum envsys_units type;
+ uint8_t reg;
+ void (*refresh)(struct smsctemp_sc *, envsys_data_t *);
+ int vmin; /* value in uV for 0x00 */
+ int vmax; /* value in uV for 0xff */
+};
+
+#endif /* _DEV_I2C_SMSCTEMPVAR_H_ */
--
<tkhr.hash@gmail.com>
>Release-Note:
>Audit-Trail:
From: Andreas Wrede <andreas@wrede.ca>
To: gnats-bugs@NetBSD.org
Cc: kern-bug-people@netbsd.org,
gnats-admin@netbsd.org,
netbsd-bugs@netbsd.org
Subject: Re: kern/40420: adding SMSC LPC47M192 hardware monitor at SMBus
Date: Wed, 4 Feb 2009 15:46:30 -0500
On Jan 17, 2009, at 1:25 , Takahiro Hayashi wrote:
>> Number: 40420
>> Category: kern
>> Synopsis: adding SMSC LPC47M192 hardware monitor at SMBus
>> Confidential: no
>> Severity: non-critical
>> Priority: low
>> Responsible: kern-bug-people
>> State: open
>> Class: change-request
>> Submitter-Id: net
>> Arrival-Date: Sat Jan 17 06:25:00 +0000 2009
>> Originator: Takahiro Hayashi
>> Release: NetBSD current(5.99.6) Jan 10 13:08:54 UTC 2009
>> Organization:
>> Environment:
> System: NetBSD halt 5.99.6 NetBSD 5.99.6 (UNION) #0: Thu Jan 15
> 20:41:02 JST 2009 root@halt:/usr/obj/sys/arch/i386/compile/UNION i386
> Architecture: i386
> Machine: i386
>> Description:
> This patch adds SMSC LPC47M192 hardware monitor at SMBus
> to the kernel.
The patch alos applies cleanly to the netbsd_5 branch:
# uname -a
NetBSD watch.wrede.pvt 5.0_RC1 NetBSD 5.0_RC1 (GENERIC) #48: Wed Feb
4 15:33:28 EST 2009 root@wotan.wrede.pvt:/u2/netbsd-5.0/obj.amd64/sys/
arch/amd64/compile/GENERIC amd64
# grep smsctemp0 /var/run/dmesg.boot
smsctemp0 at iic0 addr 0x2d: LPC47M192 hardware monitor
# envstat -d smsctemp0
Current CritMax CritMin CritCap Unit
+2.5V: 2.503 V
Vccp: 1.156 V
+3.3V: 3.321 V
+5V: 5.084 V
+12V: 12.078 V
Vcc: 3.338 V
+1.5V: 1.548 V
+1.8V: 1.784 V
Remote Temp1: 39.000 degC
Ambient Temp: 29.000 degC
Remote Temp2: 36.000 degC
Can this please be pulled up once it is committed?
Thanks!
--
aew
Responsible-Changed-From-To: kern-bug-people->jnemeth
Responsible-Changed-By: jnemeth@NetBSD.org
Responsible-Changed-When: Wed, 11 Feb 2009 08:09:18 +0000
Responsible-Changed-Why:
take
State-Changed-From-To: open->feedback
State-Changed-By: jnemeth@NetBSD.org
State-Changed-When: Wed, 11 Feb 2009 08:09:18 +0000
State-Changed-Why:
Made a comment about the lack of a copyright.
From: jnemeth@victoria.tc.ca (John Nemeth)
To: gnats-bugs@NetBSD.org, kern-bug-people@NetBSD.org, netbsd-bugs@NetBSD.org
Cc:
Subject: Re: kern/40420: adding SMSC LPC47M192 hardware monitor at SMBus
Date: Wed, 11 Feb 2009 00:08:22 -0800
On May 3, 6:32pm, Takahiro Hayashi wrote:
}
} >Number: 40420
} >Category: kern
} >Synopsis: adding SMSC LPC47M192 hardware monitor at SMBus
} >Description:
} This patch adds SMSC LPC47M192 hardware monitor at SMBus
} to the kernel.
} For example, envstat(8) will display:
}
} % envstat
} Current CritMax CritMin CritCap Unit
} [smsctemp0]
} +2.5V: 2.568 V
} Vccp: 1.156 V
} +3.3V: 3.287 V
} +5V: 4.980 V
} +12V: 12.327 V
} Vcc: 3.304 V
} +1.5V: 1.587 V
} +1.8V: 1.784 V
} Remote Temp1: 46.000 degC
} Ambient Temp: 38.000 degC
} Remote Temp2: 41.000 degC
} % dmesg | grep smsctemp
} smsctemp0 at iic0 addr 0x2d: LPC47M192 hardware monitor
} %
}
} I tested on Intel D945GCLF and D945GCLF2 on i386/amd64.
} This patch does not support fan monitoring.
}
} >How-To-Repeat:
} >Fix:
} apply this patch and add line "smsctemp* at iic? addr 0x2d"
} to the kernel configuration file.
}
} [snip]
} --- /dev/null 2009-01-04 00:00:53.000000000 +0900
} +++ sys/dev/i2c/smsctemp.c 2009-01-17 14:42:13.000000000 +0900
} @@ -0,0 +1,334 @@
} +/* $NetBSD$ */
} +
} +/*
} + * Redistribution and use in source and binary forms, with or without
} + * modification, are permitted provided that the following conditions
} [snip]
There is no copyright line (i.e. there is no indication of who is
granting the licence. Unfortunately, without a proper copyright to go
along with the licence the code can't be imported.
}-- End of excerpt from Takahiro Hayashi
From: Takahiro Hayashi <tkhr.hash@gmail.com>
To: jnemeth@victoria.tc.ca (John Nemeth)
Cc: gnats-bugs@NetBSD.org,
kern-bug-people@NetBSD.org,
netbsd-bugs@NetBSD.org
Subject: Re: kern/40420: adding SMSC LPC47M192 hardware monitor at SMBus
Date: Wed, 11 Feb 2009 19:25:36 +0900
On Wed, 11 Feb 2009 00:08:22 -0800
jnemeth@victoria.tc.ca (John Nemeth) wrote:
> On May 3, 6:32pm, Takahiro Hayashi wrote:
> }
> } >Number: 40420
> } >Category: kern
> } >Synopsis: adding SMSC LPC47M192 hardware monitor at SMBus
> } >Description:
> } This patch adds SMSC LPC47M192 hardware monitor at SMBus
> } to the kernel.
[snip]
> } [snip]
> } --- /dev/null 2009-01-04 00:00:53.000000000 +0900
> } +++ sys/dev/i2c/smsctemp.c 2009-01-17 14:42:13.000000000 +0900
> } @@ -0,0 +1,334 @@
> } +/* $NetBSD$ */
> } +
> } +/*
> } + * Redistribution and use in source and binary forms, with or without
> } + * modification, are permitted provided that the following conditions
> } [snip]
>
> There is no copyright line (i.e. there is no indication of who is
> granting the licence. Unfortunately, without a proper copyright to go
> along with the licence the code can't be imported.
I've forgotten about the license.
Can the following license be accepted?
Thanks,
Takahiro Hayashi
--- smsctemp.c.orig 2009-02-11 18:48:08.000000000 +0900
+++ smsctemp.c 2009-02-11 18:55:17.000000000 +0900
@@ -1,6 +1,9 @@
/* $NetBSD$ */
/*
+ * Copyright (c) 2009 Takahiro Hayashi
+ * All rights reserved.
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
--- smsctempvar.h.orig 2009-02-11 18:48:14.000000000 +0900
+++ smsctempvar.h 2009-02-11 18:55:07.000000000 +0900
@@ -1,6 +1,9 @@
/* $NetBSD$ */
/*
+ * Copyright (c) 2009 Takahiro Hayashi
+ * All rights reserved.
+ *
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
--
<tkhr.hash@gmail.com>
State-Changed-From-To: feedback->open
State-Changed-By: jnemeth@NetBSD.org
State-Changed-When: Wed, 11 Feb 2009 22:06:35 +0000
State-Changed-Why:
Question has been answered.
From: jnemeth@victoria.tc.ca (John Nemeth)
To: Takahiro Hayashi <tkhr.hash@gmail.com>
Cc: gnats-bugs@NetBSD.org, netbsd-bugs@NetBSD.org
Subject: Re: kern/40420: adding SMSC LPC47M192 hardware monitor at SMBus
Date: Wed, 11 Feb 2009 14:05:55 -0800
On Jul 4, 2:01pm, Takahiro Hayashi wrote:
} On Wed, 11 Feb 2009 00:08:22 -0800
} jnemeth@victoria.tc.ca (John Nemeth) wrote:
} > On May 3, 6:32pm, Takahiro Hayashi wrote:
} > }
} > } >Number: 40420
} > } >Category: kern
} > } >Synopsis: adding SMSC LPC47M192 hardware monitor at SMBus
} > } >Description:
} > } This patch adds SMSC LPC47M192 hardware monitor at SMBus
} > } to the kernel.
} [snip]
} > } [snip]
} > } --- /dev/null 2009-01-04 00:00:53.000000000 +0900
} > } +++ sys/dev/i2c/smsctemp.c 2009-01-17 14:42:13.000000000 +0900
} > } @@ -0,0 +1,334 @@
} > } +/* $NetBSD$ */
} > } +
} > } +/*
} > } + * Redistribution and use in source and binary forms, with or without
} > } + * modification, are permitted provided that the following conditions
} > } [snip]
} >
} > There is no copyright line (i.e. there is no indication of who is
} > granting the licence. Unfortunately, without a proper copyright to go
} > along with the licence the code can't be imported.
}
} I've forgotten about the license.
} Can the following license be accepted?
}
} Thanks,
} Takahiro Hayashi
}
} --- smsctemp.c.orig 2009-02-11 18:48:08.000000000 +0900
} +++ smsctemp.c 2009-02-11 18:55:17.000000000 +0900
} @@ -1,6 +1,9 @@
} /* $NetBSD$ */
}
} /*
} + * Copyright (c) 2009 Takahiro Hayashi
} + * All rights reserved.
} + *
} * Redistribution and use in source and binary forms, with or without
} * modification, are permitted provided that the following conditions
} * are met:
This looks okay to me. Will take a look at the code later.
}-- End of excerpt from Takahiro Hayashi
From: jnemeth@cornerstoneservice.ca (John Nemeth)
To: paul@whooppee.com
Cc: Takahiro Hayashi <tkhr.hash@gmail.com>, gnats-bugs@netbsd.org
Subject: Re: kern/40420
Date: Sat, 20 Feb 2010 20:13:00 -0800
On Feb 20, 7:19am, Paul Goyette wrote:
}
} Any reason you haven't gotten back to this since last year? :) Any
Other then getting side tracked, nope.
} objection if I pick it up from you?
Go ahead. Just change Responsible to yourself and do your
own code review.
}-- End of excerpt from Paul Goyette
Responsible-Changed-From-To: jnemeth->pgoyette
Responsible-Changed-By: pgoyette@NetBSD.org
Responsible-Changed-When: Sun, 21 Feb 2010 15:05:21 +0000
Responsible-Changed-Why:
I've picked this up from John.
State-Changed-From-To: open->analyzed
State-Changed-By: pgoyette@NetBSD.org
State-Changed-When: Sun, 21 Feb 2010 15:05:21 +0000
State-Changed-Why:
Looked at it, will import revised code soon.
From: Paul Goyette <paul@whooppee.com>
To: Takahiro HAYASHI <hash@abox3.so-net.ne.jp>
Cc: tkhr.hash@gmail.com, John Nemeth <jnemeth@netbsd.org>,
gnats-bugs@netbsd.org
Subject: Re: kern/40420
Date: Sun, 21 Feb 2010 10:24:03 -0800 (PST)
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
--0-2127810690-1266776621=:6053
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; format=flowed
Content-ID: <Pine.NEB.4.64.1002211023491.6053@quicky.whooppee.com>
On Mon, 22 Feb 2010, Takahiro HAYASHI wrote:
> Sorry for late response.
No problem! Thanks for the reply.
> I'm afraid that the name "smsc" will conflict with sys/dev/isa/smsc.c.
> That's why I name this driver "smsctemp".
> As you say, name of "smsctemp" may not be suitable, i think.
> How about "smschwmon"?
Yes, I found that the hard way!
I have taken the liberty of renaming it to smcsmon(4). I've made a few
other minor changes in the sources (most notably, I replaced the calls
to iic_exec() with calls to iic_smbus_{read,write}_byte()) and I've
written a basic smcsmon(4) man page. The rest of the code looked pretty
clean to me. (I personally don't like using the
{ member1 = value1, member2 = value2, ... }
method of initializing the array of sensor descriptors, but it is done
that way in other drivers, so I left it alone.)
I have attached the revised files here - please let me know if this
meets with your approval, and I will commit.
-------------------------------------------------------------------------
| Paul Goyette | PGP DSS Key fingerprint: | E-mail addresses: |
| Customer Service | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com |
| Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette at juniper.net |
| Kernel Developer | | pgoyette at netbsd.org |
-------------------------------------------------------------------------
--0-2127810690-1266776621=:6053
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME=smscmonvar.h
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.NEB.4.64.1002211023410.6053@quicky.whooppee.com>
Content-Description:
Content-Disposition: ATTACHMENT; FILENAME=smscmonvar.h
LyogJE5ldEJTRCQgKi8NCg0KLyoNCiAqIENvcHlyaWdodCAoYykgMjAwOSBU
YWthaGlybyBIYXlhc2hpDQogKiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KICoN
CiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dA0KICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zDQogKiBhcmUgbWV0Og0KICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQN
CiAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCiAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0DQogKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlDQogKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KICoNCiAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIE5FVEJTRCBGT1VOREFUSU9OLCBJTkMuIEFO
RCBDT05UUklCVVRPUlMNCiAqIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRA0KICogVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVINCiAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Rk9VTkRBVElPTiBPUiBDT05UUklCVVRPUlMNCiAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1INCiAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GDQogKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCiAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElODQogKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQ0K
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUNCiAqIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLg0KICovDQoNCiNpZm5kZWYgX0RFVl9JMkNf
U01TQ01PTlZBUl9IXw0KI2RlZmluZSBfREVWX0kyQ19TTVNDTU9OVkFSX0hf
DQoNCiNkZWZpbmUgU01TQ01PTl9BRERSCQkweDJjDQojZGVmaW5lIFNNU0NN
T05fQUREUl9NQVNLCTB4N2UNCg0KI2RlZmluZSBTTVNDTU9OX1JFR19DT01Q
QU5ZCTB4M2UNCiNkZWZpbmUgU01TQ01PTl9SRUdfU1RFUFBJTkcJMHgzZg0K
I2RlZmluZSBTTVNDTU9OX1JFR19DT05GSUcJMHg0MA0KDQojZGVmaW5lIFNN
U0NfQ0lEXzQ3TTE5MgkJMHg1NQkvKiBMUEM0N00xOTIvTFBDNDdNOTk3ICov
DQojZGVmaW5lIFNNU0NfUkVWXzQ3TTE5MgkJMHgyMA0KDQojZGVmaW5lIFNN
U0NNT05fTlVNX1NFTlNPUlMJMTINCg0KDQpzdHJ1Y3Qgc21zY21vbl9zYyB7
DQoJZGV2aWNlX3QJc2NfZGV2Ow0KCWkyY190YWdfdAlzY190YWc7DQoJaTJj
X2FkZHJfdAlzY19hZGRyOw0KDQoJdWludDhfdAkoKnNtc2Ntb25fcmVhZHJl
Zykoc3RydWN0IHNtc2Ntb25fc2MgKiwgaW50KTsNCgl2b2lkCSgqc21zY21v
bl93cml0ZXJlZykoc3RydWN0IHNtc2Ntb25fc2MgKiwgaW50LCBpbnQpOw0K
DQoJc3RydWN0IHN5c21vbl9lbnZzeXMgKnNjX3NtZTsNCgllbnZzeXNfZGF0
YV90IHNlbnNvcnNbU01TQ01PTl9OVU1fU0VOU09SU107DQoJaW50CQludW1z
ZW5zb3JzOw0KCXN0cnVjdCBzbXNjbW9uX3NlbnNvciAqc21zY21vbl9zZW5z
b3JzOw0KfTsNCg0Kc3RydWN0IHNtc2Ntb25fc2Vuc29yIHsNCgljb25zdCBj
aGFyCSpkZXNjOw0KCWVudW0gZW52c3lzX3VuaXRzIHR5cGU7DQoJdWludDhf
dCAJcmVnOw0KCXZvaWQJCSgqcmVmcmVzaCkoc3RydWN0IHNtc2Ntb25fc2Mg
KiwgZW52c3lzX2RhdGFfdCAqKTsNCglpbnQJCXZtaW47CQkvKiB2YWx1ZSBp
biB1ViBmb3IgMHgwMCAqLw0KCWludAkJdm1heDsJCS8qIHZhbHVlIGluIHVW
IGZvciAweGZmICovDQp9Ow0KDQojZW5kaWYgLyogX0RFVl9JMkNfU01TQ1ZB
Ul9IXyAqLw0K
--0-2127810690-1266776621=:6053
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME=smscmon.c
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.NEB.4.64.1002211023411.6053@quicky.whooppee.com>
Content-Description:
Content-Disposition: ATTACHMENT; FILENAME=smscmon.c
LyogJE5ldEJTRCQgKi8NCg0KLyoNCiAqIENvcHlyaWdodCAoYykgMjAwOSBU
YWthaGlybyBIYXlhc2hpDQogKiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KICoN
CiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dA0KICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zDQogKiBhcmUgbWV0Og0KICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQN
CiAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCiAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0DQogKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlDQogKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KICoNCiAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIE5FVEJTRCBGT1VOREFUSU9OLCBJTkMuIEFO
RCBDT05UUklCVVRPUlMNCiAqIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRA0KICogVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVINCiAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Rk9VTkRBVElPTiBPUiBDT05UUklCVVRPUlMNCiAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1INCiAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GDQogKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MNCiAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElODQogKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQ0K
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUNCiAqIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLg0KICovDQoNCiNpbmNsdWRlIDxzeXMvY2Rl
ZnMuaD4NCl9fS0VSTkVMX1JDU0lEKDAsICIkTmV0QlNEJCIpOw0KDQojaW5j
bHVkZSA8c3lzL3BhcmFtLmg+DQojaW5jbHVkZSA8c3lzL3N5c3RtLmg+DQoj
aW5jbHVkZSA8c3lzL2RldmljZS5oPg0KDQojaW5jbHVkZSA8ZGV2L2kyYy9p
MmN2YXIuaD4NCiNpbmNsdWRlIDxkZXYvc3lzbW9uL3N5c21vbnZhci5oPg0K
I2luY2x1ZGUgPGRldi9pMmMvc21zY21vbnZhci5oPg0KDQovKg0KICogQSBk
cml2ZXIgZm9yIFNNU0MgTFBDNDdNMTkyIGhhcmR3YXJlIG1vbml0b3IgYXQg
U01CdXMuDQogKiBUaGlzIGRyaXZlciBzdXBwb3J0cyA4IFZvbHRhZ2UgYW5k
IDMgVGVtcGVyYXR1cmUgc2Vuc29ycy4NCiAqIEZhbiBSUE0gbW9uaXRvcmlu
ZyBpcyBub3Qgc3VwcG9ydGVkIGluIHRoaXMgZHJpdmVyIGJlY2F1c2UNCiAq
IHRoZXkgYXJlIHNlZW4gb24gSVNBIGJ1cy4NCiAqDQogKiBEYXRhc2hlZXQg
YXZhaWxhYmxlIChhcyBvZiBGZWIuIDIwLCAyMDEwKSBhdA0KICogaHR0cDov
L3BkZjEuYWxsZGF0YXNoZWV0LmNvbS9kYXRhc2hlZXQtcGRmL3ZpZXcvMTA5
NzUyL1NNU0MvTFBDNDdNMTkyLU5DLmh0bWwNCiAqLw0KDQpzdGF0aWMgaW50
IHNtc2Ntb25fbWF0Y2goZGV2aWNlX3QsIGNmZGF0YV90LCB2b2lkICopOw0K
c3RhdGljIHZvaWQgc21zY21vbl9hdHRhY2goZGV2aWNlX3QsIGRldmljZV90
LCB2b2lkICopOw0Kc3RhdGljIHVpbnQ4X3Qgc21zY21vbl9yZWFkcmVnKHN0
cnVjdCBzbXNjbW9uX3NjICosIGludCk7DQpzdGF0aWMgdm9pZCBzbXNjbW9u
X3dyaXRlcmVnKHN0cnVjdCBzbXNjbW9uX3NjICosIGludCwgaW50KTsNCnN0
YXRpYyB2b2lkIHNtc2Ntb25fc2Vuc29yc19zZXR1cChzdHJ1Y3Qgc21zY21v
bl9zYyAqLCBzdHJ1Y3Qgc21zY21vbl9zZW5zb3IgKik7DQpzdGF0aWMgdm9p
ZCBzbXNjbW9uX3JlZnJlc2hfdm9sdChzdHJ1Y3Qgc21zY21vbl9zYyAqLCBl
bnZzeXNfZGF0YV90ICopOw0Kc3RhdGljIHZvaWQgc21zY21vbl9yZWZyZXNo
X3RlbXAoc3RydWN0IHNtc2Ntb25fc2MgKiwgZW52c3lzX2RhdGFfdCAqKTsN
CnN0YXRpYyB2b2lkIHNtc2Ntb25fcmVmcmVzaChzdHJ1Y3Qgc3lzbW9uX2Vu
dnN5cyAqLCBlbnZzeXNfZGF0YV90ICopOw0KDQpDRkFUVEFDSF9ERUNMX05F
VyhzbXNjbW9uLCBzaXplb2Yoc3RydWN0IHNtc2Ntb25fc2MpLA0KICAgIHNt
c2Ntb25fbWF0Y2gsIHNtc2Ntb25fYXR0YWNoLCBOVUxMLCBOVUxMKTsNCg0K
c3RhdGljIHN0cnVjdCBzbXNjbW9uX3NlbnNvciBzbXNjbW9uX2xwYzQ3bTE5
MltdID0gew0KCXsNCgkJLmRlc2MgPSAiKzIuNVYiLA0KCQkudHlwZSA9IEVO
VlNZU19TVk9MVFNfREMsDQoJCS5yZWcgPSAweDIwLA0KCQkucmVmcmVzaCA9
IHNtc2Ntb25fcmVmcmVzaF92b2x0LA0KCQkudm1pbiA9ICAgMTMwMDAsDQoJ
CS52bWF4ID0gMzMyMDAwMA0KCX0sDQoJew0KCQkuZGVzYyA9ICJWY2NwIiwN
CgkJLnR5cGUgPSBFTlZTWVNfU1ZPTFRTX0RDLA0KCQkucmVnID0gMHgyMSwN
CgkJLnJlZnJlc2ggPSBzbXNjbW9uX3JlZnJlc2hfdm9sdCwNCgkJLnZtaW4g
PSAgIDEyMDAwLA0KCQkudm1heCA9IDI5ODgwMDANCgl9LA0KCXsNCgkJLmRl
c2MgPSAiKzMuM1YiLA0KCQkudHlwZSA9IEVOVlNZU19TVk9MVFNfREMsDQoJ
CS5yZWcgPSAweDIyLA0KCQkucmVmcmVzaCA9IHNtc2Ntb25fcmVmcmVzaF92
b2x0LA0KCQkudm1pbiA9ICAgMTcwMDAsDQoJCS52bWF4ID0gNDM4MzAwMA0K
CX0sDQoJew0KCQkuZGVzYyA9ICIrNVYiLA0KCQkudHlwZSA9IEVOVlNZU19T
Vk9MVFNfREMsDQoJCS5yZWcgPSAweDIzLA0KCQkucmVmcmVzaCA9IHNtc2Nt
b25fcmVmcmVzaF92b2x0LA0KCQkudm1pbiA9ICAgMjYwMDAsDQoJCS52bWF4
ID0gNjY0MDAwMA0KCX0sDQoJew0KCQkuZGVzYyA9ICIrMTJWIiwNCgkJLnR5
cGUgPSBFTlZTWVNfU1ZPTFRTX0RDLA0KCQkucmVnID0gMHgyNCwNCgkJLnJl
ZnJlc2ggPSBzbXNjbW9uX3JlZnJlc2hfdm9sdCwNCgkJLnZtaW4gPSAgICA2
MjAwMCwNCgkJLnZtYXggPSAxNTkzODAwMA0KCX0sDQoJew0KCQkuZGVzYyA9
ICJWY2MiLA0KCQkudHlwZSA9IEVOVlNZU19TVk9MVFNfREMsDQoJCS5yZWcg
PSAweDI1LA0KCQkucmVmcmVzaCA9IHNtc2Ntb25fcmVmcmVzaF92b2x0LA0K
CQkudm1pbiA9ICAgMTcwMDAsDQoJCS52bWF4ID0gNDM4MzAwMA0KCX0sDQoJ
ew0KCQkuZGVzYyA9ICIrMS41ViIsDQoJCS50eXBlID0gRU5WU1lTX1NWT0xU
U19EQywNCgkJLnJlZyA9IDB4NTAsDQoJCS5yZWZyZXNoID0gc21zY21vbl9y
ZWZyZXNoX3ZvbHQsDQoJCS52bWluID0gICAgODAwMCwNCgkJLnZtYXggPSAx
OTkyMDAwDQoJfSwNCgl7DQoJCS5kZXNjID0gIisxLjhWIiwNCgkJLnR5cGUg
PSBFTlZTWVNfU1ZPTFRTX0RDLA0KCQkucmVnID0gMHg1MSwNCgkJLnJlZnJl
c2ggPSBzbXNjbW9uX3JlZnJlc2hfdm9sdCwNCgkJLnZtaW4gPSAgICA5MDAw
LA0KCQkudm1heCA9IDIzOTEwMDANCgl9LA0KCXsNCgkJLmRlc2MgPSAiUmVt
b3RlIFRlbXAxIiwNCgkJLnR5cGUgPSBFTlZTWVNfU1RFTVAsDQoJCS5yZWcg
PSAweDI2LA0KCQkucmVmcmVzaCA9IHNtc2Ntb25fcmVmcmVzaF90ZW1wLA0K
CQkudm1pbiA9IDAsDQoJCS52bWF4ID0gMA0KCX0sDQoJew0KCQkuZGVzYyA9
ICJBbWJpZW50IFRlbXAiLA0KCQkudHlwZSA9IEVOVlNZU19TVEVNUCwNCgkJ
LnJlZyA9IDB4MjcsDQoJCS5yZWZyZXNoID0gc21zY21vbl9yZWZyZXNoX3Rl
bXAsDQoJCS52bWluID0gMCwNCgkJLnZtYXggPSAwDQoJfSwNCgl7DQoJCS5k
ZXNjID0gIlJlbW90ZSBUZW1wMiIsDQoJCS50eXBlID0gRU5WU1lTX1NURU1Q
LA0KCQkucmVnID0gMHg1MiwNCgkJLnJlZnJlc2ggPSBzbXNjbW9uX3JlZnJl
c2hfdGVtcCwNCgkJLnZtYXggPSAwLA0KCQkudm1pbiA9IDANCgl9LA0KDQoJ
eyAuZGVzYyA9IE5VTEwgfQ0KfTsNCg0Kc3RhdGljIGludA0Kc21zY21vbl9t
YXRjaChkZXZpY2VfdCBwYXJlbnQsIGNmZGF0YV90IG1hdGNoLCB2b2lkICph
dXgpDQp7DQoJc3RydWN0IGkyY19hdHRhY2hfYXJncyAqaWEgPSBhdXg7DQoJ
dWludDhfdCBjbWQsIGNpZCwgcmV2Ow0KDQoJLyogQWRkcmVzcyBpcyBoYXJk
d2lyZWQgdG8gMDEwXzExMHggKi8NCglpZiAoKGlhLT5pYV9hZGRyICYgU01T
Q01PTl9BRERSX01BU0spICE9IFNNU0NNT05fQUREUikNCgkJcmV0dXJuIDA7
DQoNCglpaWNfYWNxdWlyZV9idXMoaWEtPmlhX3RhZywgMCk7DQoNCgljbWQg
PSBTTVNDTU9OX1JFR19DT01QQU5ZOw0KCWlmIChpaWNfZXhlYyhpYS0+aWFf
dGFnLCBJMkNfT1BfUkVBRF9XSVRIX1NUT1AsDQoJICAgIGlhLT5pYV9hZGRy
LCAmY21kLCBzaXplb2YgY21kLCAmY2lkLCBzaXplb2YgY2lkLCAwKSkgew0K
CQlpaWNfcmVsZWFzZV9idXMoaWEtPmlhX3RhZywgMCk7DQoJCXJldHVybiAw
Ow0KCX0NCgljbWQgPSBTTVNDTU9OX1JFR19TVEVQUElORzsNCglpZiAoaWlj
X2V4ZWMoaWEtPmlhX3RhZywgSTJDX09QX1JFQURfV0lUSF9TVE9QLA0KCSAg
ICBpYS0+aWFfYWRkciwgJmNtZCwgc2l6ZW9mIGNtZCwgJnJldiwgc2l6ZW9m
IHJldiwgMCkpIHsNCgkJaWljX3JlbGVhc2VfYnVzKGlhLT5pYV90YWcsIDAp
Ow0KCQlyZXR1cm4gMDsNCgl9DQoNCglpZiAoIGNpZCAhPSBTTVNDX0NJRF80
N00xOTIgfHwgcmV2ICE9IFNNU0NfUkVWXzQ3TTE5Mikgew0KCQlpaWNfcmVs
ZWFzZV9idXMoaWEtPmlhX3RhZywgMCk7DQoJCXJldHVybiAwOw0KCX0NCg0K
CWlpY19yZWxlYXNlX2J1cyhpYS0+aWFfdGFnLCAwKTsNCglyZXR1cm4gMTsN
Cn0NCg0Kc3RhdGljIHZvaWQNCnNtc2Ntb25fYXR0YWNoKGRldmljZV90IHBh
cmVudCwgZGV2aWNlX3Qgc2VsZiwgdm9pZCAqYXV4KQ0Kew0KCXN0cnVjdCBz
bXNjbW9uX3NjICpzYyA9IGRldmljZV9wcml2YXRlKHNlbGYpOw0KCXN0cnVj
dCBpMmNfYXR0YWNoX2FyZ3MgKmlhID0gYXV4Ow0KCXVpbnQ4X3QgY2lkLCBy
ZXY7DQoJaW50IGk7DQoNCglzYy0+c2NfZGV2ID0gc2VsZjsNCglzYy0+c2Nf
dGFnID0gaWEtPmlhX3RhZzsNCglzYy0+c2NfYWRkciA9IGlhLT5pYV9hZGRy
Ow0KCXNjLT5zbXNjbW9uX3JlYWRyZWcgPSBzbXNjbW9uX3JlYWRyZWc7DQoJ
c2MtPnNtc2Ntb25fd3JpdGVyZWcgPSBzbXNjbW9uX3dyaXRlcmVnOw0KCXNj
LT5zbXNjbW9uX3NlbnNvcnMgPSBOVUxMOw0KDQoJY2lkID0gc2MtPnNtc2Nt
b25fcmVhZHJlZyhzYywgU01TQ01PTl9SRUdfQ09NUEFOWSk7DQoJcmV2ID0g
c2MtPnNtc2Ntb25fcmVhZHJlZyhzYywgU01TQ01PTl9SRUdfU1RFUFBJTkcp
Ow0KCXN3aXRjaCAoY2lkKSB7DQoJY2FzZSBTTVNDX0NJRF80N00xOTI6DQoJ
CWlmIChyZXYgPT0gU01TQ19SRVZfNDdNMTkyKSB7DQoJCQlzbXNjbW9uX3Nl
bnNvcnNfc2V0dXAoc2MsIHNtc2Ntb25fbHBjNDdtMTkyKTsNCgkJCWFwcmlu
dF9ub3JtYWwoIjogTFBDNDdNMTkyIGhhcmR3YXJlIG1vbml0b3JcbiIpOw0K
CQl9DQoJCWJyZWFrOw0KCWRlZmF1bHQ6DQoJCS8qIHVua25vd24gY2hpcCAq
Lw0KCQlicmVhazsNCgl9DQoNCglpZiAoc2MtPnNtc2Ntb25fc2Vuc29ycyA9
PSBOVUxMKSB7DQoJCWFwcmludF9ub3JtYWwoIjogdW5rbm93biBjaGlwOiBj
aWQgMHglMDJ4IHJldiAweCUwMnhcbiIsDQoJCSAgICBjaWQsIHJldik7DQoJ
CXJldHVybjsNCgl9DQoNCglpZiAoKHNjLT5zY19zbWUgPSBzeXNtb25fZW52
c3lzX2NyZWF0ZSgpKSA9PSBOVUxMKSB7DQoJCWFwcmludF9lcnJvcl9kZXYo
c2MtPnNjX2RldiwNCgkJICAgICJ1bmFibGUgdG8gY3JlYXRlIHN5c21vbiBz
dHJ1Y3R1cmVcbiIpOw0KCQlyZXR1cm47DQoJfQ0KDQoJZm9yIChpID0gMDsg
aSA8IHNjLT5udW1zZW5zb3JzOyBpKyspIHsNCgkJaWYgKHN5c21vbl9lbnZz
eXNfc2Vuc29yX2F0dGFjaChzYy0+c2Nfc21lLCAmc2MtPnNlbnNvcnNbaV0p
KSB7DQoJCQlhcHJpbnRfZXJyb3JfZGV2KHNjLT5zY19kZXYsDQoJCQkgICAg
InVuYWJsZSB0byBhdHRhY2ggc2Vuc29yXG4iKTsNCgkJCXN5c21vbl9lbnZz
eXNfZGVzdHJveShzYy0+c2Nfc21lKTsNCgkJCXJldHVybjsNCgkJfQ0KCX0N
Cg0KCXNjLT5zY19zbWUtPnNtZV9uYW1lID0gZGV2aWNlX3huYW1lKHNjLT5z
Y19kZXYpOw0KCXNjLT5zY19zbWUtPnNtZV9jb29raWUgPSBzYzsNCglzYy0+
c2Nfc21lLT5zbWVfcmVmcmVzaCA9IHNtc2Ntb25fcmVmcmVzaDsNCglpZiAo
c3lzbW9uX2VudnN5c19yZWdpc3RlcihzYy0+c2Nfc21lKSkgew0KCQlhcHJp
bnRfZXJyb3JfZGV2KHNjLT5zY19kZXYsDQoJCSAgICAidW5hYmxlIHRvIHJl
Z2lzdGVyIHdpdGggc3lzbW9uXG4iKTsNCgkJc3lzbW9uX2VudnN5c19kZXN0
cm95KHNjLT5zY19zbWUpOw0KCQlyZXR1cm47DQoJfQ0KfQ0KDQpzdGF0aWMg
dWludDhfdA0Kc21zY21vbl9yZWFkcmVnKHN0cnVjdCBzbXNjbW9uX3NjICpz
YywgaW50IHJlZykNCnsNCgl1aW50OF90IGNtZCwgZGF0YTsNCg0KCWlpY19h
Y3F1aXJlX2J1cyhzYy0+c2NfdGFnLCAwKTsNCg0KCWNtZCA9IHJlZzsNCglp
aWNfc21idXNfcmVhZF9ieXRlKHNjLT5zY190YWcsIHNjLT5zY19hZGRyLCBj
bWQsICZkYXRhLCAwKTsNCg0KCWlpY19yZWxlYXNlX2J1cyhzYy0+c2NfdGFn
LCAwKTsNCg0KCXJldHVybiBkYXRhOw0KfQ0KDQpzdGF0aWMgdm9pZA0Kc21z
Y21vbl93cml0ZXJlZyhzdHJ1Y3Qgc21zY21vbl9zYyAqc2MsIGludCByZWcs
IGludCB2YWwpDQp7DQoJdWludDhfdCBjbWQsIGRhdGE7DQoNCglpaWNfYWNx
dWlyZV9idXMoc2MtPnNjX3RhZywgMCk7DQoNCgljbWQgPSByZWc7DQoJZGF0
YSA9IHZhbDsNCglpaWNfc21idXNfd3JpdGVfYnl0ZShzYy0+c2NfdGFnLCBz
Yy0+c2NfYWRkciwgY21kLCBkYXRhLCAwKTsNCg0KCWlpY19yZWxlYXNlX2J1
cyhzYy0+c2NfdGFnLCAwKTsNCn0NCg0Kc3RhdGljIHZvaWQNCnNtc2Ntb25f
c2Vuc29yc19zZXR1cChzdHJ1Y3Qgc21zY21vbl9zYyAqc2MsIHN0cnVjdCBz
bXNjbW9uX3NlbnNvciAqc2VucykNCnsNCglpbnQgaTsNCg0KCWZvciAoaSA9
IDA7IHNlbnNbaV0uZGVzYzsgaSsrKSB7DQoJCXN0cmxjcHkoc2MtPnNlbnNv
cnNbaV0uZGVzYywgc2Vuc1tpXS5kZXNjLA0KCQkgICAgc2l6ZW9mKHNjLT5z
ZW5zb3JzW2ldLmRlc2MpKTsNCgkJc2MtPnNlbnNvcnNbaV0udW5pdHMgPSBz
ZW5zW2ldLnR5cGU7DQoJCXNjLT5udW1zZW5zb3JzKys7DQoJfQ0KCXNjLT5z
bXNjbW9uX3NlbnNvcnMgPSBzZW5zOw0KfQ0KDQpzdGF0aWMgdm9pZA0Kc21z
Y21vbl9yZWZyZXNoX3ZvbHQoc3RydWN0IHNtc2Ntb25fc2MgKnNjLCBlbnZz
eXNfZGF0YV90ICplZGF0YSkNCnsNCglzdHJ1Y3Qgc21zY21vbl9zZW5zb3Ig
KnNlbnMgPSAmc2MtPnNtc2Ntb25fc2Vuc29yc1tlZGF0YS0+c2Vuc29yXTsN
CglpbnQgZGF0YTsNCg0KCWRhdGEgPSAoKnNjLT5zbXNjbW9uX3JlYWRyZWcp
KHNjLCBzZW5zLT5yZWcpOw0KCWlmIChkYXRhID09IDB4ZmYpIHsNCgkJZWRh
dGEtPnN0YXRlID0gRU5WU1lTX1NJTlZBTElEOw0KCX0gZWxzZSB7DQoJCWVk
YXRhLT52YWx1ZV9jdXIgPQ0KCQkgICAgKHNlbnMtPnZtYXggLSBzZW5zLT52
bWluKS8yNTUgKiBkYXRhICsgc2Vucy0+dm1pbjsNCgkJZWRhdGEtPnN0YXRl
ID0gRU5WU1lTX1NWQUxJRDsNCgl9DQp9DQoNCnN0YXRpYyB2b2lkDQpzbXNj
bW9uX3JlZnJlc2hfdGVtcChzdHJ1Y3Qgc21zY21vbl9zYyAqc2MsIGVudnN5
c19kYXRhX3QgKmVkYXRhKQ0Kew0KCXN0cnVjdCBzbXNjbW9uX3NlbnNvciAq
c2VucyA9ICZzYy0+c21zY21vbl9zZW5zb3JzW2VkYXRhLT5zZW5zb3JdOw0K
CWludCBkYXRhOw0KDQoJZGF0YSA9ICgqc2MtPnNtc2Ntb25fcmVhZHJlZyko
c2MsIHNlbnMtPnJlZyk7DQoJaWYgKGRhdGEgPT0gMHhmZikgew0KCQllZGF0
YS0+c3RhdGUgPSBFTlZTWVNfU0lOVkFMSUQ7DQoJfSBlbHNlIHsNCgkJLyog
Y29udmVydCBkYXRhKGRlZ0MpIHRvIHVLICovDQoJCWVkYXRhLT52YWx1ZV9j
dXIgPSAyNzMxNTAwMDAgKyAxMDAwMDAwICogZGF0YTsNCgkJZWRhdGEtPnN0
YXRlID0gRU5WU1lTX1NWQUxJRDsNCgl9DQp9DQoNCnN0YXRpYyB2b2lkDQpz
bXNjbW9uX3JlZnJlc2goc3RydWN0IHN5c21vbl9lbnZzeXMgKnNtZSwgZW52
c3lzX2RhdGFfdCAqZWRhdGEpDQp7DQoJc3RydWN0IHNtc2Ntb25fc2MgKnNj
ID0gc21lLT5zbWVfY29va2llOw0KDQoJc2MtPnNtc2Ntb25fc2Vuc29yc1tl
ZGF0YS0+c2Vuc29yXS5yZWZyZXNoKHNjLCBlZGF0YSk7DQp9DQo=
--0-2127810690-1266776621=:6053
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME=smscmon.4
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.NEB.4.64.1002211023412.6053@quicky.whooppee.com>
Content-Description:
Content-Disposition: ATTACHMENT; FILENAME=smscmon.4
LlwiCSROZXRCU0Q6IHNtc2MuNCx2IDEuNSAyMDA5LzA1LzEzIDEyOjQyOjAy
IHdpeiBFeHAgJA0KLlwiDQouXCIgQ29weXJpZ2h0IChjKSAyMDA5IFRha2Fo
aXJvIEhheWFzaGkNCi5cIiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KLlwiDQou
XCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQouXCIgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zDQouXCIgYXJlIG1ldDoNCi5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dA0KLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCi5cIiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodA0KLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUNCi5c
IiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KLlwiDQouXCIgVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgTkVUQlNEIEZPVU5EQVRJT04s
IElOQy4gQU5EIENPTlRSSUJVVE9SUw0KLlwiIGBgQVMgSVMnJyBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRA0KLlwiIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSDQouXCIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBGT1VOREFUSU9OIE9SIENPTlRSSUJVVE9SUw0KLlwiIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1INCi5cIiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRg0KLlwiIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KLlwi
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElODQouXCIgQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkNCi5cIiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRQ0KLlwiIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KLlwiDQou
RGQgRmVicnVhcnkgMjEsIDIwMTANCi5EdCBTTVNDTU9OIDQNCi5Pcw0KLlNo
IE5BTUUNCi5ObSBzbXNjbW9uDQouTmQgU3RhbmRhcmQgTWljcm9zeXN0ZW1z
IENvcnBvcmF0aW9uIExQQzQ3TTE5MiBTdXBlciBJL08NCi5TaCBTWU5PUFNJ
Uw0KLkNkICJzbXNjbW9uMCBhdCBpaWM/IGFkZHIgMHgyYyINCi5TaCBERVND
UklQVElPTg0KVGhlDQouTm0NCmRyaXZlciBwcm92aWRlcyBzdXBwb3J0IGZv
ciB0aGUgaGFyZHdhcmUgbW9uaXRvcmluZyBwb3J0aW9uIG9mIHRoZQ0KLlRu
IFN0YW5kYXJkIE1pY3Jvc3lzdGVtcyBDb3Jwb3JhdGlvbg0KTFBDNDdNMTky
IGFuZCBMUEM0N005OTcgU3VwZXIgSS9PIGNoaXBzIHRvIGJlIHVzZWQgd2l0
aCB0aGUNCi5YciBlbnZzeXMgNA0KQVBJLg0KLlBwDQpUaGUgY2hpcCBzdXBw
b3J0cyAxMSBzZW5zb3IgaW5wdXRzOg0KLkJsIC1jb2x1bW4gIlNlbnNvciIg
IlVuaXRzIiAiVHlwaWNhbCIgLW9mZnNldCBpbmRlbnQNCi5JdCBTeSAiU2Vu
c29yIiBUYSBTeSAiVW5pdHMiIFRhIFN5ICJUeXBpY2FsIFVzZSINCi5JdCBM
aSAiKzIuNVYiIFRhICJ1ViBEQyIgVGEgIjIuNVYgU3VwcGx5Ig0KLkl0IExp
ICJWY2NwIiBUYSAidVYgREMiIFRhICJDUFUgVmNvcmUiDQouSXQgTGkgIisz
LjNWIiBUYSAidVYgREMiIFRhICIzLjNWIFN1cHBseSINCi5JdCBMaSAiKzVW
IiBUYSAidVYgREMiIFRhICIlNSBTdXBwbHkiDQouSXQgTGkgIisxMlYiIFRh
ICJ1ViBEQyIgVGEgIjEyViBTdXBwbHkiDQouSXQgTGkgIlZjYyIgVGEgInVW
IERDIiBUYSAiQ2hpcCdzIHN1cHBseSB2b2x0YWdlIg0KLkl0IExpICIrMS41
ViIgVGEgInVWIERDIiBUYSAiMS41ViBTdXBwbHkiDQouSXQgTGkgIisxLjhW
IiBUYSAidVYgREMiIFRhICIxLjhWIFN1cHBseSINCi5JdCBMaSAiUmVtb3Rl
IFRlbXAxIiBUYSAidUsiIFRhICJDUFUgdGVtcGVyYXR1cmUiDQouSXQgTGkg
IkFtYmllbnQgVGVtcCIgVGEgInVLIiBUYSAiTG9jYWwgY2hpcCB0ZW1wZXJh
dHVyZSINCi5JdCBMaSAiUmVtb3RlIFRlbXAyIiBUYSAidUsiDQouRWwNCi5T
aCBTRUUgQUxTTw0KLlhyIGVudnN5cyA0ICwNCi5YciBlbnZzdGF0IDgNCi5T
aCBISVNUT1JZDQpUaGUNCi5ObQ0KZGV2aWNlIGFwcGVhcmVkIGluDQouTngg
Ni4wIC4NCi5TaCBBVVRIT1INClRoZQ0KLk5tDQpkcml2ZXIgd2FzIHdyaXR0
ZW4gYnkgVGFrYWhpcm8gSGF5YXNoaS4NCg==
--0-2127810690-1266776621=:6053--
From: Takahiro HAYASHI <hash@abox3.so-net.ne.jp>
To: paul@whooppee.com
Cc: tkhr.hash@gmail.com, John Nemeth <jnemeth@netbsd.org>,
gnats-bugs@netbsd.org
Subject: Re: kern/40420
Date: Mon, 22 Feb 2010 02:48:03 +0900
Hello,
Sorry for late response.
On Sat, 20 Feb 2010 07:19:53 -0800 (PST)
Paul Goyette <paul@whooppee.com> wrote:
> John,
>
> Any reason you haven't gotten back to this since last year? :) Any
> objection if I pick it up from you?
>
> Hayashi-san,
>
> And any objection if I rename smcstemp to smcs? The sensor appears to
> provide a lot of voltage readings, as well as temperatures!
I'm afraid that the name "smsc" will conflict with sys/dev/isa/smsc.c.
That's why I name this driver "smsctemp".
As you say, name of "smsctemp" may not be suitable, i think.
How about "smschwmon"?
--
<hash@abox3.so-net.ne.jp>
From: Takahiro HAYASHI <hash@abox3.so-net.ne.jp>
To: paul@whooppee.com
Cc: hash@abox3.so-net.ne.jp, tkhr.hash@gmail.com,
John Nemeth <jnemeth@netbsd.org>, gnats-bugs@netbsd.org
Subject: Re: kern/40420
Date: Mon, 22 Feb 2010 12:31:49 +0900
Hello,
On Sun, 21 Feb 2010 10:24:03 -0800 (PST)
Paul Goyette <paul@whooppee.com> wrote:
> > I'm afraid that the name "smsc" will conflict with sys/dev/isa/smsc.c.
> > That's why I name this driver "smsctemp".
> > As you say, name of "smsctemp" may not be suitable, i think.
> > How about "smschwmon"?
>
> Yes, I found that the hard way!
>
> I have taken the liberty of renaming it to smcsmon(4). I've made a few
> other minor changes in the sources (most notably, I replaced the calls
> to iic_exec() with calls to iic_smbus_{read,write}_byte()) and I've
> written a basic smcsmon(4) man page. The rest of the code looked pretty
> clean to me. (I personally don't like using the
>
> { member1 = value1, member2 = value2, ... }
>
> method of initializing the array of sensor descriptors, but it is done
> that way in other drivers, so I left it alone.)
I agree with the name smscmon. (I like short name.)
Thank you for consideration and writing man page.
> I have attached the revised files here - please let me know if this
> meets with your approval, and I will commit.
SYNOPSYS in smscmon.4 may be changed to:
-.Cd "smscmon0 at iic? addr 0x2c"
+.Cd "smscmon0 at iic? addr 0x2d"
because on my D945GCLF board smscmon is seen at iic addr 0x2d.
No other problems are found, please commit.
--
Takahiro Hayashi <hash@abox3.so-net.ne.jp>
From: Paul Goyette <paul@whooppee.com>
To: Takahiro HAYASHI <hash@abox3.so-net.ne.jp>
Cc: tkhr.hash@gmail.com, John Nemeth <jnemeth@netbsd.org>,
gnats-bugs@netbsd.org
Subject: Re: kern/40420
Date: Sun, 21 Feb 2010 19:38:10 -0800 (PST)
On Mon, 22 Feb 2010, Takahiro HAYASHI wrote:
> Hello,
>
> On Sun, 21 Feb 2010 10:24:03 -0800 (PST)
> Paul Goyette <paul@whooppee.com> wrote:
>
>>> I'm afraid that the name "smsc" will conflict with sys/dev/isa/smsc.c.
>>> That's why I name this driver "smsctemp".
>>> As you say, name of "smsctemp" may not be suitable, i think.
>>> How about "smschwmon"?
>>
>> Yes, I found that the hard way!
>>
>> I have taken the liberty of renaming it to smcsmon(4). I've made a few
>> other minor changes in the sources (most notably, I replaced the calls
>> to iic_exec() with calls to iic_smbus_{read,write}_byte()) and I've
>> written a basic smcsmon(4) man page. The rest of the code looked pretty
>> clean to me. (I personally don't like using the
>>
>> { member1 = value1, member2 = value2, ... }
>>
>> method of initializing the array of sensor descriptors, but it is done
>> that way in other drivers, so I left it alone.)
>
> I agree with the name smscmon. (I like short name.)
> Thank you for consideration and writing man page.
>
>> I have attached the revised files here - please let me know if this
>> meets with your approval, and I will commit.
>
> SYNOPSYS in smscmon.4 may be changed to:
>
> -.Cd "smscmon0 at iic? addr 0x2c"
> +.Cd "smscmon0 at iic? addr 0x2d"
>
> because on my D945GCLF board smscmon is seen at iic addr 0x2d.
> No other problems are found, please commit.
Great!
I think I will leave _both_ addresses in the man page, since the
datasheet states that the address is 101_110x where x is the state of
one of the input pins.
I will commit soon.
Thanks for submitting this driver!
-------------------------------------------------------------------------
| Paul Goyette | PGP DSS Key fingerprint: | E-mail addresses: |
| Customer Service | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com |
| Network Engineer | 0786 F758 55DE 53BA 7731 | pgoyette at juniper.net |
| Kernel Developer | | pgoyette at netbsd.org |
-------------------------------------------------------------------------
From: Paul Goyette <pgoyette@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/40420 CVS commit: src/sys/dev/i2c
Date: Mon, 22 Feb 2010 03:50:56 +0000
Module Name: src
Committed By: pgoyette
Date: Mon Feb 22 03:50:56 UTC 2010
Modified Files:
src/sys/dev/i2c: files.i2c
Added Files:
src/sys/dev/i2c: smscmon.c smscmonvar.h
Log Message:
Import smcsmon(4) driver for SMSC LPC47M192 hardware monitor
From Takahiro HAYASHI in PR kern/40420
To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/sys/dev/i2c/files.i2c
cvs rdiff -u -r0 -r1.1 src/sys/dev/i2c/smscmon.c src/sys/dev/i2c/smscmonvar.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: analyzed->closed
State-Changed-By: pgoyette@NetBSD.org
State-Changed-When: Mon, 22 Feb 2010 03:55:37 +0000
State-Changed-Why:
Modified version of driver imported, with original author's concurrence.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.