[PATCH v4 0/8] coresight: Fix device registration and unregistration

Leo Yan posted 8 patches 7 hours ago
drivers/hwtracing/coresight/coresight-catu.c       |   4 +-
drivers/hwtracing/coresight/coresight-core.c       | 214 +++++++++++++--------
drivers/hwtracing/coresight/coresight-ctcu-core.c  |   4 +-
drivers/hwtracing/coresight/coresight-cti-core.c   |  19 +-
drivers/hwtracing/coresight/coresight-dummy.c      |   7 +-
drivers/hwtracing/coresight/coresight-etb10.c      |   4 +-
drivers/hwtracing/coresight/coresight-etm-perf.c   |   5 +-
drivers/hwtracing/coresight/coresight-funnel.c     |   4 +-
drivers/hwtracing/coresight/coresight-platform.c   |   2 +-
drivers/hwtracing/coresight/coresight-priv.h       |   3 +-
drivers/hwtracing/coresight/coresight-replicator.c |   4 +-
drivers/hwtracing/coresight/coresight-stm.c        |   4 +-
drivers/hwtracing/coresight/coresight-tmc-core.c   |  12 +-
drivers/hwtracing/coresight/coresight-tnoc.c       |   4 +-
drivers/hwtracing/coresight/coresight-tpda.c       |   4 +-
drivers/hwtracing/coresight/coresight-tpdm.c       |   4 +-
drivers/hwtracing/coresight/coresight-tpiu.c       |   4 +-
drivers/hwtracing/coresight/ultrasoc-smb.c         |   4 +-
include/linux/coresight.h                          |  14 +-
19 files changed, 167 insertions(+), 153 deletions(-)
[PATCH v4 0/8] coresight: Fix device registration and unregistration
Posted by Leo Yan 7 hours ago
This series is to fix and refactor CoreSight device registration and
unregistration, it can be divided into three small parts:

  Patches 01-03: Three fixes for memory leak, device reference and mutex
                 protection.
  Patches 04-05: Move connection cleanup operations into
                 coresight_remove_conns().
  Patches 06-08: Refactor error handling in coresight_register().

This series is verified on Juno board.

---
Changes in v4:
- Applied James' review tags on patches 01-07.
- Kept the "registered" flag to use central place for mutex release
  (James / Suzuki).
- Link to v3: https://lore.kernel.org/r/20260202-arm_coresight_refactor_dev_register-v3-0-03292470c48c@arm.com

Changes in v3:
- Updated patch 01 to use coesight core layer for device index list
  (Suzuki).
- Link to v2: https://lore.kernel.org/r/20260126-arm_coresight_refactor_dev_register-v2-0-b5a3c0441c15@arm.com

Changes in v2:
- Refined the commit log in patch 06 (Suzuki).
- Unified to call coresight_unregister() for error handling (Suzuki).
- Refactor connection and sysfs group release.
- Link to v1: https://lore.kernel.org/linux-arm-kernel/20250512154108.23920-1-leo.yan@arm.com/

To: Suzuki K Poulose <suzuki.poulose@arm.com>
To: Mike Leach <mike.leach@arm.com>
To: James Clark <james.clark@linaro.org>
To: Alexander Shishkin <alexander.shishkin@linux.intel.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Mathieu Poirier <mathieu.poirier@linaro.org>
To: Mao Jinlong <quic_jinlmao@quicinc.com>
Cc: coresight@lists.linaro.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Leo Yan <leo.yan@arm.com>

---
Leo Yan (8):
      coresight: Fix memory leak in coresight_alloc_device_name()
      coresight: Get parent device reference after sink ID map allocation
      coresight: Protect unregistration with mutex
      coresight: Refactor output connection sysfs link cleanup
      coresight: Refactor sysfs connection group cleanup
      coresight: Move sink validation into etm_perf_add_symlink_sink()
      coresight: Do not mix success path with failure handling
      coresight: Unify bus unregistration via coresight_unregister()

 drivers/hwtracing/coresight/coresight-catu.c       |   4 +-
 drivers/hwtracing/coresight/coresight-core.c       | 214 +++++++++++++--------
 drivers/hwtracing/coresight/coresight-ctcu-core.c  |   4 +-
 drivers/hwtracing/coresight/coresight-cti-core.c   |  19 +-
 drivers/hwtracing/coresight/coresight-dummy.c      |   7 +-
 drivers/hwtracing/coresight/coresight-etb10.c      |   4 +-
 drivers/hwtracing/coresight/coresight-etm-perf.c   |   5 +-
 drivers/hwtracing/coresight/coresight-funnel.c     |   4 +-
 drivers/hwtracing/coresight/coresight-platform.c   |   2 +-
 drivers/hwtracing/coresight/coresight-priv.h       |   3 +-
 drivers/hwtracing/coresight/coresight-replicator.c |   4 +-
 drivers/hwtracing/coresight/coresight-stm.c        |   4 +-
 drivers/hwtracing/coresight/coresight-tmc-core.c   |  12 +-
 drivers/hwtracing/coresight/coresight-tnoc.c       |   4 +-
 drivers/hwtracing/coresight/coresight-tpda.c       |   4 +-
 drivers/hwtracing/coresight/coresight-tpdm.c       |   4 +-
 drivers/hwtracing/coresight/coresight-tpiu.c       |   4 +-
 drivers/hwtracing/coresight/ultrasoc-smb.c         |   4 +-
 include/linux/coresight.h                          |  14 +-
 19 files changed, 167 insertions(+), 153 deletions(-)
---
base-commit: eebe8dbd8630f51cf70b1f68a440cd3d7f7a914d
change-id: 20260120-arm_coresight_refactor_dev_register-f16c069db41d

Best regards,
-- 
Leo Yan <leo.yan@arm.com>