drivers/hwtracing: make coresight-* explicitly non-modular
None of the Kconfig currently controlling compilation of any of
the files here are tristate, meaning that none of it currently
is being built as a module by anyone.
We need not be concerned about .remove functions and blocking the
unbind sysfs operations, since that was already done in a recent
commit.
Lets remove any remaining modular references, so that when reading the
drivers there is no doubt they are builtin-only.
All drivers get mostly the same changes, so they are handled in batch.
Changes are (1) convert to builtin_amba_driver, (2) delete module.h
include where unused, and (3) relocate the description into the
comments so we don't need MODULE_DESCRIPTION and associated tags.
The etm3x and etm4x use module_param_named, and have been adjusted
to just include moduleparam.h for that purpose.
In commit f309d44431
("platform_device:
better support builtin boilerplate avoidance") we introduced the
builtin_driver macro.
Here we use that support and extend it to amba driver registration,
so where a driver is clearly non-modular and builtin-only, we can
update with the simple mapping of
module_amba_driver(...) ---> builtin_amba_driver(...)
Since module_amba_driver() uses the same init level priority as
builtin_amba_driver() the init ordering remains unchanged with
this commit.
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
17534ceb83
commit
941943cf51
|
@ -1,4 +1,6 @@
|
||||||
/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
|
||||||
|
*
|
||||||
|
* Description: CoreSight Embedded Trace Buffer driver
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License version 2 and
|
* it under the terms of the GNU General Public License version 2 and
|
||||||
|
@ -12,7 +14,6 @@
|
||||||
|
|
||||||
#include <asm/local.h>
|
#include <asm/local.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
|
@ -781,8 +782,4 @@ static struct amba_driver etb_driver = {
|
||||||
.probe = etb_probe,
|
.probe = etb_probe,
|
||||||
.id_table = etb_ids,
|
.id_table = etb_ids,
|
||||||
};
|
};
|
||||||
|
builtin_amba_driver(etb_driver);
|
||||||
module_amba_driver(etb_driver);
|
|
||||||
|
|
||||||
MODULE_LICENSE("GPL v2");
|
|
||||||
MODULE_DESCRIPTION("CoreSight Embedded Trace Buffer driver");
|
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
|
||||||
|
*
|
||||||
|
* Description: CoreSight Program Flow Trace driver
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License version 2 and
|
* it under the terms of the GNU General Public License version 2 and
|
||||||
|
@ -11,7 +13,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/moduleparam.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
|
@ -38,6 +40,10 @@
|
||||||
#include "coresight-etm.h"
|
#include "coresight-etm.h"
|
||||||
#include "coresight-etm-perf.h"
|
#include "coresight-etm-perf.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Not really modular but using module_param is the easiest way to
|
||||||
|
* remain consistent with existing use cases for now.
|
||||||
|
*/
|
||||||
static int boot_enable;
|
static int boot_enable;
|
||||||
module_param_named(boot_enable, boot_enable, int, S_IRUGO);
|
module_param_named(boot_enable, boot_enable, int, S_IRUGO);
|
||||||
|
|
||||||
|
@ -912,8 +918,4 @@ static struct amba_driver etm_driver = {
|
||||||
.probe = etm_probe,
|
.probe = etm_probe,
|
||||||
.id_table = etm_ids,
|
.id_table = etm_ids,
|
||||||
};
|
};
|
||||||
|
builtin_amba_driver(etm_driver);
|
||||||
module_amba_driver(etm_driver);
|
|
||||||
|
|
||||||
MODULE_LICENSE("GPL v2");
|
|
||||||
MODULE_DESCRIPTION("CoreSight Program Flow Trace driver");
|
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
#include <linux/module.h>
|
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
|
@ -2710,5 +2709,4 @@ static struct amba_driver etm4x_driver = {
|
||||||
.probe = etm4_probe,
|
.probe = etm4_probe,
|
||||||
.id_table = etm4_ids,
|
.id_table = etm4_ids,
|
||||||
};
|
};
|
||||||
|
builtin_amba_driver(etm4x_driver);
|
||||||
module_amba_driver(etm4x_driver);
|
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
|
||||||
|
*
|
||||||
|
* Description: CoreSight Funnel driver
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License version 2 and
|
* it under the terms of the GNU General Public License version 2 and
|
||||||
|
@ -11,7 +13,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
|
@ -268,8 +269,4 @@ static struct amba_driver funnel_driver = {
|
||||||
.probe = funnel_probe,
|
.probe = funnel_probe,
|
||||||
.id_table = funnel_ids,
|
.id_table = funnel_ids,
|
||||||
};
|
};
|
||||||
|
builtin_amba_driver(funnel_driver);
|
||||||
module_amba_driver(funnel_driver);
|
|
||||||
|
|
||||||
MODULE_LICENSE("GPL v2");
|
|
||||||
MODULE_DESCRIPTION("CoreSight Funnel driver");
|
|
||||||
|
|
|
@ -15,7 +15,6 @@
|
||||||
#include <linux/clk.h>
|
#include <linux/clk.h>
|
||||||
#include <linux/coresight.h>
|
#include <linux/coresight.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
#include <linux/module.h>
|
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
|
@ -198,5 +197,4 @@ static struct amba_driver replicator_driver = {
|
||||||
.probe = replicator_probe,
|
.probe = replicator_probe,
|
||||||
.id_table = replicator_ids,
|
.id_table = replicator_ids,
|
||||||
};
|
};
|
||||||
|
builtin_amba_driver(replicator_driver);
|
||||||
module_amba_driver(replicator_driver);
|
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
|
||||||
|
*
|
||||||
|
* Description: CoreSight Replicator driver
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License version 2 and
|
* it under the terms of the GNU General Public License version 2 and
|
||||||
|
@ -11,7 +13,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
|
@ -166,8 +167,4 @@ static struct platform_driver replicator_driver = {
|
||||||
.suppress_bind_attrs = true,
|
.suppress_bind_attrs = true,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
builtin_platform_driver(replicator_driver);
|
builtin_platform_driver(replicator_driver);
|
||||||
|
|
||||||
MODULE_LICENSE("GPL v2");
|
|
||||||
MODULE_DESCRIPTION("CoreSight Replicator driver");
|
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
/* Copyright (c) 2012, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2012, The Linux Foundation. All rights reserved.
|
||||||
|
*
|
||||||
|
* Description: CoreSight Trace Memory Controller driver
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License version 2 and
|
* it under the terms of the GNU General Public License version 2 and
|
||||||
|
@ -11,7 +13,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
|
@ -782,8 +783,4 @@ static struct amba_driver tmc_driver = {
|
||||||
.probe = tmc_probe,
|
.probe = tmc_probe,
|
||||||
.id_table = tmc_ids,
|
.id_table = tmc_ids,
|
||||||
};
|
};
|
||||||
|
builtin_amba_driver(tmc_driver);
|
||||||
module_amba_driver(tmc_driver);
|
|
||||||
|
|
||||||
MODULE_LICENSE("GPL v2");
|
|
||||||
MODULE_DESCRIPTION("CoreSight Trace Memory Controller driver");
|
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
|
/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
|
||||||
|
*
|
||||||
|
* Description: CoreSight Trace Port Interface Unit driver
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License version 2 and
|
* it under the terms of the GNU General Public License version 2 and
|
||||||
|
@ -11,7 +13,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
|
@ -218,8 +219,4 @@ static struct amba_driver tpiu_driver = {
|
||||||
.probe = tpiu_probe,
|
.probe = tpiu_probe,
|
||||||
.id_table = tpiu_ids,
|
.id_table = tpiu_ids,
|
||||||
};
|
};
|
||||||
|
builtin_amba_driver(tpiu_driver);
|
||||||
module_amba_driver(tpiu_driver);
|
|
||||||
|
|
||||||
MODULE_LICENSE("GPL v2");
|
|
||||||
MODULE_DESCRIPTION("CoreSight Trace Port Interface Unit driver");
|
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
|
@ -894,5 +893,3 @@ void coresight_unregister(struct coresight_device *csdev)
|
||||||
device_unregister(&csdev->dev);
|
device_unregister(&csdev->dev);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(coresight_unregister);
|
EXPORT_SYMBOL_GPL(coresight_unregister);
|
||||||
|
|
||||||
MODULE_LICENSE("GPL v2");
|
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/module.h>
|
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
|
|
@ -163,4 +163,13 @@ struct amba_device name##_device = { \
|
||||||
#define module_amba_driver(__amba_drv) \
|
#define module_amba_driver(__amba_drv) \
|
||||||
module_driver(__amba_drv, amba_driver_register, amba_driver_unregister)
|
module_driver(__amba_drv, amba_driver_register, amba_driver_unregister)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* builtin_amba_driver() - Helper macro for drivers that don't do anything
|
||||||
|
* special in driver initcall. This eliminates a lot of boilerplate. Each
|
||||||
|
* driver may only use this macro once, and calling it replaces the instance
|
||||||
|
* device_initcall().
|
||||||
|
*/
|
||||||
|
#define builtin_amba_driver(__amba_drv) \
|
||||||
|
builtin_driver(__amba_drv, amba_driver_register)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue