public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] iio: mcp320x: Fix occasional incorrect readings
@ 2015-05-06 16:49 Michael Welling
  2015-05-07 10:13 ` Jonathan Cameron
  0 siblings, 1 reply; 4+ messages in thread
From: Michael Welling @ 2015-05-06 16:49 UTC (permalink / raw)
  To: jic23, knaack.h, lars, pmeerw, san, linux-kernel, linux-iio
  Cc: Michael Welling

Without the cacheline alignment, the readings will occasionally incorrectly
return 0.

Signed-off-by: Michael Welling <mwelling@ieee.org>
---

v2: Moved buffers to the end of the mcp320x struct per suggestion to keep
them on their own cacheline.

 drivers/iio/adc/mcp320x.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/iio/adc/mcp320x.c b/drivers/iio/adc/mcp320x.c
index efbfd12..8d9c9b9 100644
--- a/drivers/iio/adc/mcp320x.c
+++ b/drivers/iio/adc/mcp320x.c
@@ -60,12 +60,12 @@ struct mcp320x {
 	struct spi_message msg;
 	struct spi_transfer transfer[2];
 
-	u8 tx_buf;
-	u8 rx_buf[2];
-
 	struct regulator *reg;
 	struct mutex lock;
 	const struct mcp320x_chip_info *chip_info;
+
+	u8 tx_buf ____cacheline_aligned;
+	u8 rx_buf[2];
 };
 
 static int mcp320x_channel_to_tx_data(int device_index,
-- 
1.7.9.5


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-05-08 10:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-06 16:49 [PATCH v2] iio: mcp320x: Fix occasional incorrect readings Michael Welling
2015-05-07 10:13 ` Jonathan Cameron
2015-05-07 23:48   ` Michael Welling
2015-05-08 10:54     ` jic23

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox