svn commit: r336479 - head/sys/dev/fdt

Emmanuel Vadot manu at FreeBSD.org
Thu Jul 19 11:41:54 UTC 2018


Author: manu
Date: Thu Jul 19 11:41:53 2018
New Revision: 336479
URL: https://svnweb.freebsd.org/changeset/base/336479

Log:
  fdt_pinctrl: Add some TSLOG annotations
  
  While we see the time spent in the pin controller attach via the hooks in
  DEVICE_ATTACH, it is useful to see the time spent configuring the pins.

Modified:
  head/sys/dev/fdt/fdt_pinctrl.c
  head/sys/dev/fdt/fdt_pinctrl_if.m

Modified: head/sys/dev/fdt/fdt_pinctrl.c
==============================================================================
--- head/sys/dev/fdt/fdt_pinctrl.c	Thu Jul 19 11:31:49 2018	(r336478)
+++ head/sys/dev/fdt/fdt_pinctrl.c	Thu Jul 19 11:41:53 2018	(r336479)
@@ -106,10 +106,15 @@ int
 fdt_pinctrl_register(device_t pinctrl, const char *pinprop)
 {
 	phandle_t node;
+	int ret;
 
+	TSENTER();
 	node = ofw_bus_get_node(pinctrl);
 	OF_device_register_xref(OF_xref_from_node(node), pinctrl);
-	return (pinctrl_register_children(pinctrl, node, pinprop));
+	ret = pinctrl_register_children(pinctrl, node, pinprop);
+	TSEXIT();
+
+	return (ret);
 }
 
 static int
@@ -118,6 +123,8 @@ pinctrl_configure_children(device_t pinctrl, phandle_t
 	phandle_t node, *configs;
 	int i, nconfigs;
 
+	TSENTER();
+
 	for (node = OF_child(parent); node != 0; node = OF_peer(node)) {
 		if (!ofw_bus_node_status_okay(node))
 			continue;
@@ -138,6 +145,7 @@ pinctrl_configure_children(device_t pinctrl, phandle_t
 		}
 		OF_prop_free(configs);
 	}
+	TSEXIT();
 	return (0);
 }
 

Modified: head/sys/dev/fdt/fdt_pinctrl_if.m
==============================================================================
--- head/sys/dev/fdt/fdt_pinctrl_if.m	Thu Jul 19 11:31:49 2018	(r336478)
+++ head/sys/dev/fdt/fdt_pinctrl_if.m	Thu Jul 19 11:41:53 2018	(r336479)
@@ -27,6 +27,7 @@
 #
 
 #include <sys/types.h>
+#include <sys/bus.h>
 #include <dev/ofw/openfirm.h>
 
 #
@@ -35,11 +36,22 @@
 
 INTERFACE fdt_pinctrl;
 
+# Needed for timestamping device probe/attach calls
+HEADER {
+	#include <sys/tslog.h>
+}
+
 #
 # Set pins to the specified configuration.  The cfgxref arg is an xref phandle
 # to a descendent node (child, grandchild, ...) of the pinctrl device node.
 # Returns 0 on success or a standard errno value.
 #
+PROLOG {
+	TSENTER2(device_get_name(pinctrl));
+}
+EPILOG {
+	TSEXIT2(device_get_name(pinctrl));
+}
 METHOD int configure {
 	device_t	pinctrl;
 	phandle_t	cfgxref;


More information about the svn-src-all mailing list