summaryrefslogtreecommitdiffstats
path: root/drivers/spi
diff options
context:
space:
mode:
authorVladimir Oltean <olteanv@gmail.com>2019-12-27 02:24:44 +0100
committerMark Brown <broonie@kernel.org>2019-12-27 23:58:09 +0100
commitf971a2074447726ec9a3feee3648a2e157f08248 (patch)
tree2954c9d66f9360ce81f6da1b02f33cf9f3cf5ce9 /drivers/spi
parentspi: oc-tiny: Use GPIO descriptors (diff)
downloadlinux-f971a2074447726ec9a3feee3648a2e157f08248.tar.xz
linux-f971a2074447726ec9a3feee3648a2e157f08248.zip
spi: Catch improper use of PTP system timestamping API
We can catch whether the SPI controller has declared it can take care of software timestamping transfers, but didn't. So do it. Signed-off-by: Vladimir Oltean <olteanv@gmail.com> Link: https://lore.kernel.org/r/20191227012444.1204-1-olteanv@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index 5e4c4532f7f3..5485ef89197c 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -1680,6 +1680,13 @@ void spi_finalize_current_message(struct spi_controller *ctlr)
}
}
+ if (unlikely(ctlr->ptp_sts_supported)) {
+ list_for_each_entry(xfer, &mesg->transfers, transfer_list) {
+ WARN_ON_ONCE(xfer->ptp_sts && !xfer->timestamped_pre);
+ WARN_ON_ONCE(xfer->ptp_sts && !xfer->timestamped_post);
+ }
+ }
+
spi_unmap_msg(ctlr, mesg);
if (ctlr->cur_msg_prepared && ctlr->unprepare_message) {