lkml.org 
[lkml]   [2015]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH V3 09/26] coresight: add API to get sink from path
    Date
    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>
    ---
    drivers/hwtracing/coresight/coresight-priv.h | 1 +
    drivers/hwtracing/coresight/coresight.c | 15 +++++++++++++++
    2 files changed, 16 insertions(+)

    diff --git a/drivers/hwtracing/coresight/coresight-priv.h b/drivers/hwtracing/coresight/coresight-priv.h
    index 2dc59a5c5b1e..ed116b303e87 100644
    --- a/drivers/hwtracing/coresight/coresight-priv.h
    +++ b/drivers/hwtracing/coresight/coresight-priv.h
    @@ -60,6 +60,7 @@ static inline void CS_UNLOCK(void __iomem *addr)

    void coresight_disable_path(struct list_head *path);
    int coresight_enable_path(struct list_head *path);
    +struct coresight_device *coresight_get_sink(struct list_head *path);
    struct list_head *coresight_build_path(struct coresight_device *csdev);
    void coresight_release_path(struct list_head *path);

    diff --git a/drivers/hwtracing/coresight/coresight.c b/drivers/hwtracing/coresight/coresight.c
    index 7e4064b31c99..47a4e109f700 100644
    --- a/drivers/hwtracing/coresight/coresight.c
    +++ b/drivers/hwtracing/coresight/coresight.c
    @@ -322,6 +322,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.
    --
    1.9.1


    \
     
     \ /
      Last update: 2015-11-11 23:41    [W:2.453 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site