From: Alexander Shishkin <alexander.shishkin@linux.intel.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-kernel@vger.kernel.org, mathieu.poirier@linaro.org,
peter.lachner@intel.com, norbert.schulz@intel.com,
keven.boell@intel.com, yann.fouassier@intel.com,
laurent.fert@intel.com,
Alexander Shishkin <alexander.shishkin@linux.intel.com>
Subject: [PATCH v3 03/11] stm class: dummy_stm: Add dummy driver for testing stm class
Date: Mon, 6 Jul 2015 13:08:56 +0300 [thread overview]
Message-ID: <1436177344-16751-4-git-send-email-alexander.shishkin@linux.intel.com> (raw)
In-Reply-To: <1436177344-16751-1-git-send-email-alexander.shishkin@linux.intel.com>
This is a simple module that pretends to be an stm device and discards
all the data that comes in. Useful for testing stm class and its users.
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
---
drivers/hwtracing/stm/Kconfig | 8 +++++
drivers/hwtracing/stm/Makefile | 2 ++
drivers/hwtracing/stm/dummy_stm.c | 66 +++++++++++++++++++++++++++++++++++++++
3 files changed, 76 insertions(+)
create mode 100644 drivers/hwtracing/stm/dummy_stm.c
diff --git a/drivers/hwtracing/stm/Kconfig b/drivers/hwtracing/stm/Kconfig
index 90ed327461..4fdb8f46d2 100644
--- a/drivers/hwtracing/stm/Kconfig
+++ b/drivers/hwtracing/stm/Kconfig
@@ -6,3 +6,11 @@ config STM
Examples of such devices are Intel Trace Hub and Coresight STM.
Say Y here to enable System Trace Module device support.
+
+config STM_DUMMY
+ tristate "Dummy STM driver"
+ help
+ This is a simple dummy device that pretends to be an stm device
+ and discards your data. Use for stm class testing.
+
+ If you don't know what this is, say N.
diff --git a/drivers/hwtracing/stm/Makefile b/drivers/hwtracing/stm/Makefile
index adec701649..1b2725fd04 100644
--- a/drivers/hwtracing/stm/Makefile
+++ b/drivers/hwtracing/stm/Makefile
@@ -1,3 +1,5 @@
obj-$(CONFIG_STM) += stm_core.o
stm_core-y := core.o policy.o
+
+obj-$(CONFIG_STM_DUMMY) += dummy_stm.o
diff --git a/drivers/hwtracing/stm/dummy_stm.c b/drivers/hwtracing/stm/dummy_stm.c
new file mode 100644
index 0000000000..3709bef0b2
--- /dev/null
+++ b/drivers/hwtracing/stm/dummy_stm.c
@@ -0,0 +1,66 @@
+/*
+ * A dummy STM device for stm/stm_source class testing.
+ * Copyright (c) 2014, Intel Corporation.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope 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.
+ *
+ * STM class implements generic infrastructure for System Trace Module devices
+ * as defined in MIPI STPv2 specification.
+ */
+
+#undef DEBUG
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/slab.h>
+#include <linux/stm.h>
+
+static ssize_t
+dummy_stm_packet(struct stm_data *stm_data, unsigned int master,
+ unsigned int channel, unsigned int packet, unsigned int flags,
+ unsigned int size, const unsigned char *payload)
+{
+#ifdef DEBUG
+ u64 pl = 0;
+
+ if (payload)
+ pl = *(u64 *)payload;
+
+ if (size < 8)
+ pl &= (1ull << (size * 8)) - 1;
+ trace_printk("[%u:%u] [pkt: %x/%x] (%llx)\n", master, channel,
+ packet, size, pl);
+#endif
+ return size;
+}
+
+static struct stm_data dummy_stm = {
+ .name = "dummy_stm",
+ .sw_start = 0x0000,
+ .sw_end = 0xffff,
+ .sw_nchannels = 0xffff,
+ .packet = dummy_stm_packet,
+};
+
+static int dummy_stm_init(void)
+{
+ return stm_register_device(NULL, &dummy_stm, THIS_MODULE);
+}
+
+static void dummy_stm_exit(void)
+{
+ stm_unregister_device(&dummy_stm);
+}
+
+module_init(dummy_stm_init);
+module_exit(dummy_stm_exit);
+
+MODULE_LICENSE("GPL v2");
+MODULE_DESCRIPTION("dummy_stm device");
+MODULE_AUTHOR("Alexander Shishkin <alexander.shishkin@linux.intel.com>");
--
2.1.4
next prev parent reply other threads:[~2015-07-06 10:09 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-06 10:08 [PATCH v3 00/11] Introduce Intel Trace Hub support Alexander Shishkin
2015-07-06 10:08 ` [PATCH v3 01/11] stm class: Introduce an abstraction for System Trace Module devices Alexander Shishkin
2015-07-08 12:32 ` Chunyan Zhang
2015-07-08 12:49 ` Alexander Shishkin
2015-07-08 12:49 ` Alexander Shishkin
[not found] ` <1436177344-16751-2-git-send-email-alexander.shishkin-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2015-07-29 4:21 ` Chunyan Zhang
2015-07-29 4:21 ` Chunyan Zhang
[not found] ` <CAAfSe-vOgnMXCy6fb8yuQ0O_5x1L1QtCmGjNjH+OtGAg6KJHrg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-29 13:25 ` Alexander Shishkin
2015-07-29 13:25 ` Alexander Shishkin
[not found] ` <877fpjkseh.fsf-qxRn5AmX6ZD9BXuAQUXR0fooFf0ArEBIu+b9c/7xato@public.gmane.org>
2015-07-29 13:35 ` Mark Brown
2015-07-29 13:35 ` Mark Brown
[not found] ` <20150729133529.GI20130-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-07-29 13:46 ` Alexander Shishkin
2015-07-29 13:46 ` Alexander Shishkin
[not found] ` <871tfrkree.fsf-qxRn5AmX6ZD9BXuAQUXR0fooFf0ArEBIu+b9c/7xato@public.gmane.org>
2015-07-30 3:38 ` Chunyan Zhang
2015-07-30 3:38 ` Chunyan Zhang
[not found] ` <CAAfSe-sQjPHQQ7-jh-Xq6nR3O0gtP3AM4m=gGJjUE26rsbQDMQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-30 5:45 ` Alexander Shishkin
2015-07-30 5:45 ` Alexander Shishkin
[not found] ` <87zj2e9p25.fsf-qxRn5AmX6ZD9BXuAQUXR0fooFf0ArEBIu+b9c/7xato@public.gmane.org>
2015-07-30 6:15 ` Chunyan Zhang
2015-07-30 6:15 ` Chunyan Zhang
2015-07-30 3:19 ` Chunyan Zhang
[not found] ` <CAAfSe-vgFSxA7OX7DSOB4XXdsan_3PWne0-16kSKZv_8HkHjgg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-07-30 6:37 ` Alexander Shishkin
2015-07-30 6:37 ` Alexander Shishkin
[not found] ` <87vbd29mm6.fsf-qxRn5AmX6ZD9BXuAQUXR0fooFf0ArEBIu+b9c/7xato@public.gmane.org>
2015-07-30 6:59 ` Chunyan Zhang
2015-07-30 6:59 ` Chunyan Zhang
2015-07-30 7:11 ` Chunyan Zhang
2015-07-30 7:16 ` Alexander Shishkin
2015-07-30 7:16 ` Alexander Shishkin
2015-08-05 23:01 ` Mathieu Poirier
2015-08-05 23:01 ` Mathieu Poirier
2015-07-06 10:08 ` [PATCH v3 02/11] MAINTAINERS: add an entry for System Trace Module device class Alexander Shishkin
2015-07-06 10:08 ` Alexander Shishkin [this message]
2015-08-05 23:02 ` [PATCH v3 03/11] stm class: dummy_stm: Add dummy driver for testing stm class Mathieu Poirier
2015-07-06 10:08 ` [PATCH v3 04/11] stm class: stm_console: Add kernel-console-over-stm driver Alexander Shishkin
2015-08-05 23:03 ` Mathieu Poirier
2015-07-06 10:08 ` [PATCH v3 05/11] intel_th: Add driver infrastructure for Intel Trace Hub devices Alexander Shishkin
2015-07-06 10:08 ` [PATCH v3 06/11] intel_th: Add pci glue layer for Intel Trace Hub Alexander Shishkin
2015-07-06 10:09 ` [PATCH v3 07/11] intel_th: Add Global Trace Hub driver Alexander Shishkin
2015-07-06 10:09 ` [PATCH v3 08/11] intel_th: Add Software " Alexander Shishkin
2015-07-06 10:09 ` [PATCH v3 09/11] intel_th: Add Memory Storage Unit driver Alexander Shishkin
2015-07-06 10:09 ` [PATCH v3 10/11] intel_th: Add PTI output driver Alexander Shishkin
2015-07-06 10:09 ` [PATCH v3 11/11] MAINTAINERS: add an entry for Intel(R) Trace Hub Alexander Shishkin
2015-07-22 15:49 ` [PATCH v3 00/11] Introduce Intel Trace Hub support Alexander Shishkin
2015-07-23 15:27 ` Mathieu Poirier
2015-08-05 20:31 ` Greg Kroah-Hartman
2015-07-29 13:26 ` Alexander Shishkin
2015-07-31 5:16 ` Alexander Shishkin
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=1436177344-16751-4-git-send-email-alexander.shishkin@linux.intel.com \
--to=alexander.shishkin@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=keven.boell@intel.com \
--cc=laurent.fert@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.poirier@linaro.org \
--cc=norbert.schulz@intel.com \
--cc=peter.lachner@intel.com \
--cc=yann.fouassier@intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.