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 v4:
- Move some pci_get_legacy_ide_irq and isa_dma_bridge_buggy cleanups
into the correct patches.
- Add csky ARCH_GENERIC_PCI_MMAP_RESOURCE definition patch, suggested by Arnd
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 (4):
PCI: Remove pci_get_legacy_ide_irq and asm-generic/pci.h
PCI: Move isa_dma_bridge_buggy out of dma.h
csky: PCI: Define ARCH_GENERIC_PCI_MMAP_RESOURCE
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 | 23 ++------------
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 | 31 +++----------------
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, 63 insertions(+), 247 deletions(-)
create mode 100644 include/linux/isa-dma.h
--
2.36.1
This looks to be something that was left out on accident on the csky
port. Add the definition of ARCH_GENERIC_PCI_MMAP_RESOURCE to keep it
inline with other ports. Adding ARCH_GENERIC_PCI_MMAP_RESOURCE enables
the definition of mordern pci_mmap_resource_range functions which is
generally what new ports should be using.
Signed-off-by: Stafford Horne <[email protected]>
---
Since v4:
- New patch.
arch/csky/include/asm/pci.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/csky/include/asm/pci.h b/arch/csky/include/asm/pci.h
index 5c02454ec724..875bc028f8f6 100644
--- a/arch/csky/include/asm/pci.h
+++ b/arch/csky/include/asm/pci.h
@@ -15,6 +15,8 @@
/* 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)
{
--
2.36.1
During recent PCI cleanups we noticed that the isa_dma_bridge_buggy
symbol supported by all architectures is actually only used for x86_32.
This patch moves the symbol out of all architectures limiting usage to
only x86_32. This is possible because only x86_32 platforms or quirks
existing in PCI devices supported on x86_32 ever set this. A new global
header linux/isa-dma.h is added to provide a common place to maintain
the definition.
Suggested-by: Arnd Bergmann <[email protected]>
Suggested-by: Christoph Hellwig <[email protected]>
Acked-by: Geert Uytterhoeven <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Signed-off-by: Stafford Horne <[email protected]>
---
Since v4:
- Also remove isa_dma_bridge_buggy from arm64, csky, riscv as this point.
arch/alpha/include/asm/dma.h | 9 ---------
arch/arc/include/asm/dma.h | 5 -----
arch/arm/include/asm/dma.h | 6 ------
arch/arm64/include/asm/pci.h | 2 --
arch/csky/include/asm/pci.h | 2 --
arch/ia64/include/asm/dma.h | 2 --
arch/m68k/include/asm/dma.h | 6 ------
arch/microblaze/include/asm/dma.h | 6 ------
arch/mips/include/asm/dma.h | 8 --------
arch/parisc/include/asm/dma.h | 6 ------
arch/powerpc/include/asm/dma.h | 6 ------
arch/riscv/include/asm/pci.h | 2 --
arch/s390/include/asm/dma.h | 6 ------
arch/sh/include/asm/dma.h | 6 ------
arch/sparc/include/asm/dma.h | 8 --------
arch/um/include/asm/pci.h | 2 --
arch/x86/include/asm/dma.h | 8 --------
arch/xtensa/include/asm/dma.h | 7 -------
drivers/comedi/drivers/comedi_isadma.c | 2 +-
drivers/pci/pci.c | 2 ++
drivers/pci/quirks.c | 4 +++-
include/linux/isa-dma.h | 14 ++++++++++++++
sound/core/isadma.c | 2 +-
23 files changed, 21 insertions(+), 100 deletions(-)
create mode 100644 include/linux/isa-dma.h
diff --git a/arch/alpha/include/asm/dma.h b/arch/alpha/include/asm/dma.h
index 28610ea7786d..a04d76b96089 100644
--- a/arch/alpha/include/asm/dma.h
+++ b/arch/alpha/include/asm/dma.h
@@ -365,13 +365,4 @@ extern void free_dma(unsigned int dmanr); /* release it again */
#define KERNEL_HAVE_CHECK_DMA
extern int check_dma(unsigned int dmanr);
-/* From PCI */
-
-#ifdef CONFIG_PCI
-extern int isa_dma_bridge_buggy;
-#else
-#define isa_dma_bridge_buggy (0)
-#endif
-
-
#endif /* _ASM_DMA_H */
diff --git a/arch/arc/include/asm/dma.h b/arch/arc/include/asm/dma.h
index 5b744f4b10a7..02431027ed2f 100644
--- a/arch/arc/include/asm/dma.h
+++ b/arch/arc/include/asm/dma.h
@@ -7,10 +7,5 @@
#define ASM_ARC_DMA_H
#define MAX_DMA_ADDRESS 0xC0000000
-#ifdef CONFIG_PCI
-extern int isa_dma_bridge_buggy;
-#else
-#define isa_dma_bridge_buggy 0
-#endif
#endif
diff --git a/arch/arm/include/asm/dma.h b/arch/arm/include/asm/dma.h
index a81dda65c576..907d139be431 100644
--- a/arch/arm/include/asm/dma.h
+++ b/arch/arm/include/asm/dma.h
@@ -143,10 +143,4 @@ extern int get_dma_residue(unsigned int chan);
#endif /* CONFIG_ISA_DMA_API */
-#ifdef CONFIG_PCI
-extern int isa_dma_bridge_buggy;
-#else
-#define isa_dma_bridge_buggy (0)
-#endif
-
#endif /* __ASM_ARM_DMA_H */
diff --git a/arch/arm64/include/asm/pci.h b/arch/arm64/include/asm/pci.h
index 0aebc3488c32..682c922b5658 100644
--- a/arch/arm64/include/asm/pci.h
+++ b/arch/arm64/include/asm/pci.h
@@ -20,8 +20,6 @@
#define arch_can_pci_mmap_wc() 1
#define ARCH_GENERIC_PCI_MMAP_RESOURCE 1
-extern int isa_dma_bridge_buggy;
-
#ifdef CONFIG_PCI
static inline int pci_proc_domain(struct pci_bus *bus)
{
diff --git a/arch/csky/include/asm/pci.h b/arch/csky/include/asm/pci.h
index 0535f1aaae38..5c02454ec724 100644
--- a/arch/csky/include/asm/pci.h
+++ b/arch/csky/include/asm/pci.h
@@ -15,8 +15,6 @@
/* C-SKY shim does not initialize PCI bus */
#define pcibios_assign_all_busses() 1
-extern int isa_dma_bridge_buggy;
-
#ifdef CONFIG_PCI
static inline int pci_proc_domain(struct pci_bus *bus)
{
diff --git a/arch/ia64/include/asm/dma.h b/arch/ia64/include/asm/dma.h
index 59625e9c1f9c..eaed2626ffda 100644
--- a/arch/ia64/include/asm/dma.h
+++ b/arch/ia64/include/asm/dma.h
@@ -12,8 +12,6 @@
extern unsigned long MAX_DMA_ADDRESS;
-extern int isa_dma_bridge_buggy;
-
#define free_dma(x)
#endif /* _ASM_IA64_DMA_H */
diff --git a/arch/m68k/include/asm/dma.h b/arch/m68k/include/asm/dma.h
index f6c5e0dfb4e5..1c8d9c5bc2fa 100644
--- a/arch/m68k/include/asm/dma.h
+++ b/arch/m68k/include/asm/dma.h
@@ -6,10 +6,4 @@
bootmem allocator (but this should do it for this) */
#define MAX_DMA_ADDRESS PAGE_OFFSET
-#ifdef CONFIG_PCI
-extern int isa_dma_bridge_buggy;
-#else
-#define isa_dma_bridge_buggy (0)
-#endif
-
#endif /* _M68K_DMA_H */
diff --git a/arch/microblaze/include/asm/dma.h b/arch/microblaze/include/asm/dma.h
index f801582be912..7484c9eb66c4 100644
--- a/arch/microblaze/include/asm/dma.h
+++ b/arch/microblaze/include/asm/dma.h
@@ -9,10 +9,4 @@
/* Virtual address corresponding to last available physical memory address. */
#define MAX_DMA_ADDRESS (CONFIG_KERNEL_START + memory_size - 1)
-#ifdef CONFIG_PCI
-extern int isa_dma_bridge_buggy;
-#else
-#define isa_dma_bridge_buggy (0)
-#endif
-
#endif /* _ASM_MICROBLAZE_DMA_H */
diff --git a/arch/mips/include/asm/dma.h b/arch/mips/include/asm/dma.h
index be726b943530..d6186e6bea7e 100644
--- a/arch/mips/include/asm/dma.h
+++ b/arch/mips/include/asm/dma.h
@@ -307,12 +307,4 @@ static __inline__ int get_dma_residue(unsigned int dmanr)
extern int request_dma(unsigned int dmanr, const char * device_id); /* reserve a DMA channel */
extern void free_dma(unsigned int dmanr); /* release it again */
-/* From PCI */
-
-#ifdef CONFIG_PCI
-extern int isa_dma_bridge_buggy;
-#else
-#define isa_dma_bridge_buggy (0)
-#endif
-
#endif /* _ASM_DMA_H */
diff --git a/arch/parisc/include/asm/dma.h b/arch/parisc/include/asm/dma.h
index eea80ed34e6d..9e8c101de902 100644
--- a/arch/parisc/include/asm/dma.h
+++ b/arch/parisc/include/asm/dma.h
@@ -176,10 +176,4 @@ static __inline__ void set_dma_count(unsigned int dmanr, unsigned int count)
#define free_dma(dmanr)
-#ifdef CONFIG_PCI
-extern int isa_dma_bridge_buggy;
-#else
-#define isa_dma_bridge_buggy (0)
-#endif
-
#endif /* _ASM_DMA_H */
diff --git a/arch/powerpc/include/asm/dma.h b/arch/powerpc/include/asm/dma.h
index 6161a9596196..d97c66d9ae34 100644
--- a/arch/powerpc/include/asm/dma.h
+++ b/arch/powerpc/include/asm/dma.h
@@ -340,11 +340,5 @@ extern int request_dma(unsigned int dmanr, const char *device_id);
/* release it again */
extern void free_dma(unsigned int dmanr);
-#ifdef CONFIG_PCI
-extern int isa_dma_bridge_buggy;
-#else
-#define isa_dma_bridge_buggy (0)
-#endif
-
#endif /* __KERNEL__ */
#endif /* _ASM_POWERPC_DMA_H */
diff --git a/arch/riscv/include/asm/pci.h b/arch/riscv/include/asm/pci.h
index a7b8f0d0df7f..f904df586c03 100644
--- a/arch/riscv/include/asm/pci.h
+++ b/arch/riscv/include/asm/pci.h
@@ -20,8 +20,6 @@
#define ARCH_GENERIC_PCI_MMAP_RESOURCE 1
-extern int isa_dma_bridge_buggy;
-
#ifdef CONFIG_PCI
static inline int pci_proc_domain(struct pci_bus *bus)
{
diff --git a/arch/s390/include/asm/dma.h b/arch/s390/include/asm/dma.h
index 6f26f35d4a71..dec1c4ce628c 100644
--- a/arch/s390/include/asm/dma.h
+++ b/arch/s390/include/asm/dma.h
@@ -11,10 +11,4 @@
*/
#define MAX_DMA_ADDRESS 0x80000000
-#ifdef CONFIG_PCI
-extern int isa_dma_bridge_buggy;
-#else
-#define isa_dma_bridge_buggy (0)
-#endif
-
#endif /* _ASM_S390_DMA_H */
diff --git a/arch/sh/include/asm/dma.h b/arch/sh/include/asm/dma.h
index 17d23ae98c77..c8bee3f985a2 100644
--- a/arch/sh/include/asm/dma.h
+++ b/arch/sh/include/asm/dma.h
@@ -137,10 +137,4 @@ extern int register_chan_caps(const char *dmac, struct dma_chan_caps *capslist);
extern int dma_create_sysfs_files(struct dma_channel *, struct dma_info *);
extern void dma_remove_sysfs_files(struct dma_channel *, struct dma_info *);
-#ifdef CONFIG_PCI
-extern int isa_dma_bridge_buggy;
-#else
-#define isa_dma_bridge_buggy (0)
-#endif
-
#endif /* __ASM_SH_DMA_H */
diff --git a/arch/sparc/include/asm/dma.h b/arch/sparc/include/asm/dma.h
index 462e7c794a09..08043f35b110 100644
--- a/arch/sparc/include/asm/dma.h
+++ b/arch/sparc/include/asm/dma.h
@@ -82,14 +82,6 @@
#define DMA_BURST64 0x40
#define DMA_BURSTBITS 0x7f
-/* From PCI */
-
-#ifdef CONFIG_PCI
-extern int isa_dma_bridge_buggy;
-#else
-#define isa_dma_bridge_buggy (0)
-#endif
-
#ifdef CONFIG_SPARC32
struct device;
diff --git a/arch/um/include/asm/pci.h b/arch/um/include/asm/pci.h
index 26b96c02ef61..1211855aff34 100644
--- a/arch/um/include/asm/pci.h
+++ b/arch/um/include/asm/pci.h
@@ -9,8 +9,6 @@
#define pcibios_assign_all_busses() 1
-extern int isa_dma_bridge_buggy;
-
#ifdef CONFIG_PCI_DOMAINS
static inline int pci_proc_domain(struct pci_bus *bus)
{
diff --git a/arch/x86/include/asm/dma.h b/arch/x86/include/asm/dma.h
index 8e95aa4b0d17..8ae6e0e11b8b 100644
--- a/arch/x86/include/asm/dma.h
+++ b/arch/x86/include/asm/dma.h
@@ -307,12 +307,4 @@ extern int request_dma(unsigned int dmanr, const char *device_id);
extern void free_dma(unsigned int dmanr);
#endif
-/* From PCI */
-
-#ifdef CONFIG_PCI
-extern int isa_dma_bridge_buggy;
-#else
-#define isa_dma_bridge_buggy (0)
-#endif
-
#endif /* _ASM_X86_DMA_H */
diff --git a/arch/xtensa/include/asm/dma.h b/arch/xtensa/include/asm/dma.h
index bb099a373b5a..172644539032 100644
--- a/arch/xtensa/include/asm/dma.h
+++ b/arch/xtensa/include/asm/dma.h
@@ -52,11 +52,4 @@
extern int request_dma(unsigned int dmanr, const char * device_id);
extern void free_dma(unsigned int dmanr);
-#ifdef CONFIG_PCI
-extern int isa_dma_bridge_buggy;
-#else
-#define isa_dma_bridge_buggy (0)
-#endif
-
-
#endif
diff --git a/drivers/comedi/drivers/comedi_isadma.c b/drivers/comedi/drivers/comedi_isadma.c
index 700982464c53..020b3d1e1ac0 100644
--- a/drivers/comedi/drivers/comedi_isadma.c
+++ b/drivers/comedi/drivers/comedi_isadma.c
@@ -8,7 +8,7 @@
#include <linux/slab.h>
#include <linux/delay.h>
#include <linux/dma-mapping.h>
-#include <asm/dma.h>
+#include <linux/isa-dma.h>
#include <linux/comedi/comedidev.h>
#include <linux/comedi/comedi_isadma.h>
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index cfaf40a540a8..60c55d2cb2cc 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -41,8 +41,10 @@ const char *pci_power_names[] = {
};
EXPORT_SYMBOL_GPL(pci_power_names);
+#ifdef CONFIG_X86_32
int isa_dma_bridge_buggy;
EXPORT_SYMBOL(isa_dma_bridge_buggy);
+#endif
int pci_pci_problems;
EXPORT_SYMBOL(pci_pci_problems);
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 41aeaa235132..6fc64509eee7 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -17,6 +17,7 @@
#include <linux/kernel.h>
#include <linux/export.h>
#include <linux/pci.h>
+#include <linux/isa-dma.h> /* isa_dma_bridge_buggy */
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/acpi.h>
@@ -30,7 +31,6 @@
#include <linux/pm_runtime.h>
#include <linux/suspend.h>
#include <linux/switchtec.h>
-#include <asm/dma.h> /* isa_dma_bridge_buggy */
#include "pci.h"
static ktime_t fixup_debug_start(struct pci_dev *dev,
@@ -239,6 +239,7 @@ static void quirk_passive_release(struct pci_dev *dev)
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_passive_release);
DECLARE_PCI_FIXUP_RESUME(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_passive_release);
+#ifdef CONFIG_X86_32
/*
* The VIA VP2/VP3/MVP3 seem to have some 'features'. There may be a
* workaround but VIA don't answer queries. If you happen to have good
@@ -265,6 +266,7 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1533, quirk_isa_dma
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_1, quirk_isa_dma_hangs);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_2, quirk_isa_dma_hangs);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_3, quirk_isa_dma_hangs);
+#endif
/*
* Intel NM10 "TigerPoint" LPC PM1a_STS.BM_STS must be clear
diff --git a/include/linux/isa-dma.h b/include/linux/isa-dma.h
new file mode 100644
index 000000000000..61504a8c1b9e
--- /dev/null
+++ b/include/linux/isa-dma.h
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef __LINUX_ISA_DMA_H
+#define __LINUX_ISA_DMA_H
+
+#include <asm/dma.h>
+
+#if defined(CONFIG_PCI) && defined(CONFIG_X86_32)
+extern int isa_dma_bridge_buggy;
+#else
+#define isa_dma_bridge_buggy (0)
+#endif
+
+#endif /* __LINUX_ISA_DMA_H */
diff --git a/sound/core/isadma.c b/sound/core/isadma.c
index 1f45ede023b4..18a86212e3a8 100644
--- a/sound/core/isadma.c
+++ b/sound/core/isadma.c
@@ -12,8 +12,8 @@
#undef HAVE_REALLY_SLOW_DMA_CONTROLLER
#include <linux/export.h>
+#include <linux/isa-dma.h>
#include <sound/core.h>
-#include <asm/dma.h>
/**
* snd_dma_program - program an ISA DMA transfer
--
2.36.1
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 <[email protected]>
Acked-by: Pierre Morel <[email protected]>
Acked-by: Rafael J. Wysocki <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Co-developed-by: Arnd Bergmann <[email protected]>
Signed-off-by: Arnd Bergmann <[email protected]>
Signed-off-by: Stafford Horne <[email protected]>
---
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
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 <[email protected]>
Link: https://lore.kernel.org/lkml/CAK8P3a0JmPeczfmMBE__vn=Jbvf=nkbpVaZCycyv40pZNCJJXQ@mail.gmail.com/
Acked-by: Pierre Morel <[email protected]>
Acked-by: Geert Uytterhoeven <[email protected]>
Reviewed-by: Arnd Bergmann <[email protected]>
Signed-off-by: Stafford Horne <[email protected]>
---
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
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 <[email protected]>
> Link: https://lore.kernel.org/lkml/CAK8P3a0JmPeczfmMBE__vn=Jbvf=nkbpVaZCycyv40pZNCJJXQ@mail.gmail.com/
> Acked-by: Pierre Morel <[email protected]>
> Acked-by: Geert Uytterhoeven <[email protected]>
> Reviewed-by: Arnd Bergmann <[email protected]>
> Signed-off-by: Stafford Horne <[email protected]>
> ---
> 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
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
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 <[email protected]>
> > Link: https://lore.kernel.org/lkml/CAK8P3a0JmPeczfmMBE__vn=Jbvf=nkbpVaZCycyv40pZNCJJXQ@mail.gmail.com/
> > Acked-by: Pierre Morel <[email protected]>
> > Acked-by: Geert Uytterhoeven <[email protected]>
> > Reviewed-by: Arnd Bergmann <[email protected]>
> > Signed-off-by: Stafford Horne <[email protected]>
> > ---
> > 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
> > [email protected]
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Acked-by: Guo Ren <[email protected]>
On Thu, Jul 21, 2022 at 9:50 PM Stafford Horne <[email protected]> wrote:
>
> This looks to be something that was left out on accident on the csky
> port. Add the definition of ARCH_GENERIC_PCI_MMAP_RESOURCE to keep it
> inline with other ports. Adding ARCH_GENERIC_PCI_MMAP_RESOURCE enables
> the definition of mordern pci_mmap_resource_range functions which is
> generally what new ports should be using.
>
> Signed-off-by: Stafford Horne <[email protected]>
> ---
> Since v4:
> - New patch.
>
> arch/csky/include/asm/pci.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/csky/include/asm/pci.h b/arch/csky/include/asm/pci.h
> index 5c02454ec724..875bc028f8f6 100644
> --- a/arch/csky/include/asm/pci.h
> +++ b/arch/csky/include/asm/pci.h
> @@ -15,6 +15,8 @@
> /* 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)
> {
> --
> 2.36.1
>
--
Best Regards
Guo Ren
On Thu, Jul 21, 2022 at 11:58 PM Stafford Horne <[email protected]> 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
On Fri, Jul 22, 2022 at 09:53:07AM +0200, Arnd Bergmann wrote:
> On Thu, Jul 21, 2022 at 11:58 PM Stafford Horne <[email protected]> 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
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
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
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