drm_hwcomposer: Free resources in HookDevClose()

Composer service won't free memory for us, see [1].

[1]: https://cs.android.com/android/platform/superproject/+/master:hardware/interfaces/graphics/composer/2.1/utils/passthrough/include/composer-passthrough/2.1/HwcHal.h;l=83;drc=7ae8af54b32a7eb827dbf9f2aedb647c9525a3d9
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
diff --git a/DrmHwcTwo.cpp b/DrmHwcTwo.cpp
index 291bbdd..45fb958 100644
--- a/DrmHwcTwo.cpp
+++ b/DrmHwcTwo.cpp
@@ -1285,7 +1285,10 @@
 }
 
 // static
-int DrmHwcTwo::HookDevClose(hw_device_t * /*dev*/) {
+int DrmHwcTwo::HookDevClose(hw_device_t *dev) {
+  // NOLINTNEXTLINE (cppcoreguidelines-pro-type-reinterpret-cast): Safe
+  auto *hwc2_dev = reinterpret_cast<hwc2_device_t *>(dev);
+  std::unique_ptr<DrmHwcTwo> ctx(toDrmHwcTwo(hwc2_dev));
   return 0;
 }
 
@@ -1576,8 +1579,8 @@
   }
 
   ctx->common.module = (hw_module_t *)module;
-  *dev = &ctx->common;
-  ctx.release();  // NOLINT(bugprone-unused-return-value)
+  *dev = &ctx.release()->common;
+
   return 0;
 }
 }  // namespace android