+ vdata->major =
cpu_to_be16(LIQUIDIO_BASE_MAJOR_VERSION);
+ vdata->minor =
cpu_to_be16(LIQUIDIO_BASE_MINOR_VERSION);
+ vdata->micro =
cpu_to_be16(LIQUIDIO_BASE_MICRO_VERSION);
Will probably add sparse warnings.
+#define LIO_STR_HELPER(x) #x
+#define LIO_STR(x) LIO_STR_HELPER(x)
This is basically __stringify()
+struct lio_version {
+ u64 major:16;
+ u64 minor:16;
+ u64 micro:16;
+ u64 reserved:16;
+};
You probably want those typed, not merely bits out of u64.
But even if you didn't, what's the benefit this has over u16s?