Index: arch/v850/kernel/rte_mb_a_pci.c =================================================================== RCS file: /var/cvs/uClinux-2.4.x/arch/v850/kernel/rte_mb_a_pci.c,v retrieving revision 1.2 diff -u -r1.2 rte_mb_a_pci.c --- arch/v850/kernel/rte_mb_a_pci.c 2002/01/29 22:29:43 1.2 +++ arch/v850/kernel/rte_mb_a_pci.c 2002/03/28 03:27:17 @@ -11,7 +11,9 @@ * Written by Miles Bader */ +#include #include +#include #include #include #include @@ -19,6 +21,15 @@ #include +/* __nomods_init is like __devinit, but is a no-op when modules are enabled. + This is used by some routines that can be called either during boot + or by a module. */ +#ifdef CONFIG_MODULES +#define __nomods_init /*nothing*/ +#else +#define __nomods_init __devinit +#endif + /* PCI devices on the Mother-A board can only do DMA to/from the MB SRAM (the RTE-V850E/MA1-CB cpu board doesn't support PCI access to CPU-board memory), and since linux DMA buffers are allocated in @@ -140,7 +151,7 @@ static struct pci_bus *mb_pci_bus = 0; /* Do initial PCI setup. */ -void __init pcibios_init (void) +void __devinit pcibios_init (void) { u32 id = MB_A_PCI_PCIHIDR; u16 vendor = id & 0xFFFF; @@ -178,14 +189,14 @@ printk (KERN_ERR "PCI: HOST/PCI bridge not found\n"); } -char __init *pcibios_setup (char *option) +char __devinit *pcibios_setup (char *option) { /* Don't handle any options. */ return option; } -int __init pcibios_enable_device(struct pci_dev *dev) +int __nomods_init pcibios_enable_device(struct pci_dev *dev) { u16 cmd, old_cmd; int idx; @@ -215,7 +226,7 @@ /* Resource allocation. */ -static void __init pcibios_assign_resources (void) +static void __devinit pcibios_assign_resources (void) { struct pci_dev *dev; struct resource *r; @@ -263,13 +274,13 @@ } } -void __init pcibios_update_irq (struct pci_dev *dev, int irq) +void __devinit pcibios_update_irq (struct pci_dev *dev, int irq) { dev->irq = irq; pci_write_config_byte (dev, PCI_INTERRUPT_LINE, irq); } -void __init +void __nomods_init pcibios_update_resource (struct pci_dev *dev, struct resource *root, struct resource *r, int resource) { @@ -315,11 +326,12 @@ struct pci_fixup pcibios_fixups[] = { { 0 } }; /* Called after each bus is probed, but before its children are examined. */ -void __init pcibios_fixup_bus(struct pci_bus *b) +void pcibios_fixup_bus(struct pci_bus *b) { } -void pcibios_align_resource (void *data, struct resource *res, unsigned long size) +void +pcibios_align_resource (void *data, struct resource *res, unsigned long size) { } @@ -750,3 +762,12 @@ void *mb_sram_mem = PCI_TO_MB_SRAM (dma_addr); free_mb_sram (mb_sram_mem, size); } + + +/* symbol exports (for modules) */ + +EXPORT_SYMBOL (pci_map_single); +EXPORT_SYMBOL (pci_unmap_single); +EXPORT_SYMBOL (pci_alloc_consistent); +EXPORT_SYMBOL (pci_free_consistent); +EXPORT_SYMBOL (pci_dma_sync_single);