svn commit: r277378 - head/sys/dev/ofw

Andrew Turner andrew at FreeBSD.org
Mon Jan 19 11:06:57 UTC 2015


Author: andrew
Date: Mon Jan 19 11:06:56 2015
New Revision: 277378
URL: https://svnweb.freebsd.org/changeset/base/277378

Log:
  Make the clock-frequency property optional as it may not be present on FDT
  systems.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  head/sys/dev/ofw/ofw_cpu.c

Modified: head/sys/dev/ofw/ofw_cpu.c
==============================================================================
--- head/sys/dev/ofw/ofw_cpu.c	Mon Jan 19 11:02:23 2015	(r277377)
+++ head/sys/dev/ofw/ofw_cpu.c	Mon Jan 19 11:06:56 2015	(r277378)
@@ -1,7 +1,11 @@
 /*-
  * Copyright (C) 2009 Nathan Whitehorn
+ * Copyright (C) 2015 The FreeBSD Foundation
  * All rights reserved.
  *
+ * Portions of this software were developed by Andrew Turner
+ * under sponsorship from the FreeBSD Foundation.
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
@@ -193,10 +197,11 @@ ofw_cpu_attach(device_t dev)
 	}
 	sc->sc_cpu_pcpu = pcpu_find(cell);
 	if (OF_getencprop(node, "clock-frequency", &cell, sizeof(cell)) < 0) {
-		device_printf(dev, "missing 'clock-frequency' property\n");
-		return (ENXIO);
-	}
-	sc->sc_nominal_mhz = cell / 1000000; /* convert to MHz */
+		if (bootverbose)
+			device_printf(dev,
+			    "missing 'clock-frequency' property\n");
+	} else
+		sc->sc_nominal_mhz = cell / 1000000; /* convert to MHz */
 
 	bus_generic_probe(dev);
 	return (bus_generic_attach(dev));
@@ -214,8 +219,11 @@ ofw_cpu_read_ivar(device_t dev, device_t
 		*result = (uintptr_t)sc->sc_cpu_pcpu;
 		return (0);
 	case CPU_IVAR_NOMINAL_MHZ:
-		*result = (uintptr_t)sc->sc_nominal_mhz;
-		return (0);
+		if (sc->sc_nominal_mhz > 0) {
+			*result = (uintptr_t)sc->sc_nominal_mhz;
+			return (0);
+		}
+		break;
 	}
 
 	return (ENOENT);


More information about the svn-src-head mailing list