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> (cherry picked from commit b6404e21f023e4aa208a0ba03d55a9c8a57cb940)
This commit is contained in:
parent
fde79d4de7
commit
f72b3bc46d
2 changed files with 16 additions and 0 deletions
|
@ -54,6 +54,7 @@ static inline void CS_UNLOCK(void __iomem *addr)
|
||||||
|
|
||||||
void coresight_disable_path(struct list_head *path);
|
void coresight_disable_path(struct list_head *path);
|
||||||
int coresight_enable_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);
|
struct list_head *coresight_build_path(struct coresight_device *csdev);
|
||||||
void coresight_release_path(struct list_head *path);
|
void coresight_release_path(struct list_head *path);
|
||||||
|
|
||||||
|
|
|
@ -321,6 +321,21 @@ err:
|
||||||
goto out;
|
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.
|
* _coresight_build_path - recursively build a path from a @csdev to a sink.
|
||||||
* @csdev: The device to start from.
|
* @csdev: The device to start from.
|
||||||
|
|
Loading…
Add table
Reference in a new issue