coresight: etm3x: adding cpu affinity to sysFS interface
authorMathieu Poirier <mathieu.poirier@linaro.org>
Wed, 7 Oct 2015 15:26:41 +0000 (09:26 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 7 Oct 2015 16:54:09 +0000 (17:54 +0100)
Without access to the device tree, it is impossible to know
what CPU a tracer is affined to.  As such adding a new sysFS
interface to convey the information.

Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/hwtracing/coresight/coresight-etm3x.c

index bf2476e..4797f56 100644 (file)
@@ -1545,6 +1545,18 @@ static ssize_t status_show(struct device *dev,
 }
 static DEVICE_ATTR_RO(status);
 
+static ssize_t cpu_show(struct device *dev,
+                       struct device_attribute *attr, char *buf)
+{
+       int val;
+       struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
+
+       val = drvdata->cpu;
+       return scnprintf(buf, PAGE_SIZE, "%d\n", val);
+
+}
+static DEVICE_ATTR_RO(cpu);
+
 static ssize_t traceid_show(struct device *dev,
                            struct device_attribute *attr, char *buf)
 {
@@ -1621,6 +1633,7 @@ static struct attribute *coresight_etm_attrs[] = {
        &dev_attr_timestamp_event.attr,
        &dev_attr_status.attr,
        &dev_attr_traceid.attr,
+       &dev_attr_cpu.attr,
        NULL,
 };
 ATTRIBUTE_GROUPS(coresight_etm);