| 
									
										
										
										
											2014-02-28 14:42:48 +01:00
										 |  |  | #ifndef __OF_RESERVED_MEM_H
 | 
					
						
							|  |  |  | #define __OF_RESERVED_MEM_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-28 14:42:49 +01:00
										 |  |  | struct device; | 
					
						
							|  |  |  | struct of_phandle_args; | 
					
						
							|  |  |  | struct reserved_mem_ops; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-28 14:42:48 +01:00
										 |  |  | struct reserved_mem { | 
					
						
							|  |  |  | 	const char			*name; | 
					
						
							|  |  |  | 	unsigned long			fdt_node; | 
					
						
							| 
									
										
										
										
											2014-07-14 10:28:04 +02:00
										 |  |  | 	unsigned long			phandle; | 
					
						
							| 
									
										
										
										
											2014-02-28 14:42:49 +01:00
										 |  |  | 	const struct reserved_mem_ops	*ops; | 
					
						
							| 
									
										
										
										
											2014-02-28 14:42:48 +01:00
										 |  |  | 	phys_addr_t			base; | 
					
						
							|  |  |  | 	phys_addr_t			size; | 
					
						
							| 
									
										
										
										
											2014-02-28 14:42:49 +01:00
										 |  |  | 	void				*priv; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct reserved_mem_ops { | 
					
						
							|  |  |  | 	void	(*device_init)(struct reserved_mem *rmem, | 
					
						
							|  |  |  | 			       struct device *dev); | 
					
						
							|  |  |  | 	void	(*device_release)(struct reserved_mem *rmem, | 
					
						
							|  |  |  | 				  struct device *dev); | 
					
						
							| 
									
										
										
										
											2014-02-28 14:42:48 +01:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-08 16:06:17 -05:00
										 |  |  | typedef int (*reservedmem_of_init_fn)(struct reserved_mem *rmem); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-08 16:09:24 -05:00
										 |  |  | #define RESERVEDMEM_OF_DECLARE(name, compat, init)			\
 | 
					
						
							|  |  |  | 	_OF_DECLARE(reservedmem, name, compat, init, reservedmem_of_init_fn) | 
					
						
							| 
									
										
										
										
											2014-02-28 14:42:49 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-28 14:42:48 +01:00
										 |  |  | #ifdef CONFIG_OF_RESERVED_MEM
 | 
					
						
							| 
									
										
										
										
											2014-07-14 10:28:04 +02:00
										 |  |  | void of_reserved_mem_device_init(struct device *dev); | 
					
						
							|  |  |  | void of_reserved_mem_device_release(struct device *dev); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-28 14:42:48 +01:00
										 |  |  | void fdt_init_reserved_mem(void); | 
					
						
							|  |  |  | void fdt_reserved_mem_save_node(unsigned long node, const char *uname, | 
					
						
							|  |  |  | 			       phys_addr_t base, phys_addr_t size); | 
					
						
							|  |  |  | #else
 | 
					
						
							| 
									
										
										
										
											2014-07-14 10:28:04 +02:00
										 |  |  | static inline void of_reserved_mem_device_init(struct device *dev) { } | 
					
						
							|  |  |  | static inline void of_reserved_mem_device_release(struct device *pdev) { } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-28 14:42:48 +01:00
										 |  |  | static inline void fdt_init_reserved_mem(void) { } | 
					
						
							|  |  |  | static inline void fdt_reserved_mem_save_node(unsigned long node, | 
					
						
							|  |  |  | 		const char *uname, phys_addr_t base, phys_addr_t size) { } | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* __OF_RESERVED_MEM_H */
 |