Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

James Bottomley and committed by
Linus Torvalds
43d9f7fd 32e8f702

+5
+4
drivers/pcmcia/ds.c
··· 23 23 #include <linux/crc32.h> 24 24 #include <linux/firmware.h> 25 25 #include <linux/kref.h> 26 + #include <linux/dma-mapping.h> 26 27 27 28 #define IN_CARD_SERVICES 28 29 #include <pcmcia/cs_types.h> ··· 671 670 p_dev->dev.bus = &pcmcia_bus_type; 672 671 p_dev->dev.parent = s->dev.parent; 673 672 p_dev->dev.release = pcmcia_release_dev; 673 + /* by default don't allow DMA */ 674 + p_dev->dma_mask = DMA_MASK_NONE; 675 + p_dev->dev.dma_mask = &p_dev->dma_mask; 674 676 bus_id_len = sprintf (p_dev->dev.bus_id, "%d.%d", p_dev->socket->sock, p_dev->device_no); 675 677 676 678 p_dev->devname = kmalloc(6 + bus_id_len + 1, GFP_KERNEL);
+1
include/pcmcia/ds.h
··· 184 184 185 185 char * prod_id[4]; 186 186 187 + u64 dma_mask; 187 188 struct device dev; 188 189 189 190 #ifdef CONFIG_PCMCIA_IOCTL