linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Mathieu Poirier <mathieu.poirier@linaro.org>
To: gregkh@linuxfoundation.org
Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: [PATCH 23/25] coresight: catu: Allow catu drivers to be built as modules
Date: Mon, 28 Sep 2020 10:35:11 -0600	[thread overview]
Message-ID: <20200928163513.70169-24-mathieu.poirier@linaro.org> (raw)
In-Reply-To: <20200928163513.70169-1-mathieu.poirier@linaro.org>

From: Tingwei Zhang <tingwei@codeaurora.org>

Allow to build coresight-catu as modules, for ease of development.
- Kconfig becomes a tristate, to allow =m
- add catu_remove functions, for module unload
- add a MODULE_DEVICE_TABLE for autoloading on boot

Signed-off-by: Tingwei Zhang <tingwei@codeaurora.org>
Reviewed-by: Mike Leach <mike.leach@linaro.org>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
---
 drivers/hwtracing/coresight/Kconfig          |  5 ++++-
 drivers/hwtracing/coresight/coresight-catu.c | 15 +++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/drivers/hwtracing/coresight/Kconfig b/drivers/hwtracing/coresight/Kconfig
index b04aae2ceecc..dfe407cde262 100644
--- a/drivers/hwtracing/coresight/Kconfig
+++ b/drivers/hwtracing/coresight/Kconfig
@@ -42,7 +42,7 @@ config CORESIGHT_LINK_AND_SINK_TMC
 	  module will be called coresight-tmc.
 
 config CORESIGHT_CATU
-	bool "Coresight Address Translation Unit (CATU) driver"
+	tristate "Coresight Address Translation Unit (CATU) driver"
 	depends on CORESIGHT_LINK_AND_SINK_TMC
 	help
 	   Enable support for the Coresight Address Translation Unit (CATU).
@@ -52,6 +52,9 @@ config CORESIGHT_CATU
 	   by looking up the provided table. CATU can also be used in pass-through
 	   mode where the address is not translated.
 
+	   To compile this driver as a module, choose M here: the
+	   module will be called coresight-catu.
+
 config CORESIGHT_SINK_TPIU
 	tristate "Coresight generic TPIU driver"
 	depends on CORESIGHT_LINKS_AND_SINKS
diff --git a/drivers/hwtracing/coresight/coresight-catu.c b/drivers/hwtracing/coresight/coresight-catu.c
index 47696a7d24a7..99430f6cf5a5 100644
--- a/drivers/hwtracing/coresight/coresight-catu.c
+++ b/drivers/hwtracing/coresight/coresight-catu.c
@@ -567,11 +567,21 @@ static int catu_probe(struct amba_device *adev, const struct amba_id *id)
 	return ret;
 }
 
+static int __exit catu_remove(struct amba_device *adev)
+{
+	struct catu_drvdata *drvdata = dev_get_drvdata(&adev->dev);
+
+	coresight_unregister(drvdata->csdev);
+	return 0;
+}
+
 static struct amba_id catu_ids[] = {
 	CS_AMBA_ID(0x000bb9ee),
 	{},
 };
 
+MODULE_DEVICE_TABLE(amba, catu_ids);
+
 static struct amba_driver catu_driver = {
 	.drv = {
 		.name			= "coresight-catu",
@@ -579,6 +589,7 @@ static struct amba_driver catu_driver = {
 		.suppress_bind_attrs	= true,
 	},
 	.probe				= catu_probe,
+	.remove				= catu_remove,
 	.id_table			= catu_ids,
 };
 
@@ -601,3 +612,7 @@ static void __exit catu_exit(void)
 
 module_init(catu_init);
 module_exit(catu_exit);
+
+MODULE_AUTHOR("Suzuki K Poulose <suzuki.poulose@arm.com>");
+MODULE_DESCRIPTION("Arm CoreSight Address Translation Unit (CATU) Driver");
+MODULE_LICENSE("GPL v2");
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2020-09-28 16:45 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-28 16:34 [PATCH 00/25] coresight: Next v5.9-rc7 Mathieu Poirier
2020-09-28 16:34 ` [PATCH 01/25] coresight: cpu_debug: Add module name in Kconfig Mathieu Poirier
2020-09-28 16:34 ` [PATCH 02/25] coresight: cpu_debug: Define MODULE_DEVICE_TABLE Mathieu Poirier
2020-09-28 16:34 ` [PATCH 03/25] coresight: Use IS_ENABLED for CONFIGs that may be modules Mathieu Poirier
2020-09-28 16:34 ` [PATCH 04/25] coresight: Add coresight prefix to barrier_pkt Mathieu Poirier
2020-09-28 16:34 ` [PATCH 05/25] coresight: Export global symbols Mathieu Poirier
2020-09-28 16:34 ` [PATCH 06/25] coresight: Add try_get_module() in coresight_grab_device() Mathieu Poirier
2020-09-28 16:34 ` [PATCH 07/25] coresight: stm: Allow to build coresight-stm as a module Mathieu Poirier
2020-09-28 16:34 ` [PATCH 08/25] coresight: etm: perf: Fix warning caused by etm_setup_aux failure Mathieu Poirier
2020-09-28 16:34 ` [PATCH 09/25] coresight: etm3x: Allow etm3x to be built as a module Mathieu Poirier
2020-09-28 16:34 ` [PATCH 10/25] coresight: etm4x: Allow etm4x " Mathieu Poirier
2020-09-28 16:34 ` [PATCH 11/25] coresight: etb: Allow etb " Mathieu Poirier
2020-09-28 16:35 ` [PATCH 12/25] coresight: tpiu: Allow tpiu " Mathieu Poirier
2020-09-28 16:35 ` [PATCH 13/25] coresight: tmc: Allow tmc " Mathieu Poirier
2020-09-28 16:35 ` [PATCH 14/25] coresight: funnel: Allow funnel driver to be built as module Mathieu Poirier
2020-09-28 16:35 ` [PATCH 15/25] coresight: replicator: Allow replicator " Mathieu Poirier
2020-09-28 16:35 ` [PATCH 16/25] coresight: cti: Add function to register cti associate ops Mathieu Poirier
2020-09-28 16:35 ` [PATCH 17/25] coresight: cti: Fix remove sysfs link error Mathieu Poirier
2020-09-28 16:35 ` [PATCH 18/25] coresight: cti: Fix bug clearing sysfs links on callback Mathieu Poirier
2020-09-28 16:35 ` [PATCH 19/25] coresight: cti: Don't disable ect device if it's not enabled Mathieu Poirier
2020-09-28 16:35 ` [PATCH 20/25] coresight: cti: Increase reference count when enabling cti Mathieu Poirier
2020-09-28 16:35 ` [PATCH 21/25] coresight: cti: Allow cti to be built as a module Mathieu Poirier
2020-09-28 16:35 ` [PATCH 22/25] coresight: tmc-etr: Add function to register catu ops Mathieu Poirier
2020-09-28 16:35 ` Mathieu Poirier [this message]
2020-09-28 16:35 ` [PATCH 24/25] coresight: core: Allow the coresight core driver to be built as a module Mathieu Poirier
2020-09-28 16:35 ` [PATCH 25/25] coresight: etm4x: Fix save and restore of TRCVMIDCCTLR1 register Mathieu Poirier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200928163513.70169-24-mathieu.poirier@linaro.org \
    --to=mathieu.poirier@linaro.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).