diff options
author | James Bottomley <James.Bottomley@SteelEye.com> | 2007-10-16 01:23:58 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-16 09:42:50 -0700 |
commit | 43d9f7fda11a3413c99fbbde35005ec3138eb865 (patch) | |
tree | e5c6189e085921aa74d6831476001c402af4c23e | |
parent | 32e8f70230c0c417490787b3f48b6ed6c48e7ec9 (diff) | |
download | linux-stable-43d9f7fda11a3413c99fbbde35005ec3138eb865.tar.gz linux-stable-43d9f7fda11a3413c99fbbde35005ec3138eb865.tar.bz2 linux-stable-43d9f7fda11a3413c99fbbde35005ec3138eb865.zip |
pcmcia: use DMA_MASK_NONE for the default for all pcmcia devices
Most non cardbus devices can't do dma, so flag them as such in the device
creation routine.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Tejun Heo <htejun@gmail.com>
Cc: Natalie Protasevich <protasnb@gmail.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | drivers/pcmcia/ds.c | 4 | ||||
-rw-r--r-- | include/pcmcia/ds.h | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c index 55baa1f0fcbb..7bf78c127898 100644 --- a/drivers/pcmcia/ds.c +++ b/drivers/pcmcia/ds.c @@ -23,6 +23,7 @@ #include <linux/crc32.h> #include <linux/firmware.h> #include <linux/kref.h> +#include <linux/dma-mapping.h> #define IN_CARD_SERVICES #include <pcmcia/cs_types.h> @@ -670,6 +671,9 @@ struct pcmcia_device * pcmcia_device_add(struct pcmcia_socket *s, unsigned int f p_dev->dev.bus = &pcmcia_bus_type; p_dev->dev.parent = s->dev.parent; p_dev->dev.release = pcmcia_release_dev; + /* by default don't allow DMA */ + p_dev->dma_mask = DMA_MASK_NONE; + p_dev->dev.dma_mask = &p_dev->dma_mask; bus_id_len = sprintf (p_dev->dev.bus_id, "%d.%d", p_dev->socket->sock, p_dev->device_no); p_dev->devname = kmalloc(6 + bus_id_len + 1, GFP_KERNEL); diff --git a/include/pcmcia/ds.h b/include/pcmcia/ds.h index 90ef552c42dd..f047a1fd64f8 100644 --- a/include/pcmcia/ds.h +++ b/include/pcmcia/ds.h @@ -184,6 +184,7 @@ struct pcmcia_device { char * prod_id[4]; + u64 dma_mask; struct device dev; #ifdef CONFIG_PCMCIA_IOCTL |