[PATCH v9 07/12] coresight-etm: add CoreSight ETM/PTM driver
Paul Bolle
pebolle at tiscali.nl
Mon Nov 10 02:34:31 PST 2014
On Mon, 2014-11-03 at 11:07 -0700, mathieu.poirier at linaro.org wrote:
> From: Pratik Patel <pratikp at codeaurora.org>
>
> This driver manages CoreSight ETM (Embedded Trace Macrocell) that
> supports processor tracing. Currently supported version are ARM
> ETMv3.x and PTM1.x.
>
> Signed-off-by: Pratik Patel <pratikp at codeaurora.org>
> Signed-off-by: Mathieu Poirier <mathieu.poirier at linaro.org>
>
> coresight-etm3x: adding missing error checking
This landed in today's linx-next (ie, next-20141110) as commit
a939fc5a71ad ("coresight-etm: add CoreSight ETM/PTM driver").
> arch/arm/Kconfig.debug | 9 +
> arch/arm/include/asm/hardware/cp14.h | 542 +++++++++
> drivers/coresight/Makefile | 1 +
> drivers/coresight/coresight-etm-cp14.c | 591 ++++++++++
> drivers/coresight/coresight-etm.h | 251 +++++
> drivers/coresight/coresight-etm3x.c | 1928 ++++++++++++++++++++++++++++++++
> 6 files changed, 3322 insertions(+)
> create mode 100644 arch/arm/include/asm/hardware/cp14.h
> create mode 100644 drivers/coresight/coresight-etm-cp14.c
> create mode 100644 drivers/coresight/coresight-etm.h
> create mode 100644 drivers/coresight/coresight-etm3x.c
>
>[...]
> diff --git a/drivers/coresight/coresight-etm3x.c b/drivers/coresight/coresight-etm3x.c
> new file mode 100644
> index 0000000..d9e3ed6
> --- /dev/null
> +++ b/drivers/coresight/coresight-etm3x.c
> @@ -0,0 +1,1928 @@
> +/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved.
> + *
> + * 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
> + * only version 2 as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + */
> +
> +#include <linux/kernel.h>
> +#include <linux/module.h>
> +#include <linux/init.h>
> +#include <linux/types.h>
> +#include <linux/device.h>
> +#include <linux/io.h>
> +#include <linux/err.h>
> +#include <linux/fs.h>
> +#include <linux/slab.h>
> +#include <linux/delay.h>
> +#include <linux/smp.h>
> +#include <linux/sysfs.h>
> +#include <linux/stat.h>
> +#include <linux/clk.h>
> +#include <linux/cpu.h>
> +#include <linux/of.h>
> +#include <linux/coresight.h>
> +#include <linux/amba/bus.h>
> +#include <linux/seq_file.h>
> +#include <linux/uaccess.h>
> +#include <asm/sections.h>
> +
> +#include "coresight-etm.h"
> +
> +#ifdef CONFIG_CORESIGHT_SOURCE_ETM_DEFAULT_ENABLE
There's no Kconfig symbol CORESIGHT_SOURCE_ETM_DEFAULT_ENABLE. Neither
is there a preprocessor definition of this macro. So why was this
added?
> +static int boot_enable = 1;
> +#else
> +static int boot_enable;
> +#endif
> +module_param_named(
> + boot_enable, boot_enable, int, S_IRUGO
> +);
Paul Bolle
More information about the linux-arm-kernel
mailing list