Update to kernel headers v4.14.

Remove the hiding of the kernel structure binder_fd_array_object. This
structure now matches the structure used in the binder code.

Load the libclang_android.so shared library directly for parsing.
This file changed name in a recent update to the prebuilts.

Test: Compiles arm/arm64/x86/x86_64.
Test: Boots on hikey and boots on a sailfish.
Test: Ran bionic unit tests on hikey and sailfish.
Change-Id: I141a4b93ac3511cd58f4d12bb3c0d4efaa4c2742
diff --git a/libc/kernel/uapi/linux/usb/audio.h b/libc/kernel/uapi/linux/usb/audio.h
index 7f961fc..121c859 100644
--- a/libc/kernel/uapi/linux/usb/audio.h
+++ b/libc/kernel/uapi/linux/usb/audio.h
@@ -186,7 +186,7 @@
   __u8 bDescriptorType;
   __u8 bDescriptorSubtype;
   __u8 bUnitID;
-  __u16 wProcessType;
+  __le16 wProcessType;
   __u8 bNrInPins;
   __u8 baSourceID[];
 } __attribute__((packed));
@@ -260,8 +260,8 @@
   __u8 bDescriptorType;
   __u8 bDescriptorSubtype;
   __u8 bFormatType;
-  __u16 wMaxBitRate;
-  __u16 wSamplesPerFrame;
+  __le16 wMaxBitRate;
+  __le16 wSamplesPerFrame;
   __u8 bHeaderLength;
   __u8 bSideBandProtocol;
 } __attribute__((packed));
diff --git a/libc/kernel/uapi/linux/usb/ch9.h b/libc/kernel/uapi/linux/usb/ch9.h
index f06a970..38e7ae7 100644
--- a/libc/kernel/uapi/linux/usb/ch9.h
+++ b/libc/kernel/uapi/linux/usb/ch9.h
@@ -305,6 +305,7 @@
   __u8 bFunctionProtocol;
   __u8 iFunction;
 } __attribute__((packed));
+#define USB_DT_INTERFACE_ASSOCIATION_SIZE 8
 struct usb_security_descriptor {
   __u8 bLength;
   __u8 bDescriptorType;
diff --git a/libc/kernel/uapi/linux/usb/charger.h b/libc/kernel/uapi/linux/usb/charger.h
new file mode 100644
index 0000000..0810aab
--- /dev/null
+++ b/libc/kernel/uapi/linux/usb/charger.h
@@ -0,0 +1,33 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ ***   This header was automatically generated from a Linux kernel header
+ ***   of the same name, to make information necessary for userspace to
+ ***   call into the kernel available to libc.  It contains only constants,
+ ***   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 _UAPI__LINUX_USB_CHARGER_H
+#define _UAPI__LINUX_USB_CHARGER_H
+enum usb_charger_type {
+  UNKNOWN_TYPE,
+  SDP_TYPE,
+  DCP_TYPE,
+  CDP_TYPE,
+  ACA_TYPE,
+};
+enum usb_charger_state {
+  USB_CHARGER_DEFAULT,
+  USB_CHARGER_PRESENT,
+  USB_CHARGER_ABSENT,
+};
+#endif