diff --git a/libc/kernel/common/linux/atmsap.h b/libc/kernel/common/linux/atmsap.h
index eae4bcf..456f75f 100644
--- a/libc/kernel/common/linux/atmsap.h
+++ b/libc/kernel/common/linux/atmsap.h
@@ -7,118 +7,111 @@
  ***   structures, and macros generated from the original header, and thus,
  ***   contains no copyrightable information.
  ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
  ****************************************************************************
  ****************************************************************************/
 #ifndef _LINUX_ATMSAP_H
 #define _LINUX_ATMSAP_H
+
 #include <linux/atmapi.h>
+
 #define ATM_L2_NONE 0  
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define ATM_L2_ISO1745 0x01  
 #define ATM_L2_Q291 0x02  
 #define ATM_L2_X25_LL 0x06  
 #define ATM_L2_X25_ML 0x07  
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define ATM_L2_LAPB 0x08  
 #define ATM_L2_HDLC_ARM 0x09  
 #define ATM_L2_HDLC_NRM 0x0a  
 #define ATM_L2_HDLC_ABM 0x0b  
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define ATM_L2_ISO8802 0x0c  
 #define ATM_L2_X75 0x0d  
 #define ATM_L2_Q922 0x0e  
 #define ATM_L2_USER 0x10  
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define ATM_L2_ISO7776 0x11  
+
 #define ATM_L3_NONE 0  
 #define ATM_L3_X25 0x06  
 #define ATM_L3_ISO8208 0x07  
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define ATM_L3_X223 0x08  
 #define ATM_L3_ISO8473 0x09  
 #define ATM_L3_T70 0x0a  
 #define ATM_L3_TR9577 0x0b  
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define ATM_L3_H310 0x0c  
 #define ATM_L3_H321 0x0d  
 #define ATM_L3_USER 0x10  
+
 #define ATM_HL_NONE 0  
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define ATM_HL_ISO 0x01  
 #define ATM_HL_USER 0x02  
 #define ATM_HL_HLP 0x03  
 #define ATM_HL_VENDOR 0x04  
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+
 #define ATM_IMD_NONE 0  
 #define ATM_IMD_NORMAL 1  
 #define ATM_IMD_EXTENDED 2  
+
 #define ATM_TT_NONE 0  
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define ATM_TT_RX 1  
 #define ATM_TT_TX 2  
 #define ATM_TT_RXTX 3  
+
 #define ATM_MC_NONE 0  
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define ATM_MC_TS 1  
 #define ATM_MC_TS_FEC 2  
 #define ATM_MC_PS 3  
 #define ATM_MC_PS_FEC 4  
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define ATM_MC_H221 5  
+
 #define ATM_MAX_HLI 8  
+
 struct atm_blli {
  unsigned char l2_proto;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  union {
  struct {
  unsigned char mode;
+
  unsigned char window;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  } itu;
  unsigned char user;
  } l2;
  unsigned char l3_proto;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  union {
  struct {
  unsigned char mode;
+
  unsigned char def_size;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+
  unsigned char window;
  } itu;
  unsigned char user;
  struct {
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned char term_type;
  unsigned char fw_mpx_cap;
+
  unsigned char bw_mpx_cap;
+
  } h310;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct {
  unsigned char ipi;
  unsigned char snap[5];
+
  } tr9577;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  } l3;
 } __ATM_API_ALIGN;
+
 struct atm_bhli {
  unsigned char hl_type;
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned char hl_length;
+
  unsigned char hl_info[ATM_MAX_HLI];
 };
+
 #define ATM_MAX_BLLI 3  
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+
 struct atm_sap {
  struct atm_bhli bhli;
  struct atm_blli blli[ATM_MAX_BLLI] __ATM_API_ALIGN;
+
 };
-/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+
 #endif
