| /* SPDX-License-Identifier: GPL-2.0 */ | 
 | #ifndef _LINUX_HUGETLB_CMA_H | 
 | #define _LINUX_HUGETLB_CMA_H | 
 |  | 
 | #ifdef CONFIG_CMA | 
 | void hugetlb_cma_free_folio(struct folio *folio); | 
 | struct folio *hugetlb_cma_alloc_folio(struct hstate *h, gfp_t gfp_mask, | 
 | 				      int nid, nodemask_t *nodemask); | 
 | struct huge_bootmem_page *hugetlb_cma_alloc_bootmem(struct hstate *h, int *nid, | 
 | 						    bool node_exact); | 
 | void hugetlb_cma_check(void); | 
 | bool hugetlb_cma_exclusive_alloc(void); | 
 | unsigned long hugetlb_cma_total_size(void); | 
 | void hugetlb_cma_validate_params(void); | 
 | bool hugetlb_early_cma(struct hstate *h); | 
 | #else | 
 | static inline void hugetlb_cma_free_folio(struct folio *folio) | 
 | { | 
 | } | 
 |  | 
 | static inline struct folio *hugetlb_cma_alloc_folio(struct hstate *h, | 
 | 	    gfp_t gfp_mask, int nid, nodemask_t *nodemask) | 
 | { | 
 | 	return NULL; | 
 | } | 
 |  | 
 | static inline | 
 | struct huge_bootmem_page *hugetlb_cma_alloc_bootmem(struct hstate *h, int *nid, | 
 | 						    bool node_exact) | 
 | { | 
 | 	return NULL; | 
 | } | 
 |  | 
 | static inline void hugetlb_cma_check(void) | 
 | { | 
 | } | 
 |  | 
 | static inline bool hugetlb_cma_exclusive_alloc(void) | 
 | { | 
 | 	return false; | 
 | } | 
 |  | 
 | static inline unsigned long hugetlb_cma_total_size(void) | 
 | { | 
 | 	return 0; | 
 | } | 
 |  | 
 | static inline void hugetlb_cma_validate_params(void) | 
 | { | 
 | } | 
 |  | 
 | static inline bool hugetlb_early_cma(struct hstate *h) | 
 | { | 
 | 	return false; | 
 | } | 
 | #endif | 
 | #endif |