All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/14] coresight: allow to build components as modules
@ 2018-06-05 21:06 ` Kim Phillips
  0 siblings, 0 replies; 76+ messages in thread
From: Kim Phillips @ 2018-06-05 21:06 UTC (permalink / raw)
  To: Mathieu Poirier
  Cc: Leo Yan, Suzuki K Poulose, Greg Kroah-Hartman,
	Alexander Shishkin, Alex Williamson, Andrew Morton,
	David Howells, Eric Auger, Eric Biederman, Gargi Sharma,
	Geert Uytterhoeven, Kefeng Wang, Kirill Tkhai, Mike Rapoport,
	Oleg Nesterov, Pavel Tatashin, Rik van Riel, Robin Murphy,
	Russell King, Thierry Reding, Todd Kjos, Randy Dunlap,
	linux-arm-kernel, Linux Kernel Mailing List, Kim Phillips

Allow to build coresight as modules.  This enhances developer
efficiency by allowing the development to take place exclusively
on the target, and without needing to reboot in between changes.

depends on:
 - "amba: Export amba_bustype"
   https://patchwork.kernel.org/patch/10387433/
   Queued for 4.18 here:
   http://git.armlinux.org.uk/cgit/linux-arm.git/commit/?h=for-next&id=e9ac68c34f70a0c8d51ee63d259f7c8e79b362c1 

 - "coresight: Don't use contextID with PID namespaces"
   https://www.spinics.net/lists/arm-kernel/msg652755.html
   Queued for 4.18 here:
   http://git.linaro.org/kernel/coresight.git/log/?h=next

those depends plus this series, available here:
 - git://linux-arm.org/linux-kp.git, coresight-modules branch

Changes from v3:
 - rebased on coresight/next
 - re-split per-module-wise (Mathieu P)
   - some unnecessary changes were removed as a consequence
   - git bisectability maintained
 - module get/put in coresight_build_path/release_path, respectively
   instead of enable/disable functions (Suzuki P)
   - this prevents drivers from being unloaded when they are part of
     the path in use, either by sysfs or perf mode.
 - rename few source files e.g., coresight.c -> coresight-core.c in
   order to have the resultant module be more intuitively called coresight.ko
   instead of coresight-core.ko.

Changes from v2:
 - split into multiple patches, for reviewer clarity (Greg K-H)

Changes from v1:
 - remove depends on coresight that are in the if CORESIGHT block
   (Randy Dunlap)
 - rebased and removed coresight_vpid_to_pid relocation on this
   new series this patch now depends on:
        https://www.spinics.net/lists/arm-kernel/msg652755.html
   That new series eliminates patch 2/4 from this series (patches
   1 and 4 of this series remain the same).
 - actually call tmc_read_unprepare() in tmc_remove() this time,
   instead of open-coding the kfree, dma_free_coherent calls.

Changes from versions previously sent to coresight mailing list:

 - tmc_remove: free buffer used by TMC-ETR and TMC-ETF by calling
   tmc_read_unprepare()
 - fixed an unbalanced pm_runtime_enable in coresight-replicator
 - etm[4]_remove():  call cpuhp_remove_state_nocalls() and
   etm_perf_symlink(.., false) to clear up cpuhp and symlink state
 - add module parent checks for all enable/disable functions, source
   and sink modules
   - refactored device ptr dereferences by introducing a new parent_dev
     variable
 - corrected replicator author
 - whitespace fix in funnel driver

 - added user Kconfig help text with the names of the modules.
 - Addressed Mathieu's comments:
   - renamed coresight-link-sink-tmc coresight-tmc-core
   - prevent ability to crash the system by removing drivers from an
     active path by adding try_module_get() and module_put() calls in
     funnel and replicator drivers' enable and disable functions (thanks for
     figuring that out, Mathieu).

 - Addressed most of Mathieu's comments:
   - rm __inits causing linker section mismatch errors
   - barrier_pkt made static, moved to coresight_priv.h
   - rm unnecessary tmc_* EXPORT_SYMBOL leftovers
   - add some missing MODULE_AUTHORs


Kim Phillips (14):
  coresight: cpu_debug: minor module fixups
  coresight: use IS_ENABLED for CONFIGs that may be modules
  coresight: move shared barrier_pkt[] to coresight_priv.h
  coresight: export coresight_timeout and etm_perf_symlink
  coresight: get/put module in coresight_build/release_path
  coresight: allow stm to be built as a module
  coresight: allow dynamic-replicator to be built as a module
  coresight: allow etm3x to be built as a module
  coresight: allow etm4x to be built as a module
  coresight: allow etb to be built as a module
  coresight: allow tpiu to be built as a module
  coresight: allow tmc to be built as a module
  coresight: allow funnel and replicator drivers to be built as modules
  coresight: allow the coresight core driver to be built as a module

 drivers/hwtracing/coresight/Kconfig           | 48 +++++++++++++++----
 drivers/hwtracing/coresight/Makefile          | 20 ++++----
 .../{coresight.c => coresight-core.c}         | 23 ++++-----
 .../hwtracing/coresight/coresight-cpu-debug.c |  2 +
 .../coresight/coresight-dynamic-replicator.c  | 19 +++++++-
 drivers/hwtracing/coresight/coresight-etb10.c | 20 +++++++-
 .../hwtracing/coresight/coresight-etm-perf.c  | 18 ++++++-
 .../hwtracing/coresight/coresight-etm-perf.h  |  2 +-
 ...resight-etm3x.c => coresight-etm3x-core.c} | 24 +++++++++-
 ...resight-etm4x.c => coresight-etm4x-core.c} | 25 +++++++++-
 .../hwtracing/coresight/coresight-funnel.c    | 18 ++++++-
 drivers/hwtracing/coresight/coresight-priv.h  | 10 +++-
 .../coresight/coresight-replicator.c          | 22 ++++++++-
 drivers/hwtracing/coresight/coresight-stm.c   | 20 +++++++-
 .../{coresight-tmc.c => coresight-tmc-core.c} | 22 ++++++++-
 drivers/hwtracing/coresight/coresight-tpiu.c  | 19 +++++++-
 include/linux/coresight.h                     |  2 +-
 17 files changed, 270 insertions(+), 44 deletions(-)
 rename drivers/hwtracing/coresight/{coresight.c => coresight-core.c} (98%)
 rename drivers/hwtracing/coresight/{coresight-etm3x.c => coresight-etm3x-core.c} (97%)
 rename drivers/hwtracing/coresight/{coresight-etm4x.c => coresight-etm4x-core.c} (97%)
 rename drivers/hwtracing/coresight/{coresight-tmc.c => coresight-tmc-core.c} (95%)

-- 
2.17.0

^ permalink raw reply	[flat|nested] 76+ messages in thread

end of thread, other threads:[~2018-06-08  9:22 UTC | newest]

Thread overview: 76+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-05 21:06 [PATCH v4 00/14] coresight: allow to build components as modules Kim Phillips
2018-06-05 21:06 ` Kim Phillips
2018-06-05 21:06 ` [PATCH v4 01/14] coresight: cpu_debug: minor module fixups Kim Phillips
2018-06-05 21:06   ` Kim Phillips
2018-06-06  8:25   ` Greg Kroah-Hartman
2018-06-06  8:25     ` Greg Kroah-Hartman
2018-06-05 21:06 ` [PATCH v4 02/14] coresight: use IS_ENABLED for CONFIGs that may be modules Kim Phillips
2018-06-05 21:06   ` Kim Phillips
2018-06-05 21:06 ` [PATCH v4 03/14] coresight: move shared barrier_pkt[] to coresight_priv.h Kim Phillips
2018-06-05 21:06   ` Kim Phillips
2018-06-06  8:27   ` Greg Kroah-Hartman
2018-06-06  8:27     ` Greg Kroah-Hartman
2018-06-05 21:07 ` [PATCH v4 04/14] coresight: export coresight_timeout and etm_perf_symlink Kim Phillips
2018-06-05 21:07   ` Kim Phillips
2018-06-05 21:07 ` [PATCH v4 05/14] coresight: get/put module in coresight_build/release_path Kim Phillips
2018-06-05 21:07   ` Kim Phillips
2018-06-05 21:14   ` Suzuki K Poulose
2018-06-05 21:14     ` Suzuki K Poulose
2018-06-06  8:24   ` Greg Kroah-Hartman
2018-06-06  8:24     ` Greg Kroah-Hartman
2018-06-06  9:46     ` Suzuki K Poulose
2018-06-06  9:46       ` Suzuki K Poulose
2018-06-06 20:55       ` Kim Phillips
2018-06-06 20:55         ` Kim Phillips
2018-06-07  8:34         ` Greg Kroah-Hartman
2018-06-07  8:34           ` Greg Kroah-Hartman
2018-06-07  9:04           ` Suzuki K Poulose
2018-06-07  9:04             ` Suzuki K Poulose
2018-06-07  9:13             ` Greg Kroah-Hartman
2018-06-07  9:13               ` Greg Kroah-Hartman
2018-06-07  9:32               ` Suzuki K Poulose
2018-06-07  9:32                 ` Suzuki K Poulose
2018-06-07  9:34                 ` Suzuki K Poulose
2018-06-07  9:34                   ` Suzuki K Poulose
2018-06-07  9:53                 ` Greg Kroah-Hartman
2018-06-07  9:53                   ` Greg Kroah-Hartman
2018-06-07 10:07                   ` Suzuki K Poulose
2018-06-07 10:07                     ` Suzuki K Poulose
2018-06-07 17:13                     ` Kim Phillips
2018-06-07 17:13                       ` Kim Phillips
2018-06-07 21:10                       ` Suzuki K Poulose
2018-06-07 21:10                         ` Suzuki K Poulose
2018-06-07 21:40                         ` Mathieu Poirier
2018-06-07 21:40                           ` Mathieu Poirier
2018-06-07 21:47                         ` Kim Phillips
2018-06-07 21:47                           ` Kim Phillips
2018-06-07 21:59                           ` Mathieu Poirier
2018-06-07 21:59                             ` Mathieu Poirier
2018-06-08  9:22                           ` Suzuki K Poulose
2018-06-08  9:22                             ` Suzuki K Poulose
2018-06-07  9:43         ` Suzuki K Poulose
2018-06-07  9:43           ` Suzuki K Poulose
2018-06-05 21:07 ` [PATCH v4 06/14] coresight: allow stm to be built as a module Kim Phillips
2018-06-05 21:07   ` Kim Phillips
2018-06-05 21:07 ` [PATCH v4 07/14] coresight: allow dynamic-replicator " Kim Phillips
2018-06-05 21:07   ` Kim Phillips
2018-06-05 21:07 ` [PATCH v4 08/14] coresight: allow etm3x " Kim Phillips
2018-06-05 21:07   ` Kim Phillips
2018-06-05 21:07 ` [PATCH v4 09/14] coresight: allow etm4x " Kim Phillips
2018-06-05 21:07   ` Kim Phillips
2018-06-05 21:07 ` [PATCH v4 10/14] coresight: allow etb " Kim Phillips
2018-06-05 21:07   ` Kim Phillips
2018-06-05 21:07 ` [PATCH v4 11/14] coresight: allow tpiu " Kim Phillips
2018-06-05 21:07   ` Kim Phillips
2018-06-05 21:07 ` [PATCH v4 12/14] coresight: allow tmc " Kim Phillips
2018-06-05 21:07   ` Kim Phillips
2018-06-05 21:07 ` [PATCH v4 13/14] coresight: allow funnel and replicator drivers to be built as modules Kim Phillips
2018-06-05 21:07   ` Kim Phillips
2018-06-05 21:07 ` [PATCH v4 14/14] coresight: allow the coresight core driver to be built as a module Kim Phillips
2018-06-05 21:07   ` Kim Phillips
2018-06-06  8:33   ` Greg Kroah-Hartman
2018-06-06  8:33     ` Greg Kroah-Hartman
2018-06-06  9:57   ` Suzuki K Poulose
2018-06-06  9:57     ` Suzuki K Poulose
2018-06-07 21:46   ` Mathieu Poirier
2018-06-07 21:46     ` Mathieu Poirier

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.