1 /* 2 * arch/mips/include/asm/prom.h 3 * 4 * Copyright (C) 2010 Cisco Systems Inc. <dediao@cisco.com> 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 * 10 */ 11 #ifndef __ASM_PROM_H 12 #define __ASM_PROM_H 13 14 #ifdef CONFIG_OF 15 #include <linux/bug.h> 16 #include <linux/io.h> 17 #include <linux/types.h> 18 #include <asm/bootinfo.h> 19 20 extern int early_init_dt_scan_memory_arch(unsigned long node, 21 const char *uname, int depth, void *data); 22 23 extern void device_tree_init(void); 24 25 static inline unsigned long pci_address_to_pio(phys_addr_t address) 26 { 27 /* 28 * The ioport address can be directly used by inX() / outX() 29 */ 30 BUG_ON(address > IO_SPACE_LIMIT); 31 32 return (unsigned long) address; 33 } 34 #define pci_address_to_pio pci_address_to_pio 35 36 struct boot_param_header; 37 38 extern void __dt_setup_arch(struct boot_param_header *bph); 39 40 #define dt_setup_arch(sym) \ 41 ({ \ 42 extern struct boot_param_header __dtb_##sym##_begin; \ 43 \ 44 __dt_setup_arch(&__dtb_##sym##_begin); \ 45 }) 46 47 #else /* CONFIG_OF */ 48 static inline void device_tree_init(void) { } 49 #endif /* CONFIG_OF */ 50 51 #endif /* __ASM_PROM_H */ 52