On 22/03/16 20:23, Mathieu Poirier wrote:
Dealing with HW related matters in tmc_read_prepare/unprepare
becomes convoluted when many cases need to be handled distinctively.
As such moving processing related to HW setup to individual driver
files and keep the core driver generic.
Signed-off-by: Mathieu Poirier <[email protected]>
---
drivers/hwtracing/coresight/coresight-tmc-etf.c | 68 ++++++++++++++++++++++++-
drivers/hwtracing/coresight/coresight-tmc-etr.c | 50 +++++++++++++++++-
drivers/hwtracing/coresight/coresight-tmc.c | 55 ++++----------------
drivers/hwtracing/coresight/coresight-tmc.h | 8 +--
4 files changed, 131 insertions(+), 50 deletions(-)
diff --git a/drivers/hwtracing/coresight/coresight-tmc-etf.c
b/drivers/hwtracing/coresight/coresight-tmc-etf.c
index 467d19221f7b..789384be81b6 100644
--- a/drivers/hwtracing/coresight/coresight-tmc-etf.c
+++ b/drivers/hwtracing/coresight/coresight-tmc-etf.c
@@ -71,7 +71,7 @@ static void tmc_etb_dump_hw(struct tmc_drvdata *drvdata)
}
}
-void tmc_etb_disable_hw(struct tmc_drvdata *drvdata)
+static void tmc_etb_disable_hw(struct tmc_drvdata *drvdata)
{
CS_UNLOCK(drvdata->base);
@@ -202,3 +202,69 @@ const struct coresight_ops tmc_etf_cs_ops = {
.sink_ops = &tmc_etf_sink_ops,
.link_ops = &tmc_etf_link_ops,
};
+
+int tmc_read_prepare_etf(struct tmc_drvdata *drvdata)
...
+int tmc_read_unprepare_etf(struct tmc_drvdata *drvdata)
Ideally, we are operating ETF as if it was an ETB in the sink mode,
so,
tmc_read_{prepare/unprepare}_etb sounds more intuitive than _etf.
Nothing wrong with the current code.
Thanks
Suzuki