Commit 6b84bbfc authored by David Brownell's avatar David Brownell Committed by Haavard Skinnemoen

[AVR32] Initialize dma_mask and dma_coherent_mask

The current at32ap7000 platform devices aren't declared as supporting DMA,
so that layered drivers can't tell whether they need to manage DMA.

This patch makes all those platform devices report that they support DMA.
Most do, but in a few cases this is inappropriate.
Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: default avatarHaavard Skinnemoen <hskinnemoen@atmel.com>
parent 7f8b9aca
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include <linux/fb.h> #include <linux/fb.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/dma-mapping.h>
#include <linux/spi/spi.h> #include <linux/spi/spi.h>
#include <asm/io.h> #include <asm/io.h>
...@@ -45,19 +46,30 @@ ...@@ -45,19 +46,30 @@
.flags = IORESOURCE_IRQ, \ .flags = IORESOURCE_IRQ, \
} }
/* REVISIT these assume *every* device supports DMA, but several
* don't ... tc, smc, pio, rtc, watchdog, pwm, ps2, and more.
*/
#define DEFINE_DEV(_name, _id) \ #define DEFINE_DEV(_name, _id) \
static u64 _name##_id##_dma_mask = DMA_32BIT_MASK; \
static struct platform_device _name##_id##_device = { \ static struct platform_device _name##_id##_device = { \
.name = #_name, \ .name = #_name, \
.id = _id, \ .id = _id, \
.dev = { \
.dma_mask = &_name##_id##_dma_mask, \
.coherent_dma_mask = DMA_32BIT_MASK, \
}, \
.resource = _name##_id##_resource, \ .resource = _name##_id##_resource, \
.num_resources = ARRAY_SIZE(_name##_id##_resource), \ .num_resources = ARRAY_SIZE(_name##_id##_resource), \
} }
#define DEFINE_DEV_DATA(_name, _id) \ #define DEFINE_DEV_DATA(_name, _id) \
static u64 _name##_id##_dma_mask = DMA_32BIT_MASK; \
static struct platform_device _name##_id##_device = { \ static struct platform_device _name##_id##_device = { \
.name = #_name, \ .name = #_name, \
.id = _id, \ .id = _id, \
.dev = { \ .dev = { \
.dma_mask = &_name##_id##_dma_mask, \
.platform_data = &_name##_id##_data, \ .platform_data = &_name##_id##_data, \
.coherent_dma_mask = DMA_32BIT_MASK, \
}, \ }, \
.resource = _name##_id##_resource, \ .resource = _name##_id##_resource, \
.num_resources = ARRAY_SIZE(_name##_id##_resource), \ .num_resources = ARRAY_SIZE(_name##_id##_resource), \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment