#include <linux/poll.h>
 
 #include "u_fs.h"
+#include "u_f.h"
 #include "configfs.h"
 
 #define FUNCTIONFS_MAGIC       0xa647361 /* Chosen by a honest dice roll ;) */
 
-/* Variable Length Array Macros **********************************************/
-#define vla_group(groupname) size_t groupname##__next = 0
-#define vla_group_size(groupname) groupname##__next
-
-#define vla_item(groupname, type, name, n) \
-       size_t groupname##_##name##__offset = ({                               \
-               size_t align_mask = __alignof__(type) - 1;                     \
-               size_t offset = (groupname##__next + align_mask) & ~align_mask;\
-               size_t size = (n) * sizeof(type);                              \
-               groupname##__next = offset + size;                             \
-               offset;                                                        \
-       })
-
-#define vla_item_with_sz(groupname, type, name, n) \
-       size_t groupname##_##name##__sz = (n) * sizeof(type);                  \
-       size_t groupname##_##name##__offset = ({                               \
-               size_t align_mask = __alignof__(type) - 1;                     \
-               size_t offset = (groupname##__next + align_mask) & ~align_mask;\
-               size_t size = groupname##_##name##__sz;                        \
-               groupname##__next = offset + size;                             \
-               offset;                                                        \
-       })
-
-#define vla_ptr(ptr, groupname, name) \
-       ((void *) ((char *)ptr + groupname##_##name##__offset))
-
 /* Reference counter handling */
 static void ffs_data_get(struct ffs_data *ffs);
 static void ffs_data_put(struct ffs_data *ffs);
 
 #ifndef __U_F_H__
 #define __U_F_H__
 
+/* Variable Length Array Macros **********************************************/
+#define vla_group(groupname) size_t groupname##__next = 0
+#define vla_group_size(groupname) groupname##__next
+
+#define vla_item(groupname, type, name, n) \
+       size_t groupname##_##name##__offset = ({                               \
+               size_t align_mask = __alignof__(type) - 1;                     \
+               size_t offset = (groupname##__next + align_mask) & ~align_mask;\
+               size_t size = (n) * sizeof(type);                              \
+               groupname##__next = offset + size;                             \
+               offset;                                                        \
+       })
+
+#define vla_item_with_sz(groupname, type, name, n) \
+       size_t groupname##_##name##__sz = (n) * sizeof(type);                  \
+       size_t groupname##_##name##__offset = ({                               \
+               size_t align_mask = __alignof__(type) - 1;                     \
+               size_t offset = (groupname##__next + align_mask) & ~align_mask;\
+               size_t size = groupname##_##name##__sz;                        \
+               groupname##__next = offset + size;                             \
+               offset;                                                        \
+       })
+
+#define vla_ptr(ptr, groupname, name) \
+       ((void *) ((char *)ptr + groupname##_##name##__offset))
+
 struct usb_ep;
 struct usb_request;