PCI: merge almost all of pci_32.h and pci_64.h together
It was just duplicated code... Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
a79e4198d1
commit
f3e6f164c2
3 changed files with 90 additions and 138 deletions
|
@ -1,5 +1,95 @@
|
||||||
|
#ifndef __x86_PCI_H
|
||||||
|
#define __x86_PCI_H
|
||||||
|
|
||||||
|
#include <linux/mm.h> /* for struct page */
|
||||||
|
#include <linux/types.h>
|
||||||
|
#include <linux/slab.h>
|
||||||
|
#include <linux/string.h>
|
||||||
|
#include <asm/scatterlist.h>
|
||||||
|
#include <asm/io.h>
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __KERNEL__
|
||||||
|
|
||||||
|
struct pci_sysdata {
|
||||||
|
int domain; /* PCI domain */
|
||||||
|
int node; /* NUMA node */
|
||||||
|
#ifdef CONFIG_X86_64
|
||||||
|
void* iommu; /* IOMMU private data */
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
/* scan a bus after allocating a pci_sysdata for it */
|
||||||
|
extern struct pci_bus *pci_scan_bus_with_sysdata(int busno);
|
||||||
|
|
||||||
|
static inline int pci_domain_nr(struct pci_bus *bus)
|
||||||
|
{
|
||||||
|
struct pci_sysdata *sd = bus->sysdata;
|
||||||
|
return sd->domain;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int pci_proc_domain(struct pci_bus *bus)
|
||||||
|
{
|
||||||
|
return pci_domain_nr(bus);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Can be used to override the logic in pci_scan_bus for skipping
|
||||||
|
already-configured bus numbers - to be used for buggy BIOSes
|
||||||
|
or architectures with incomplete PCI setup by the loader */
|
||||||
|
|
||||||
|
#ifdef CONFIG_PCI
|
||||||
|
extern unsigned int pcibios_assign_all_busses(void);
|
||||||
|
#else
|
||||||
|
#define pcibios_assign_all_busses() 0
|
||||||
|
#endif
|
||||||
|
#define pcibios_scan_all_fns(a, b) 0
|
||||||
|
|
||||||
|
extern unsigned long pci_mem_start;
|
||||||
|
#define PCIBIOS_MIN_IO 0x1000
|
||||||
|
#define PCIBIOS_MIN_MEM (pci_mem_start)
|
||||||
|
|
||||||
|
#define PCIBIOS_MIN_CARDBUS_IO 0x4000
|
||||||
|
|
||||||
|
void pcibios_config_init(void);
|
||||||
|
struct pci_bus * pcibios_scan_root(int bus);
|
||||||
|
|
||||||
|
void pcibios_set_master(struct pci_dev *dev);
|
||||||
|
void pcibios_penalize_isa_irq(int irq, int active);
|
||||||
|
struct irq_routing_table *pcibios_get_irq_routing_table(void);
|
||||||
|
int pcibios_set_irq_routing(struct pci_dev *dev, int pin, int irq);
|
||||||
|
|
||||||
|
|
||||||
|
#define HAVE_PCI_MMAP
|
||||||
|
extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,
|
||||||
|
enum pci_mmap_state mmap_state, int write_combine);
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef CONFIG_PCI
|
||||||
|
static inline void pci_dma_burst_advice(struct pci_dev *pdev,
|
||||||
|
enum pci_dma_burst_strategy *strat,
|
||||||
|
unsigned long *strategy_parameter)
|
||||||
|
{
|
||||||
|
*strat = PCI_DMA_BURST_INFINITY;
|
||||||
|
*strategy_parameter = ~0UL;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* __KERNEL__ */
|
||||||
|
|
||||||
#ifdef CONFIG_X86_32
|
#ifdef CONFIG_X86_32
|
||||||
# include "pci_32.h"
|
# include "pci_32.h"
|
||||||
#else
|
#else
|
||||||
# include "pci_64.h"
|
# include "pci_64.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* implement the pci_ DMA API in terms of the generic device dma_ one */
|
||||||
|
#include <asm-generic/pci-dma-compat.h>
|
||||||
|
|
||||||
|
/* generic pci stuff */
|
||||||
|
#include <asm-generic/pci.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -4,62 +4,11 @@
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
||||||
|
|
||||||
struct pci_sysdata {
|
|
||||||
int domain; /* PCI domain */
|
|
||||||
int node; /* NUMA node */
|
|
||||||
};
|
|
||||||
|
|
||||||
/* scan a bus after allocating a pci_sysdata for it */
|
|
||||||
extern struct pci_bus *pci_scan_bus_with_sysdata(int busno);
|
|
||||||
|
|
||||||
static inline int pci_domain_nr(struct pci_bus *bus)
|
|
||||||
{
|
|
||||||
struct pci_sysdata *sd = bus->sysdata;
|
|
||||||
return sd->domain;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int pci_proc_domain(struct pci_bus *bus)
|
|
||||||
{
|
|
||||||
return pci_domain_nr(bus);
|
|
||||||
}
|
|
||||||
|
|
||||||
#include <linux/mm.h> /* for struct page */
|
|
||||||
|
|
||||||
/* Can be used to override the logic in pci_scan_bus for skipping
|
|
||||||
already-configured bus numbers - to be used for buggy BIOSes
|
|
||||||
or architectures with incomplete PCI setup by the loader */
|
|
||||||
|
|
||||||
#ifdef CONFIG_PCI
|
|
||||||
extern unsigned int pcibios_assign_all_busses(void);
|
|
||||||
#else
|
|
||||||
#define pcibios_assign_all_busses() 0
|
|
||||||
#endif
|
|
||||||
#define pcibios_scan_all_fns(a, b) 0
|
|
||||||
|
|
||||||
extern unsigned long pci_mem_start;
|
|
||||||
#define PCIBIOS_MIN_IO 0x1000
|
|
||||||
#define PCIBIOS_MIN_MEM (pci_mem_start)
|
|
||||||
|
|
||||||
#define PCIBIOS_MIN_CARDBUS_IO 0x4000
|
|
||||||
|
|
||||||
void pcibios_config_init(void);
|
|
||||||
struct pci_bus * pcibios_scan_root(int bus);
|
|
||||||
|
|
||||||
void pcibios_set_master(struct pci_dev *dev);
|
|
||||||
void pcibios_penalize_isa_irq(int irq, int active);
|
|
||||||
struct irq_routing_table *pcibios_get_irq_routing_table(void);
|
|
||||||
int pcibios_set_irq_routing(struct pci_dev *dev, int pin, int irq);
|
|
||||||
|
|
||||||
/* Dynamic DMA mapping stuff.
|
/* Dynamic DMA mapping stuff.
|
||||||
* i386 has everything mapped statically.
|
* i386 has everything mapped statically.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/types.h>
|
|
||||||
#include <linux/slab.h>
|
|
||||||
#include <asm/scatterlist.h>
|
|
||||||
#include <linux/string.h>
|
|
||||||
#include <asm/io.h>
|
|
||||||
|
|
||||||
struct pci_dev;
|
struct pci_dev;
|
||||||
|
|
||||||
/* The PCI address space does equal the physical memory
|
/* The PCI address space does equal the physical memory
|
||||||
|
@ -76,27 +25,8 @@ struct pci_dev;
|
||||||
#define pci_unmap_len(PTR, LEN_NAME) (0)
|
#define pci_unmap_len(PTR, LEN_NAME) (0)
|
||||||
#define pci_unmap_len_set(PTR, LEN_NAME, VAL) do { } while (0)
|
#define pci_unmap_len_set(PTR, LEN_NAME, VAL) do { } while (0)
|
||||||
|
|
||||||
#define HAVE_PCI_MMAP
|
|
||||||
extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,
|
|
||||||
enum pci_mmap_state mmap_state, int write_combine);
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_PCI
|
|
||||||
static inline void pci_dma_burst_advice(struct pci_dev *pdev,
|
|
||||||
enum pci_dma_burst_strategy *strat,
|
|
||||||
unsigned long *strategy_parameter)
|
|
||||||
{
|
|
||||||
*strat = PCI_DMA_BURST_INFINITY;
|
|
||||||
*strategy_parameter = ~0UL;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __KERNEL__ */
|
#endif /* __KERNEL__ */
|
||||||
|
|
||||||
/* implement the pci_ DMA API in terms of the generic device dma_ one */
|
|
||||||
#include <asm-generic/pci-dma-compat.h>
|
|
||||||
|
|
||||||
/* generic pci stuff */
|
|
||||||
#include <asm-generic/pci.h>
|
|
||||||
|
|
||||||
#endif /* __i386_PCI_H */
|
#endif /* __i386_PCI_H */
|
||||||
|
|
|
@ -1,28 +1,9 @@
|
||||||
#ifndef __x8664_PCI_H
|
#ifndef __x8664_PCI_H
|
||||||
#define __x8664_PCI_H
|
#define __x8664_PCI_H
|
||||||
|
|
||||||
#include <asm/io.h>
|
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
||||||
|
|
||||||
struct pci_sysdata {
|
|
||||||
int domain; /* PCI domain */
|
|
||||||
int node; /* NUMA node */
|
|
||||||
void* iommu; /* IOMMU private data */
|
|
||||||
};
|
|
||||||
|
|
||||||
extern struct pci_bus *pci_scan_bus_with_sysdata(int busno);
|
|
||||||
|
|
||||||
static inline int pci_domain_nr(struct pci_bus *bus)
|
|
||||||
{
|
|
||||||
struct pci_sysdata *sd = bus->sysdata;
|
|
||||||
return sd->domain;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int pci_proc_domain(struct pci_bus *bus)
|
|
||||||
{
|
|
||||||
return pci_domain_nr(bus);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef CONFIG_CALGARY_IOMMU
|
#ifdef CONFIG_CALGARY_IOMMU
|
||||||
static inline void* pci_iommu(struct pci_bus *bus)
|
static inline void* pci_iommu(struct pci_bus *bus)
|
||||||
|
@ -38,40 +19,11 @@ static inline void set_pci_iommu(struct pci_bus *bus, void *val)
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_CALGARY_IOMMU */
|
#endif /* CONFIG_CALGARY_IOMMU */
|
||||||
|
|
||||||
#include <linux/mm.h> /* for struct page */
|
|
||||||
|
|
||||||
/* Can be used to override the logic in pci_scan_bus for skipping
|
|
||||||
already-configured bus numbers - to be used for buggy BIOSes
|
|
||||||
or architectures with incomplete PCI setup by the loader */
|
|
||||||
|
|
||||||
#ifdef CONFIG_PCI
|
|
||||||
extern unsigned int pcibios_assign_all_busses(void);
|
|
||||||
#else
|
|
||||||
#define pcibios_assign_all_busses() 0
|
|
||||||
#endif
|
|
||||||
#define pcibios_scan_all_fns(a, b) 0
|
|
||||||
|
|
||||||
extern unsigned long pci_mem_start;
|
|
||||||
#define PCIBIOS_MIN_IO 0x1000
|
|
||||||
#define PCIBIOS_MIN_MEM (pci_mem_start)
|
|
||||||
|
|
||||||
#define PCIBIOS_MIN_CARDBUS_IO 0x4000
|
|
||||||
|
|
||||||
void pcibios_config_init(void);
|
|
||||||
struct pci_bus * pcibios_scan_root(int bus);
|
|
||||||
extern int (*pci_config_read)(int seg, int bus, int dev, int fn, int reg, int len, u32 *value);
|
extern int (*pci_config_read)(int seg, int bus, int dev, int fn, int reg, int len, u32 *value);
|
||||||
extern int (*pci_config_write)(int seg, int bus, int dev, int fn, int reg, int len, u32 value);
|
extern int (*pci_config_write)(int seg, int bus, int dev, int fn, int reg, int len, u32 value);
|
||||||
|
|
||||||
void pcibios_set_master(struct pci_dev *dev);
|
|
||||||
void pcibios_penalize_isa_irq(int irq, int active);
|
|
||||||
struct irq_routing_table *pcibios_get_irq_routing_table(void);
|
|
||||||
int pcibios_set_irq_routing(struct pci_dev *dev, int pin, int irq);
|
|
||||||
|
|
||||||
#include <linux/types.h>
|
|
||||||
#include <linux/slab.h>
|
|
||||||
#include <asm/scatterlist.h>
|
|
||||||
#include <linux/string.h>
|
|
||||||
#include <asm/page.h>
|
|
||||||
|
|
||||||
extern void pci_iommu_alloc(void);
|
extern void pci_iommu_alloc(void);
|
||||||
extern int iommu_setup(char *opt);
|
extern int iommu_setup(char *opt);
|
||||||
|
@ -112,27 +64,7 @@ extern int iommu_setup(char *opt);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <asm-generic/pci-dma-compat.h>
|
|
||||||
|
|
||||||
#ifdef CONFIG_PCI
|
|
||||||
static inline void pci_dma_burst_advice(struct pci_dev *pdev,
|
|
||||||
enum pci_dma_burst_strategy *strat,
|
|
||||||
unsigned long *strategy_parameter)
|
|
||||||
{
|
|
||||||
*strat = PCI_DMA_BURST_INFINITY;
|
|
||||||
*strategy_parameter = ~0UL;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define HAVE_PCI_MMAP
|
|
||||||
extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,
|
|
||||||
enum pci_mmap_state mmap_state, int write_combine);
|
|
||||||
|
|
||||||
#endif /* __KERNEL__ */
|
#endif /* __KERNEL__ */
|
||||||
|
|
||||||
/* generic pci stuff */
|
|
||||||
#ifdef CONFIG_PCI
|
|
||||||
#include <asm-generic/pci.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __x8664_PCI_H */
|
#endif /* __x8664_PCI_H */
|
||||||
|
|
Loading…
Reference in a new issue