* [PATCH v5 1/4] PCI: Remove pci_get_legacy_ide_irq and asm-generic/pci.h
[not found] <20220721134924.596152-1-shorne@gmail.com>
@ 2022-07-21 13:49 ` Stafford Horne
2022-07-21 13:49 ` [PATCH v5 4/4] asm-generic: Add new pci.h and use it Stafford Horne
1 sibling, 0 replies; 9+ messages in thread
From: Stafford Horne @ 2022-07-21 13: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-xtensa, 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>
---
Since v4:
- Also remove pci_get_legacy_ide_irq from arm64, csky, riscv at this point.
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] 9+ messages in thread
* [PATCH v5 4/4] asm-generic: Add new pci.h and use it
[not found] <20220721134924.596152-1-shorne@gmail.com>
2022-07-21 13:49 ` [PATCH v5 1/4] PCI: Remove pci_get_legacy_ide_irq and asm-generic/pci.h Stafford Horne
@ 2022-07-21 13:49 ` Stafford Horne
2022-07-21 17:37 ` Bjorn Helgaas
1 sibling, 1 reply; 9+ messages in thread
From: Stafford Horne @ 2022-07-21 13: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 v4:
- Add reviewed-by
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 | 32 ++++++++++++++++++++++++++++++++
5 files changed, 42 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..3ceb0cb12321
--- /dev/null
+++ b/include/asm-generic/pci.h
@@ -0,0 +1,32 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ASM_GENERIC_PCI_H
+#define __ASM_GENERIC_PCI_H
+
+#include <linux/types.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] 9+ messages in thread
* Re: [PATCH v5 4/4] asm-generic: Add new pci.h and use it
2022-07-21 13:49 ` [PATCH v5 4/4] asm-generic: Add new pci.h and use it Stafford Horne
@ 2022-07-21 17:37 ` Bjorn Helgaas
2022-07-21 21:58 ` Stafford Horne
0 siblings, 1 reply; 9+ messages in thread
From: Bjorn Helgaas @ 2022-07-21 17:37 UTC (permalink / raw)
To: Stafford Horne
Cc: LKML, Arnd Bergmann, 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
On Thu, Jul 21, 2022 at 10:49:24PM +0900, Stafford Horne wrote:
> 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 v4:
> - Add reviewed-by
>
> 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 | 32 ++++++++++++++++++++++++++++++++
> 5 files changed, 42 insertions(+), 54 deletions(-)
> create mode 100644 include/asm-generic/pci.h
> +++ b/include/asm-generic/pci.h
> @@ -0,0 +1,32 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#ifndef __ASM_GENERIC_PCI_H
> +#define __ASM_GENERIC_PCI_H
> +
> +#include <linux/types.h>
Do we need <linux/types.h> here? I don't see anything below that
depends on it.
> +#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
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v5 4/4] asm-generic: Add new pci.h and use it
2022-07-21 17:37 ` Bjorn Helgaas
@ 2022-07-21 21:58 ` Stafford Horne
2022-07-22 7:53 ` Arnd Bergmann
0 siblings, 1 reply; 9+ messages in thread
From: Stafford Horne @ 2022-07-21 21:58 UTC (permalink / raw)
To: Bjorn Helgaas
Cc: LKML, Arnd Bergmann, 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
On Thu, Jul 21, 2022 at 12:37:33PM -0500, Bjorn Helgaas wrote:
> On Thu, Jul 21, 2022 at 10:49:24PM +0900, Stafford Horne wrote:
> > 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 v4:
> > - Add reviewed-by
> >
> > 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 | 32 ++++++++++++++++++++++++++++++++
> > 5 files changed, 42 insertions(+), 54 deletions(-)
> > create mode 100644 include/asm-generic/pci.h
>
> > +++ b/include/asm-generic/pci.h
> > @@ -0,0 +1,32 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +
> > +#ifndef __ASM_GENERIC_PCI_H
> > +#define __ASM_GENERIC_PCI_H
> > +
> > +#include <linux/types.h>
>
> Do we need <linux/types.h> here? I don't see anything below that
> depends on it.
Thanks, you are right, I think some of the earlier functions may have needed it,
which is why I had it earlier. But now that we have removed those we should be
able to remove this.
That said, I think some of the architecture includes could also be removed. On
OpenRISC we are able to get away with only having the global asm-generic/pci.h
so we don't need a wrapper pci.h header at all.
However, I don't have everything setup to build all of those architectures so I
was being a bit conservative to remove headers. I'll see what I can do in the
next version.
-Stafford
> > +#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
> >
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v5 4/4] asm-generic: Add new pci.h and use it
2022-07-21 21:58 ` Stafford Horne
@ 2022-07-22 7:53 ` Arnd Bergmann
2022-07-22 21:43 ` Stafford Horne
0 siblings, 1 reply; 9+ messages in thread
From: Arnd Bergmann @ 2022-07-22 7:53 UTC (permalink / raw)
To: Stafford Horne
Cc: Bjorn Helgaas, LKML, Arnd Bergmann, 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, linux-csky, linux-riscv, linux-um, linux-pci,
linux-arch
On Thu, Jul 21, 2022 at 11:58 PM Stafford Horne <shorne@gmail.com> wrote:
> On Thu, Jul 21, 2022 at 12:37:33PM -0500, Bjorn Helgaas wrote:
>
> Thanks, you are right, I think some of the earlier functions may have needed it,
> which is why I had it earlier. But now that we have removed those we should be
> able to remove this.
>
> That said, I think some of the architecture includes could also be removed. On
> OpenRISC we are able to get away with only having the global asm-generic/pci.h
> so we don't need a wrapper pci.h header at all.
>
> However, I don't have everything setup to build all of those architectures so I
> was being a bit conservative to remove headers. I'll see what I can do in the
> next version.
No need to worry about linux/types.h, this is pretty much included everywhere
already and neither the risk of extraneous includes or missing ones is
something to worry about. I'd just remove it if you do another respin, or
we can leave it in if Bjorn wants to just apply the v5 version.
Arnd
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v5 4/4] asm-generic: Add new pci.h and use it
2022-07-22 7:53 ` Arnd Bergmann
@ 2022-07-22 21:43 ` Stafford Horne
2022-07-22 22:31 ` Bjorn Helgaas
0 siblings, 1 reply; 9+ messages in thread
From: Stafford Horne @ 2022-07-22 21:43 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Bjorn Helgaas, LKML, 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,
linux-csky, linux-riscv, linux-um, linux-pci, linux-arch
On Fri, Jul 22, 2022 at 09:53:07AM +0200, Arnd Bergmann wrote:
> On Thu, Jul 21, 2022 at 11:58 PM Stafford Horne <shorne@gmail.com> wrote:
> > On Thu, Jul 21, 2022 at 12:37:33PM -0500, Bjorn Helgaas wrote:
>
> >
> > Thanks, you are right, I think some of the earlier functions may have needed it,
> > which is why I had it earlier. But now that we have removed those we should be
> > able to remove this.
> >
> > That said, I think some of the architecture includes could also be removed. On
> > OpenRISC we are able to get away with only having the global asm-generic/pci.h
> > so we don't need a wrapper pci.h header at all.
> >
> > However, I don't have everything setup to build all of those architectures so I
> > was being a bit conservative to remove headers. I'll see what I can do in the
> > next version.
>
> No need to worry about linux/types.h, this is pretty much included everywhere
> already and neither the risk of extraneous includes or missing ones is
> something to worry about. I'd just remove it if you do another respin, or
> we can leave it in if Bjorn wants to just apply the v5 version.
I will respin a v6 as we didn't get a reply on this. Bjorn are you planning to
apply the series before the upcoming merge window?
Originally I was thinking to merge these with my OpenRISC PCI support patches as
OpenRISC depends on this. However, the series is getting a bit more involved
for OpenRISC only.
Once you get it merged I will like to rebase my OpenRISC PCI support patches on
you branch. Hopefully, we can make it by the merge window.
Also, Palmer has a conflict with the series and his RISC-V for-next branch.
He would like to have a tag or branch to be able to merge into is branch to
resolve the conflict.
-Stafford
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v5 4/4] asm-generic: Add new pci.h and use it
2022-07-22 21:43 ` Stafford Horne
@ 2022-07-22 22:31 ` Bjorn Helgaas
2022-07-22 22:56 ` Stafford Horne
0 siblings, 1 reply; 9+ messages in thread
From: Bjorn Helgaas @ 2022-07-22 22:31 UTC (permalink / raw)
To: Stafford Horne
Cc: Arnd Bergmann, LKML, 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,
linux-csky, linux-riscv, linux-um, linux-pci, linux-arch
On Sat, Jul 23, 2022 at 06:43:31AM +0900, Stafford Horne wrote:
> I will respin a v6 as we didn't get a reply on this. Bjorn are you
> planning to apply the series before the upcoming merge window?
I see your v6, and I can apply it. I only got patches 1, 2, 4
(without the csky patch). Do you want that to go a separate route? I
don't care either way, but not sure it improves things to split it
across trees.
Bjorn
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v5 4/4] asm-generic: Add new pci.h and use it
2022-07-22 22:31 ` Bjorn Helgaas
@ 2022-07-22 22:56 ` Stafford Horne
2022-07-22 23:37 ` Bjorn Helgaas
0 siblings, 1 reply; 9+ messages in thread
From: Stafford Horne @ 2022-07-22 22:56 UTC (permalink / raw)
To: Bjorn Helgaas
Cc: Arnd Bergmann, LKML, 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,
linux-csky, linux-riscv, linux-um, linux-pci, linux-arch
On Fri, Jul 22, 2022 at 05:31:46PM -0500, Bjorn Helgaas wrote:
> On Sat, Jul 23, 2022 at 06:43:31AM +0900, Stafford Horne wrote:
>
> > I will respin a v6 as we didn't get a reply on this. Bjorn are you
> > planning to apply the series before the upcoming merge window?
>
> I see your v6, and I can apply it. I only got patches 1, 2, 4
> (without the csky patch). Do you want that to go a separate route? I
> don't care either way, but not sure it improves things to split it
> across trees.
I sent 3/4 directly to you now. Hopefully you see it.
Patch 4/4 depends on it in a sense so its best to keep 3/4 together.
-Stafford
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v5 4/4] asm-generic: Add new pci.h and use it
2022-07-22 22:56 ` Stafford Horne
@ 2022-07-22 23:37 ` Bjorn Helgaas
0 siblings, 0 replies; 9+ messages in thread
From: Bjorn Helgaas @ 2022-07-22 23:37 UTC (permalink / raw)
To: Stafford Horne
Cc: Arnd Bergmann, LKML, 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,
linux-csky, linux-riscv, linux-um, linux-pci, linux-arch
On Sat, Jul 23, 2022 at 07:56:38AM +0900, Stafford Horne wrote:
> On Fri, Jul 22, 2022 at 05:31:46PM -0500, Bjorn Helgaas wrote:
> > On Sat, Jul 23, 2022 at 06:43:31AM +0900, Stafford Horne wrote:
> >
> > > I will respin a v6 as we didn't get a reply on this. Bjorn are you
> > > planning to apply the series before the upcoming merge window?
> >
> > I see your v6, and I can apply it. I only got patches 1, 2, 4
> > (without the csky patch). Do you want that to go a separate route? I
> > don't care either way, but not sure it improves things to split it
> > across trees.
>
> I sent 3/4 directly to you now. Hopefully you see it.
>
> Patch 4/4 depends on it in a sense so its best to keep 3/4 together.
I saw 3/4 before because b4 found it, but I didn't know what you had
in mind.
I applied all 4 patches to pci/header-cleanup-immutable for v5.20.
It would be convenient if (in the future) you included a 0/n cover
letter where replies like this could go.
Bjorn
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2022-07-22 23:37 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20220721134924.596152-1-shorne@gmail.com>
2022-07-21 13:49 ` [PATCH v5 1/4] PCI: Remove pci_get_legacy_ide_irq and asm-generic/pci.h Stafford Horne
2022-07-21 13:49 ` [PATCH v5 4/4] asm-generic: Add new pci.h and use it Stafford Horne
2022-07-21 17:37 ` Bjorn Helgaas
2022-07-21 21:58 ` Stafford Horne
2022-07-22 7:53 ` Arnd Bergmann
2022-07-22 21:43 ` Stafford Horne
2022-07-22 22:31 ` Bjorn Helgaas
2022-07-22 22:56 ` Stafford Horne
2022-07-22 23:37 ` Bjorn Helgaas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox