* [PATCH v4 0/3] Cleanups for asm-generic/pci.h
@ 2022-07-20 13:19 Stafford Horne
2022-07-20 13:19 ` [PATCH v4 3/3] asm-generic: Add new pci.h and use it Stafford Horne
0 siblings, 1 reply; 5+ messages in thread
From: Stafford Horne @ 2022-07-20 13:19 UTC (permalink / raw)
To: LKML
Cc: Arnd Bergmann, Stafford Horne, Paul Walmsley, Palmer Dabbelt,
Albert Ou, Guo Ren, linux-riscv, linux-csky
When reviewing the OpenRISC PCI support patch Arnd suggested that
we avoid copying arm64 and riscv asm/pci.h and moving that to be
the new asm-generic/pci.h.
This patch does that by first removing the old pci.h with the definition of
pci_get_legacy_ide_irq completely. We replace it with references to
ATA_PRIMARY_IRQ and ATA_SECONDARY_IRQ macros.
Next, we do further cleanups moving isa_dma_bridge_buggy to be only
x86_32 specific. This avoids having to have it in dma.h or pci.h headers.
Next, we create the new pci.h definition.
Note, for the series, I am working on these fixups as part of adding PCI to
OpenRISC. If the series is accepted I would like to merge via the OpenRISC tree
with the OpenRISC PCI support patches to avoid having to coordinate upstream
merges.
Since v3:
- We now completely remove pci_get_legacy_ide_irq and use libata.h macros.
- Added a new patch to remove isa_dma_bridge_buggy in architectures
other than x86_32.
Since v2:
- Remove pci_get_legacy_ide_irq from m68k.
Since v1:
- Remove definition of pci_get_legacy_ide_irq on architectures
not using CONFIG_PNP, which eliminated most.
- Add ifdef around PCIBIOS_MIN_MEM for consistency.
Stafford Horne (3):
PCI: Remove pci_get_legacy_ide_irq and asm-generic/pci.h
PCI: Move isa_dma_bridge_buggy out of dma.h
asm-generic: Add new pci.h and use it
arch/alpha/include/asm/dma.h | 9 ------
arch/alpha/include/asm/pci.h | 6 ----
arch/arc/include/asm/dma.h | 5 ---
arch/arm/include/asm/dma.h | 6 ----
arch/arm/include/asm/pci.h | 5 ---
arch/arm64/include/asm/pci.h | 18 ++---------
arch/csky/include/asm/pci.h | 24 +++-----------
arch/ia64/include/asm/dma.h | 2 --
arch/ia64/include/asm/pci.h | 6 ----
arch/m68k/include/asm/dma.h | 6 ----
arch/m68k/include/asm/pci.h | 2 --
arch/microblaze/include/asm/dma.h | 6 ----
arch/mips/include/asm/dma.h | 8 -----
arch/mips/include/asm/pci.h | 6 ----
arch/parisc/include/asm/dma.h | 6 ----
arch/parisc/include/asm/pci.h | 5 ---
arch/powerpc/include/asm/dma.h | 6 ----
arch/powerpc/include/asm/pci.h | 1 -
arch/riscv/include/asm/pci.h | 25 ++-------------
arch/s390/include/asm/dma.h | 6 ----
arch/s390/include/asm/pci.h | 1 -
arch/sh/include/asm/dma.h | 6 ----
arch/sh/include/asm/pci.h | 6 ----
arch/sparc/include/asm/dma.h | 8 -----
arch/sparc/include/asm/pci.h | 9 ------
arch/um/include/asm/pci.h | 24 ++------------
arch/x86/include/asm/dma.h | 8 -----
arch/x86/include/asm/pci.h | 3 --
arch/xtensa/include/asm/dma.h | 7 -----
arch/xtensa/include/asm/pci.h | 3 --
drivers/comedi/drivers/comedi_isadma.c | 2 +-
drivers/pci/pci.c | 2 ++
drivers/pci/quirks.c | 4 ++-
drivers/pnp/resource.c | 5 +--
include/asm-generic/pci.h | 43 +++++++++++++++++---------
include/linux/isa-dma.h | 14 +++++++++
sound/core/isadma.c | 2 +-
37 files changed, 64 insertions(+), 241 deletions(-)
create mode 100644 include/linux/isa-dma.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] 5+ messages in thread
* [PATCH v4 3/3] asm-generic: Add new pci.h and use it
2022-07-20 13:19 [PATCH v4 0/3] Cleanups for asm-generic/pci.h Stafford Horne
@ 2022-07-20 13:19 ` Stafford Horne
2022-07-20 15:12 ` Arnd Bergmann
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Stafford Horne @ 2022-07-20 13:19 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, 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.
One thing to note:
- ARCH_GENERIC_PCI_MMAP_RESOURCE, csky does not define this so we
undefine it after including asm-generic/pci.h. Why doesn't csky
define it?
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>
Signed-off-by: Stafford Horne <shorne@gmail.com>
---
Since v3:
- Remove notes about pci_get_legacy_ide_irq and isa_dma_bridge_buggy.
- Change ifdef around pci_proc_domain to use CONFIG_PCI_DOMAINS to avoid
compile failure on User Mode linux.
arch/arm64/include/asm/pci.h | 12 ++----------
arch/csky/include/asm/pci.h | 24 ++++--------------------
arch/riscv/include/asm/pci.h | 25 +++----------------------
arch/um/include/asm/pci.h | 24 ++----------------------
include/asm-generic/pci.h | 32 ++++++++++++++++++++++++++++++++
5 files changed, 43 insertions(+), 74 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 0aebc3488c32..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,15 +17,8 @@
(pci_has_flag(PCI_REASSIGN_ALL_BUS))
#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)
-{
- 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 ebc765b1f78b..44866c1ad461 100644
--- a/arch/csky/include/asm/pci.h
+++ b/arch/csky/include/asm/pci.h
@@ -9,26 +9,10 @@
#include <asm/io.h>
-#define PCIBIOS_MIN_IO 0
-#define PCIBIOS_MIN_MEM 0
+/* Generic PCI */
+#include <asm-generic/pci.h>
-/* 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_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 */
- return 1;
-}
-#endif /* CONFIG_PCI */
+/* csky doesn't use generic pci resource mapping */
+#undef ARCH_GENERIC_PCI_MMAP_RESOURCE
#endif /* __ASM_CSKY_PCI_H */
diff --git a/arch/riscv/include/asm/pci.h b/arch/riscv/include/asm/pci.h
index 7fd52a30e605..12ce8150cfb0 100644
--- a/arch/riscv/include/asm/pci.h
+++ b/arch/riscv/include/asm/pci.h
@@ -12,29 +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
-
-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 */
- return 1;
-}
-
#ifdef CONFIG_NUMA
static inline int pcibus_to_node(struct pci_bus *bus)
@@ -50,4 +28,7 @@ static inline int pcibus_to_node(struct pci_bus *bus)
#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 da13fd5519ef..34fe4921b5fa 100644
--- a/arch/um/include/asm/pci.h
+++ b/arch/um/include/asm/pci.h
@@ -4,28 +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
-
-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)
-{
- /* 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
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v4 3/3] asm-generic: Add new pci.h and use it
2022-07-20 13:19 ` [PATCH v4 3/3] asm-generic: Add new pci.h and use it Stafford Horne
@ 2022-07-20 15:12 ` Arnd Bergmann
2022-07-20 17:43 ` Christoph Hellwig
2022-07-20 22:42 ` Bjorn Helgaas
2 siblings, 0 replies; 5+ messages in thread
From: Arnd Bergmann @ 2022-07-20 15:12 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, Linux ARM, linux-csky, linux-riscv,
linux-um, linux-pci, linux-arch
On Wed, Jul 20, 2022 at 3:19 PM Stafford Horne <shorne@gmail.com> 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.
>
> One thing to note:
>
> - ARCH_GENERIC_PCI_MMAP_RESOURCE, csky does not define this so we
> undefine it after including asm-generic/pci.h. Why doesn't csky
> define it?
If you want to resolve this, I think the easiest way is to add a patch
that sets this
in csky, I'm quite sure this was just a mistake on their end.
> 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>
> Signed-off-by: Stafford Horne <shorne@gmail.com>
Either way:
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v4 3/3] asm-generic: Add new pci.h and use it
2022-07-20 13:19 ` [PATCH v4 3/3] asm-generic: Add new pci.h and use it Stafford Horne
2022-07-20 15:12 ` Arnd Bergmann
@ 2022-07-20 17:43 ` Christoph Hellwig
2022-07-20 22:42 ` Bjorn Helgaas
2 siblings, 0 replies; 5+ messages in thread
From: Christoph Hellwig @ 2022-07-20 17:43 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, linux-arm-kernel, linux-csky,
linux-riscv, linux-um, linux-pci, linux-arch
Looks good:
Reviewed-by: Christoph Hellwig <hch@lst.de>
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v4 3/3] asm-generic: Add new pci.h and use it
2022-07-20 13:19 ` [PATCH v4 3/3] asm-generic: Add new pci.h and use it Stafford Horne
2022-07-20 15:12 ` Arnd Bergmann
2022-07-20 17:43 ` Christoph Hellwig
@ 2022-07-20 22:42 ` Bjorn Helgaas
2 siblings, 0 replies; 5+ messages in thread
From: Bjorn Helgaas @ 2022-07-20 22:42 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, linux-arm-kernel, linux-csky,
linux-riscv, linux-um, linux-pci, linux-arch
On Wed, Jul 20, 2022 at 10:19:34PM +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.
>
> One thing to note:
>
> - ARCH_GENERIC_PCI_MMAP_RESOURCE, csky does not define this so we
> undefine it after including asm-generic/pci.h. Why doesn't csky
> define it?
>
> 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>
> Signed-off-by: Stafford Horne <shorne@gmail.com>
> diff --git a/arch/arm64/include/asm/pci.h b/arch/arm64/include/asm/pci.h
> index 0aebc3488c32..016eb6b46dc0 100644
> --- a/arch/arm64/include/asm/pci.h
> +++ b/arch/arm64/include/asm/pci.h
> -extern int isa_dma_bridge_buggy;
Shouldn't this go in the previous patch? The only definition of a
isa_dma_bridge_buggy variable is in drivers/pci/pci.c, and it's under
#ifdef CONFIG_X86_32.
Same for csky, riscv, um?
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-07-20 22:43 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-20 13:19 [PATCH v4 0/3] Cleanups for asm-generic/pci.h Stafford Horne
2022-07-20 13:19 ` [PATCH v4 3/3] asm-generic: Add new pci.h and use it Stafford Horne
2022-07-20 15:12 ` Arnd Bergmann
2022-07-20 17:43 ` Christoph Hellwig
2022-07-20 22:42 ` Bjorn Helgaas
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).