Hi Tingwei, Apologies for the untimely response to this set, I am hoping to get to it in the next two weeks.
Thanks, Mathieu On Wed, 19 Aug 2020 at 23:47, Tingwei Zhang <ting...@codeaurora.org> wrote: > > Allow to build coresight as modules. This gives developers the feasibility to > test their code without reboot. > > This series is based on below two series. > > - "coresight: allow to build components as modules" > https://lkml.org/lkml/2018/6/5/989 > - "coresight: make drivers modular" > https://lkml.org/lkml/2020/1/17/468 > > Change from v8: > Protect etmdrvdata[] by modifying it on relevant CPU (Mathieu and Suzuki) > Grab the device before allocating memory for the node (Mathieu) > Add author of coresight core driver (Mathieu) > > Change from v7: > Depends on below change for ETM hotplug (Sai) > https://lore.kernel.org/linux-arm-kernel/20200729051310.18436-1-saiprakash.ran...@codeaurora.org/ > Add mutex lock to protect etmdrvdata[] (Suzuki) > Add helper function coresight_get_ref() (Suzuki) > Reorg replicator and funnel change. Use two patches to support these > two drivers. (Suzuki) > Add fix tag to "coresight: etm: perf: Fix warning caused by etm_setup_aux > failure" (Suzuki) > Update author of "coresight: cti: Fix bug clearing sysfs links on callback" > > Change from v6: > Correct module description for CATU (Mike) > Check ect_ret equals 0 and set ect_enabled flag (Mike) > Add Tested-by and Reviewed-by from Mike > > Change from v5: > Add below CTI clean up change from Mike into series > -https://lists.linaro.org/pipermail/coresight/2020-July/004349.html > Increase module reference count when enabling CTI device (Mike) > > Change from v4: > Fix error handling in coresight_grab_devicei() (Greg) > Add coresight: cti: Fix remove sysfs link error from Mike > -https://lists.linaro.org/pipermail/coresight/2020-July/004275.html > Move cti_remove_conn_xrefs() into cti_remove() (Mike) > Align patch subject to coresight: <component>: <description> (Mike) > > Change from v3: > Rebase to coresight-next (Mike and Mathieu) > Reorder try_get_module() (Suzuki) > Clean up etmdrvdata[] in device remote path (Mike) > Move cti_remove_conn_xrefs to cti_remove (Mike) > > Change from v2: > Rebase to 5.8-rc5. Export coresight_add_sysfs_link and > coresight_remove_sysfs_link > Fix one cut and paste error on MODULE_DESCRIPTION of CTI > > Change from v1: > Use try_module_get() to avoid module to be unloaded when device is used > in active trace session. (Mathieu P) > > Change from above two series. > This series adds the support to dynamically remove module when the device in > that module is enabled and used by some trace path. It disables all trace > paths with that device and release the trace path. > > Kim Phillips (8): > coresight: use IS_ENABLED for CONFIGs that may be modules > coresight: etm3x: allow etm3x to be built as a module > coresight: etm4x: allow etm4x to be built as a module > coresight: etb: allow etb to be built as a module > coresight: tpiu: allow tpiu to be built as a module > coresight: tmc: allow tmc to be built as a module > coresight: allow funnel driver to be built as module > coresight: allow replicator driver to be built as module > > Mian Yousaf Kaukab (2): > coresight: export global symbols > coresight: tmc-etr: add function to register catu ops > > Mike Leach (2): > coresight: cti: Fix remove sysfs link error > coresight: cti: Fix bug clearing sysfs links on callback > > Tingwei Zhang (12): > coresight: cpu_debug: add module name in Kconfig > coresight: cpu_debug: define MODULE_DEVICE_TABLE > coresight: add coresight prefix to barrier_pkt > coresight: add try_get_module() in coresight_grab_device() > coresight: stm: allow to build coresight-stm as a module > coresight: etm: perf: Fix warning caused by etm_setup_aux failure > coresight: cti: add function to register cti associate ops > coresight: cti: don't disable ect device if it's not enabled > coresight: cti: increase reference count when enabling cti > coresight: cti: allow cti to be built as a module > coresight: catu: allow catu drivers to be built as modules > coresight: allow the coresight core driver to be built as a module > > drivers/hwtracing/coresight/Kconfig | 54 ++++-- > drivers/hwtracing/coresight/Makefile | 22 +-- > drivers/hwtracing/coresight/coresight-catu.c | 37 ++++- > drivers/hwtracing/coresight/coresight-catu.h | 2 - > .../{coresight.c => coresight-core.c} | 154 +++++++++++++++--- > .../hwtracing/coresight/coresight-cpu-debug.c | 2 + > .../{coresight-cti.c => coresight-cti-core.c} | 63 ++++++- > drivers/hwtracing/coresight/coresight-etb10.c | 28 +++- > .../hwtracing/coresight/coresight-etm-perf.c | 13 +- > .../hwtracing/coresight/coresight-etm-perf.h | 5 +- > ...resight-etm3x.c => coresight-etm3x-core.c} | 28 +++- > ...resight-etm4x.c => coresight-etm4x-core.c} | 84 +++++++--- > .../hwtracing/coresight/coresight-funnel.c | 64 +++++++- > .../hwtracing/coresight/coresight-platform.c | 1 + > drivers/hwtracing/coresight/coresight-priv.h | 24 ++- > .../coresight/coresight-replicator.c | 65 +++++++- > drivers/hwtracing/coresight/coresight-stm.c | 20 ++- > drivers/hwtracing/coresight/coresight-sysfs.c | 2 + > .../{coresight-tmc.c => coresight-tmc-core.c} | 25 ++- > .../hwtracing/coresight/coresight-tmc-etf.c | 2 +- > .../hwtracing/coresight/coresight-tmc-etr.c | 21 ++- > drivers/hwtracing/coresight/coresight-tmc.h | 3 + > drivers/hwtracing/coresight/coresight-tpiu.c | 20 ++- > include/linux/coresight.h | 3 +- > 24 files changed, 634 insertions(+), 108 deletions(-) > rename drivers/hwtracing/coresight/{coresight.c => coresight-core.c} (92%) > rename drivers/hwtracing/coresight/{coresight-cti.c => coresight-cti-core.c} > (94%) > rename drivers/hwtracing/coresight/{coresight-etm3x.c => > coresight-etm3x-core.c} (97%) > rename drivers/hwtracing/coresight/{coresight-etm4x.c => > coresight-etm4x-core.c} (96%) > rename drivers/hwtracing/coresight/{coresight-tmc.c => coresight-tmc-core.c} > (95%) > > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project >