Skip to content

Commit

Permalink
asm-generic: Add new pci.h and use it
Browse files Browse the repository at this point in the history
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/
Link: https://lore.kernel.org/r/20220722214944.831438-5-shorne@gmail.com
Signed-off-by: Stafford Horne <shorne@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Pierre Morel <pmorel@linux.ibm.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
  • Loading branch information
stffrdhrn authored and bjorn-helgaas committed Jul 22, 2022
1 parent f619d23 commit a2912b4
Show file tree
Hide file tree
Showing 5 changed files with 40 additions and 54 deletions.
10 changes: 2 additions & 8 deletions arch/arm64/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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 */
17 changes: 2 additions & 15 deletions arch/csky/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
23 changes: 4 additions & 19 deletions arch/riscv/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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 */
14 changes: 2 additions & 12 deletions arch/um/include/asm/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
/*
Expand Down
30 changes: 30 additions & 0 deletions include/asm-generic/pci.h
Original file line number Diff line number Diff line change
@@ -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 */

0 comments on commit a2912b4

Please sign in to comment.