| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * linux/arch/arm/kernel/dma-isa.c |
|---|
| 3 | 4 | * |
|---|
| 4 | 5 | * Copyright (C) 1999-2000 Russell King |
|---|
| 5 | | - * |
|---|
| 6 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 7 | | - * it under the terms of the GNU General Public License version 2 as |
|---|
| 8 | | - * published by the Free Software Foundation. |
|---|
| 9 | 6 | * |
|---|
| 10 | 7 | * ISA DMA primitives |
|---|
| 11 | 8 | * Taken from various sources, including: |
|---|
| .. | .. |
|---|
| 55 | 52 | return chan < 4 ? count : (count << 1); |
|---|
| 56 | 53 | } |
|---|
| 57 | 54 | |
|---|
| 55 | +static struct device isa_dma_dev = { |
|---|
| 56 | + .init_name = "fallback device", |
|---|
| 57 | + .coherent_dma_mask = ~(dma_addr_t)0, |
|---|
| 58 | + .dma_mask = &isa_dma_dev.coherent_dma_mask, |
|---|
| 59 | +}; |
|---|
| 60 | + |
|---|
| 58 | 61 | static void isa_enable_dma(unsigned int chan, dma_t *dma) |
|---|
| 59 | 62 | { |
|---|
| 60 | 63 | if (dma->invalid) { |
|---|
| .. | .. |
|---|
| 89 | 92 | dma->sg = &dma->buf; |
|---|
| 90 | 93 | dma->sgcount = 1; |
|---|
| 91 | 94 | dma->buf.length = dma->count; |
|---|
| 92 | | - dma->buf.dma_address = dma_map_single(NULL, |
|---|
| 95 | + dma->buf.dma_address = dma_map_single(&isa_dma_dev, |
|---|
| 93 | 96 | dma->addr, dma->count, |
|---|
| 94 | 97 | direction); |
|---|
| 95 | 98 | } |
|---|