Re: [PATCH v7 3/4] perf: xgene: Add APM X-Gene SoC Performance Monitoring Unit driver

From: Paul Gortmaker
Date: Sat Jul 09 2016 - 20:01:31 EST


On Wed, Jul 6, 2016 at 8:07 PM, Tai Nguyen <ttnguyen@xxxxxxx> wrote:
> Signed-off-by: Tai Nguyen <ttnguyen@xxxxxxx>
> ---
> Documentation/perf/xgene-pmu.txt | 48 ++
> drivers/perf/Kconfig | 7 +
> drivers/perf/Makefile | 1 +
> drivers/perf/xgene_pmu.c | 1398 ++++++++++++++++++++++++++++++++++++++
> 4 files changed, 1454 insertions(+)
> create mode 100644 Documentation/perf/xgene-pmu.txt
> create mode 100644 drivers/perf/xgene_pmu.c
>

[...]

> diff --git a/drivers/perf/Kconfig b/drivers/perf/Kconfig
> index 04e2653..4d5c5f9 100644
> --- a/drivers/perf/Kconfig
> +++ b/drivers/perf/Kconfig
> @@ -12,4 +12,11 @@ config ARM_PMU
> Say y if you want to use CPU performance monitors on ARM-based
> systems.
>
> +config XGENE_PMU
> + depends on PERF_EVENTS && ARCH_XGENE
> + bool "APM X-Gene SoC PMU"

If the driver is bool, then please avoid using module.h and anything from
within it. They are either no-ops when built in, or there are non-modular
equivalents available, so it is entirely avoidable, and makes for smaller
and better code.

> + default n
> + help
> + Say y if you want to use APM X-Gene SoC performance monitors.
> +
> endmenu
> diff --git a/drivers/perf/Makefile b/drivers/perf/Makefile
> index acd2397..b116e98 100644
> --- a/drivers/perf/Makefile
> +++ b/drivers/perf/Makefile
> @@ -1 +1,2 @@
> obj-$(CONFIG_ARM_PMU) += arm_pmu.o
> +obj-$(CONFIG_XGENE_PMU) += xgene_pmu.o

[...]
ver = {
> + .name = "xgene-pmu",
> + .of_match_table = xgene_pmu_of_match,
> + .acpi_match_table = ACPI_PTR(xgene_pmu_acpi_match),
> + },
> +};
> +
> +module_platform_driver(xgene_pmu_driver);

builtin_platform_driver

> +
> +MODULE_DESCRIPTION("APM X-Gene SoC PMU driver");
> +MODULE_AUTHOR("Hoan Tran <hotran@xxxxxxx>");
> +MODULE_AUTHOR("Tai Nguyen <ttnguyen@xxxxxxx>");
> +MODULE_LICENSE("GPL");

As long as this information is at the top of the file, then these can
go away too -- just like MODULE_DEVICE_TABLE they are no-op.

Paul.