|  | /* SPDX-License-Identifier: GPL-2.0 */ | 
|  |  | 
|  | #ifndef __ASM_CSKY_TCM_H | 
|  | #define __ASM_CSKY_TCM_H | 
|  |  | 
|  | #ifndef CONFIG_HAVE_TCM | 
|  | #error "You should not be including tcm.h unless you have a TCM!" | 
|  | #endif | 
|  |  | 
|  | #include <linux/compiler.h> | 
|  |  | 
|  | /* Tag variables with this */ | 
|  | #define __tcmdata __section(".tcm.data") | 
|  | /* Tag constants with this */ | 
|  | #define __tcmconst __section(".tcm.rodata") | 
|  | /* Tag functions inside TCM called from outside TCM with this */ | 
|  | #define __tcmfunc __section(".tcm.text") noinline | 
|  | /* Tag function inside TCM called from inside TCM  with this */ | 
|  | #define __tcmlocalfunc __section(".tcm.text") | 
|  |  | 
|  | void *tcm_alloc(size_t len); | 
|  | void tcm_free(void *addr, size_t len); | 
|  |  | 
|  | #endif |