diff --git a/system/ulib/ddk/include/ddk/metadata/bad-block.h b/system/ulib/ddk/include/ddk/metadata/bad-block.h
index 3c3b23b..6e2fa52 100644
--- a/system/ulib/ddk/include/ddk/metadata/bad-block.h
+++ b/system/ulib/ddk/include/ddk/metadata/bad-block.h
@@ -6,7 +6,7 @@
 
 #include <zircon/types.h>
 
-// Enumeration of all differnt types of bad blocks.
+// Enumeration of all different types of bad blocks.
 typedef uint8_t bad_block_type_t;
 #define kAmlogicUboot ((bad_block_type_t)0)
 
diff --git a/system/ulib/ddk/include/ddk/mmio-buffer.h b/system/ulib/ddk/include/ddk/mmio-buffer.h
index 9ccafbb..76941dd 100644
--- a/system/ulib/ddk/include/ddk/mmio-buffer.h
+++ b/system/ulib/ddk/include/ddk/mmio-buffer.h
@@ -24,7 +24,7 @@
 } mmio_pinned_buffer_t;
 
 // Takes raw mmio resources, and maps it into address space. |offset| is the
-// offset from the begining of |vmo| where the mmio region begins. |size|
+// offset from the beginning of |vmo| where the mmio region begins. |size|
 // specifies the size of the mmio region. |offset| + |size| must be less than
 // or equal to the size of |vmo|.
 // Always consumes |vmo|, including in error cases.
diff --git a/system/ulib/ddk/include/ddk/protocol/bt-gatt-svc-lib.h b/system/ulib/ddk/include/ddk/protocol/bt-gatt-svc-lib.h
index 191cb94..722bf18 100644
--- a/system/ulib/ddk/include/ddk/protocol/bt-gatt-svc-lib.h
+++ b/system/ulib/ddk/include/ddk/protocol/bt-gatt-svc-lib.h
@@ -41,9 +41,9 @@
 static inline bt_gatt_uuid_t bt_gatt_make_uuid16(uint16_t value) {
     return bt_gatt_make_uuid32((uint32_t)value);
 }
-// UUID comparsion.
-// Note: this method only does a binary comparsion and doesn't break out low,
-// mid, high, version, sequence, or node parts for indiviual comparison so
+// UUID comparison.
+// Note: this method only does a binary comparison and doesn't break out low,
+// mid, high, version, sequence, or node parts for individual comparison so
 // doesn't conform to standard UUID sort.
 static inline int bt_gatt_compare_uuid(const bt_gatt_uuid_t* u1,
                                        const bt_gatt_uuid_t* u2) {
diff --git a/system/ulib/ddk/include/ddk/protocol/i2c-lib.h b/system/ulib/ddk/include/ddk/protocol/i2c-lib.h
index f151da4..0fd5a9d 100644
--- a/system/ulib/ddk/include/ddk/protocol/i2c-lib.h
+++ b/system/ulib/ddk/include/ddk/protocol/i2c-lib.h
@@ -23,7 +23,7 @@
 
 // Writes and reads data on an i2c channel. If both write_length and read_length
 // are greater than zero, this call will perform a write operation immediately followed
-// by a read operation with no other traffic occuring on the bus in between.
+// by a read operation with no other traffic occurring on the bus in between.
 // If read_length is zero, then i2c_write_read will only perform a write operation,
 // and if write_length is zero, then it will only perform a read operation.
 // The results of the operation are returned asynchronously via the transact_cb.
diff --git a/system/ulib/ddk/include/ddk/protocol/usb.h b/system/ulib/ddk/include/ddk/protocol/usb.h
index be0b2b5..dde29d7 100644
--- a/system/ulib/ddk/include/ddk/protocol/usb.h
+++ b/system/ulib/ddk/include/ddk/protocol/usb.h
@@ -29,7 +29,7 @@
 typedef void (*usb_batch_complete_cb)(usb_request_t** completed_reqs, size_t num_completed,
                                       void* cookie);
 
-// Should be set by the requestor.
+// Should be set by the requester.
 typedef struct usb_header {
     // frame number for scheduling isochronous transfers
     uint64_t frame;
@@ -77,7 +77,7 @@
     // Number of entries in the scatter gather list.
     uint64_t sg_count;
 
-    // The complete_cb() callback is set by the requestor and is
+    // The complete_cb() callback is set by the requester and is
     // invoked by the 'complete' ops method when it is called by
     // the processor upon completion of the usb request.
     // The saved_complete_cb field can be used to temporarily save
@@ -85,7 +85,7 @@
     // callback.
     usb_request_complete_cb complete_cb;
 
-    // Set by requestor for passing data to complete_cb callback
+    // Set by requester for passing data to complete_cb callback
     // The saved_cookie field can be used to temporarily save the
     // original cookie.
     void* cookie;
@@ -100,16 +100,16 @@
 
     // The release_cb() callback is set by the allocator and is
     // invoked by the 'usb_request_release' method when it is called
-    // by the requestor.
+    // by the requester.
     void (*release_cb)(usb_request_t* req);
     size_t alloc_size;
 
     // For requests queued on endpoints which have batching enabled via
     // usb_configure_batch_callback().
-    // Set by the requestor if a callback is required on this request's completion.
-    // This is useful for isochronous requests, where the requestor does not care about
+    // Set by the requester if a callback is required on this request's completion.
+    // This is useful for isochronous requests, where the requester does not care about
     // most callbacks.
-    // The requestor should ensure the last request has this set to true.
+    // The requester should ensure the last request has this set to true.
     bool require_batch_cb;
 } usb_request_t;
 
