1f08c3bdfSopenharmony_ci/* Resembles include/linux/compiler_types.h */ 2f08c3bdfSopenharmony_ci#define __kernel __attribute__((address_space(0))) 3f08c3bdfSopenharmony_ci#define __user __attribute__((address_space(1))) 4f08c3bdfSopenharmony_ci#define __iomem __attribute__((address_space(2))) 5f08c3bdfSopenharmony_ci#define __percpu __attribute__((address_space(3))) 6f08c3bdfSopenharmony_ci#define __rcu __attribute__((address_space(4))) 7f08c3bdfSopenharmony_ci 8f08c3bdfSopenharmony_ci 9f08c3bdfSopenharmony_citypedef unsigned long ulong; 10f08c3bdfSopenharmony_citypedef struct s obj_t; 11f08c3bdfSopenharmony_ci 12f08c3bdfSopenharmony_cistatic void expl(obj_t __kernel *k, obj_t __iomem *o, 13f08c3bdfSopenharmony_ci obj_t __user *p, obj_t __percpu *pc, 14f08c3bdfSopenharmony_ci obj_t __rcu *r) 15f08c3bdfSopenharmony_ci{ 16f08c3bdfSopenharmony_ci (ulong)(k); (__UINTPTR_TYPE__)(k); 17f08c3bdfSopenharmony_ci (void *)(k); 18f08c3bdfSopenharmony_ci (obj_t*)(k); 19f08c3bdfSopenharmony_ci (obj_t __kernel*)(k); 20f08c3bdfSopenharmony_ci 21f08c3bdfSopenharmony_ci (ulong)(o); (__UINTPTR_TYPE__)(o); 22f08c3bdfSopenharmony_ci (void *)(o); 23f08c3bdfSopenharmony_ci (obj_t*)(o); 24f08c3bdfSopenharmony_ci (obj_t __iomem*)(o); 25f08c3bdfSopenharmony_ci 26f08c3bdfSopenharmony_ci (ulong)(p); (__UINTPTR_TYPE__)(p); 27f08c3bdfSopenharmony_ci (void *)(p); 28f08c3bdfSopenharmony_ci (obj_t*)(p); 29f08c3bdfSopenharmony_ci (obj_t __user*)(p); 30f08c3bdfSopenharmony_ci 31f08c3bdfSopenharmony_ci (ulong)(pc); (__UINTPTR_TYPE__)(pc); 32f08c3bdfSopenharmony_ci (void *)(pc); 33f08c3bdfSopenharmony_ci (obj_t*)(pc); 34f08c3bdfSopenharmony_ci (obj_t __percpu*)(pc); 35f08c3bdfSopenharmony_ci 36f08c3bdfSopenharmony_ci (ulong)(r); (__UINTPTR_TYPE__)(r); 37f08c3bdfSopenharmony_ci (void *)(r); 38f08c3bdfSopenharmony_ci (obj_t*)(r); 39f08c3bdfSopenharmony_ci (obj_t __rcu*)(r); 40f08c3bdfSopenharmony_ci} 41f08c3bdfSopenharmony_ci 42f08c3bdfSopenharmony_ci/* 43f08c3bdfSopenharmony_ci * check-name: Waddress-space-all-attr 44f08c3bdfSopenharmony_ci * check-command: sparse -Wcast-from-as -Wcast-to-as $file 45f08c3bdfSopenharmony_ci * 46f08c3bdfSopenharmony_ci * check-error-start 47f08c3bdfSopenharmony_ciWaddress-space-all-attr.c:21:10: warning: cast removes address space '<asn:2>' of expression 48f08c3bdfSopenharmony_ciWaddress-space-all-attr.c:21:22: warning: cast removes address space '<asn:2>' of expression 49f08c3bdfSopenharmony_ciWaddress-space-all-attr.c:22:10: warning: cast removes address space '<asn:2>' of expression 50f08c3bdfSopenharmony_ciWaddress-space-all-attr.c:23:10: warning: cast removes address space '<asn:2>' of expression 51f08c3bdfSopenharmony_ciWaddress-space-all-attr.c:26:10: warning: cast removes address space '<asn:1>' of expression 52f08c3bdfSopenharmony_ciWaddress-space-all-attr.c:26:22: warning: cast removes address space '<asn:1>' of expression 53f08c3bdfSopenharmony_ciWaddress-space-all-attr.c:27:10: warning: cast removes address space '<asn:1>' of expression 54f08c3bdfSopenharmony_ciWaddress-space-all-attr.c:28:10: warning: cast removes address space '<asn:1>' of expression 55f08c3bdfSopenharmony_ciWaddress-space-all-attr.c:31:10: warning: cast removes address space '<asn:3>' of expression 56f08c3bdfSopenharmony_ciWaddress-space-all-attr.c:31:23: warning: cast removes address space '<asn:3>' of expression 57f08c3bdfSopenharmony_ciWaddress-space-all-attr.c:32:10: warning: cast removes address space '<asn:3>' of expression 58f08c3bdfSopenharmony_ciWaddress-space-all-attr.c:33:10: warning: cast removes address space '<asn:3>' of expression 59f08c3bdfSopenharmony_ciWaddress-space-all-attr.c:36:10: warning: cast removes address space '<asn:4>' of expression 60f08c3bdfSopenharmony_ciWaddress-space-all-attr.c:36:22: warning: cast removes address space '<asn:4>' of expression 61f08c3bdfSopenharmony_ciWaddress-space-all-attr.c:37:10: warning: cast removes address space '<asn:4>' of expression 62f08c3bdfSopenharmony_ciWaddress-space-all-attr.c:38:10: warning: cast removes address space '<asn:4>' of expression 63f08c3bdfSopenharmony_ci * check-error-end 64f08c3bdfSopenharmony_ci */ 65