mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-15 17:14:00 +08:00
staging: fbtft: Disable DMA support if DMA is not available
If NO_DMA=y: drivers/built-in.o: In function `fbtft_framebuffer_alloc': (.text+0xb53cae): undefined reference to `dmam_alloc_coherent' As DMA support is already optional, make it depend on HAS_DMA. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
a94ac1590b
commit
8e1a4c7f71
@ -47,9 +47,11 @@ static unsigned long debug;
|
|||||||
module_param(debug, ulong, 0);
|
module_param(debug, ulong, 0);
|
||||||
MODULE_PARM_DESC(debug, "override device debug level");
|
MODULE_PARM_DESC(debug, "override device debug level");
|
||||||
|
|
||||||
|
#ifdef CONFIG_HAS_DMA
|
||||||
static bool dma = true;
|
static bool dma = true;
|
||||||
module_param(dma, bool, 0);
|
module_param(dma, bool, 0);
|
||||||
MODULE_PARM_DESC(dma, "Use DMA buffer");
|
MODULE_PARM_DESC(dma, "Use DMA buffer");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
void fbtft_dbg_hex(const struct device *dev, int groupsize,
|
void fbtft_dbg_hex(const struct device *dev, int groupsize,
|
||||||
@ -856,10 +858,13 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (txbuflen > 0) {
|
if (txbuflen > 0) {
|
||||||
|
#ifdef CONFIG_HAS_DMA
|
||||||
if (dma) {
|
if (dma) {
|
||||||
dev->coherent_dma_mask = ~0;
|
dev->coherent_dma_mask = ~0;
|
||||||
txbuf = dmam_alloc_coherent(dev, txbuflen, &par->txbuf.dma, GFP_DMA);
|
txbuf = dmam_alloc_coherent(dev, txbuflen, &par->txbuf.dma, GFP_DMA);
|
||||||
} else {
|
} else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
txbuf = devm_kzalloc(par->info->device, txbuflen, GFP_KERNEL);
|
txbuf = devm_kzalloc(par->info->device, txbuflen, GFP_KERNEL);
|
||||||
}
|
}
|
||||||
if (!txbuf)
|
if (!txbuf)
|
||||||
|
Loading…
Reference in New Issue
Block a user