Commit eef33a7c authored by Leo Yan's avatar Leo Yan Committed by Suzuki K Poulose
Browse files

coresight: Unify bus unregistration via coresight_unregister()



Once a device is successfully registered, set the "registered" flag to
true.  After that point, all failures jump to the out_unlock label to
unwind the flow via coresight_unregister().

Since failure handling is unified, the comment about resource release
for the etm_perf_add_symlink_sink() failure is no need, remove it.

Signed-off-by: default avatarLeo Yan <leo.yan@arm.com>
Reviewed-by: default avatarJames Clark <james.clark@linaro.org>
Signed-off-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20260209-arm_coresight_refactor_dev_register-v4-8-62d6042f76f7@arm.com
parent 8573756b
Loading
Loading
Loading
Loading
+4 −11
Original line number Diff line number Diff line
@@ -1383,20 +1383,13 @@ struct coresight_device *coresight_register(struct coresight_desc *desc)
		goto out_unlock;
	}

	ret = etm_perf_add_symlink_sink(csdev);

	/*
	 * As with the above, all resources are free'd explicitly via
	 * coresight_device_release() triggered from put_device(), which is in
	 * turn called from function device_unregister().
	 */
	if (ret && ret != -EOPNOTSUPP) {
		device_unregister(&csdev->dev);
		goto out_unlock;
	}
	/* Device is now registered */
	registered = true;

	ret = etm_perf_add_symlink_sink(csdev);
	if (ret && ret != -EOPNOTSUPP)
		goto out_unlock;

	ret = coresight_create_conns_sysfs_group(csdev);
	if (ret)
		goto out_unlock;