diff --git a/libc/kernel/uapi/mtd/inftl-user.h b/libc/kernel/uapi/mtd/inftl-user.h
index 926de01..85ef0b5 100644
--- a/libc/kernel/uapi/mtd/inftl-user.h
+++ b/libc/kernel/uapi/mtd/inftl-user.h
@@ -24,72 +24,72 @@
 #define PERCENTUSED 98
 #define SECTORSIZE 512
 struct inftl_bci {
- __u8 ECCsig[6];
+  __u8 ECCsig[6];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 Status;
- __u8 Status1;
+  __u8 Status;
+  __u8 Status1;
 } __attribute__((packed));
 struct inftl_unithead1 {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u16 virtualUnitNo;
- __u16 prevUnitNo;
- __u8 ANAC;
- __u8 NACs;
+  __u16 virtualUnitNo;
+  __u16 prevUnitNo;
+  __u8 ANAC;
+  __u8 NACs;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 parityPerField;
- __u8 discarded;
+  __u8 parityPerField;
+  __u8 discarded;
 } __attribute__((packed));
 struct inftl_unithead2 {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 parityPerField;
- __u8 ANAC;
- __u16 prevUnitNo;
- __u16 virtualUnitNo;
+  __u8 parityPerField;
+  __u8 ANAC;
+  __u16 prevUnitNo;
+  __u16 virtualUnitNo;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 NACs;
- __u8 discarded;
+  __u8 NACs;
+  __u8 discarded;
 } __attribute__((packed));
 struct inftl_unittail {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 Reserved[4];
- __u16 EraseMark;
- __u16 EraseMark1;
+  __u8 Reserved[4];
+  __u16 EraseMark;
+  __u16 EraseMark1;
 } __attribute__((packed));
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 union inftl_uci {
- struct inftl_unithead1 a;
- struct inftl_unithead2 b;
- struct inftl_unittail c;
+  struct inftl_unithead1 a;
+  struct inftl_unithead2 b;
+  struct inftl_unittail c;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct inftl_oob {
- struct inftl_bci b;
- union inftl_uci u;
+  struct inftl_bci b;
+  union inftl_uci u;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct INFTLPartition {
- __u32 virtualUnits;
- __u32 firstUnit;
+  __u32 virtualUnits;
+  __u32 firstUnit;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u32 lastUnit;
- __u32 flags;
- __u32 spareUnits;
- __u32 Reserved0;
+  __u32 lastUnit;
+  __u32 flags;
+  __u32 spareUnits;
+  __u32 Reserved0;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u32 Reserved1;
+  __u32 Reserved1;
 } __attribute__((packed));
 struct INFTLMediaHeader {
- char bootRecordID[8];
+  char bootRecordID[8];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u32 NoOfBootImageBlocks;
- __u32 NoOfBinaryPartitions;
- __u32 NoOfBDTLPartitions;
- __u32 BlockMultiplierBits;
+  __u32 NoOfBootImageBlocks;
+  __u32 NoOfBinaryPartitions;
+  __u32 NoOfBDTLPartitions;
+  __u32 BlockMultiplierBits;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u32 FormatFlags;
- __u32 OsakVersion;
- __u32 PercentUsed;
- struct INFTLPartition Partitions[4];
+  __u32 FormatFlags;
+  __u32 OsakVersion;
+  __u32 PercentUsed;
+  struct INFTLPartition Partitions[4];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 } __attribute__((packed));
 #define INFTL_BINARY 0x20000000
