Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit be9d6002 authored by Shaoqing Liu's avatar Shaoqing Liu Committed by Gerrit - the friendly Code Review server
Browse files

coresight: Return error if no cpu nodes are found



By default if no node found the function of_coresight_get_cpu return CPU0
which will cause problem when CPU0 etm probe. So should return invalid
value in case of no nodes found.

Change-Id: I2d034ffc195c6f25adb1fb8b3413dbc323825bd6
Signed-off-by: default avatarShaoqing Liu <shaoqingliu@codeaurora.org>
parent bc1f52b9
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -592,6 +592,9 @@ static int debug_probe(struct amba_device *adev, const struct amba_id *id)
		return -ENOMEM;

	drvdata->cpu = np ? of_coresight_get_cpu(np) : 0;
	if (drvdata->cpu < 0)
		return -ENODEV;

	if (per_cpu(debug_drvdata, drvdata->cpu)) {
		dev_err(dev, "CPU%d drvdata has already been initialized\n",
			drvdata->cpu);
+3 −4
Original line number Diff line number Diff line
@@ -107,14 +107,13 @@ int of_coresight_get_cpu(const struct device_node *node)
	struct device_node *dn;

	dn = of_parse_phandle(node, "cpu", 0);
	/* Affinity defaults to CPU0 */
	/* Affinity defaults to invalid */
	if (!dn)
		return 0;
		return -ENODEV;
	cpu = of_cpu_node_to_id(dn);
	of_node_put(dn);

	/* Affinity to CPU0 if no cpu nodes are found */
	return (cpu < 0) ? 0 : cpu;
	return cpu;
}
EXPORT_SYMBOL_GPL(of_coresight_get_cpu);