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