* [PATCH v6 1/4] PCI: Remove pci_get_legacy_ide_irq and asm-generic/pci.h [not found] <20220722214944.831438-1-shorne@gmail.com> @ 2022-07-22 21:49 ` Stafford Horne 2022-07-22 23:38 ` Bjorn Helgaas 2022-07-22 21:49 ` [PATCH v6 2/4] PCI: Move isa_dma_bridge_buggy out of dma.h Stafford Horne 1 sibling, 1 reply; 4+ messages in thread From: Stafford Horne @ 2022-07-22 21:49 UTC (permalink / raw) To: LKML Cc: Rich Felker, Thomas Gleixner, Matthew Rosato, linux-sh, Dave Hansen, linux-pci, x86, linux-mips, James E.J. Bottomley, Max Filippov, Guo Ren, H. Peter Anvin, Borislav Petkov, linux-ia64, Alexander Gordeev, Will Deacon, Christoph Hellwig, Anton Ivanov, linux-arch, linux-s390, sparclinux, Vasily Gorbik, Yoshinori Sato, linux-acpi, Helge Deller, Rafael J . Wysocki, Russell King, linux-csky, Sergio Paracuellos <sergio.p The definition of the pci header function pci_get_legacy_ide_irq is only used in platforms that support PNP. So many of the architecutres where it is defined do not use it. This also means we can remove asm-generic/pci.h as all it provides is a definition of pci_get_legacy_ide_irq. Where referenced, replace the usage of pci_get_legacy_ide_irq with the libata.h macros ATA_PRIMARY_IRQ and ATA_SECONDARY_IRQ which provide the same functionality. This allows removing pci_get_legacy_ide_irq from headers where it is no longer used. Acked-by: Geert Uytterhoeven <geert@linux-m68k•org> Acked-by: Pierre Morel <pmorel@linux•ibm.com> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel•com> Reviewed-by: Christoph Hellwig <hch@lst•de> Co-developed-by: Arnd Bergmann <arnd@arndb•de> Signed-off-by: Arnd Bergmann <arnd@arndb•de> Signed-off-by: Stafford Horne <shorne@gmail•com> --- arch/alpha/include/asm/pci.h | 6 ------ arch/arm/include/asm/pci.h | 5 ----- arch/arm64/include/asm/pci.h | 6 ------ arch/csky/include/asm/pci.h | 6 ------ arch/ia64/include/asm/pci.h | 6 ------ arch/m68k/include/asm/pci.h | 2 -- arch/mips/include/asm/pci.h | 6 ------ arch/parisc/include/asm/pci.h | 5 ----- arch/powerpc/include/asm/pci.h | 1 - arch/riscv/include/asm/pci.h | 6 ------ arch/s390/include/asm/pci.h | 1 - arch/sh/include/asm/pci.h | 6 ------ arch/sparc/include/asm/pci.h | 9 --------- arch/um/include/asm/pci.h | 8 -------- arch/x86/include/asm/pci.h | 3 --- arch/xtensa/include/asm/pci.h | 3 --- drivers/pnp/resource.c | 5 +++-- include/asm-generic/pci.h | 17 ----------------- 18 files changed, 3 insertions(+), 98 deletions(-) delete mode 100644 include/asm-generic/pci.h diff --git a/arch/alpha/include/asm/pci.h b/arch/alpha/include/asm/pci.h index cf6bc1e64d66..6312656279d7 100644 --- a/arch/alpha/include/asm/pci.h +++ b/arch/alpha/include/asm/pci.h @@ -56,12 +56,6 @@ struct pci_controller { /* IOMMU controls. */ -/* TODO: integrate with include/asm-generic/pci.h ? */ -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) -{ - return channel ? 15 : 14; -} - #define pci_domain_nr(bus) ((struct pci_controller *)(bus)->sysdata)->index static inline int pci_proc_domain(struct pci_bus *bus) diff --git a/arch/arm/include/asm/pci.h b/arch/arm/include/asm/pci.h index 68e6f25784a4..5916b88d4c94 100644 --- a/arch/arm/include/asm/pci.h +++ b/arch/arm/include/asm/pci.h @@ -22,11 +22,6 @@ static inline int pci_proc_domain(struct pci_bus *bus) #define HAVE_PCI_MMAP #define ARCH_GENERIC_PCI_MMAP_RESOURCE -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) -{ - return channel ? 15 : 14; -} - extern void pcibios_report_status(unsigned int status_mask, int warn); #endif /* __KERNEL__ */ diff --git a/arch/arm64/include/asm/pci.h b/arch/arm64/include/asm/pci.h index b33ca260e3c9..0aebc3488c32 100644 --- a/arch/arm64/include/asm/pci.h +++ b/arch/arm64/include/asm/pci.h @@ -23,12 +23,6 @@ extern int isa_dma_bridge_buggy; #ifdef CONFIG_PCI -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) -{ - /* no legacy IRQ on arm64 */ - return -ENODEV; -} - static inline int pci_proc_domain(struct pci_bus *bus) { return 1; diff --git a/arch/csky/include/asm/pci.h b/arch/csky/include/asm/pci.h index ebc765b1f78b..0535f1aaae38 100644 --- a/arch/csky/include/asm/pci.h +++ b/arch/csky/include/asm/pci.h @@ -18,12 +18,6 @@ extern int isa_dma_bridge_buggy; #ifdef CONFIG_PCI -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) -{ - /* no legacy IRQ on csky */ - return -ENODEV; -} - static inline int pci_proc_domain(struct pci_bus *bus) { /* always show the domain in /proc */ diff --git a/arch/ia64/include/asm/pci.h b/arch/ia64/include/asm/pci.h index 8c163d1d0189..fa8f545c24c9 100644 --- a/arch/ia64/include/asm/pci.h +++ b/arch/ia64/include/asm/pci.h @@ -63,10 +63,4 @@ static inline int pci_proc_domain(struct pci_bus *bus) return (pci_domain_nr(bus) != 0); } -#define HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) -{ - return channel ? isa_irq_to_vector(15) : isa_irq_to_vector(14); -} - #endif /* _ASM_IA64_PCI_H */ diff --git a/arch/m68k/include/asm/pci.h b/arch/m68k/include/asm/pci.h index 5a4bc223743b..ccdfa0dc8413 100644 --- a/arch/m68k/include/asm/pci.h +++ b/arch/m68k/include/asm/pci.h @@ -2,8 +2,6 @@ #ifndef _ASM_M68K_PCI_H #define _ASM_M68K_PCI_H -#include <asm-generic/pci.h> - #define pcibios_assign_all_busses() 1 #define PCIBIOS_MIN_IO 0x00000100 diff --git a/arch/mips/include/asm/pci.h b/arch/mips/include/asm/pci.h index 9ffc8192adae..3fd6e22c108b 100644 --- a/arch/mips/include/asm/pci.h +++ b/arch/mips/include/asm/pci.h @@ -139,10 +139,4 @@ static inline int pci_proc_domain(struct pci_bus *bus) /* Do platform specific device initialization at pci_enable_device() time */ extern int pcibios_plat_dev_init(struct pci_dev *dev); -/* Chances are this interrupt is wired PC-style ... */ -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) -{ - return channel ? 15 : 14; -} - #endif /* _ASM_PCI_H */ diff --git a/arch/parisc/include/asm/pci.h b/arch/parisc/include/asm/pci.h index f14465b84de4..127ed5021ae3 100644 --- a/arch/parisc/include/asm/pci.h +++ b/arch/parisc/include/asm/pci.h @@ -162,11 +162,6 @@ extern void pcibios_init_bridge(struct pci_dev *); #define PCIBIOS_MIN_IO 0x10 #define PCIBIOS_MIN_MEM 0x1000 /* NBPG - but pci/setup-res.c dies */ -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) -{ - return channel ? 15 : 14; -} - #define HAVE_PCI_MMAP #define ARCH_GENERIC_PCI_MMAP_RESOURCE diff --git a/arch/powerpc/include/asm/pci.h b/arch/powerpc/include/asm/pci.h index 915d6ee4b40a..f9da506751bb 100644 --- a/arch/powerpc/include/asm/pci.h +++ b/arch/powerpc/include/asm/pci.h @@ -39,7 +39,6 @@ #define pcibios_assign_all_busses() \ (pci_has_flag(PCI_REASSIGN_ALL_BUS)) -#define HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) { if (ppc_md.pci_get_legacy_ide_irq) diff --git a/arch/riscv/include/asm/pci.h b/arch/riscv/include/asm/pci.h index 7fd52a30e605..a7b8f0d0df7f 100644 --- a/arch/riscv/include/asm/pci.h +++ b/arch/riscv/include/asm/pci.h @@ -23,12 +23,6 @@ extern int isa_dma_bridge_buggy; #ifdef CONFIG_PCI -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) -{ - /* no legacy IRQ on risc-v */ - return -ENODEV; -} - static inline int pci_proc_domain(struct pci_bus *bus) { /* always show the domain in /proc */ diff --git a/arch/s390/include/asm/pci.h b/arch/s390/include/asm/pci.h index fdb9745ee998..5889ddcbc374 100644 --- a/arch/s390/include/asm/pci.h +++ b/arch/s390/include/asm/pci.h @@ -6,7 +6,6 @@ #include <linux/mutex.h> #include <linux/iommu.h> #include <linux/pci_hotplug.h> -#include <asm-generic/pci.h> #include <asm/pci_clp.h> #include <asm/pci_debug.h> #include <asm/sclp.h> diff --git a/arch/sh/include/asm/pci.h b/arch/sh/include/asm/pci.h index ad22e88c6657..54c30126ea17 100644 --- a/arch/sh/include/asm/pci.h +++ b/arch/sh/include/asm/pci.h @@ -88,10 +88,4 @@ static inline int pci_proc_domain(struct pci_bus *bus) return hose->need_domain_info; } -/* Chances are this interrupt is wired PC-style ... */ -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) -{ - return channel ? 15 : 14; -} - #endif /* __ASM_SH_PCI_H */ diff --git a/arch/sparc/include/asm/pci.h b/arch/sparc/include/asm/pci.h index 4deddf430e5d..0c58f65bd172 100644 --- a/arch/sparc/include/asm/pci.h +++ b/arch/sparc/include/asm/pci.h @@ -40,13 +40,4 @@ static inline int pci_proc_domain(struct pci_bus *bus) #define get_pci_unmapped_area get_fb_unmapped_area #endif /* CONFIG_SPARC64 */ -#if defined(CONFIG_SPARC64) || defined(CONFIG_LEON_PCI) -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) -{ - return PCI_IRQ_NONE; -} -#else -#include <asm-generic/pci.h> -#endif - #endif /* ___ASM_SPARC_PCI_H */ diff --git a/arch/um/include/asm/pci.h b/arch/um/include/asm/pci.h index da13fd5519ef..26b96c02ef61 100644 --- a/arch/um/include/asm/pci.h +++ b/arch/um/include/asm/pci.h @@ -11,14 +11,6 @@ extern int isa_dma_bridge_buggy; -#ifdef CONFIG_PCI -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) -{ - /* no legacy IRQs */ - return -ENODEV; -} -#endif - #ifdef CONFIG_PCI_DOMAINS static inline int pci_proc_domain(struct pci_bus *bus) { diff --git a/arch/x86/include/asm/pci.h b/arch/x86/include/asm/pci.h index f3fd5928bcbb..736793d65bcb 100644 --- a/arch/x86/include/asm/pci.h +++ b/arch/x86/include/asm/pci.h @@ -105,9 +105,6 @@ static inline void early_quirks(void) { } extern void pci_iommu_alloc(void); -/* generic pci stuff */ -#include <asm-generic/pci.h> - #ifdef CONFIG_NUMA /* Returns the node based on pci bus */ static inline int __pcibus_to_node(const struct pci_bus *bus) diff --git a/arch/xtensa/include/asm/pci.h b/arch/xtensa/include/asm/pci.h index 8e2b48a268db..b56de9635b6c 100644 --- a/arch/xtensa/include/asm/pci.h +++ b/arch/xtensa/include/asm/pci.h @@ -43,7 +43,4 @@ #define ARCH_GENERIC_PCI_MMAP_RESOURCE 1 #define arch_can_pci_mmap_io() 1 -/* Generic PCI */ -#include <asm-generic/pci.h> - #endif /* _XTENSA_PCI_H */ diff --git a/drivers/pnp/resource.c b/drivers/pnp/resource.c index 2fa0f7d55259..8f7695624c8c 100644 --- a/drivers/pnp/resource.c +++ b/drivers/pnp/resource.c @@ -17,6 +17,7 @@ #include <asm/dma.h> #include <asm/irq.h> #include <linux/pci.h> +#include <linux/libata.h> #include <linux/ioport.h> #include <linux/init.h> @@ -322,8 +323,8 @@ static int pci_dev_uses_irq(struct pnp_dev *pnp, struct pci_dev *pci, * treat the compatibility IRQs as busy. */ if ((progif & 0x5) != 0x5) - if (pci_get_legacy_ide_irq(pci, 0) == irq || - pci_get_legacy_ide_irq(pci, 1) == irq) { + if (ATA_PRIMARY_IRQ(pci) == irq || + ATA_SECONDARY_IRQ(pci) == irq) { pnp_dbg(&pnp->dev, " legacy IDE device %s " "using irq %d\n", pci_name(pci), irq); return 1; diff --git a/include/asm-generic/pci.h b/include/asm-generic/pci.h deleted file mode 100644 index 6bb3cd3d695a..000000000000 --- a/include/asm-generic/pci.h +++ /dev/null @@ -1,17 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -/* - * linux/include/asm-generic/pci.h - * - * Copyright (C) 2003 Russell King - */ -#ifndef _ASM_GENERIC_PCI_H -#define _ASM_GENERIC_PCI_H - -#ifndef HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) -{ - return channel ? 15 : 14; -} -#endif /* HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ */ - -#endif /* _ASM_GENERIC_PCI_H */ -- 2.36.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v6 1/4] PCI: Remove pci_get_legacy_ide_irq and asm-generic/pci.h 2022-07-22 21:49 ` [PATCH v6 1/4] PCI: Remove pci_get_legacy_ide_irq and asm-generic/pci.h Stafford Horne @ 2022-07-22 23:38 ` Bjorn Helgaas 2022-07-22 23:51 ` Stafford Horne 0 siblings, 1 reply; 4+ messages in thread From: Bjorn Helgaas @ 2022-07-22 23:38 UTC (permalink / raw) To: Stafford Horne Cc: Rich Felker, linux-ia64, Matthew Rosato, linux-sh, Dave Hansen, linux-pci, x86, Gustavo A. R. Silva, James E.J. Bottomley, Max Filippov, Guo Ren, H. Peter Anvin, Borislav Petkov, Alexander Gordeev, Will Deacon, Christoph Hellwig, Anton Ivanov, linux-arch, linux-s390, sparclinux, Vasily Gorbik, Yoshinori Sato, linux-acpi, Helge Deller, Rafael J . Wysocki, Russell King, linux-csky, Sergio Paracuellos On Sat, Jul 23, 2022 at 06:49:41AM +0900, Stafford Horne wrote: > The definition of the pci header function pci_get_legacy_ide_irq is only > used in platforms that support PNP. So many of the architecutres where > it is defined do not use it. This also means we can remove > asm-generic/pci.h as all it provides is a definition of > pci_get_legacy_ide_irq. > > Where referenced, replace the usage of pci_get_legacy_ide_irq with the > libata.h macros ATA_PRIMARY_IRQ and ATA_SECONDARY_IRQ which provide the > same functionality. This allows removing pci_get_legacy_ide_irq from > headers where it is no longer used. > > Acked-by: Geert Uytterhoeven <geert@linux-m68k•org> > Acked-by: Pierre Morel <pmorel@linux•ibm.com> > Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel•com> > Reviewed-by: Christoph Hellwig <hch@lst•de> > Co-developed-by: Arnd Bergmann <arnd@arndb•de> > Signed-off-by: Arnd Bergmann <arnd@arndb•de> > Signed-off-by: Stafford Horne <shorne@gmail•com> I applied all 4 patches in this series to pci/header-cleanup-immutable for v5.20. https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=pci/header-cleanup-immutable > --- > arch/alpha/include/asm/pci.h | 6 ------ > arch/arm/include/asm/pci.h | 5 ----- > arch/arm64/include/asm/pci.h | 6 ------ > arch/csky/include/asm/pci.h | 6 ------ > arch/ia64/include/asm/pci.h | 6 ------ > arch/m68k/include/asm/pci.h | 2 -- > arch/mips/include/asm/pci.h | 6 ------ > arch/parisc/include/asm/pci.h | 5 ----- > arch/powerpc/include/asm/pci.h | 1 - > arch/riscv/include/asm/pci.h | 6 ------ > arch/s390/include/asm/pci.h | 1 - > arch/sh/include/asm/pci.h | 6 ------ > arch/sparc/include/asm/pci.h | 9 --------- > arch/um/include/asm/pci.h | 8 -------- > arch/x86/include/asm/pci.h | 3 --- > arch/xtensa/include/asm/pci.h | 3 --- > drivers/pnp/resource.c | 5 +++-- > include/asm-generic/pci.h | 17 ----------------- > 18 files changed, 3 insertions(+), 98 deletions(-) > delete mode 100644 include/asm-generic/pci.h > > diff --git a/arch/alpha/include/asm/pci.h b/arch/alpha/include/asm/pci.h > index cf6bc1e64d66..6312656279d7 100644 > --- a/arch/alpha/include/asm/pci.h > +++ b/arch/alpha/include/asm/pci.h > @@ -56,12 +56,6 @@ struct pci_controller { > > /* IOMMU controls. */ > > -/* TODO: integrate with include/asm-generic/pci.h ? */ > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > -{ > - return channel ? 15 : 14; > -} > - > #define pci_domain_nr(bus) ((struct pci_controller *)(bus)->sysdata)->index > > static inline int pci_proc_domain(struct pci_bus *bus) > diff --git a/arch/arm/include/asm/pci.h b/arch/arm/include/asm/pci.h > index 68e6f25784a4..5916b88d4c94 100644 > --- a/arch/arm/include/asm/pci.h > +++ b/arch/arm/include/asm/pci.h > @@ -22,11 +22,6 @@ static inline int pci_proc_domain(struct pci_bus *bus) > #define HAVE_PCI_MMAP > #define ARCH_GENERIC_PCI_MMAP_RESOURCE > > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > -{ > - return channel ? 15 : 14; > -} > - > extern void pcibios_report_status(unsigned int status_mask, int warn); > > #endif /* __KERNEL__ */ > diff --git a/arch/arm64/include/asm/pci.h b/arch/arm64/include/asm/pci.h > index b33ca260e3c9..0aebc3488c32 100644 > --- a/arch/arm64/include/asm/pci.h > +++ b/arch/arm64/include/asm/pci.h > @@ -23,12 +23,6 @@ > extern int isa_dma_bridge_buggy; > > #ifdef CONFIG_PCI > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > -{ > - /* no legacy IRQ on arm64 */ > - return -ENODEV; > -} > - > static inline int pci_proc_domain(struct pci_bus *bus) > { > return 1; > diff --git a/arch/csky/include/asm/pci.h b/arch/csky/include/asm/pci.h > index ebc765b1f78b..0535f1aaae38 100644 > --- a/arch/csky/include/asm/pci.h > +++ b/arch/csky/include/asm/pci.h > @@ -18,12 +18,6 @@ > extern int isa_dma_bridge_buggy; > > #ifdef CONFIG_PCI > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > -{ > - /* no legacy IRQ on csky */ > - return -ENODEV; > -} > - > static inline int pci_proc_domain(struct pci_bus *bus) > { > /* always show the domain in /proc */ > diff --git a/arch/ia64/include/asm/pci.h b/arch/ia64/include/asm/pci.h > index 8c163d1d0189..fa8f545c24c9 100644 > --- a/arch/ia64/include/asm/pci.h > +++ b/arch/ia64/include/asm/pci.h > @@ -63,10 +63,4 @@ static inline int pci_proc_domain(struct pci_bus *bus) > return (pci_domain_nr(bus) != 0); > } > > -#define HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > -{ > - return channel ? isa_irq_to_vector(15) : isa_irq_to_vector(14); > -} > - > #endif /* _ASM_IA64_PCI_H */ > diff --git a/arch/m68k/include/asm/pci.h b/arch/m68k/include/asm/pci.h > index 5a4bc223743b..ccdfa0dc8413 100644 > --- a/arch/m68k/include/asm/pci.h > +++ b/arch/m68k/include/asm/pci.h > @@ -2,8 +2,6 @@ > #ifndef _ASM_M68K_PCI_H > #define _ASM_M68K_PCI_H > > -#include <asm-generic/pci.h> > - > #define pcibios_assign_all_busses() 1 > > #define PCIBIOS_MIN_IO 0x00000100 > diff --git a/arch/mips/include/asm/pci.h b/arch/mips/include/asm/pci.h > index 9ffc8192adae..3fd6e22c108b 100644 > --- a/arch/mips/include/asm/pci.h > +++ b/arch/mips/include/asm/pci.h > @@ -139,10 +139,4 @@ static inline int pci_proc_domain(struct pci_bus *bus) > /* Do platform specific device initialization at pci_enable_device() time */ > extern int pcibios_plat_dev_init(struct pci_dev *dev); > > -/* Chances are this interrupt is wired PC-style ... */ > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > -{ > - return channel ? 15 : 14; > -} > - > #endif /* _ASM_PCI_H */ > diff --git a/arch/parisc/include/asm/pci.h b/arch/parisc/include/asm/pci.h > index f14465b84de4..127ed5021ae3 100644 > --- a/arch/parisc/include/asm/pci.h > +++ b/arch/parisc/include/asm/pci.h > @@ -162,11 +162,6 @@ extern void pcibios_init_bridge(struct pci_dev *); > #define PCIBIOS_MIN_IO 0x10 > #define PCIBIOS_MIN_MEM 0x1000 /* NBPG - but pci/setup-res.c dies */ > > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > -{ > - return channel ? 15 : 14; > -} > - > #define HAVE_PCI_MMAP > #define ARCH_GENERIC_PCI_MMAP_RESOURCE > > diff --git a/arch/powerpc/include/asm/pci.h b/arch/powerpc/include/asm/pci.h > index 915d6ee4b40a..f9da506751bb 100644 > --- a/arch/powerpc/include/asm/pci.h > +++ b/arch/powerpc/include/asm/pci.h > @@ -39,7 +39,6 @@ > #define pcibios_assign_all_busses() \ > (pci_has_flag(PCI_REASSIGN_ALL_BUS)) > > -#define HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ > static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > { > if (ppc_md.pci_get_legacy_ide_irq) > diff --git a/arch/riscv/include/asm/pci.h b/arch/riscv/include/asm/pci.h > index 7fd52a30e605..a7b8f0d0df7f 100644 > --- a/arch/riscv/include/asm/pci.h > +++ b/arch/riscv/include/asm/pci.h > @@ -23,12 +23,6 @@ > extern int isa_dma_bridge_buggy; > > #ifdef CONFIG_PCI > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > -{ > - /* no legacy IRQ on risc-v */ > - return -ENODEV; > -} > - > static inline int pci_proc_domain(struct pci_bus *bus) > { > /* always show the domain in /proc */ > diff --git a/arch/s390/include/asm/pci.h b/arch/s390/include/asm/pci.h > index fdb9745ee998..5889ddcbc374 100644 > --- a/arch/s390/include/asm/pci.h > +++ b/arch/s390/include/asm/pci.h > @@ -6,7 +6,6 @@ > #include <linux/mutex.h> > #include <linux/iommu.h> > #include <linux/pci_hotplug.h> > -#include <asm-generic/pci.h> > #include <asm/pci_clp.h> > #include <asm/pci_debug.h> > #include <asm/sclp.h> > diff --git a/arch/sh/include/asm/pci.h b/arch/sh/include/asm/pci.h > index ad22e88c6657..54c30126ea17 100644 > --- a/arch/sh/include/asm/pci.h > +++ b/arch/sh/include/asm/pci.h > @@ -88,10 +88,4 @@ static inline int pci_proc_domain(struct pci_bus *bus) > return hose->need_domain_info; > } > > -/* Chances are this interrupt is wired PC-style ... */ > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > -{ > - return channel ? 15 : 14; > -} > - > #endif /* __ASM_SH_PCI_H */ > diff --git a/arch/sparc/include/asm/pci.h b/arch/sparc/include/asm/pci.h > index 4deddf430e5d..0c58f65bd172 100644 > --- a/arch/sparc/include/asm/pci.h > +++ b/arch/sparc/include/asm/pci.h > @@ -40,13 +40,4 @@ static inline int pci_proc_domain(struct pci_bus *bus) > #define get_pci_unmapped_area get_fb_unmapped_area > #endif /* CONFIG_SPARC64 */ > > -#if defined(CONFIG_SPARC64) || defined(CONFIG_LEON_PCI) > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > -{ > - return PCI_IRQ_NONE; > -} > -#else > -#include <asm-generic/pci.h> > -#endif > - > #endif /* ___ASM_SPARC_PCI_H */ > diff --git a/arch/um/include/asm/pci.h b/arch/um/include/asm/pci.h > index da13fd5519ef..26b96c02ef61 100644 > --- a/arch/um/include/asm/pci.h > +++ b/arch/um/include/asm/pci.h > @@ -11,14 +11,6 @@ > > extern int isa_dma_bridge_buggy; > > -#ifdef CONFIG_PCI > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > -{ > - /* no legacy IRQs */ > - return -ENODEV; > -} > -#endif > - > #ifdef CONFIG_PCI_DOMAINS > static inline int pci_proc_domain(struct pci_bus *bus) > { > diff --git a/arch/x86/include/asm/pci.h b/arch/x86/include/asm/pci.h > index f3fd5928bcbb..736793d65bcb 100644 > --- a/arch/x86/include/asm/pci.h > +++ b/arch/x86/include/asm/pci.h > @@ -105,9 +105,6 @@ static inline void early_quirks(void) { } > > extern void pci_iommu_alloc(void); > > -/* generic pci stuff */ > -#include <asm-generic/pci.h> > - > #ifdef CONFIG_NUMA > /* Returns the node based on pci bus */ > static inline int __pcibus_to_node(const struct pci_bus *bus) > diff --git a/arch/xtensa/include/asm/pci.h b/arch/xtensa/include/asm/pci.h > index 8e2b48a268db..b56de9635b6c 100644 > --- a/arch/xtensa/include/asm/pci.h > +++ b/arch/xtensa/include/asm/pci.h > @@ -43,7 +43,4 @@ > #define ARCH_GENERIC_PCI_MMAP_RESOURCE 1 > #define arch_can_pci_mmap_io() 1 > > -/* Generic PCI */ > -#include <asm-generic/pci.h> > - > #endif /* _XTENSA_PCI_H */ > diff --git a/drivers/pnp/resource.c b/drivers/pnp/resource.c > index 2fa0f7d55259..8f7695624c8c 100644 > --- a/drivers/pnp/resource.c > +++ b/drivers/pnp/resource.c > @@ -17,6 +17,7 @@ > #include <asm/dma.h> > #include <asm/irq.h> > #include <linux/pci.h> > +#include <linux/libata.h> > #include <linux/ioport.h> > #include <linux/init.h> > > @@ -322,8 +323,8 @@ static int pci_dev_uses_irq(struct pnp_dev *pnp, struct pci_dev *pci, > * treat the compatibility IRQs as busy. > */ > if ((progif & 0x5) != 0x5) > - if (pci_get_legacy_ide_irq(pci, 0) == irq || > - pci_get_legacy_ide_irq(pci, 1) == irq) { > + if (ATA_PRIMARY_IRQ(pci) == irq || > + ATA_SECONDARY_IRQ(pci) == irq) { > pnp_dbg(&pnp->dev, " legacy IDE device %s " > "using irq %d\n", pci_name(pci), irq); > return 1; > diff --git a/include/asm-generic/pci.h b/include/asm-generic/pci.h > deleted file mode 100644 > index 6bb3cd3d695a..000000000000 > --- a/include/asm-generic/pci.h > +++ /dev/null > @@ -1,17 +0,0 @@ > -/* SPDX-License-Identifier: GPL-2.0 */ > -/* > - * linux/include/asm-generic/pci.h > - * > - * Copyright (C) 2003 Russell King > - */ > -#ifndef _ASM_GENERIC_PCI_H > -#define _ASM_GENERIC_PCI_H > - > -#ifndef HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > -{ > - return channel ? 15 : 14; > -} > -#endif /* HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ */ > - > -#endif /* _ASM_GENERIC_PCI_H */ > -- > 2.36.1 > > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists•infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v6 1/4] PCI: Remove pci_get_legacy_ide_irq and asm-generic/pci.h 2022-07-22 23:38 ` Bjorn Helgaas @ 2022-07-22 23:51 ` Stafford Horne 0 siblings, 0 replies; 4+ messages in thread From: Stafford Horne @ 2022-07-22 23:51 UTC (permalink / raw) To: Bjorn Helgaas Cc: Rich Felker, linux-ia64, Matthew Rosato, linux-sh, Dave Hansen, linux-pci, x86, Gustavo A. R. Silva, James E.J. Bottomley, Max Filippov, Guo Ren, H. Peter Anvin, Borislav Petkov, Alexander Gordeev, Will Deacon, Christoph Hellwig, Anton Ivanov, linux-arch, linux-s390, sparclinux, Vasily Gorbik, Yoshinori Sato, linux-acpi, Helge Deller, Rafael J . Wysocki, Russell King, linux-csky, Sergio Paracuellos On Fri, Jul 22, 2022 at 06:38:21PM -0500, Bjorn Helgaas wrote: > On Sat, Jul 23, 2022 at 06:49:41AM +0900, Stafford Horne wrote: > > The definition of the pci header function pci_get_legacy_ide_irq is only > > used in platforms that support PNP. So many of the architecutres where > > it is defined do not use it. This also means we can remove > > asm-generic/pci.h as all it provides is a definition of > > pci_get_legacy_ide_irq. > > > > Where referenced, replace the usage of pci_get_legacy_ide_irq with the > > libata.h macros ATA_PRIMARY_IRQ and ATA_SECONDARY_IRQ which provide the > > same functionality. This allows removing pci_get_legacy_ide_irq from > > headers where it is no longer used. > > > > Acked-by: Geert Uytterhoeven <geert@linux-m68k•org> > > Acked-by: Pierre Morel <pmorel@linux•ibm.com> > > Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel•com> > > Reviewed-by: Christoph Hellwig <hch@lst•de> > > Co-developed-by: Arnd Bergmann <arnd@arndb•de> > > Signed-off-by: Arnd Bergmann <arnd@arndb•de> > > Signed-off-by: Stafford Horne <shorne@gmail•com> > > I applied all 4 patches in this series to pci/header-cleanup-immutable > for v5.20. > > https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=pci/header-cleanup-immutable Thank you, Sorry, the 0/4 cover letter is here. https://lore.kernel.org/lkml/20220722214944.831438-1-shorne@gmail.com/ I hadn't had you CC'd as I was using ./script/get_maintainer.pl to maintain the CCs. Maybe patch MAINTAINERS like the following could help keep you CC'd on all things PCI? But maybe that would be too much, never-the-less I'll make sure you are CC'd on pci related patches including cover-letters in the future. diff --git a/MAINTAINERS b/MAINTAINERS index f313862b2929..b64cd6bbb34f 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -15552,6 +15552,8 @@ F: include/linux/of_pci.h F: include/linux/pci* F: include/uapi/linux/pci* F: lib/pci* +K: pci +N: pci Palmer, we now have a branch you can use for your RISC-V for-next. Does, that work? -Stafford > > --- > > arch/alpha/include/asm/pci.h | 6 ------ > > arch/arm/include/asm/pci.h | 5 ----- > > arch/arm64/include/asm/pci.h | 6 ------ > > arch/csky/include/asm/pci.h | 6 ------ > > arch/ia64/include/asm/pci.h | 6 ------ > > arch/m68k/include/asm/pci.h | 2 -- > > arch/mips/include/asm/pci.h | 6 ------ > > arch/parisc/include/asm/pci.h | 5 ----- > > arch/powerpc/include/asm/pci.h | 1 - > > arch/riscv/include/asm/pci.h | 6 ------ > > arch/s390/include/asm/pci.h | 1 - > > arch/sh/include/asm/pci.h | 6 ------ > > arch/sparc/include/asm/pci.h | 9 --------- > > arch/um/include/asm/pci.h | 8 -------- > > arch/x86/include/asm/pci.h | 3 --- > > arch/xtensa/include/asm/pci.h | 3 --- > > drivers/pnp/resource.c | 5 +++-- > > include/asm-generic/pci.h | 17 ----------------- > > 18 files changed, 3 insertions(+), 98 deletions(-) > > delete mode 100644 include/asm-generic/pci.h > > > > diff --git a/arch/alpha/include/asm/pci.h b/arch/alpha/include/asm/pci.h > > index cf6bc1e64d66..6312656279d7 100644 > > --- a/arch/alpha/include/asm/pci.h > > +++ b/arch/alpha/include/asm/pci.h > > @@ -56,12 +56,6 @@ struct pci_controller { > > > > /* IOMMU controls. */ > > > > -/* TODO: integrate with include/asm-generic/pci.h ? */ > > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > > -{ > > - return channel ? 15 : 14; > > -} > > - > > #define pci_domain_nr(bus) ((struct pci_controller *)(bus)->sysdata)->index > > > > static inline int pci_proc_domain(struct pci_bus *bus) > > diff --git a/arch/arm/include/asm/pci.h b/arch/arm/include/asm/pci.h > > index 68e6f25784a4..5916b88d4c94 100644 > > --- a/arch/arm/include/asm/pci.h > > +++ b/arch/arm/include/asm/pci.h > > @@ -22,11 +22,6 @@ static inline int pci_proc_domain(struct pci_bus *bus) > > #define HAVE_PCI_MMAP > > #define ARCH_GENERIC_PCI_MMAP_RESOURCE > > > > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > > -{ > > - return channel ? 15 : 14; > > -} > > - > > extern void pcibios_report_status(unsigned int status_mask, int warn); > > > > #endif /* __KERNEL__ */ > > diff --git a/arch/arm64/include/asm/pci.h b/arch/arm64/include/asm/pci.h > > index b33ca260e3c9..0aebc3488c32 100644 > > --- a/arch/arm64/include/asm/pci.h > > +++ b/arch/arm64/include/asm/pci.h > > @@ -23,12 +23,6 @@ > > extern int isa_dma_bridge_buggy; > > > > #ifdef CONFIG_PCI > > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > > -{ > > - /* no legacy IRQ on arm64 */ > > - return -ENODEV; > > -} > > - > > static inline int pci_proc_domain(struct pci_bus *bus) > > { > > return 1; > > diff --git a/arch/csky/include/asm/pci.h b/arch/csky/include/asm/pci.h > > index ebc765b1f78b..0535f1aaae38 100644 > > --- a/arch/csky/include/asm/pci.h > > +++ b/arch/csky/include/asm/pci.h > > @@ -18,12 +18,6 @@ > > extern int isa_dma_bridge_buggy; > > > > #ifdef CONFIG_PCI > > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > > -{ > > - /* no legacy IRQ on csky */ > > - return -ENODEV; > > -} > > - > > static inline int pci_proc_domain(struct pci_bus *bus) > > { > > /* always show the domain in /proc */ > > diff --git a/arch/ia64/include/asm/pci.h b/arch/ia64/include/asm/pci.h > > index 8c163d1d0189..fa8f545c24c9 100644 > > --- a/arch/ia64/include/asm/pci.h > > +++ b/arch/ia64/include/asm/pci.h > > @@ -63,10 +63,4 @@ static inline int pci_proc_domain(struct pci_bus *bus) > > return (pci_domain_nr(bus) != 0); > > } > > > > -#define HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ > > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > > -{ > > - return channel ? isa_irq_to_vector(15) : isa_irq_to_vector(14); > > -} > > - > > #endif /* _ASM_IA64_PCI_H */ > > diff --git a/arch/m68k/include/asm/pci.h b/arch/m68k/include/asm/pci.h > > index 5a4bc223743b..ccdfa0dc8413 100644 > > --- a/arch/m68k/include/asm/pci.h > > +++ b/arch/m68k/include/asm/pci.h > > @@ -2,8 +2,6 @@ > > #ifndef _ASM_M68K_PCI_H > > #define _ASM_M68K_PCI_H > > > > -#include <asm-generic/pci.h> > > - > > #define pcibios_assign_all_busses() 1 > > > > #define PCIBIOS_MIN_IO 0x00000100 > > diff --git a/arch/mips/include/asm/pci.h b/arch/mips/include/asm/pci.h > > index 9ffc8192adae..3fd6e22c108b 100644 > > --- a/arch/mips/include/asm/pci.h > > +++ b/arch/mips/include/asm/pci.h > > @@ -139,10 +139,4 @@ static inline int pci_proc_domain(struct pci_bus *bus) > > /* Do platform specific device initialization at pci_enable_device() time */ > > extern int pcibios_plat_dev_init(struct pci_dev *dev); > > > > -/* Chances are this interrupt is wired PC-style ... */ > > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > > -{ > > - return channel ? 15 : 14; > > -} > > - > > #endif /* _ASM_PCI_H */ > > diff --git a/arch/parisc/include/asm/pci.h b/arch/parisc/include/asm/pci.h > > index f14465b84de4..127ed5021ae3 100644 > > --- a/arch/parisc/include/asm/pci.h > > +++ b/arch/parisc/include/asm/pci.h > > @@ -162,11 +162,6 @@ extern void pcibios_init_bridge(struct pci_dev *); > > #define PCIBIOS_MIN_IO 0x10 > > #define PCIBIOS_MIN_MEM 0x1000 /* NBPG - but pci/setup-res.c dies */ > > > > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > > -{ > > - return channel ? 15 : 14; > > -} > > - > > #define HAVE_PCI_MMAP > > #define ARCH_GENERIC_PCI_MMAP_RESOURCE > > > > diff --git a/arch/powerpc/include/asm/pci.h b/arch/powerpc/include/asm/pci.h > > index 915d6ee4b40a..f9da506751bb 100644 > > --- a/arch/powerpc/include/asm/pci.h > > +++ b/arch/powerpc/include/asm/pci.h > > @@ -39,7 +39,6 @@ > > #define pcibios_assign_all_busses() \ > > (pci_has_flag(PCI_REASSIGN_ALL_BUS)) > > > > -#define HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ > > static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > > { > > if (ppc_md.pci_get_legacy_ide_irq) > > diff --git a/arch/riscv/include/asm/pci.h b/arch/riscv/include/asm/pci.h > > index 7fd52a30e605..a7b8f0d0df7f 100644 > > --- a/arch/riscv/include/asm/pci.h > > +++ b/arch/riscv/include/asm/pci.h > > @@ -23,12 +23,6 @@ > > extern int isa_dma_bridge_buggy; > > > > #ifdef CONFIG_PCI > > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > > -{ > > - /* no legacy IRQ on risc-v */ > > - return -ENODEV; > > -} > > - > > static inline int pci_proc_domain(struct pci_bus *bus) > > { > > /* always show the domain in /proc */ > > diff --git a/arch/s390/include/asm/pci.h b/arch/s390/include/asm/pci.h > > index fdb9745ee998..5889ddcbc374 100644 > > --- a/arch/s390/include/asm/pci.h > > +++ b/arch/s390/include/asm/pci.h > > @@ -6,7 +6,6 @@ > > #include <linux/mutex.h> > > #include <linux/iommu.h> > > #include <linux/pci_hotplug.h> > > -#include <asm-generic/pci.h> > > #include <asm/pci_clp.h> > > #include <asm/pci_debug.h> > > #include <asm/sclp.h> > > diff --git a/arch/sh/include/asm/pci.h b/arch/sh/include/asm/pci.h > > index ad22e88c6657..54c30126ea17 100644 > > --- a/arch/sh/include/asm/pci.h > > +++ b/arch/sh/include/asm/pci.h > > @@ -88,10 +88,4 @@ static inline int pci_proc_domain(struct pci_bus *bus) > > return hose->need_domain_info; > > } > > > > -/* Chances are this interrupt is wired PC-style ... */ > > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > > -{ > > - return channel ? 15 : 14; > > -} > > - > > #endif /* __ASM_SH_PCI_H */ > > diff --git a/arch/sparc/include/asm/pci.h b/arch/sparc/include/asm/pci.h > > index 4deddf430e5d..0c58f65bd172 100644 > > --- a/arch/sparc/include/asm/pci.h > > +++ b/arch/sparc/include/asm/pci.h > > @@ -40,13 +40,4 @@ static inline int pci_proc_domain(struct pci_bus *bus) > > #define get_pci_unmapped_area get_fb_unmapped_area > > #endif /* CONFIG_SPARC64 */ > > > > -#if defined(CONFIG_SPARC64) || defined(CONFIG_LEON_PCI) > > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > > -{ > > - return PCI_IRQ_NONE; > > -} > > -#else > > -#include <asm-generic/pci.h> > > -#endif > > - > > #endif /* ___ASM_SPARC_PCI_H */ > > diff --git a/arch/um/include/asm/pci.h b/arch/um/include/asm/pci.h > > index da13fd5519ef..26b96c02ef61 100644 > > --- a/arch/um/include/asm/pci.h > > +++ b/arch/um/include/asm/pci.h > > @@ -11,14 +11,6 @@ > > > > extern int isa_dma_bridge_buggy; > > > > -#ifdef CONFIG_PCI > > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > > -{ > > - /* no legacy IRQs */ > > - return -ENODEV; > > -} > > -#endif > > - > > #ifdef CONFIG_PCI_DOMAINS > > static inline int pci_proc_domain(struct pci_bus *bus) > > { > > diff --git a/arch/x86/include/asm/pci.h b/arch/x86/include/asm/pci.h > > index f3fd5928bcbb..736793d65bcb 100644 > > --- a/arch/x86/include/asm/pci.h > > +++ b/arch/x86/include/asm/pci.h > > @@ -105,9 +105,6 @@ static inline void early_quirks(void) { } > > > > extern void pci_iommu_alloc(void); > > > > -/* generic pci stuff */ > > -#include <asm-generic/pci.h> > > - > > #ifdef CONFIG_NUMA > > /* Returns the node based on pci bus */ > > static inline int __pcibus_to_node(const struct pci_bus *bus) > > diff --git a/arch/xtensa/include/asm/pci.h b/arch/xtensa/include/asm/pci.h > > index 8e2b48a268db..b56de9635b6c 100644 > > --- a/arch/xtensa/include/asm/pci.h > > +++ b/arch/xtensa/include/asm/pci.h > > @@ -43,7 +43,4 @@ > > #define ARCH_GENERIC_PCI_MMAP_RESOURCE 1 > > #define arch_can_pci_mmap_io() 1 > > > > -/* Generic PCI */ > > -#include <asm-generic/pci.h> > > - > > #endif /* _XTENSA_PCI_H */ > > diff --git a/drivers/pnp/resource.c b/drivers/pnp/resource.c > > index 2fa0f7d55259..8f7695624c8c 100644 > > --- a/drivers/pnp/resource.c > > +++ b/drivers/pnp/resource.c > > @@ -17,6 +17,7 @@ > > #include <asm/dma.h> > > #include <asm/irq.h> > > #include <linux/pci.h> > > +#include <linux/libata.h> > > #include <linux/ioport.h> > > #include <linux/init.h> > > > > @@ -322,8 +323,8 @@ static int pci_dev_uses_irq(struct pnp_dev *pnp, struct pci_dev *pci, > > * treat the compatibility IRQs as busy. > > */ > > if ((progif & 0x5) != 0x5) > > - if (pci_get_legacy_ide_irq(pci, 0) == irq || > > - pci_get_legacy_ide_irq(pci, 1) == irq) { > > + if (ATA_PRIMARY_IRQ(pci) == irq || > > + ATA_SECONDARY_IRQ(pci) == irq) { > > pnp_dbg(&pnp->dev, " legacy IDE device %s " > > "using irq %d\n", pci_name(pci), irq); > > return 1; > > diff --git a/include/asm-generic/pci.h b/include/asm-generic/pci.h > > deleted file mode 100644 > > index 6bb3cd3d695a..000000000000 > > --- a/include/asm-generic/pci.h > > +++ /dev/null > > @@ -1,17 +0,0 @@ > > -/* SPDX-License-Identifier: GPL-2.0 */ > > -/* > > - * linux/include/asm-generic/pci.h > > - * > > - * Copyright (C) 2003 Russell King > > - */ > > -#ifndef _ASM_GENERIC_PCI_H > > -#define _ASM_GENERIC_PCI_H > > - > > -#ifndef HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ > > -static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) > > -{ > > - return channel ? 15 : 14; > > -} > > -#endif /* HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ */ > > - > > -#endif /* _ASM_GENERIC_PCI_H */ > > -- > > 2.36.1 > > > > > > _______________________________________________ > > linux-riscv mailing list > > linux-riscv@lists•infradead.org > > http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v6 2/4] PCI: Move isa_dma_bridge_buggy out of dma.h [not found] <20220722214944.831438-1-shorne@gmail.com> 2022-07-22 21:49 ` [PATCH v6 1/4] PCI: Remove pci_get_legacy_ide_irq and asm-generic/pci.h Stafford Horne @ 2022-07-22 21:49 ` Stafford Horne 1 sibling, 0 replies; 4+ messages in thread From: Stafford Horne @ 2022-07-22 21:49 UTC (permalink / raw) To: LKML Cc: alsa-devel, Rich Felker, Thomas Gleixner, linux-sh, Dave Hansen, linux-pci, Jaroslav Kysela, James E.J. Bottomley, Max Filippov, Guo Ren, H. Peter Anvin, Borislav Petkov, linux-ia64, Alexander Gordeev, Will Deacon, Christoph Hellwig, Anton Ivanov, linux-s390, sparclinux, linux-snps-arc, Vasily Gorbik, Yoshinori Sato, Helge Deller, x86, Russell King, linux-csky, Greg Ungerer, Christoph Hellwig, linux-alpha, I ngo Molnar, Geert Uytterhoeven, Catalin Marinas, Matt Turner, Christian Borntraeger, Albert Ou, Rafael J. Wysocki, Arnd Bergmann, linux-um, Heiko Carstens, Vineet Gupta, Richard Henderson, linux-mips, Ian Abbott, Ivan Kokshaysky, Paul Walmsley, Bjorn Helgaas, Stafford Horne, linux-arm-kernel, Chris Zankel, Michal Simek, Thomas Bogendoerfer, linux-parisc, Pierre Morel, linux-m68k, Greg Kroah-Hartman, Takashi I wai, H Hartley Sweeten, linux-riscv, Palmer Dabbelt, Sven Schnelle, Richard Weinberger, Paul Mackerras, Johannes Berg, linuxppc-dev, David S. Miller During recent PCI cleanups we noticed that the isa_dma_bridge_buggy symbol supported by all architectures is actually only used for x86_32. This patch moves the symbol out of all architectures limiting usage to only x86_32. This is possible because only x86_32 platforms or quirks existing in PCI devices supported on x86_32 ever set this. A new global header linux/isa-dma.h is added to provide a common place to maintain the definition. Suggested-by: Arnd Bergmann <arnd@arndb•de> Suggested-by: Christoph Hellwig <hch@infradead•org> Acked-by: Geert Uytterhoeven <geert@linux-m68k•org> Reviewed-by: Christoph Hellwig <hch@lst•de> Signed-off-by: Stafford Horne <shorne@gmail•com> --- arch/alpha/include/asm/dma.h | 9 --------- arch/arc/include/asm/dma.h | 5 ----- arch/arm/include/asm/dma.h | 6 ------ arch/arm64/include/asm/pci.h | 2 -- arch/csky/include/asm/pci.h | 2 -- arch/ia64/include/asm/dma.h | 2 -- arch/m68k/include/asm/dma.h | 6 ------ arch/microblaze/include/asm/dma.h | 6 ------ arch/mips/include/asm/dma.h | 8 -------- arch/parisc/include/asm/dma.h | 6 ------ arch/powerpc/include/asm/dma.h | 6 ------ arch/riscv/include/asm/pci.h | 2 -- arch/s390/include/asm/dma.h | 6 ------ arch/sh/include/asm/dma.h | 6 ------ arch/sparc/include/asm/dma.h | 8 -------- arch/um/include/asm/pci.h | 2 -- arch/x86/include/asm/dma.h | 8 -------- arch/xtensa/include/asm/dma.h | 7 ------- drivers/comedi/drivers/comedi_isadma.c | 2 +- drivers/pci/pci.c | 2 ++ drivers/pci/quirks.c | 4 +++- include/linux/isa-dma.h | 14 ++++++++++++++ sound/core/isadma.c | 2 +- 23 files changed, 21 insertions(+), 100 deletions(-) create mode 100644 include/linux/isa-dma.h diff --git a/arch/alpha/include/asm/dma.h b/arch/alpha/include/asm/dma.h index 28610ea7786d..a04d76b96089 100644 --- a/arch/alpha/include/asm/dma.h +++ b/arch/alpha/include/asm/dma.h @@ -365,13 +365,4 @@ extern void free_dma(unsigned int dmanr); /* release it again */ #define KERNEL_HAVE_CHECK_DMA extern int check_dma(unsigned int dmanr); -/* From PCI */ - -#ifdef CONFIG_PCI -extern int isa_dma_bridge_buggy; -#else -#define isa_dma_bridge_buggy (0) -#endif - - #endif /* _ASM_DMA_H */ diff --git a/arch/arc/include/asm/dma.h b/arch/arc/include/asm/dma.h index 5b744f4b10a7..02431027ed2f 100644 --- a/arch/arc/include/asm/dma.h +++ b/arch/arc/include/asm/dma.h @@ -7,10 +7,5 @@ #define ASM_ARC_DMA_H #define MAX_DMA_ADDRESS 0xC0000000 -#ifdef CONFIG_PCI -extern int isa_dma_bridge_buggy; -#else -#define isa_dma_bridge_buggy 0 -#endif #endif diff --git a/arch/arm/include/asm/dma.h b/arch/arm/include/asm/dma.h index a81dda65c576..907d139be431 100644 --- a/arch/arm/include/asm/dma.h +++ b/arch/arm/include/asm/dma.h @@ -143,10 +143,4 @@ extern int get_dma_residue(unsigned int chan); #endif /* CONFIG_ISA_DMA_API */ -#ifdef CONFIG_PCI -extern int isa_dma_bridge_buggy; -#else -#define isa_dma_bridge_buggy (0) -#endif - #endif /* __ASM_ARM_DMA_H */ diff --git a/arch/arm64/include/asm/pci.h b/arch/arm64/include/asm/pci.h index 0aebc3488c32..682c922b5658 100644 --- a/arch/arm64/include/asm/pci.h +++ b/arch/arm64/include/asm/pci.h @@ -20,8 +20,6 @@ #define arch_can_pci_mmap_wc() 1 #define ARCH_GENERIC_PCI_MMAP_RESOURCE 1 -extern int isa_dma_bridge_buggy; - #ifdef CONFIG_PCI static inline int pci_proc_domain(struct pci_bus *bus) { diff --git a/arch/csky/include/asm/pci.h b/arch/csky/include/asm/pci.h index 0535f1aaae38..5c02454ec724 100644 --- a/arch/csky/include/asm/pci.h +++ b/arch/csky/include/asm/pci.h @@ -15,8 +15,6 @@ /* C-SKY shim does not initialize PCI bus */ #define pcibios_assign_all_busses() 1 -extern int isa_dma_bridge_buggy; - #ifdef CONFIG_PCI static inline int pci_proc_domain(struct pci_bus *bus) { diff --git a/arch/ia64/include/asm/dma.h b/arch/ia64/include/asm/dma.h index 59625e9c1f9c..eaed2626ffda 100644 --- a/arch/ia64/include/asm/dma.h +++ b/arch/ia64/include/asm/dma.h @@ -12,8 +12,6 @@ extern unsigned long MAX_DMA_ADDRESS; -extern int isa_dma_bridge_buggy; - #define free_dma(x) #endif /* _ASM_IA64_DMA_H */ diff --git a/arch/m68k/include/asm/dma.h b/arch/m68k/include/asm/dma.h index f6c5e0dfb4e5..1c8d9c5bc2fa 100644 --- a/arch/m68k/include/asm/dma.h +++ b/arch/m68k/include/asm/dma.h @@ -6,10 +6,4 @@ bootmem allocator (but this should do it for this) */ #define MAX_DMA_ADDRESS PAGE_OFFSET -#ifdef CONFIG_PCI -extern int isa_dma_bridge_buggy; -#else -#define isa_dma_bridge_buggy (0) -#endif - #endif /* _M68K_DMA_H */ diff --git a/arch/microblaze/include/asm/dma.h b/arch/microblaze/include/asm/dma.h index f801582be912..7484c9eb66c4 100644 --- a/arch/microblaze/include/asm/dma.h +++ b/arch/microblaze/include/asm/dma.h @@ -9,10 +9,4 @@ /* Virtual address corresponding to last available physical memory address. */ #define MAX_DMA_ADDRESS (CONFIG_KERNEL_START + memory_size - 1) -#ifdef CONFIG_PCI -extern int isa_dma_bridge_buggy; -#else -#define isa_dma_bridge_buggy (0) -#endif - #endif /* _ASM_MICROBLAZE_DMA_H */ diff --git a/arch/mips/include/asm/dma.h b/arch/mips/include/asm/dma.h index be726b943530..d6186e6bea7e 100644 --- a/arch/mips/include/asm/dma.h +++ b/arch/mips/include/asm/dma.h @@ -307,12 +307,4 @@ static __inline__ int get_dma_residue(unsigned int dmanr) extern int request_dma(unsigned int dmanr, const char * device_id); /* reserve a DMA channel */ extern void free_dma(unsigned int dmanr); /* release it again */ -/* From PCI */ - -#ifdef CONFIG_PCI -extern int isa_dma_bridge_buggy; -#else -#define isa_dma_bridge_buggy (0) -#endif - #endif /* _ASM_DMA_H */ diff --git a/arch/parisc/include/asm/dma.h b/arch/parisc/include/asm/dma.h index eea80ed34e6d..9e8c101de902 100644 --- a/arch/parisc/include/asm/dma.h +++ b/arch/parisc/include/asm/dma.h @@ -176,10 +176,4 @@ static __inline__ void set_dma_count(unsigned int dmanr, unsigned int count) #define free_dma(dmanr) -#ifdef CONFIG_PCI -extern int isa_dma_bridge_buggy; -#else -#define isa_dma_bridge_buggy (0) -#endif - #endif /* _ASM_DMA_H */ diff --git a/arch/powerpc/include/asm/dma.h b/arch/powerpc/include/asm/dma.h index 6161a9596196..d97c66d9ae34 100644 --- a/arch/powerpc/include/asm/dma.h +++ b/arch/powerpc/include/asm/dma.h @@ -340,11 +340,5 @@ extern int request_dma(unsigned int dmanr, const char *device_id); /* release it again */ extern void free_dma(unsigned int dmanr); -#ifdef CONFIG_PCI -extern int isa_dma_bridge_buggy; -#else -#define isa_dma_bridge_buggy (0) -#endif - #endif /* __KERNEL__ */ #endif /* _ASM_POWERPC_DMA_H */ diff --git a/arch/riscv/include/asm/pci.h b/arch/riscv/include/asm/pci.h index a7b8f0d0df7f..f904df586c03 100644 --- a/arch/riscv/include/asm/pci.h +++ b/arch/riscv/include/asm/pci.h @@ -20,8 +20,6 @@ #define ARCH_GENERIC_PCI_MMAP_RESOURCE 1 -extern int isa_dma_bridge_buggy; - #ifdef CONFIG_PCI static inline int pci_proc_domain(struct pci_bus *bus) { diff --git a/arch/s390/include/asm/dma.h b/arch/s390/include/asm/dma.h index 6f26f35d4a71..dec1c4ce628c 100644 --- a/arch/s390/include/asm/dma.h +++ b/arch/s390/include/asm/dma.h @@ -11,10 +11,4 @@ */ #define MAX_DMA_ADDRESS 0x80000000 -#ifdef CONFIG_PCI -extern int isa_dma_bridge_buggy; -#else -#define isa_dma_bridge_buggy (0) -#endif - #endif /* _ASM_S390_DMA_H */ diff --git a/arch/sh/include/asm/dma.h b/arch/sh/include/asm/dma.h index 17d23ae98c77..c8bee3f985a2 100644 --- a/arch/sh/include/asm/dma.h +++ b/arch/sh/include/asm/dma.h @@ -137,10 +137,4 @@ extern int register_chan_caps(const char *dmac, struct dma_chan_caps *capslist); extern int dma_create_sysfs_files(struct dma_channel *, struct dma_info *); extern void dma_remove_sysfs_files(struct dma_channel *, struct dma_info *); -#ifdef CONFIG_PCI -extern int isa_dma_bridge_buggy; -#else -#define isa_dma_bridge_buggy (0) -#endif - #endif /* __ASM_SH_DMA_H */ diff --git a/arch/sparc/include/asm/dma.h b/arch/sparc/include/asm/dma.h index 462e7c794a09..08043f35b110 100644 --- a/arch/sparc/include/asm/dma.h +++ b/arch/sparc/include/asm/dma.h @@ -82,14 +82,6 @@ #define DMA_BURST64 0x40 #define DMA_BURSTBITS 0x7f -/* From PCI */ - -#ifdef CONFIG_PCI -extern int isa_dma_bridge_buggy; -#else -#define isa_dma_bridge_buggy (0) -#endif - #ifdef CONFIG_SPARC32 struct device; diff --git a/arch/um/include/asm/pci.h b/arch/um/include/asm/pci.h index 26b96c02ef61..1211855aff34 100644 --- a/arch/um/include/asm/pci.h +++ b/arch/um/include/asm/pci.h @@ -9,8 +9,6 @@ #define pcibios_assign_all_busses() 1 -extern int isa_dma_bridge_buggy; - #ifdef CONFIG_PCI_DOMAINS static inline int pci_proc_domain(struct pci_bus *bus) { diff --git a/arch/x86/include/asm/dma.h b/arch/x86/include/asm/dma.h index 8e95aa4b0d17..8ae6e0e11b8b 100644 --- a/arch/x86/include/asm/dma.h +++ b/arch/x86/include/asm/dma.h @@ -307,12 +307,4 @@ extern int request_dma(unsigned int dmanr, const char *device_id); extern void free_dma(unsigned int dmanr); #endif -/* From PCI */ - -#ifdef CONFIG_PCI -extern int isa_dma_bridge_buggy; -#else -#define isa_dma_bridge_buggy (0) -#endif - #endif /* _ASM_X86_DMA_H */ diff --git a/arch/xtensa/include/asm/dma.h b/arch/xtensa/include/asm/dma.h index bb099a373b5a..172644539032 100644 --- a/arch/xtensa/include/asm/dma.h +++ b/arch/xtensa/include/asm/dma.h @@ -52,11 +52,4 @@ extern int request_dma(unsigned int dmanr, const char * device_id); extern void free_dma(unsigned int dmanr); -#ifdef CONFIG_PCI -extern int isa_dma_bridge_buggy; -#else -#define isa_dma_bridge_buggy (0) -#endif - - #endif diff --git a/drivers/comedi/drivers/comedi_isadma.c b/drivers/comedi/drivers/comedi_isadma.c index 700982464c53..020b3d1e1ac0 100644 --- a/drivers/comedi/drivers/comedi_isadma.c +++ b/drivers/comedi/drivers/comedi_isadma.c @@ -8,7 +8,7 @@ #include <linux/slab.h> #include <linux/delay.h> #include <linux/dma-mapping.h> -#include <asm/dma.h> +#include <linux/isa-dma.h> #include <linux/comedi/comedidev.h> #include <linux/comedi/comedi_isadma.h> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index cfaf40a540a8..60c55d2cb2cc 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -41,8 +41,10 @@ const char *pci_power_names[] = { }; EXPORT_SYMBOL_GPL(pci_power_names); +#ifdef CONFIG_X86_32 int isa_dma_bridge_buggy; EXPORT_SYMBOL(isa_dma_bridge_buggy); +#endif int pci_pci_problems; EXPORT_SYMBOL(pci_pci_problems); diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 41aeaa235132..6fc64509eee7 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -17,6 +17,7 @@ #include <linux/kernel.h> #include <linux/export.h> #include <linux/pci.h> +#include <linux/isa-dma.h> /* isa_dma_bridge_buggy */ #include <linux/init.h> #include <linux/delay.h> #include <linux/acpi.h> @@ -30,7 +31,6 @@ #include <linux/pm_runtime.h> #include <linux/suspend.h> #include <linux/switchtec.h> -#include <asm/dma.h> /* isa_dma_bridge_buggy */ #include "pci.h" static ktime_t fixup_debug_start(struct pci_dev *dev, @@ -239,6 +239,7 @@ static void quirk_passive_release(struct pci_dev *dev) DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_passive_release); DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_passive_release); +#ifdef CONFIG_X86_32 /* * The VIA VP2/VP3/MVP3 seem to have some 'features'. There may be a * workaround but VIA don't answer queries. If you happen to have good @@ -265,6 +266,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1533, quirk_isa_dma DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_1, quirk_isa_dma_hangs); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_2, quirk_isa_dma_hangs); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_3, quirk_isa_dma_hangs); +#endif /* * Intel NM10 "TigerPoint" LPC PM1a_STS.BM_STS must be clear diff --git a/include/linux/isa-dma.h b/include/linux/isa-dma.h new file mode 100644 index 000000000000..61504a8c1b9e --- /dev/null +++ b/include/linux/isa-dma.h @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#ifndef __LINUX_ISA_DMA_H +#define __LINUX_ISA_DMA_H + +#include <asm/dma.h> + +#if defined(CONFIG_PCI) && defined(CONFIG_X86_32) +extern int isa_dma_bridge_buggy; +#else +#define isa_dma_bridge_buggy (0) +#endif + +#endif /* __LINUX_ISA_DMA_H */ diff --git a/sound/core/isadma.c b/sound/core/isadma.c index 1f45ede023b4..18a86212e3a8 100644 --- a/sound/core/isadma.c +++ b/sound/core/isadma.c @@ -12,8 +12,8 @@ #undef HAVE_REALLY_SLOW_DMA_CONTROLLER #include <linux/export.h> +#include <linux/isa-dma.h> #include <sound/core.h> -#include <asm/dma.h> /** * snd_dma_program - program an ISA DMA transfer -- 2.36.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-07-24 1:47 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20220722214944.831438-1-shorne@gmail.com>
2022-07-22 21:49 ` [PATCH v6 1/4] PCI: Remove pci_get_legacy_ide_irq and asm-generic/pci.h Stafford Horne
2022-07-22 23:38 ` Bjorn Helgaas
2022-07-22 23:51 ` Stafford Horne
2022-07-22 21:49 ` [PATCH v6 2/4] PCI: Move isa_dma_bridge_buggy out of dma.h Stafford Horne
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox