Messages in this thread | | | From | Arnd Bergmann <> | Date | Mon, 18 Jul 2022 08:56:20 +0200 | Subject | Re: [PATCH v2 2/2] asm-generic: Add new pci.h and use it |
| |
On Mon, Jul 18, 2022 at 6:37 AM Christoph Hellwig <hch@infradead.org> wrote: > > On Sun, Jul 17, 2022 at 12:34:53PM +0900, Stafford Horne wrote: > > Two things to note are: > > > > - isa_dma_bridge_buggy, traditionally this is defined in asm/dma.h but > > these architectures avoid creating that file and add the definition > > to asm/pci.h. > > This doesn't have anyting to do with PCI support. I think adding a > separate header just for this that always stubs it out unless a config > option is set (which x86 then selects) is the besy idea here. I also > think the isa_dma_bridge_buggy needs to move out of the PCI code as > well.
Most architectures have it in asm/dma.h, which is probably the right place (if we end up keeping it), since this is for the ISA DMA API.
I would copy this declaration from x86
#ifdef CONFIG_PCI extern int isa_dma_bridge_buggy; #else #define isa_dma_bridge_buggy (0) #endif
to asm-generic/dma.h and remove it from arch/sh to avoid the one duplicate definition. The architectures that have the declaration in asm/pci.h (arm64, csky, riscv) already get the asm-generic version of asm/dma.h.
As mentioned before, it would be even better to just remove it entirely from everything except x86, and enclose the four references in an explicit "#ifdef X86_32". The variable declaration only exists because drivers/pci/quirks.c is compiled on all architecture, but the individual quirk is only active based on the PCI device ID of certain early PCI-ISA bridges.
Arnd
| |