Commit a114dbea authored by Tingwei Zhang's avatar Tingwei Zhang Committed by Greg Kroah-Hartman
Browse files

coresight: catu: Allow catu drivers to be built as modules



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

Reviewed-by: default avatarMike Leach <mike.leach@linaro.org>
Reviewed-by: default avatarSuzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: default avatarTingwei Zhang <tingwei@codeaurora.org>
Signed-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
Link: https://lore.kernel.org/r/20200928163513.70169-24-mathieu.poirier@linaro.org


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 66af416d
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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
+15 −0
Original line number Diff line number Diff line
@@ -567,11 +567,21 @@ out:
	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");