Use an enum instead of #defines for panthor IOCTLs. This allows the header to be used with Rust code as bindgen can't handle complex defines.
Showing the changes to include/uapi (1 of 1 file). Show all
Unified · Split
| @@ -129,48 +129,6 @@ enum drm_panthor_ioctl_id { · 128 unmodified lines | ||
| 129 | 129 | DRM_PANTHOR_TILER_HEAP_DESTROY, |
| 130 | 130 | }; |
| 131 | 131 | |
| 132 | −/** | |
| 133 | − * DRM_IOCTL_PANTHOR() - Build a Panthor IOCTL number | |
| 134 | − * @__access: Access type. Must be R, W or RW. | |
| 135 | − * @__id: One of the DRM_PANTHOR_xxx id. | |
| 136 | − * @__type: Suffix of the type being passed to the IOCTL. | |
| 137 | − * | |
| 138 | − * Don't use this macro directly, use the DRM_IOCTL_PANTHOR_xxx | |
| 139 | − * values instead. | |
| 140 | − * | |
| 141 | − * Return: An IOCTL number to be passed to ioctl() from userspace. | |
| 142 | − */ | |
| 143 | −#define DRM_IOCTL_PANTHOR(__access, __id, __type) \ | |
| 144 | − DRM_IO ## __access(DRM_COMMAND_BASE + DRM_PANTHOR_ ## __id, \ | |
| 145 | − struct drm_panthor_ ## __type) | |
| 146 | − | |
| 147 | −#define DRM_IOCTL_PANTHOR_DEV_QUERY \ | |
| 148 | − DRM_IOCTL_PANTHOR(WR, DEV_QUERY, dev_query) | |
| 149 | −#define DRM_IOCTL_PANTHOR_VM_CREATE \ | |
| 150 | − DRM_IOCTL_PANTHOR(WR, VM_CREATE, vm_create) | |
| 151 | −#define DRM_IOCTL_PANTHOR_VM_DESTROY \ | |
| 152 | − DRM_IOCTL_PANTHOR(WR, VM_DESTROY, vm_destroy) | |
| 153 | −#define DRM_IOCTL_PANTHOR_VM_BIND \ | |
| 154 | − DRM_IOCTL_PANTHOR(WR, VM_BIND, vm_bind) | |
| 155 | −#define DRM_IOCTL_PANTHOR_VM_GET_STATE \ | |
| 156 | − DRM_IOCTL_PANTHOR(WR, VM_GET_STATE, vm_get_state) | |
| 157 | −#define DRM_IOCTL_PANTHOR_BO_CREATE \ | |
| 158 | − DRM_IOCTL_PANTHOR(WR, BO_CREATE, bo_create) | |
| 159 | −#define DRM_IOCTL_PANTHOR_BO_MMAP_OFFSET \ | |
| 160 | − DRM_IOCTL_PANTHOR(WR, BO_MMAP_OFFSET, bo_mmap_offset) | |
| 161 | −#define DRM_IOCTL_PANTHOR_GROUP_CREATE \ | |
| 162 | − DRM_IOCTL_PANTHOR(WR, GROUP_CREATE, group_create) | |
| 163 | −#define DRM_IOCTL_PANTHOR_GROUP_DESTROY \ | |
| 164 | − DRM_IOCTL_PANTHOR(WR, GROUP_DESTROY, group_destroy) | |
| 165 | −#define DRM_IOCTL_PANTHOR_GROUP_SUBMIT \ | |
| 166 | − DRM_IOCTL_PANTHOR(WR, GROUP_SUBMIT, group_submit) | |
| 167 | −#define DRM_IOCTL_PANTHOR_GROUP_GET_STATE \ | |
| 168 | − DRM_IOCTL_PANTHOR(WR, GROUP_GET_STATE, group_get_state) | |
| 169 | −#define DRM_IOCTL_PANTHOR_TILER_HEAP_CREATE \ | |
| 170 | − DRM_IOCTL_PANTHOR(WR, TILER_HEAP_CREATE, tiler_heap_create) | |
| 171 | −#define DRM_IOCTL_PANTHOR_TILER_HEAP_DESTROY \ | |
| 172 | − DRM_IOCTL_PANTHOR(WR, TILER_HEAP_DESTROY, tiler_heap_destroy) | |
| 173 | − | |
| 174 | 132 | /** |
| 175 | 133 | * DOC: IOCTL arguments |
| 176 | 134 | */ |
| @@ -1019,6 +977,50 @@ struct drm_panthor_tiler_heap_destroy { · 842 unmodified lines | ||
| 1019 | 977 | __u32 pad; |
| 1020 | 978 | }; |
| 1021 | 979 | |
| 980 | +/** | |
| 981 | + * DRM_IOCTL_PANTHOR() - Build a Panthor IOCTL number | |
| 982 | + * @__access: Access type. Must be R, W or RW. | |
| 983 | + * @__id: One of the DRM_PANTHOR_xxx id. | |
| 984 | + * @__type: Suffix of the type being passed to the IOCTL. | |
| 985 | + * | |
| 986 | + * Don't use this macro directly, use the DRM_IOCTL_PANTHOR_xxx | |
| 987 | + * values instead. | |
| 988 | + * | |
| 989 | + * Return: An IOCTL number to be passed to ioctl() from userspace. | |
| 990 | + */ | |
| 991 | +#define DRM_IOCTL_PANTHOR(__access, __id, __type) \ | |
| 992 | + DRM_IO ## __access(DRM_COMMAND_BASE + DRM_PANTHOR_ ## __id, \ | |
| 993 | + struct drm_panthor_ ## __type) | |
| 994 | + | |
| 995 | +enum { | |
| 996 | + DRM_IOCTL_PANTHOR_DEV_QUERY = | |
| 997 | + DRM_IOCTL_PANTHOR(WR, DEV_QUERY, dev_query), | |
| 998 | + DRM_IOCTL_PANTHOR_VM_CREATE = | |
| 999 | + DRM_IOCTL_PANTHOR(WR, VM_CREATE, vm_create), | |
| 1000 | + DRM_IOCTL_PANTHOR_VM_DESTROY = | |
| 1001 | + DRM_IOCTL_PANTHOR(WR, VM_DESTROY, vm_destroy), | |
| 1002 | + DRM_IOCTL_PANTHOR_VM_BIND = | |
| 1003 | + DRM_IOCTL_PANTHOR(WR, VM_BIND, vm_bind), | |
| 1004 | + DRM_IOCTL_PANTHOR_VM_GET_STATE = | |
| 1005 | + DRM_IOCTL_PANTHOR(WR, VM_GET_STATE, vm_get_state), | |
| 1006 | + DRM_IOCTL_PANTHOR_BO_CREATE = | |
| 1007 | + DRM_IOCTL_PANTHOR(WR, BO_CREATE, bo_create), | |
| 1008 | + DRM_IOCTL_PANTHOR_BO_MMAP_OFFSET = | |
| 1009 | + DRM_IOCTL_PANTHOR(WR, BO_MMAP_OFFSET, bo_mmap_offset), | |
| 1010 | + DRM_IOCTL_PANTHOR_GROUP_CREATE = | |
| 1011 | + DRM_IOCTL_PANTHOR(WR, GROUP_CREATE, group_create), | |
| 1012 | + DRM_IOCTL_PANTHOR_GROUP_DESTROY = | |
| 1013 | + DRM_IOCTL_PANTHOR(WR, GROUP_DESTROY, group_destroy), | |
| 1014 | + DRM_IOCTL_PANTHOR_GROUP_SUBMIT = | |
| 1015 | + DRM_IOCTL_PANTHOR(WR, GROUP_SUBMIT, group_submit), | |
| 1016 | + DRM_IOCTL_PANTHOR_GROUP_GET_STATE = | |
| 1017 | + DRM_IOCTL_PANTHOR(WR, GROUP_GET_STATE, group_get_state), | |
| 1018 | + DRM_IOCTL_PANTHOR_TILER_HEAP_CREATE = | |
| 1019 | + DRM_IOCTL_PANTHOR(WR, TILER_HEAP_CREATE, tiler_heap_create), | |
| 1020 | + DRM_IOCTL_PANTHOR_TILER_HEAP_DESTROY = | |
| 1021 | + DRM_IOCTL_PANTHOR(WR, TILER_HEAP_DESTROY, tiler_heap_destroy), | |
| 1022 | +}; | |
| 1023 | + | |
| 1022 | 1024 | #if defined(__cplusplus) |
| 1023 | 1025 | } |
| 1024 | 1026 | #endif |