diff options
author | Mathieu Poirier <mathieu.poirier@linaro.org> | 2016-02-17 17:51:46 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-02-20 14:11:01 -0800 |
commit | b6404e21f023e4aa208a0ba03d55a9c8a57cb940 (patch) | |
tree | 6a752cea9d6393139da93e8b20b87a2e7d0e433f /drivers/hwtracing/coresight/coresight.c | |
parent | b3e94405941e6916d5e365454d74560c2bea47ca (diff) | |
download | blackbird-obmc-linux-b6404e21f023e4aa208a0ba03d55a9c8a57cb940.tar.gz blackbird-obmc-linux-b6404e21f023e4aa208a0ba03d55a9c8a57cb940.zip |
coresight: add API to get sink from path
Add an API allowing external code to quickly get a handle on the
sink within a path. The sink is always last, but adding an API allows
to keep the path's node structure private and remove redundant checks.
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hwtracing/coresight/coresight.c')
-rw-r--r-- | drivers/hwtracing/coresight/coresight.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/hwtracing/coresight/coresight.c b/drivers/hwtracing/coresight/coresight.c index f26589effb70..2ed48545df26 100644 --- a/drivers/hwtracing/coresight/coresight.c +++ b/drivers/hwtracing/coresight/coresight.c @@ -321,6 +321,21 @@ err: goto out; } +struct coresight_device *coresight_get_sink(struct list_head *path) +{ + struct coresight_device *csdev; + + if (!path) + return NULL; + + csdev = list_last_entry(path, struct coresight_node, link)->csdev; + if (csdev->type != CORESIGHT_DEV_TYPE_SINK && + csdev->type != CORESIGHT_DEV_TYPE_LINKSINK) + return NULL; + + return csdev; +} + /** * _coresight_build_path - recursively build a path from a @csdev to a sink. * @csdev: The device to start from. |