Thread (14 messages) 14 messages, 5 authors, 2017-08-16

Re: [PATCH v3 1/4] i2c: add helpers to ease DMA handling

From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2017-08-16 14:51:36
Also in: alsa-devel, linux-i2c, linux-iio, linux-media, linux-renesas-soc, lkml

Hi Wolfram,

On Tue, Jul 18, 2017 at 12:23 PM, Wolfram Sang
[off-list ref] wrote:
One helper checks if DMA is suitable and optionally creates a bounce
buffer, if not. The other function returns the bounce buffer and makes
sure the data is properly copied back to the message.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
Changes since v2:

* rebased to v4.13-rc1
* helper functions are not inlined anymore but moved to i2c core
* __must_check has been added to the buffer check helper
* the release function has been renamed to contain 'dma' as well
Right:

drivers/i2c/i2c-core-base.c:2310:15: error: 'i2c_release_bounce_buf'
undeclared here (not in a function)
 EXPORT_SYMBOL_GPL(i2c_release_bounce_buf);
quoted hunk ↗ jump to hunk
--- a/drivers/i2c/i2c-core-base.c
+++ b/drivers/i2c/i2c-core-base.c
+/**
+ * i2c_release_bounce_buf - copy data back from bounce buffer and release it
      ^^^^^^^^^^^^^^^^^^^^^^
+ * @msg: the message to be copied back to
+ * @bounce_buf: the bounce buffer obtained from i2c_check_msg_for_dma().
+ *             May be NULL.
+ */
+void i2c_release_dma_bounce_buf(struct i2c_msg *msg, u8 *bounce_buf)
+{
+       if (!bounce_buf)
+               return;
+
+       if (msg->flags & I2C_M_RD)
+               memcpy(msg->buf, bounce_buf, msg->len);
+
+       kfree(bounce_buf);
+}
+EXPORT_SYMBOL_GPL(i2c_release_bounce_buf);
                     ^^^^^^^^^^^^^^^^^^^^^^

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help