* [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 4/4] asm-generic: Add new pci.h and use it Stafford Horne
1 sibling, 1 reply; 4+ messages in thread
From: Stafford Horne @ 2022-07-22 21:49 UTC (permalink / raw)
To: LKML
Cc: Arnd Bergmann, Stafford Horne, Geert Uytterhoeven, Pierre Morel,
Rafael J . Wysocki, Christoph Hellwig, Richard Henderson,
Ivan Kokshaysky, Matt Turner, Russell King, Catalin Marinas,
Will Deacon, Guo Ren, Thomas Bogendoerfer, James E.J. Bottomley,
Helge Deller, Michael Ellerman, Benjamin Herrenschmidt,
Paul Mackerras, Paul Walmsley, Palmer Dabbelt, Albert Ou,
Heiko Carstens, Vasily Gorbik, Alexander Gordeev,
Christian Borntraeger, Sven Schnelle, Yoshinori Sato, Rich Felker,
David S. Miller, Richard Weinberger, Anton Ivanov, Johannes Berg,
Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Chris Zankel, Max Filippov, Bjorn Helgaas,
Sergio Paracuellos, Greg Kroah-Hartman, Tiezhu Yang, Nick Child,
Niklas Schnelle, Matthew Rosato, Kees Cook, Gustavo A. R. Silva,
linux-alpha, linux-arm-kernel, linux-csky, linux-ia64, linux-m68k,
linux-mips, linux-parisc, linuxppc-dev, linux-riscv, linux-s390,
linux-sh, sparclinux, linux-um, linux-acpi, linux-pci, linux-arch
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
* [PATCH v6 4/4] asm-generic: Add new pci.h and use it
[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: Arnd Bergmann, Stafford Horne, Pierre Morel, Geert Uytterhoeven,
Catalin Marinas, Will Deacon, Guo Ren, Paul Walmsley,
Palmer Dabbelt, Albert Ou, Richard Weinberger, Anton Ivanov,
Johannes Berg, Bjorn Helgaas, Rafael J. Wysocki, linux-arm-kernel,
linux-csky, linux-riscv, linux-um, linux-pci, linux-arch
The asm/pci.h used for many newer architectures share similar
definitions. Move the common parts to asm-generic/pci.h to allow for
sharing code.
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/lkml/CAK8P3a0JmPeczfmMBE__vn=Jbvf=nkbpVaZCycyv40pZNCJJXQ@mail.gmail.com/
Acked-by: Pierre Morel <pmorel@linux.ibm.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Stafford Horne <shorne@gmail.com>
---
Since v5:
- Remove unneeded include in asm-generic/pci.h
arch/arm64/include/asm/pci.h | 10 ++--------
arch/csky/include/asm/pci.h | 17 ++---------------
arch/riscv/include/asm/pci.h | 23 ++++-------------------
arch/um/include/asm/pci.h | 14 ++------------
include/asm-generic/pci.h | 30 ++++++++++++++++++++++++++++++
5 files changed, 40 insertions(+), 54 deletions(-)
create mode 100644 include/asm-generic/pci.h
diff --git a/arch/arm64/include/asm/pci.h b/arch/arm64/include/asm/pci.h
index 682c922b5658..016eb6b46dc0 100644
--- a/arch/arm64/include/asm/pci.h
+++ b/arch/arm64/include/asm/pci.h
@@ -9,7 +9,6 @@
#include <asm/io.h>
#define PCIBIOS_MIN_IO 0x1000
-#define PCIBIOS_MIN_MEM 0
/*
* Set to 1 if the kernel should re-assign all PCI bus numbers
@@ -18,13 +17,8 @@
(pci_has_flag(PCI_REASSIGN_ALL_BUS))
#define arch_can_pci_mmap_wc() 1
-#define ARCH_GENERIC_PCI_MMAP_RESOURCE 1
-#ifdef CONFIG_PCI
-static inline int pci_proc_domain(struct pci_bus *bus)
-{
- return 1;
-}
-#endif /* CONFIG_PCI */
+/* Generic PCI */
+#include <asm-generic/pci.h>
#endif /* __ASM_PCI_H */
diff --git a/arch/csky/include/asm/pci.h b/arch/csky/include/asm/pci.h
index 875bc028f8f6..42724c630d30 100644
--- a/arch/csky/include/asm/pci.h
+++ b/arch/csky/include/asm/pci.h
@@ -9,20 +9,7 @@
#include <asm/io.h>
-#define PCIBIOS_MIN_IO 0
-#define PCIBIOS_MIN_MEM 0
-
-/* C-SKY shim does not initialize PCI bus */
-#define pcibios_assign_all_busses() 1
-
-#define ARCH_GENERIC_PCI_MMAP_RESOURCE 1
-
-#ifdef CONFIG_PCI
-static inline int pci_proc_domain(struct pci_bus *bus)
-{
- /* always show the domain in /proc */
- return 1;
-}
-#endif /* CONFIG_PCI */
+/* Generic PCI */
+#include <asm-generic/pci.h>
#endif /* __ASM_CSKY_PCI_H */
diff --git a/arch/riscv/include/asm/pci.h b/arch/riscv/include/asm/pci.h
index f904df586c03..6ef4a1426194 100644
--- a/arch/riscv/include/asm/pci.h
+++ b/arch/riscv/include/asm/pci.h
@@ -12,23 +12,7 @@
#include <asm/io.h>
-#define PCIBIOS_MIN_IO 0
-#define PCIBIOS_MIN_MEM 0
-
-/* RISC-V shim does not initialize PCI bus */
-#define pcibios_assign_all_busses() 1
-
-#define ARCH_GENERIC_PCI_MMAP_RESOURCE 1
-
-#ifdef CONFIG_PCI
-static inline int pci_proc_domain(struct pci_bus *bus)
-{
- /* always show the domain in /proc */
- return 1;
-}
-
-#ifdef CONFIG_NUMA
-
+#if defined(CONFIG_PCI) && defined(CONFIG_NUMA)
static inline int pcibus_to_node(struct pci_bus *bus)
{
return dev_to_node(&bus->dev);
@@ -38,8 +22,9 @@ static inline int pcibus_to_node(struct pci_bus *bus)
cpu_all_mask : \
cpumask_of_node(pcibus_to_node(bus)))
#endif
-#endif /* CONFIG_NUMA */
+#endif /* defined(CONFIG_PCI) && defined(CONFIG_NUMA) */
-#endif /* CONFIG_PCI */
+/* Generic PCI */
+#include <asm-generic/pci.h>
#endif /* _ASM_RISCV_PCI_H */
diff --git a/arch/um/include/asm/pci.h b/arch/um/include/asm/pci.h
index 1211855aff34..34fe4921b5fa 100644
--- a/arch/um/include/asm/pci.h
+++ b/arch/um/include/asm/pci.h
@@ -4,18 +4,8 @@
#include <linux/types.h>
#include <asm/io.h>
-#define PCIBIOS_MIN_IO 0
-#define PCIBIOS_MIN_MEM 0
-
-#define pcibios_assign_all_busses() 1
-
-#ifdef CONFIG_PCI_DOMAINS
-static inline int pci_proc_domain(struct pci_bus *bus)
-{
- /* always show the domain in /proc */
- return 1;
-}
-#endif /* CONFIG_PCI */
+/* Generic PCI */
+#include <asm-generic/pci.h>
#ifdef CONFIG_PCI_MSI_IRQ_DOMAIN
/*
diff --git a/include/asm-generic/pci.h b/include/asm-generic/pci.h
new file mode 100644
index 000000000000..6869f1061528
--- /dev/null
+++ b/include/asm-generic/pci.h
@@ -0,0 +1,30 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ASM_GENERIC_PCI_H
+#define __ASM_GENERIC_PCI_H
+
+#ifndef PCIBIOS_MIN_IO
+#define PCIBIOS_MIN_IO 0
+#endif
+
+#ifndef PCIBIOS_MIN_MEM
+#define PCIBIOS_MIN_MEM 0
+#endif
+
+#ifndef pcibios_assign_all_busses
+/* For bootloaders that do not initialize the PCI bus */
+#define pcibios_assign_all_busses() 1
+#endif
+
+/* Enable generic resource mapping code in drivers/pci/ */
+#define ARCH_GENERIC_PCI_MMAP_RESOURCE
+
+#ifdef CONFIG_PCI_DOMAINS
+static inline int pci_proc_domain(struct pci_bus *bus)
+{
+ /* always show the domain in /proc */
+ return 1;
+}
+#endif /* CONFIG_PCI_DOMAINS */
+
+#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: LKML, Arnd Bergmann, Geert Uytterhoeven, Pierre Morel,
Rafael J . Wysocki, Christoph Hellwig, Richard Henderson,
Ivan Kokshaysky, Matt Turner, Russell King, Catalin Marinas,
Will Deacon, Guo Ren, Thomas Bogendoerfer, James E.J. Bottomley,
Helge Deller, Michael Ellerman, Benjamin Herrenschmidt,
Paul Mackerras, Paul Walmsley, Palmer Dabbelt, Albert Ou,
Heiko Carstens, Vasily Gorbik, Alexander Gordeev,
Christian Borntraeger, Sven Schnelle, Yoshinori Sato, Rich Felker,
David S. Miller, Richard Weinberger, Anton Ivanov, Johannes Berg,
Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Chris Zankel, Max Filippov, Bjorn Helgaas,
Sergio Paracuellos, Greg Kroah-Hartman, Tiezhu Yang, Nick Child,
Niklas Schnelle, Matthew Rosato, Kees Cook, Gustavo A. R. Silva,
linux-alpha, linux-arm-kernel, linux-csky, linux-ia64, linux-m68k,
linux-mips, linux-parisc, linuxppc-dev, linux-riscv, linux-s390,
linux-sh, sparclinux, linux-um, linux-acpi, linux-pci, linux-arch
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: LKML, Arnd Bergmann, Geert Uytterhoeven, Pierre Morel,
Rafael J . Wysocki, Christoph Hellwig, Richard Henderson,
Ivan Kokshaysky, Matt Turner, Russell King, Catalin Marinas,
Will Deacon, Guo Ren, Thomas Bogendoerfer, James E.J. Bottomley,
Helge Deller, Michael Ellerman, Benjamin Herrenschmidt,
Paul Mackerras, Paul Walmsley, Palmer Dabbelt, Albert Ou,
Heiko Carstens, Vasily Gorbik, Alexander Gordeev,
Christian Borntraeger, Sven Schnelle, Yoshinori Sato, Rich Felker,
David S. Miller, Richard Weinberger, Anton Ivanov, Johannes Berg,
Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Chris Zankel, Max Filippov, Bjorn Helgaas,
Sergio Paracuellos, Greg Kroah-Hartman, Tiezhu Yang, Nick Child,
Niklas Schnelle, Matthew Rosato, Kees Cook, Gustavo A. R. Silva,
linux-alpha, linux-arm-kernel, linux-csky, linux-ia64, linux-m68k,
linux-mips, linux-parisc, linuxppc-dev, linux-riscv, linux-s390,
linux-sh, sparclinux, linux-um, linux-acpi, linux-pci, linux-arch
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
end of thread, other threads:[~2022-07-22 23:51 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 4/4] asm-generic: Add new pci.h and use it Stafford Horne
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).