[PATCH V2 5/6] coresight: adding sink parameter to function coresight_build_path()

Suzuki K Poulose Suzuki.Poulose at arm.com
Thu Jul 21 03:49:23 PDT 2016


On 20/07/16 21:38, Mathieu Poirier wrote:
> Up to now function coresight_build_path() was counting on a sink to
> have been selected (from sysFS) prior to being called.  This patch
> adds a string argument so that a sink matching the argument can be
> selected.
>

>  static int _coresight_build_path(struct coresight_device *csdev,
> -				 struct list_head *path)
> +				 struct list_head *path, const char *sink)
>  {
>  	int i;
>  	bool found = false;
>  	struct coresight_node *node;
>
> -	/* An activated sink has been found.  Enqueue the element */
> -	if ((csdev->type == CORESIGHT_DEV_TYPE_SINK ||
> -	     csdev->type == CORESIGHT_DEV_TYPE_LINKSINK) && csdev->activated)
> -		goto out;
> +	/*
> +	 * First see if we are dealing with a sink.  If we have one check if
> +	 * it was selected via sysFS or the perf cmd line.
> +	 */
> +	if (csdev->type == CORESIGHT_DEV_TYPE_SINK ||
> +	    csdev->type == CORESIGHT_DEV_TYPE_LINKSINK) {
> +		/* Activated via perf cmd line */
> +		if (sink && !strcmp(dev_name(&csdev->dev), sink))
> +			goto out;
> +		/* Activated via sysFS */
> +		if (csdev->activated)

When a sink is specified, should we skip an activated sink and continue to
find the specified one ? or at least fail with an error as we may not be using
the sink specified by the user ?
i.e may be :
		if (!sink && csdev->activated)
			goto out;

Suzuki



More information about the linux-arm-kernel mailing list