diff --git a/libc/kernel/uapi/mtd/ubi-user.h b/libc/kernel/uapi/mtd/ubi-user.h
index dbe1279..e055172 100644
--- a/libc/kernel/uapi/mtd/ubi-user.h
+++ b/libc/kernel/uapi/mtd/ubi-user.h
@@ -19,9 +19,9 @@
 #ifndef __UBI_USER_H__
 #define __UBI_USER_H__
 #include <linux/types.h>
-#define UBI_VOL_NUM_AUTO (-1)
+#define UBI_VOL_NUM_AUTO (- 1)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define UBI_DEV_NUM_AUTO (-1)
+#define UBI_DEV_NUM_AUTO (- 1)
 #define UBI_MAX_VOLUME_NAME 127
 #define UBI_IOC_MAGIC 'o'
 #define UBI_IOCMKVOL _IOW(UBI_IOC_MAGIC, 0, struct ubi_mkvol_req)
@@ -42,82 +42,82 @@
 #define UBI_IOCEBUNMAP _IOW(UBI_VOL_IOC_MAGIC, 4, __s32)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define UBI_IOCEBISMAP _IOR(UBI_VOL_IOC_MAGIC, 5, __s32)
-#define UBI_IOCSETVOLPROP _IOW(UBI_VOL_IOC_MAGIC, 6,   struct ubi_set_vol_prop_req)
+#define UBI_IOCSETVOLPROP _IOW(UBI_VOL_IOC_MAGIC, 6, struct ubi_set_vol_prop_req)
 #define UBI_IOCVOLCRBLK _IOW(UBI_VOL_IOC_MAGIC, 7, struct ubi_blkcreate_req)
 #define UBI_IOCVOLRMBLK _IO(UBI_VOL_IOC_MAGIC, 8)
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define MAX_UBI_MTD_NAME_LEN 127
 #define UBI_MAX_RNVOL 32
 enum {
- UBI_DYNAMIC_VOLUME = 3,
+  UBI_DYNAMIC_VOLUME = 3,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- UBI_STATIC_VOLUME = 4,
+  UBI_STATIC_VOLUME = 4,
 };
 enum {
- UBI_VOL_PROP_DIRECT_WRITE = 1,
+  UBI_VOL_PROP_DIRECT_WRITE = 1,
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct ubi_attach_req {
- __s32 ubi_num;
- __s32 mtd_num;
+  __s32 ubi_num;
+  __s32 mtd_num;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __s32 vid_hdr_offset;
- __s16 max_beb_per1024;
- __s8 padding[10];
+  __s32 vid_hdr_offset;
+  __s16 max_beb_per1024;
+  __s8 padding[10];
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct ubi_mkvol_req {
- __s32 vol_id;
- __s32 alignment;
- __s64 bytes;
+  __s32 vol_id;
+  __s32 alignment;
+  __s64 bytes;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __s8 vol_type;
- __s8 padding1;
- __s16 name_len;
- __s8 padding2[4];
+  __s8 vol_type;
+  __s8 padding1;
+  __s16 name_len;
+  __s8 padding2[4];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- char name[UBI_MAX_VOLUME_NAME + 1];
+  char name[UBI_MAX_VOLUME_NAME + 1];
 } __packed;
 struct ubi_rsvol_req {
- __s64 bytes;
+  __s64 bytes;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __s32 vol_id;
+  __s32 vol_id;
 } __packed;
 struct ubi_rnvol_req {
- __s32 count;
+  __s32 count;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __s8 padding1[12];
- struct {
- __s32 vol_id;
- __s16 name_len;
+  __s8 padding1[12];
+  struct {
+    __s32 vol_id;
+    __s16 name_len;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __s8 padding2[2];
- char name[UBI_MAX_VOLUME_NAME + 1];
- } ents[UBI_MAX_RNVOL];
+    __s8 padding2[2];
+    char name[UBI_MAX_VOLUME_NAME + 1];
+  } ents[UBI_MAX_RNVOL];
 } __packed;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct ubi_leb_change_req {
- __s32 lnum;
- __s32 bytes;
- __s8 dtype;
+  __s32 lnum;
+  __s32 bytes;
+  __s8 dtype;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __s8 padding[7];
+  __s8 padding[7];
 } __packed;
 struct ubi_map_req {
- __s32 lnum;
+  __s32 lnum;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __s8 dtype;
- __s8 padding[3];
+  __s8 dtype;
+  __s8 padding[3];
 } __packed;
 struct ubi_set_vol_prop_req {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 property;
- __u8 padding[7];
- __u64 value;
+  __u8 property;
+  __u8 padding[7];
+  __u64 value;
 } __packed;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct ubi_blkcreate_req {
- __s8 padding[128];
+  __s8 padding[128];
 } __packed;
 #endif
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
