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 20extern int early_init_dt_scan_memory_arch(unsigned long node, 21 const char *uname, int depth, void *data); 22 23extern void device_tree_init(void); 24 25static 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 36struct boot_param_header; 37 38extern 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 */ 48static inline void device_tree_init(void) { } 49#endif /* CONFIG_OF */ 50 51extern char *mips_get_machine_name(void); 52extern void mips_set_machine_name(const char *name); 53 54#endif /* __ASM_PROM_H */ 55