|  | /* | 
|  | * Definitions for talking to the Open Firmware PROM on | 
|  | * Power Macintosh computers. | 
|  | * | 
|  | * Copyright (C) 1996 Paul Mackerras. | 
|  | */ | 
|  | #ifdef __KERNEL__ | 
|  | #ifndef _PPC_PROM_H | 
|  | #define _PPC_PROM_H | 
|  |  | 
|  | /* This is used in arch/ppc/mm/mem_pieces.h */ | 
|  | struct reg_property { | 
|  | unsigned int address; | 
|  | unsigned int size; | 
|  | }; | 
|  |  | 
|  | /* | 
|  | * These macros assist in performing the address calculations that we | 
|  | * need to do to access data when the kernel is running at an address | 
|  | * that is different from the address that the kernel is linked at. | 
|  | * The reloc_offset() function returns the difference between these | 
|  | * two addresses and the macros simplify the process of adding or | 
|  | * subtracting this offset to/from pointer values. | 
|  | */ | 
|  | extern unsigned long reloc_offset(void); | 
|  | extern unsigned long add_reloc_offset(unsigned long); | 
|  | extern unsigned long sub_reloc_offset(unsigned long); | 
|  |  | 
|  | #define PTRRELOC(x)	((typeof(x))add_reloc_offset((unsigned long)(x))) | 
|  | #define PTRUNRELOC(x)	((typeof(x))sub_reloc_offset((unsigned long)(x))) | 
|  |  | 
|  | /* | 
|  | * Fallback definitions since we don't support OF in arch/ppc any more. | 
|  | */ | 
|  | #define machine_is_compatible(x)		0 | 
|  | #define of_find_compatible_node(f, t, c)	NULL | 
|  | #define get_property(p, n, l)			NULL | 
|  |  | 
|  | #endif /* _PPC_PROM_H */ | 
|  | #endif /* __KERNEL__ */ |