svn commit: r217560 - head/sys/dev/iicbus

Andreas Tobler andreast at FreeBSD.org
Tue Jan 18 21:47:31 UTC 2011


Author: andreast
Date: Tue Jan 18 21:47:30 2011
New Revision: 217560
URL: http://svn.freebsd.org/changeset/base/217560

Log:
  There are PowerMacs which do not have a hwsensor-location property
  for this sensor. Instead of leaving this location empty we use here
  the default name 'sensor'.
  
  Submitted by: Justin Hibbits <chmeeedalf at gmail dot com>
  Approved by: nwhitehorn (mentor)

Modified:
  head/sys/dev/iicbus/ds1775.c

Modified: head/sys/dev/iicbus/ds1775.c
==============================================================================
--- head/sys/dev/iicbus/ds1775.c	Tue Jan 18 21:36:51 2011	(r217559)
+++ head/sys/dev/iicbus/ds1775.c	Tue Jan 18 21:47:30 2011	(r217560)
@@ -172,6 +172,7 @@ ds1775_start(void *xdev)
 	struct ds1775_sensor *sens;
 	struct sysctl_oid *sensroot_oid;
 	struct sysctl_ctx_list *ctx;
+	ssize_t plen;
 	int i;
 	char sysctl_name[40], sysctl_desc[40];
 	const char *units;
@@ -190,16 +191,20 @@ ds1775_start(void *xdev)
 	ctx = device_get_sysctl_ctx(dev);
 	sensroot_oid = device_get_sysctl_tree(dev);
 
-	OF_getprop(child, "hwsensor-location", sens->location,
-		   sizeof(sens->location));
+	plen = OF_getprop(child, "hwsensor-location", sens->location,
+			  sizeof(sens->location));
 	units = "C";
 
-	for (i = 0; i < strlen(sens->location); i++) {
-		sysctl_name[i] = tolower(sens->location[i]);
-		if (isspace(sysctl_name[i]))
-			sysctl_name[i] = '_';
+	if (plen == -1) {
+		strcpy(sysctl_name, "sensor");
+	} else {
+		for (i = 0; i < strlen(sens->location); i++) {
+			sysctl_name[i] = tolower(sens->location[i]);
+			if (isspace(sysctl_name[i]))
+				sysctl_name[i] = '_';
+		}
+		sysctl_name[i] = 0;
 	}
-	sysctl_name[i] = 0;
 
 	sprintf(sysctl_desc,"%s (%s)", sens->location, units);
 	SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(sensroot_oid), OID_AUTO,


More information about the svn-src-all mailing list