diff --git a/include/hardware/gralloc.h b/include/hardware/gralloc.h
index 10a153c..b4f7e5a 100644
--- a/include/hardware/gralloc.h
+++ b/include/hardware/gralloc.h
@@ -314,38 +314,8 @@
             int l, int t, int w, int h,
             struct android_ycbcr *ycbcr, int fenceFd);
 
-    /* getTransportSize(..., outNumFds, outNumInts)
-     * This function is mandatory on devices running IMapper2.1 or higher.
-     *
-     * Get the transport size of a buffer. An imported buffer handle is a raw
-     * buffer handle with the process-local runtime data appended. This
-     * function, for example, allows a caller to omit the process-local
-     * runtime data at the tail when serializing the imported buffer handle.
-     *
-     * Note that a client might or might not omit the process-local runtime
-     * data when sending an imported buffer handle. The mapper must support
-     * both cases on the receiving end.
-     */
-    int32_t (*getTransportSize)(
-            struct gralloc_module_t const* module, buffer_handle_t handle, uint32_t *outNumFds,
-            uint32_t *outNumInts);
-
-    /* validateBufferSize(..., w, h, format, usage, stride)
-     * This function is mandatory on devices running IMapper2.1 or higher.
-     *
-     * Validate that the buffer can be safely accessed by a caller who assumes
-     * the specified width, height, format, usage, and stride. This must at least validate
-     * that the buffer size is large enough. Validating the buffer against
-     * individual buffer attributes is optional.
-     */
-    int32_t (*validateBufferSize)(
-            struct gralloc_module_t const* device, buffer_handle_t handle,
-            uint32_t w, uint32_t h, int32_t format, int usage,
-            uint32_t stride);
-
     /* reserved for future use */
-    void* reserved_proc[1];
-
+    void* reserved_proc[3];
 } gralloc_module_t;
 
 /*****************************************************************************/
diff --git a/tests/hardware/struct-offset.cpp b/tests/hardware/struct-offset.cpp
index 82411ad..0cf145a 100644
--- a/tests/hardware/struct-offset.cpp
+++ b/tests/hardware/struct-offset.cpp
@@ -185,9 +185,7 @@
     CHECK_MEMBER_AT(gralloc_module_t, lockAsync, 152, 296);
     CHECK_MEMBER_AT(gralloc_module_t, unlockAsync, 156, 304);
     CHECK_MEMBER_AT(gralloc_module_t, lockAsync_ycbcr, 160, 312);
-    CHECK_MEMBER_AT(gralloc_module_t, getTransportSize, 164, 320);
-    CHECK_MEMBER_AT(gralloc_module_t, validateBufferSize, 168, 328);
-    CHECK_MEMBER_AT(gralloc_module_t, reserved_proc, 172, 336);
+    CHECK_MEMBER_AT(gralloc_module_t, reserved_proc, 164, 320);
 
     CHECK_MEMBER_AT(alloc_device_t, common, 0, 0);
     CHECK_MEMBER_AT(alloc_device_t, alloc, 64, 120);
