diff --git a/libc/kernel/common/linux/kd.h b/libc/kernel/common/linux/kd.h
index 9d6fea3..08335df 100644
--- a/libc/kernel/common/linux/kd.h
+++ b/libc/kernel/common/linux/kd.h
@@ -21,10 +21,10 @@
 #include <linux/types.h>
 #include <linux/compiler.h>
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define GIO_FONT 0x4B60  
-#define PIO_FONT 0x4B61  
-#define GIO_FONTX 0x4B6B  
-#define PIO_FONTX 0x4B6C  
+#define GIO_FONT 0x4B60
+#define PIO_FONT 0x4B61
+#define GIO_FONTX 0x4B6B
+#define PIO_FONTX 0x4B6C
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct consolefontdesc {
  unsigned short charcount;
@@ -32,47 +32,47 @@
  char __user *chardata;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
-#define PIO_FONTRESET 0x4B6D  
-#define GIO_CMAP 0x4B70  
-#define PIO_CMAP 0x4B71  
+#define PIO_FONTRESET 0x4B6D
+#define GIO_CMAP 0x4B70
+#define PIO_CMAP 0x4B71
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define KIOCSOUND 0x4B2F  
-#define KDMKTONE 0x4B30  
-#define KDGETLED 0x4B31  
-#define KDSETLED 0x4B32  
+#define KIOCSOUND 0x4B2F
+#define KDMKTONE 0x4B30
+#define KDGETLED 0x4B31
+#define KDSETLED 0x4B32
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define LED_SCR 0x01  
-#define LED_NUM 0x02  
-#define LED_CAP 0x04  
-#define KDGKBTYPE 0x4B33  
+#define LED_SCR 0x01
+#define LED_NUM 0x02
+#define LED_CAP 0x04
+#define KDGKBTYPE 0x4B33
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define KB_84 0x01
-#define KB_101 0x02  
+#define KB_101 0x02
 #define KB_OTHER 0x03
-#define KDADDIO 0x4B34  
+#define KDADDIO 0x4B34
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define KDDELIO 0x4B35  
-#define KDENABIO 0x4B36  
-#define KDDISABIO 0x4B37  
-#define KDSETMODE 0x4B3A  
+#define KDDELIO 0x4B35
+#define KDENABIO 0x4B36
+#define KDDISABIO 0x4B37
+#define KDSETMODE 0x4B3A
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define KD_TEXT 0x00
 #define KD_GRAPHICS 0x01
-#define KD_TEXT0 0x02  
-#define KD_TEXT1 0x03  
+#define KD_TEXT0 0x02
+#define KD_TEXT1 0x03
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define KDGETMODE 0x4B3B  
-#define KDMAPDISP 0x4B3C  
-#define KDUNMAPDISP 0x4B3D  
+#define KDGETMODE 0x4B3B
+#define KDMAPDISP 0x4B3C
+#define KDUNMAPDISP 0x4B3D
 typedef char scrnmap_t;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define E_TABSZ 256
-#define GIO_SCRNMAP 0x4B40  
-#define PIO_SCRNMAP 0x4B41  
-#define GIO_UNISCRNMAP 0x4B69  
+#define GIO_SCRNMAP 0x4B40
+#define PIO_SCRNMAP 0x4B41
+#define GIO_UNISCRNMAP 0x4B69
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define PIO_UNISCRNMAP 0x4B6A  
-#define GIO_UNIMAP 0x4B66  
+#define PIO_UNISCRNMAP 0x4B6A
+#define GIO_UNIMAP 0x4B66
 struct unipair {
  unsigned short unicode;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
@@ -83,8 +83,8 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct unipair __user *entries;
 };
-#define PIO_UNIMAP 0x4B67  
-#define PIO_UNIMAPCLR 0x4B68  
+#define PIO_UNIMAP 0x4B67
+#define PIO_UNIMAPCLR 0x4B68
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct unimapinit {
  unsigned short advised_hashsize;
@@ -92,27 +92,27 @@
  unsigned short advised_hashlevel;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
-#define UNI_DIRECT_BASE 0xF000  
-#define UNI_DIRECT_MASK 0x01FF  
+#define UNI_DIRECT_BASE 0xF000
+#define UNI_DIRECT_MASK 0x01FF
 #define K_RAW 0x00
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define K_XLATE 0x01
 #define K_MEDIUMRAW 0x02
 #define K_UNICODE 0x03
-#define KDGKBMODE 0x4B44  
+#define KDGKBMODE 0x4B44
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define KDSKBMODE 0x4B45  
+#define KDSKBMODE 0x4B45
 #define K_METABIT 0x03
 #define K_ESCPREFIX 0x04
-#define KDGKBMETA 0x4B62  
+#define KDGKBMETA 0x4B62
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define KDSKBMETA 0x4B63  
+#define KDSKBMETA 0x4B63
 #define K_SCROLLLOCK 0x01
 #define K_NUMLOCK 0x02
 #define K_CAPSLOCK 0x04
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define KDGKBLED 0x4B64  
-#define KDSKBLED 0x4B65  
+#define KDGKBLED 0x4B64
+#define KDSKBLED 0x4B65
 struct kbentry {
  unsigned char kb_table;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
@@ -124,16 +124,16 @@
 #define K_SHIFTTAB 0x01
 #define K_ALTTAB 0x02
 #define K_ALTSHIFTTAB 0x03
-#define KDGKBENT 0x4B46  
+#define KDGKBENT 0x4B46
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define KDSKBENT 0x4B47  
+#define KDSKBENT 0x4B47
 struct kbsentry {
  unsigned char kb_func;
  unsigned char kb_string[512];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
-#define KDGKBSENT 0x4B48  
-#define KDSKBSENT 0x4B49  
+#define KDGKBSENT 0x4B48
+#define KDSKBSENT 0x4B49
 struct kbdiacr {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned char diacr, base, result;
@@ -143,23 +143,23 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct kbdiacr kbdiacr[256];
 };
-#define KDGKBDIACR 0x4B4A  
-#define KDSKBDIACR 0x4B4B  
+#define KDGKBDIACR 0x4B4A
+#define KDSKBDIACR 0x4B4B
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct kbkeycode {
  unsigned int scancode, keycode;
 };
-#define KDGETKEYCODE 0x4B4C  
+#define KDGETKEYCODE 0x4B4C
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define KDSETKEYCODE 0x4B4D  
-#define KDSIGACCEPT 0x4B4E  
+#define KDSETKEYCODE 0x4B4D
+#define KDSIGACCEPT 0x4B4E
 struct kbd_repeat {
  int delay;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  int period;
 };
-#define KDKBDREP 0x4B52  
-#define KDFONTOP 0x4B72  
+#define KDKBDREP 0x4B52
+#define KDFONTOP 0x4B72
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct console_font_op {
  unsigned int op;
@@ -176,10 +176,10 @@
  unsigned char *data;
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define KD_FONT_OP_SET 0  
-#define KD_FONT_OP_GET 1  
-#define KD_FONT_OP_SET_DEFAULT 2  
-#define KD_FONT_OP_COPY 3  
+#define KD_FONT_OP_SET 0
+#define KD_FONT_OP_GET 1
+#define KD_FONT_OP_SET_DEFAULT 2
+#define KD_FONT_OP_COPY 3
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
-#define KD_FONT_FLAG_DONT_RECALC 1  
+#define KD_FONT_FLAG_DONT_RECALC 1
 #endif
