summaryrefslogtreecommitdiff
path: root/drivers/gpio/gpio-virtio.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpio/gpio-virtio.c')
-rw-r--r--drivers/gpio/gpio-virtio.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/drivers/gpio/gpio-virtio.c b/drivers/gpio/gpio-virtio.c
index 17e040991e46..ed6e0e90fa8a 100644
--- a/drivers/gpio/gpio-virtio.c
+++ b/drivers/gpio/gpio-virtio.c
@@ -10,6 +10,7 @@
*/
#include <linux/completion.h>
+#include <linux/dma-mapping.h>
#include <linux/err.h>
#include <linux/gpio/driver.h>
#include <linux/io.h>
@@ -24,9 +25,13 @@
struct virtio_gpio_line {
struct mutex lock; /* Protects line operation */
struct completion completion;
- struct virtio_gpio_request req ____cacheline_aligned;
- struct virtio_gpio_response res ____cacheline_aligned;
+
unsigned int rxlen;
+
+ __dma_from_device_group_begin();
+ struct virtio_gpio_request req;
+ struct virtio_gpio_response res;
+ __dma_from_device_group_end();
};
struct vgpio_irq_line {
@@ -37,8 +42,10 @@ struct vgpio_irq_line {
bool update_pending;
bool queue_pending;
- struct virtio_gpio_irq_request ireq ____cacheline_aligned;
- struct virtio_gpio_irq_response ires ____cacheline_aligned;
+ __dma_from_device_group_begin();
+ struct virtio_gpio_irq_request ireq;
+ struct virtio_gpio_irq_response ires;
+ __dma_from_device_group_end();
};
struct virtio_gpio {